Протоколы прикладного уровня. (1/2)
Как было рассмотрено выше, существуют два основных транспортных протокола TCP и UDP. Большинство прикладных программ пользуются только одним из них. Программист при создании прикладного ПО, выбирает тот протокол, который наилучшим образом соответствует потребностям создаваемого программного продукта. Если нужна надёжная и эффективная доставка по длинному и ненадежному каналу передачи данных, то лучше может подойти протокол TCP. Если нужна эффективность на быстрых сетях с короткими соединениями, то лучшим может быть протокол UDP. Если потребности создаваемого ПО не попадают ни в одну из этих категорий, то и выбор транспортного протокола не ясен. Однако прикладные программы могут устранять недостатки выбранного протокола. Например, если вы выбрали UDP, а вам необходима надежность, то прикладная программа должна обеспечить надежность.
Общее количество прикладных программ,доступных в сетях с TCP/IP, велико и продолжает постоянно увеличиваться.
Протоколы прикладного уровня ориентированы на конкретные прикладные задачи. Они определяют как процедуры по организации взаимодействия определенного типа между прикладными процессами, так и форму представления информации при таком взаимодействии. В этом разделе мы коротко опишем некоторые из прикладных протоколов.
Система доменных имен DNS
Соответствие между доменными именами и IP-адресами может устанавливаться как средствами локального хоста, так и средствами централизованной службы. На раннем этапе развития Internet на каждом хосте вручную создавался текстовый файл с известным именем hosts. Этот файл состоял из некоторого количества строк, каждая из которых содержала одну пару «IP-адрес- доменное имя», например:
Www.dlink.com
По мере роста Internet, файлы hosts также росли, и создание масштабируемого решения для разрешения имен стало необходимостью. Таким решением стала специальная служба - система доменных имен (Domain Name System, DNS).
DNS - это централизованная служба,основанная на распределенной базе отображений «доменное имя - IP-адрес». Служба DNS использует в своей работе протокол типа «клиент-сервер». В нем определены DNS-серверы и DNS-клиенты. DNS-серверы поддерживают распределенную базу отображений, а DNS-клиенты обращаются к серверам с запросами о разрешении доменного имени в IP-адрес.
Служба DNS использует текстовые файлы почти такого формата, как и файл hosts, и эти файлы администратор также подготавливает вручную. Однако служба DNS опирается на иерархию доменов, и каждый сервер службы DNS хранит только часть имен сети, а не все имена, как это происходит при использовании файлов hosts. При росте количества узлов в сети проблема масштабирования решается созданием новых доменов и поддоменов имен и добавлением в службу DNS новых серверов.
Для каждого домена имен создается свой DNS-сервер. Этот сервер может хранить отображения «доменное имя - IP-адрес» для всего домена, включая все его поддомены. Однако при этом решение оказывается плохо масштабируемым, так как при добавлении новых поддоменов нагрузка на этот сервер может превысить его возможности. Чаще сервер домена хранит только имена,которые заканчиваются на следующем ниже уровне иерархии по сравнению с именем домена. (Аналогично каталогу файловой системы, который содержит записи о файлах и подкаталогах, непосредственно в него «входящих».) Именно при такой организации службы DNS нагрузка по разрешению имен распределяется более-менее равномерно между всеми DNS-серверами сети.
Каждый DNS-сервер кроме таблицы отображений имен содержит ссылки на DNS-серверы своих поддоменов. Эти ссылки связывают отдельные DNS-серверы в единую службу DNS. Ссылки представляют собой IP-адреса соответствующих серверов. Для обслуживания корневого домена выделено несколько дублирующих друг друга DNS-серверов, IP-адреса которых являются широко известными (их можно узнать, например, в InterNIC).
Процедура разрешения DNS-имени во многом аналогична процедуре поиска файловой системой адреса файла по его символьному имени. Действительно, в обоих случаях составное имя отражает иерархическую структуру организации соответствующих справочников - каталогов файлов или таблиц DNS. Здесь домен и доменный DNS-сервер являются аналогом каталога файловой системы. Для доменных имен, так же как и для символьных имен файлов,характерна независимость именования от физического местоположения.
Процедура поиска адреса файла посимвольному имени заключается в последовательном просмотре каталогов, начиная с корневого. При этом предварительно проверяется кэш и текущий каталог. Для определения IP-адреса по доменному имени также необходимо просмотреть все DNS-серверы, обслуживающие цепочку поддоменов, входящих в имя хоста, начиная с корневого домена. Существенным же отличием является то, что файловая система расположена на одном компьютере, а служба DNS по своей природе является распределенной.
Существуют две основные схемы разрешения DNS-имен.
В первомварианте работу по поиску IP-адреса координирует DNS-клиент:
DNS-клиент обращается к корневому DNS-серверу с указанием полного доменного имени;
DNS-сервер отвечает, указывая адрес следующего DNS-сервера, обслуживающего домен верхнего уровня, заданный в старшей части запрошенного имени;
DNS-клиент делает запрос следующего DNS-сервера, который отсылает его к DNS-серверу нужного поддомена, и т. д.,пока не будет найден DNS-сервер, в котором хранится соответствие запрошенного имени IP-адресу. Этот сервер дает окончательный ответ клиенту.
Такая схема взаимодействия называется не рекурсивной или итеративной, когда клиент сам интерактивно выполняет последовательность запросов к разным серверам имен. Так как эта схема загружает клиента достаточно сложной работой, то она применяется редко.
Во втором варианте реализуется рекурсивная процедура:
DNS-клиент запрашивает локальный DNS-сервер, то есть тот сервер, который обслуживает поддомен, к которому принадлежит имя клиента;
если локальный DNS-сервер знает ответ, то он сразу же возвращает его клиенту; это может соответствовать случаю, когда запрошенное имя входит в тот же поддомен, что и имя клиента, а также может соответствовать случаю, когда сервер уже узнавал данное соответствие для другого клиента и сохранил его в своем кэше;
если же локальный сервер не знает ответ,то он выполняет итеративные запросы к корневому серверу и т. д. точно так же,как это делал клиент в первом варианте; получив ответ, он передает его клиенту,который все это время просто ждал его от своего локального DNS-сервера.
В этой схеме клиент перепоручает работу своему серверу, поэтому схема называется косвенной или рекурсивной. Практически все DNS-клиенты используют рекурсивную процедуру. Для ускорения поиска IP-адресов DNS-серверы широко применяют процедуру кэширования проходящих через них ответов. Чтобы служба DNS могла оперативно отрабатывать изменения, происходящие в сети, ответы кэшируются на определенное время - обычно от нескольких часов до нескольких дней.
В стеке TCP/IP применяется доменная система имен, которая имеет иерархическую древовидную структуру, допускающую использование в имени произвольного количества составных частей
Рисунок 112 . Иерархическая древовидная структура DNS.
Дерево имен начинается с корня, обозначаемого здесь точкой(.). Затем следует старшая символьная часть имени, вторая по старшинству символьная часть имени и т. д. Младшая часть имени соответствует конечному узлу сети. Составные части доменного имени отделяется друг от друга точкой.Например, в имени partnering.dlink.com составляющая partnering является именем одного из компьютеров в домене dlink.com.
Разделение имени на части позволяет разделить административную ответственность за назначение уникальных имен между различными людьми или организациями в пределах своего уровня иерархии. Разделение административной ответственности позволяет решить проблему образования уникальных имен без взаимных консультаций между организациями, отвечающими за имена одного уровня иерархии. Очевидно, что должна существовать одна организация, отвечающая за назначение имен верхнего уровня иерархии.
Совокупность имен, у которых несколько старших составных частей совпадают, образуют домен имен (domain).
Например, имена ftp. dlink . ruи dlink .ruвходят в домен в ru, так как все эти имена имеют одну общую старшую часть - имяru.
Если один домен входит в другой домен как его составная часть, то такой домен могут называть поддоменом (subdomain), хотя название домен за ним также остается. Обычно поддомен называют по имени той его старшей составляющей, которая отличает его от других поддоменов.
Например, поддомен dlink.ru обычно называют поддоменом (или доменом) dlink в российском сегменте (домене) ”ru”.
Имя поддомену назначает администратор вышестоящего домена. Если в каждом домене и поддомене обеспечивается уникальность имен следующего уровня иерархии, то и вся система имен будет состоять из уникальных имен.
В доменной системе имен различают краткие имена,относительные имена и полные доменные имена.
Краткое имя - это имя конечного узла сети: хоста или порта маршрутизатора. Краткое имя - это лист дерева имен.
Относительное имя - это составное имя, начинающееся с некоторого уровня иерархии, но не самого верхнего. Например, www.dlink- это относительное имя.
Полное доменное имя (fully qualified domain name, FQDN)включает составляющие всех уровней иерархии, начиная от краткого имени и кончая корневой точкой: www.dlink.ru
Необходимо подчеркнуть, что компьютеры входят в домен в соответствии со своими составными именами, при этом они могут иметь совершенно различные IP-адреса, принадлежащие к различным сетям и подсетям. Доменная система имен реализована в сети Internet, но она может работать и как автономная система имен в крупной корпоративной сети, использующей стек TCP/IP,но не связанной с Internet.
В Internet корневой домен управляется центром InterNIC.Домены верхнего уровня назначаются для каждой страны, а также наорганизационной основе. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры (“ ru ”,” ua ”), а для различных типов организаций - следующие обозначения, вот некоторые :
com - коммерческие организации;
gov - правительственные организации;
org - некоммерческие организации;
net - организации, поддерживающие сети.
info -информационные ресурсы
biz - только коммерческие организации
aero - для субъектов авиатранспортной индустрии
coop- кооперативы
edu - высшие учебные заведения.
int - межгосударственные организации
mil - министерство вооруженных сил США
museum - музеи
travel - для субъектов туристического бизнеса.
Каждый домен администрируется отдельной организацией,которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Чтобы получить доменное имя, необходимо зарегистрироваться в какой-либо организации, которой InterNIC делегировал свои полномочия по распределению имен доменов. В России такой организацией является РосНИИРОС, которая отвечает за делегирование имен поддоменов в домене ru.
Дата добавления: 2019-09-30; просмотров: 536;