Введение в компьютерные сети. Авербах В.С. Введение в вычислительные сети. В. С. Авербах введение в вычислительные сети издательство Самарского государственного экономического университета 2008
Скачать 2.84 Mb.
|
Эти порты определены Агентством по выделению имен и уникальных параметров протоколов (IANA). Протоколы прикладного уровня. К прикладному уровню относятся протоколы DHCP, FTP, TELNET, FINGER, GOPHER, HTTP, HTTPS, IMAP, IMAPS, SNMP, IRC, NFS, NNTP, NTP, POP3, POPS, QOTD, RTSP, XDMCP, SMTP. Рассмотрим основные протоколы прикладного уровня. Протокол HTTP (HyperText Transfer Protocol). Это - протокол обмена гипертекстовой информацией. Сервер WWW (Apache, IIS) обрабатывает запросы клиента на получение файла (в самом простом случае). Взаимодействие клиента и сервера по протоколу HTTP приведено на рис.23. Рис.23.Взаимодействие клиента и сервера по протоколу HTTP. На рисунке видно, что HTTP использует при передаче данных по сети протокол TCP (работает поверх TCP). Протокол HTTP определяет запрос-ответный способ взаимодействия между программой-клиентом и программой-сервером в рамках технологии World Wide Web. Протокол FTP. Служба FTP (от протокола - File Transfer Protocol) - предназначена для обмена файлами. Служба FTP построена по схеме "клиент-сервер". Клиент посылает запросы серверу и принимает файлы. Сервер FTP (Apache, IIS) обрабатывает запросы клиента на получение файла. Схема взаимодействия клиента и сервера по протоколу FTP приведена на рис.24. Рис.24. Взаимодействие клиента и сервера по протоколу FTP. FTP отличается от других протоколов тем, что он использует два TCP соединения для передачи файла. Управляющее соединение - соединение для посылки команд серверу и получение ответов от него. Соединение данных - соединение для передачи файлов. Схема двух каналов соединения по протоколу FTP приведена на рис.25. Протокол SNMP. Одним из основных протоколов прикладного уровня является протокол SNMP (SimpleNetworkManagementProtocol - простой протокол управления сетью). Это протокол управления сетями на основе архитектуры TCP/IP. В настоящее время SNMP является базовым протоколом управления сети Internet. SNMP определяет сеть как совокупность сетевых управляющих станций и элементов сети (главные машины, шлюзы и маршрутизаторы, терминальные серверы), которые совместно обеспечивают административные связи между сетевыми управляющими станциями и сетевыми агентами. SNMP различных версий посвящён целый ряд рекомендаций проблемной группы проектирования Internet (RFC). Рис.25.Схема двух каналов соединения по протоколу FTP Протоколы электронной почты. Основными почтовыми протоколами являются: SMTP (Simple Mail Transfer Protocol) - простой протокол передачи почты, используется для отправки почты как клиентом на сервер, так и сервером на другой сервер. Основной недостаток протокола - отсутствие аутентификации и "докачки" (как в FTP, HTTP) сообщений, т.е. если вы посылаете большое письмо (более 10Мбайт), то в случае разрыва соединения ваше сообщение придется передавать заново, и возможно так до бесконечности. Поэтому большие письма необходимо резать на части. Порт по умолчанию – 25. POP3 (Post Office Protocol) - используется для приема почты клиентом с сервера. Порт по умолчанию – 110. IMAP 4 (Internet Message Access Protocol) - позволяет клиентам получать доступ и манипулировать сообщениями электронной почты на сервере. Был разработан для замены POP3. Порт по умолчанию - 143. Электронная почта во многом похожа на обычную почтовую службу. Схема функционирования электронной почты приведена на рис.26. Сервер электронной почты обрабатывает сообщения (сортирует) и отправляет локальному адресату или удаленному серверу (почтовому отделению). Рис.26. Схема отправки и получения почты В данном пособии рассматриваются подробности функционирования только основных протоколов прикладного уровня в Internet. Материалы о протоколах можно найти в [http://ru.wikipedia.org/wiki ]. 10. ОРГАНИЗАЦИЯ СЕТЕВОГО ВЗАИМОДЕЙСТВИЯ В IP - СЕТЯХ 10.1.Отображение физических адресов на IP-адреса: протоколы ARP и RARP IP-адрес узла, то есть адрес компьютера или порта маршрутизатора, назначается произвольно администратором сети и прямо не связан с его локальным адресом. Такой подход удобно использовать в крупных сетях по причине его независимости от формата локального адреса и по причине стабильности, так как в противном случае, при смене на компьютере сетевого адаптера это изменение должны бы были учитывать все адресаты всемирной сети Internet (в том случае, конечно, если сеть подключена к Internet). Локальный адрес используется в протоколе IP только в пределах локальной сети при обмене данными между маршрутизатором и узлом этой сети. Маршрутизатор, получив пакет для узла одной из сетей, непосредственно подключенных к его портам, должен для передачи пакета сформировать кадр в соответствии с требованиями принятой в этой сети технологии и указать в нем локальный адрес узла, например его МАС-адрес. В пришедшем пакете этот адрес не указан, поэтому перед маршрутизатором встает задача поиска его по известному IP-адресу, который указан в пакете в качестве адреса назначения. С аналогичной задачей сталкивается и конечный узел, когда он хочет отправить пакет в удаленную сеть через маршрутизатор, подключенный к той же локальной сети, что и данный узел. Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol, ARP. Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP - RARP ( Reverse Address Resolution Protocol ) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера. В локальных сетях протокол ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом. Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета. Так как локальные адреса могут в различных типах сетей иметь различную длину, то формат пакета протокола ARP зависит от типа сети. В глобальных сетях для автоматизации работы протокола ARP среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, который ведет ARP-таблицу для всех остальных узлов и маршрутизаторов этой сети. При таком централизованном подходе для всех узлов и маршрутизаторов вручную нужно задать только IP-адрес и локальный адрес выделенного маршрутизатора. Затем каждый узел и маршрутизатор регистрирует свои адреса в выделенном маршрутизаторе, а при необходимости установления соответствия между IP-адресом и локальным адресом узел обращается к выделенному маршрутизатору с запросом и автоматически получает ответ без участия администратора. 10.2.Отображение символьных адресов на IP-адреса: служба DNS DNS (Domain Name System) - это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла. Спецификация DNS определяется стандартами RFC 1034 и 1035. DNS требует статической конфигурации своих таблиц, отображающих имена компьютеров в IP-адрес. Протокол DNS является служебным протоколом прикладного уровня. Этот протокол несимметричен - в нем определены DNS-серверы и DNS-клиенты. DNS-серверы хранят часть распределенной базы данных о соответствии символьных имен и IP-адресов. Эта база данных распределена по административным доменам сети Internet. Клиенты сервера DNS знают IP-адрес сервера DNS своего административного домена и по протоколу IP передают запрос, в котором сообщают известное символьное имя и просят вернуть соответствующий ему IP-адрес. Если данные о запрошенном соответствии хранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, если же нет - то он посылает запрос DNS-серверу другого домена, который может сам обработать запрос, либо передать его другому DNS-серверу. Все DNS-серверы соединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока не найдет нужные отображения. Этот процесс ускоряется из-за того, что серверы имен постоянно кэшируют информацию, предоставляемую по запросам. Клиентские компьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов, для повышения надежности своей работы. База данных DNS имеет структуру дерева, называемого доменным пространством имен, в котором каждый домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой базе данных по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена. Корень базы данных DNS управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны. Имена этих доменов должны следовать международному стандарту ISO 3167. Для обозначения стран используются двухбуквенные аббревиатуры (уже упоминалось выше), а для различных типов организаций используются следующие аббревиатуры: com - коммерческие организации (например, microsoft.com); edu - образовательные (например, mit.edu); gov - правительственные организации (например, nsf.gov); org - некоммерческие организации (например, fidonet.org); net - коммерческие сети или узлы Internet (например, nsf.net); biz – организации, занимающиеся бизнесом; info – информационные сайты. Каждый домен DNS администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. Имя домена может содержать до 63 символов. Каждый хост в сети Internet однозначно определяется своим полным доменным именем (fully qualified domain name, FQDN ), которое включает имена всех доменов по направлению от хоста к корню. Пример полного DNS-имени : citint.dol.ru. Корневой домен Internet управляется несколькими организациями, в частности Network Solutions, Inc. Сервис DNS строится по схеме "клиент-сервер". В качестве клиентской части выступает процедура разрешения имен - resolver, а в качестве сервера DNS-сервер (пакет BIND - являющийся де-факто стандартом DNS-сервера). Дерево доменных имен аналогично файловой системе Unix. Корнем дерева является домен "." (точка). Полное - абсолютное или полностью определенное имя FQDN заканчивается точкой, обозначающей корень доменного дерева, но часто эта завершающая точка опускается. Доменами верхнего (первого) уровня выступают двухбуквенные национальные домены или трехбуквенные домены com, edu, org, net, gov, int, mil (см. рис 27). Укрупнено структура службы доменных имён приведена на рис.27. Рис.27. Структура службы доменных имён. На приведенной схеме верхний (первый) уровень обозначен I, второй уровень – II. Каждому объекту трех верхних уровней соответствуют серверы имен, которые могут взаимодействовать друг с другом при решении задачи преобразования имени в IP-адрес. Каждый сервер содержит лишь часть дерева имен. Эта часть называется зоной ответственности сервера. DNS - сервер может делегировать ответственность за часть зоны другим серверам, создавая субзоны. Когда в зоне появляется новая ЭВМ или субдомен, администратор зоны записывает ее имя и IP-адреса в базу данных сервера. Администратор зоны определяет, какой из DNS - серверов имен является для данной зоны первичным. Число вторичных серверов не лимитировано. Первичный и вторичный серверы должны быть независимыми и работать на разных ЭВМ так, чтобы отказ одного из серверов не выводил из строя систему в целом. Отличие первичного сервера имен от вторичного заключается в том, что первичный загружает информацию о зоне из файлов на диске, а вторичный получает ее от первичного сервера. Администратор вносит любые изменения в соответствующие файлы первичного сервера, а вторичные серверы получают эту информацию, периодически запрашивая первичный сервер. Пересылка информации из первичного во вторичные серверы имен называется зонным обменом. Список корневых серверов можно получить по протоколу FTP по адресам: nic.ddn.mil или ftp.rs.internic.net. Серверы первого уровня хранят информацию об именах и адресах всех серверов доменов второго уровня. Преобразования "доменное имя в IP адрес" ("прямое") выполняются службой DNS путем поиска в доменном дереве нужного имени и извлечения связанной с этим именем информации требуемого типа (IP-адрес). Существует также обратное DNS-преобразование "IP адрес в доменное имя". Конфигурирование клиента DNS. При конфигурировании на хосте стека TCP/IP, кроме указания IP-адреса хоста, создания таблицы маршрутов (в простейшем случае- указания IP-адреса шлюза, т.е. строки default в таблице маршрутов), обычно конфигурируется и клиент DNS. Задача клиента- взаимодействие с DNS-сервером, который будет, по запросу клиента, выполнять описанные выше преобразования. При ручном конфигурировании DNS-клиента указываются: имя хоста, домен, в котором находится данный хост, IP-адрес сервера DNS, обслуживающего этот домен. Получение всех этих данных возможно автоматически - в случае конфигурирования стека TCP/IP с помощью DHCP-сервера. Если DNS-сервер не может выдать ответ на поступивший запрос (т.е. необходимые данные отсутствуют в его базе и кэше предыдущих запросов), он обращается к одному из корневых серверов (root servers). Сервер после передачи полученных данных клиенту кэширует их для дальнейшего возможного использования. Также кэшируются и все дополнительные данные, полученные в процессе обработки запроса. Последние версии программного обеспечения также могут кэшировать и отрицательные результаты поиска. Различают рекурсивные и итеративные запросы. При получении рекурсивного запроса сервер должен вернуть либо ответ на запрос, либо сообщение об ошибке; все действия по поиску данных и опросу других серверов сервер берет на себя. При получении итеративного запроса сервер может вместо ответа вернуть адрес другого сервера; предполагается, что сделавший запрос клиент перенаправит этот запрос указанному серверу. Файл зоны. Файл зоны содержит стандартные записи ресурсов базы данных DNS для преобразования доменных имен хостов в данной зоне в IP-адреса. Файлы баз данных DNS состоят из стандартных записей ресурсов. В общем виде стандартная запись ресурса связывает данные определенного типа с некоторым именем и формируется по шаблону: имя [время_жизни_записи] IN тип_записи данные Именем является некоторое доменное имя (необязательно имя физически существующих хоста или домена). Если поле "имя" пусто, то значение этого поля берется из предыдущей записи. Данными могут быть, например, IP-адрес хоста, если имя относится к хосту, или DNS-сервер домена, если имя относится к домену, и т.п. Время жизни записи определяет время хранения информации этой записи в кэше запросившего запись сервера (в секундах) и указывается, только если оно отличается от времени жизни, определенного для всей зоны в записи SOA (см. далее). Типы стандартных записей ресурсов. SOA (Start Of Authority). Первая запись в файле. Заголовок зоны, включает ссылку на основной DNS – сервер домена. Имя: полностью уточненное доменное имя зоны, данные которой содержатся в файле. Полностью уточненное доменное имя оканчивается на точку, далее все доменные имена предполагаются полностью уточненными, если явно не указано иное. Вместо явного указанного доменного имени может стоять символ @, в этом случае имя зоны будет взято из раздела (строки) конфигурационного файла, соответствующего данному файлу зоны. Данные: доменное имя сервера, email администратора DNS (символ @ заменяется на точку), далее в скобках: серийный номер версии данных (выбор номера произволен, но номер должен увеличиваться для каждой новой модификации); период запроса на обновление данных со стороны вторичного сервера (в секундах); период повтора попыток запроса данных вторичным сервером в случае неудачи (в секундах); срок годности данных, т.е. время, через которое вторичный сервер прекратит обслуживать запросы, если ему не удастся восстановить связь с первичным сервером (в секундах); время жизни данных зоны в кэше запросившего их сервера (в секундах). |