Протокол поддержки маршрутной таблицы (RTMP)
Протокол, который организует и поддерживает маршрутные таблицы AppleTalk, называется Протоколом поддержки маршрутной таблицы (RTMP). Маршрутные таблицы RTMP содержат данные о каждой сети, до которой может дойти дейтаграмма. В эти данные входит порт роутера, который ведет к сети пункта назначения, ID узла следующего роутера, который принимает данный пакет, расстояние до сети назначения, выраженное числом пересылок, и текущее состояние этих данных (хорошее, подозрительное или плохое). Периодический обмен маршрутными таблицами позволяет роутерам объединенных сетей гарантировать обеспечение непротиворечивой текущей информацией. На Рис. 4.4 представлен образец таблицы RTMP и соответствующая архитектура сети.
Рис. 4.4. Sample AppleTalk Routing Table
Протокол привязки по именам AppleTalk (Name Binding Protocol - NBP) устанавливает связь имен AppleTalk (которые выражаются как объекты, видимые для сети - network-visible entities, или NVE) с адресами. NVE является адресуемой сетью AppleTalk услугой, такой как гнездо. NVE ассоциируются с более, чем одним именем объектов и перечнем атрибутов. Имена объектов представляют собой последовательность символов, например такую: printer@net1, в то время как перечень атрибутов определяет характеристики NVE.
Связь между NVE с присвоенными именами и сетевыми адресами устанавливается через процесс привязки имени. Привязка имени может быть произведена в момент запуска узла или динамично, непосредственно перед первым использованием. NBP управляет процессом привязки имени, в который входят регистрация имени, подтверждение имени, стирание имени и поиск имени.
Зоны позволяют проводить поиск имени в группе логически связанных узлов. Чтобы произвести поиск имен в пределах какой-нибудь зоны, отправляется запрос о поиске в местный роутер, который рассылает широковещательный запрос во все сети, которые имеют узлы, принадлежащие заданной зоне. Протокол информации зоны (Zone Information Protocol - ZIP) координирует эти действия.
ZIP поддерживает соответствие номер сети/номер зоны в информационных таблицах зоны (zone information tables-ZIT). ZIT хранятся в роутерах, которые являются основными пользователями ZIP, однако конечные узлы используют ZIP в процессе запуска для выбора своих зон и получения межсетевой информации о зонах. ZIP использует маршрутные таблицы RTMP для отслеживания изменений в топологии сети. Если ZIP находит данные о маршрутной таблице, которох нет в данной ZIT, она образует запись данных о новой ZIT. На Табл. 4.1 представлен образец ZIT.
1 | My |
2 | Your |
3 | Marketing |
4 | Documentation |
5-5 | Sales |
Протокол потока данных AppleTalk (ADSP)
ADSP является другим важным протоколом транспортного уровня Apple Talk. Как видно из его названия, ADSP является ориентированным по потоку данных, а не по транзакциям. Он организует и поддерживает полностью дублированный поток данных между двумя гнездами в объединенной сети AppleTalk.
ADSP является надежным протоколом в том плане, что он гарантирует доставку байтов в том же порядке, в каком они были отправлены, а также то, что они не будут дублированы. ADSP нумерует каждый байт, чтобы отслеживать отдельные элементы потока данных.
ADSP также определяет механизм управления потоком. Пункт назначения может в значительной степени замедлять передачи источника путем сокращения размера объявленного окна на прием.
ADSP также обеспечивает механизм сообщений управления "выхода из полосы" (out-of-band) между двумя объектами AppleTalk. В качестве средства для перемещения сообщений управления выхода из полосы между двумя объектами AppleTalk используются пакеты "внимания" (attention packets).Эти пакеты используют отдельный поток номеров последовательностей, чтобы можно было отличать их от обычных пакетов данных ADSP.
Протокол разрешения адреса (ARP)
Объекты протокола ARP классифицируются либо как клиенты разрешения адреса (address resolution clients), либо как услуги разрешения адреса (address resolution services). Клиенты разрешения адреса обычно реализуются в узлах клиентов, в то время как услуги разрешения адреса обычно обеспечиваются узлами обслуживания.
Пакеты ARP имеют 8-байтовый заголовок, состоящий из 2-байтового типа пакета (packet type), 4-байтового номера сети (network number) и 2-байтового номера подсети (subnet number). Имеется 4 типа пакетов: запрос-заявка (query request), который является запросом какой-либо услуги ARP; ответ об услуге (service response), который является ответом на запрос-заявку, запрос о присваивании адреса (assignment request), который отправляется какой-нибудь услуге ARP для запроса адреса объединенной сети VINES, и ответ о присваивании адреса (assignment response), который отправляется данной услугой ARP в качестве ответа на запрос о присваивании адреса. Поля номера сети и номера подсети имеют значение только в пакете ответа о присваивании адреса.
Когда какой-нибудь клиент приступает к работе, клиенты и услуги ARP реализуют следующий алгоритм. Сначала данный клиент отправляет широкой рассылкой пакеты запросов-заявок. Затем каждая услуга, которая является соседом данного клиента, отвечает пакетом ответа об услуге. Далее данный клиент выдает пакет запроса о присваивании адреса в первую услугу, которая ответила на его пакет запроса-заявки. Услуга отвечает пакетом ответа о присваивании адреса, содержащем присвоенный адрес объединенной сети.
Протокол транзакций AppleTalk (ATP)
ATP является одним из протоколов транспортного уровня Appletalk. АТР пригоден для применений, базирующихся на транзакциях, которые можно встретить в банках или магазинах розничной торговли.
В транзакции АТР входят запросы (от клиентов) (requests) и ответы (от служебных устройств) (replies). Каждая пара запрос/ответ имеет отдельный ID транзакции. Транзакции имеют место между двумя гнездами клиентов. АТР использует транзакции "точно-один раз" (exactly once - XO) и "по крайней мере один раз" (at-least-once - ALO), Транзакции ХО требуются в тех ситуациях, когда случайное выполнение транзакции более одного раза неприемлемо. Банковские транзакциии являются примером таких неидемпотентных (nonidempotent) ситуаций (ситуаций, когда повторение какой-нибудь транзакции вызывает проблемы, что достигается тем, что делаются недействительными данные, участвующие в данной транзакции).
АТР способен выполнять наиболее важные функции транспортного уровня, в том числе подтверждение о приеме данных и повторную передачу, установление последовательности пакетов, а также фрагментирование и повторную сборку. АТР ограничивает сегментирование сообщений до 8 пакетов; пакеты АТР не могут содержать более 578 информационных байтов.
Протокол управления объединеной сетью (ICP)
ICP определяет пакеты уведомления об исключительных ситуациях (exception notification) и уведомления о показателе (metric notification). Пакеты уведомления об исключительных ситуациях обеспечивают информацию об исключительных ситуациях сетевого уровня; пакеты уведомления о показателе содержат информацию о последней передаче, которая была использована для достижения узла клиента.
Уведомления об исключительной ситуации отправляются в том случае, когда какой-нибудь пакет VIP не может быть соответствующим образом маршрутизирован, и устанавливается подполе ошибки в поле управления транспортировкой заголовка VIP. Эти пакеты также содержат поле, идентифицирующее конкретную исключительную ситуацию по коду ошибки, соответствующему этой ситуации.
Объекты ICP в узлах обслуживания генерируют сообщения уведомления о показателе в том случае, когда устанавливается подполе показателя в поле управления транспортировкой заголовка VIP, и адрес пункта назначения в пакете узла обслуживания определяет одного из соседей этого узла обслуживания.
Протокол управления передачей (TCP)
Transmission Control Protocol (TCP) обеспечивает полностью дублированные, с подтверждением и управлением потоком данных, услуги для протоколов высших уровней. Он перемещает данные в непрерывном неструктурированном потоке, в котором байты идентифицируются по номерам последовательностей. ТСР может также поддерживать многочисленные одновременные диалоги высших уровней. Формат пакета ТСР представлен на Рис. 4.17.
Рис. 4.17. TCP Packet Format
Поле "порт источника" (source port) обозначает точку, в которой конкретный процесс высшего уровня источника принимает услуги ТСР; поле "порт пункта назначения" (destination port) обозначает порт процесса высшего уровня пункта назначения для услуг ТСР.
Поле "номер последовательности" (sequence number) обычно обозначает номер, присвоенный первому байту данных в текущем сообщении. В некоторых случаях оно может также использоваться для обозначения номера исходной последовательности, который должен использоваться в предстоящей передаче.
Поле "номер подтверждения" (acknowledgement number) содержит номер последовательности следующего байта данных, которую отправитель пакета ожидает для приема.
Поле "сдвиг данных" (data offset) обозначает число 32-битовых слов в заголовке ТСР.
Поле "резерв" (reserved) зарезервировано для использования разработчиками протокола в будущем.
Поле "флаги" (flags) содержит различную управляющую информацию.
Поле "окно" (window) обозначает размер окна приема отправителя (буферный объем, доступный для поступающих данных).
Поле "контрольная сумма" (checksum) указывает, был ли заголовок поврежден при транзите.
Поле "указатель срочности" (urgent pointer) указывает на первый байт срочных данных в пакете.
Поле "опции" (options) обозначает различные факультативные возможности ТСР.
Протоколы высших уровней
Основные протоколы высших уровней OSI представлены на Рис. 4.24.
Рис. 4.24. Principle OSI Upper-Layer Protocols
Протоколы высших уровней
AppleTalk обеспечивает несколько протоколов высшего уровня. Протокол сеансов AppleTalk (AppleTalk Session Protocol - ASP) организует и поддерживает сеансы (логические диалоги) между клиентом AppleTalk и служебным устройством. Протокол доступа к принтеру (Printer Access Protocol - РАР) AppleTalk является ориентированным по связи протоколом, который организует и поддерживает связи между клиентами и служебными устройствами (использование термина printer в заголовке этого протокола является просто исторической традицией). Эхо-протокол AppleTalk (AppleTalk Echo Protocol - AEP) является очень простым протоколом, генерирующим пакеты, которые могут быть использованы для проверки способности различных узлов сети создавать повторное эхо. И наконец, Протокол ведения картотеки AppleTalk (AppleTalk Filing Protocol - AFP) помогает клиентам коллективно использовать служебные файлы в сети.
Протоколы высших уровней
Для уровней, лежащих выше транспортного уровня, DECnet обеспечивает свои собственные патентованные протоколы высших уровней наряду со стандартными протоколами OSI для высших уровней. Протоколы прикладного уровня DECnet используют протокол управления сеансами DNA и службу назначения имен DNA. Протоколы прикладного уровня OSI обеспечиваются реализациями представительного и сеансового уровней OSI. Подробная информация по этим протоколам OSI дана в пункте "Протоколы OSI".
Протоколы высших уровней
Комплект протоколов Internet включает в себя большое число протоколов высших уровней, представляющих самые разнообразные применения, в том числе управление сети, передача файлов, распределенные услуги пользования файлами, эмуляция терминалов и электронная почта. На Рис. 4.18 показана связь между наиболее известными протоколами высших уровней Internet и применениями, которые они поддерживают.
Рис. 4.18. Internet Protocol/Application Mapping
Протокол передачи файлов (File Transfer Protocol - FTP) обеспечивает способ перемещения файлов между компьютерными системами. Telnet обеспечивает виртуальную терминальную эмуляцию. Протокол управления простой сетью (Simle network management protocol - SNMP) является протоколом управления сетью, используемым для сообщения об аномальных условиях в сети и установления значений допустимых порогов в сети. X Windows является популярным протоколом, который позволяет терминалу с интеллектом связываться с отдаленными компьютерами таким образом, как если бы они были непосредственно подключенными мониторами. Комбинация протоколов Network File System (NFS) (Система сетевых файлов), External Data Representation (XDP) (Представление внешней информации) и Remote Procedure Call (RPC) (Вызов процедуры обращений к отдаленной сети) обеспечивает прозрачный доступ к ресурсам отдаленной сети. Простой протокол передачи почты (Simple Mail Transfer Protocol - SMTP) обеспечивает механизм передачи электронной почты. Эти и другие применения используют услуги ТСР/IP и других протоколов Internet низших уровней, чтобы обеспечить пользователей базовыми сетевыми услугами.
Протоколы высших уровней
NetWare поддерживает большое разнообразие протоколов высших уровней; некоторые из них несколько более популярны, чем другие. NetWare shell (командный процессор) работает в оборудовании клиентов (которое часто называется рабочими станциями среди специалистов по NetWare) и перехватывает обращения прикладных задач к устройству Ввод/Вывод, чтобы определить, требуют ли они доступ к сети для удовлетворения запроса. Если это так, то NetWare shell организует пакеты запросов и отправляет их в программное обеспечение низшего уровня для обработки и передачи по сети. Если это не так, то они просто передаются в ресурсы местного устройства Ввода/Вывода. Прикладные задачи клиента не осведомлены о каких-либо доступах к сети, необходимых для выполнения обращений прикладных задач. NetWare Remote Procedure Call (Netware RPC) (Вызов процедуры обращения к отдаленной сети) является еще одним более общим механизмом переадресации, поддерживаемым Novell.
Netware Core Protocol (NCP) (Основной протокол NetWare) представляет собой ряд программ для сервера, предназначенных для удовлетворения запросов прикладных задач, приходящих, например, из NetWare shell. Услуги, предоставляемые NCP, включают доступ к файлам, доступ к принтеру, управление именами, учет использования ресурсов, защиту данных и синхронизацию файлов.
NetWare также поддерживает спецификацию интерфейса сеансового уровня Network Basic I/O System (NetBIOS) компаний IBM и Microsoft. Программа эмуляции NetBIOS, обеспечиваемая NetWare, позволяет программам, написанным для промышленного стандартного интерфейса NetBIOS, работать в пределах системы NetWare.
Услуги прикладного уровня NetWare включают NetWare Message Handling Service (NetWare MHS) (Услуги по обработке сообщений), Btrieve, NetWare Loadable Modules (NLM) (Загружаемые модули NetWare) и различные характеристики связности IBM. NetWare MHS является системой доставки сообщений, которая обеспечивает транспортировку электронной почты. Btrieve представляет собой реализацию механизма доступа к базе данных двоичного дерева (btree) Novell. NLM реализуются как дополнительные модули, которые подключаются к системе NetWare. В настоящее время компания Novell и третьи участвующие стороны предоставляют NLM для чередующихся комплектов протоколов (alternate protocol stacks), услуги связи, услуги доступа к базе данных и много других услуг.
Протоколы высших уровней
Основные протоколы высших уровней OSI представлены на Рис. 4.24.
Рис. 4.24. Principle OSI Upper-Layer Protocols
Протоколы высших уровней
Являясь распределенной сетью, VINES использует модель вызова процедуры обращений к отдаленной сети (remote procedure call - RPC) для связи между клиентами и служебными устройствами. RCP является основой сред распределенных услуг. Протокол NetRPC (Уровни 5 и 6) обеспечивает язык программирования высшего уровня, который позволяет осуществлять доступ к отдаленным услугам способом, прозрачным как для пользователя, так и для прикладной программы.
На Уровне 7 VINES обеспечивает протоколы файловых услуг и услуг принтера, а также протокол услуг "StreetTalk name/directory". StreetTalk, один из протоколов с торговым знаком компании VINES, обеспечивает службу постоянных имен в глобальном масштабе для всей объединенной сети.
VINES также обеспечивает среду разработки интегрированных применений при наличии нескольких операционных систем, включая DOS и UNIX. Taкая среда разработки позволяет третьей участвующей стороне осуществлять разработку как клиентов, так и услуг, действующих в среде VINES.
Протоколы высших уровней
XNS предлагает несколько протоколов высших уровней. Протокол "Печатание" (Printing) обеспечивает услуги принтера. Протокол "Ведение картотеки" (Filing) обеспечивает услуги доступа к файлам. Протокол "Очистка9 (Сlearinghouse) обеспечивает услуги, связанные с присвоением имени. Каждый из этих протоколов работает в дополнение к протоколу "Курьер" (Сourier), который обеспечивает соглашения для структурирования данных и взаимодействия процессов.
XNS также определяет протоколы уровня четыре. Это протоколы прикладного уровня, но поскольку они имеют мало общего с фактическими функциями связи, в спецификации XNS нет каких-либо определений по существу.
И наконец, протокол "Эхо" (Echo Protocol) используется для тестирования надежности узлов сети XNS. Он используется для поддержки таких функций, как функции, обеспечиваемые командой ping, которую можно встретить в Unix и других средах. Спецификация XNS описывает протокол "Эхо" как протокол уровня два.
© 2003-2007 INTUIT.ru. Все права защищены. |
Сеансовый уровень
Протоколы сеансового уровня OSI преобразуют в сеансы потоки данных, поставляемых четырьмя низшими уровнями, путем реализации различных управляющих механизмов. В число этих механизмов входит ведение учета, управление диалогом (т.е. определение, кто и когда может говорить) и согласование параметров сеанса.
Управление диалогом сеанса реализуется путем использования маркера (token), обладание которым обеспечивает право на связь. Маркер можно запрашивать, и конечным системам ES могут быть присвоены приоритеты, обеспечивающие неравноправное пользование маркером.
Сетевой уровень
В данном разделе описываются концепции, принятые для сетевого уровня AppleTalk, и протоколы для этого уровня. В нем рассматриваются назначение адреса протокола, сетевые объекты и протоколы AppleTalk, которые обеспечивают функциональные возможности Уровня 3 эталонной модели OSI.
Сетевой уровень
Для выполнения функций Уровня 3 (в том числе маршрутизации в объединенной сети) VINES использует Протокол межсетевого обмена VINES (VINES Internetwork Protocol - VIP). VINES также обеспечивает собственный Протокол разрешения адреса (ARP), собственную версию Протокола информации маршрутизации (Routing Information Protocol - RIP), которая называется Протоколом корректировки маршрутизации (Routing Update Protocol - RTP) и Протокол управления Internet (ICP), который обеспечивает обработку исключительных состояний и специальной информации о затратах маршрутизации. Пакеты ICP, RTP и ARP формируются в заголовке VIP.
Сетевой уровень
Протокол сетевого уровня XNS называется Протоколом дейтаграмм Internet (Internet Datagram Protocol - IDP). IDP выполняет стандартные функции Уровня 3, в число которых входят логическая адресация и сквозная доставка дейтаграмм через объединенную сеть. Формат пакета IDP представлен на Рис. 4.31.
Рис. 4.31. IDP Packet Format
Первым полем в пакете IDP является 16-битовое поле контрольной суммы (checksum), которое помогает проверить целостность пакета после его прохождения через объединенную сеть.
За полем контрольной суммы следует 16-битовое поле длины (length), которое содержит информацию о полной длине (включая контрольную сумму) текущей дейтаграммы.
За полем длины идет 8-битовое поле управления транспортировкой (transport control) и 8-битовое поле типа пакета (packet type). Поле управления транспортировкой состоит из подполей числа пересылок (hop count) и максимального времени существования пакета (maximum packet lifetime - MPL). Значение подполя числа пересылок устанавливается источником в исходное состояние 0 и инкрементируется на 1 при прохождении данной дейтаграммы через один роутер. Когда значение поля числа пересылок доходит до 16, дейтаграмма отвергается на основании допущения, что имеет место петля маршрутизации. Подполе MPL содержит максимальное время (в секундах), в течение которого пакет может оставаться в объединенной сети.
За полем управления транспортировкой следует 8-битовое поле типа пакета (packet type). Это поле определяет формат поля данных.
Каждый из адресов сети источника и назначения имеют три поля: 32- битовый номер сети (network number), который уникальным образом обозначает сеть в объединенной сети, 48-битовый номер хоста (host number), который является уникальным для всех когда-либо выпущенных хостов, и 16-битовый номер гнезда (socket number), который уникальным образом идентифицирует гнездо (процесс) в пределах конкретнго хоста. Адреса IEEE 802 эквивалентны номерам хостов, поэтому хосты, подключенные более чем к одной сети IEEE 802, имеют тот же самый адрес в каждом сегменте. Это делает сетевые номера избыточными, но тем не менее полезными для маршрутизации. Некоторые номера гнезд являются хорошо известными (well-known); это означает, что услуга, выполняемая программным обеспечением с использованием этих номеров гнезд, является статически определенной. Все другие номера гнезд допускают многократное использование.
XNS поддерживает пакеты с однопунктовой (из одного пункта в другой пункт), многопунктовой и широковещательной адресацией. Многопунктовые и широковещательные адреса далее делятся на 2 типа: прямые (directed) и глобальные (global). Прямые многопунктовые адреса доставляют пакеты членам группы многопунктовой адресации данной сети, заданной в адресе сети назначения с многопунктовой адресацией. Прямые широковещательные адреса доставляют пакеты всем членам заданной сети. Глобальные многопунктовые адреса доставляют пакеты всем членам данной группы в пределах всей объединенной сети, в то время как глобальные широковещательные адреса доставляют пакеты во все адреса объединенной сети. Один бит в номере хоста обозначает отдельный адрес в противовес многопунктовому адресу. Все единицы в поле хоста обозначают широковещательный адрес.
Для маршрутизации пакетов в объединенной сети XNS использует схему динамической маршрутизации, называемую Протоколом информации маршрутизации (RIP). В настоящее время RIP является наиболее широко используемым Протоколом внутренних роутеров (interior gateway protocol - IGP) в сообществе Internet-среде международной сети, обеспечивющей связность практически со всеми университетами и научно-исследовательскими институтами, а также многими коммерческими организациями в США. Подробная информация о RIP дается в Главе 5.
Сетевой уровень
DECnet поддерживает сетевые уровни как без установления соединения, так и с установлением соединения. Оба сетевых уровня реализуются протоколами OSI. Реализации без установления соединения используют Connectionless Network Protocol (CLNP) (Протокол сети без установления соединения) и Connectionless Network Service (CLNS) (Услуги сети без установления соединения). Сетевой уровень с установлением соединения использует X.25 Packet-Level Protocol (PLP) (Протокол пакетного уровня), который также известен как X.25 level 3 (Уровень 3 Х.25), и Connection-Mode Network Protocol (CMNP) (Протокол сети с установлением соединения). Более подробно эти протоколы OSI описываются пункте "Протоколы OSI".
Хотя в DECnet Phase V значительная часть DNA была приведена в соответствие с OSI, уже в DECnet Phase IV маршрутизация была очень схожа с маршрутизацией OSI. Маршрутизация DNA Phase V включает в себя маршрутизацию OSI (ES-IS и IS-IS) и постоянную поддержку протокола маршрутизации DECnet Phase IV. ЕS-IS и IS-IS описаны в Главе 5.
Сетевой уровень
IP является основным протоколом Уровня 3 в комплекте протоколов Internet. В дополнение к маршрутизации в объединенных сетях, IР обеспечивает фрагментацию и повторную сборку дейтаграмм, а также сообщения об ощибках. Наряду с ТСР, IP представляет основу комплекта протоколов Internet. Формат пакета IP представлен на Рис. 4.11.
Рис. 4.11. IP Packet Format
Заголовок IР начинается с номера версии (version number), который указывает номер используемой версии IP.
Поле длины заголовка (IHL) обозначает длину заголовка дейтаграммы в 32-битовых словах.
Поле типа услуги (type-of-service) указывает, каким образом должна быть обработана текущая дейтаграмма в соответствии с указаниями конкретного протокола высшего уровня. С помощью этого поля дейтаграммам могут быть назначены различные уровни значимости.
Поле общая длина (total length) определяет длину всего пакета IP в байтах, включая данные и заголовок.
Поле идентификации (identification) содержит целое число, обозначающее текущую дейтаграмму. Это поле используется для соединения фрагментов дейтаграммы.
Поле флагов (flags) (содержащее бит DF, бит MF и сдвиг фрагмента) определяет, может ли быть фрагментирована данная дейтаграмма и является ли текущий фрагмент последним.
Поле срок жизни (time-to-live) поддерживает счетчик, значение которого постепенно уменьшается до нуля; в этот момент дейтаграмма отвергается. Это препятствует зацикливанию пакетов.
Поле протокола (protocol) указывает, какой протокол высшего уровня примет входящие пакеты после завершения обработки IP.
Поле контрольной суммы заголовка (header checksum) помогает обеспечивать целостность заголовка ID.
Поля адресов источника и пункта назначения (source and destination address) oбoзначают отправляющий и принимающий узлы.
Поле опции (options) позволяет IP обеспечивать факультативные возможности, такие, как защита данных.
Поле данных (data) содержит информацию высших уровней.
Сетевой уровень
Internet Packet Exchange (IPX) является оригинальным протоколом сетевого уровня Novell. Если устройство, с которым необходимо установить связь, находится в другой сети, IPX прокладывает маршрут для прохождения информации через любые промежуточные сети, которые могут находиться на пути к пункту назначения. На Рис. 4.20 представлен формат пакета IPX.
Рис. 4.20. IPX Packet Format
Пакет IPX начинается с 16-битового поля контрольной суммы (checksum), которое устанавливается на единицы.
16-битовое поле длины (length) определяет длину полной дейтаграммы IPX в байтах. Пакеты IPX могут быть любой длины, вплоть до размеров максимальной единицы передачи носителя (MTU). Фрагментация пакетов не применяется.
За полем длины идет 8-битовое поле управления транспортировкой (transport control), которое обозначает число роутеров, через которые прошел пакет. Когда значение этого поля доходит до 15, пакет отвергается исходя из предположения, что могла иметь место маршрутная петля.
8-битовое поле типа пакета (packet type) определяет протокол высшего уровня для приема информации пакета. Двумя общими значениями этого поля являются 5, которое определяет Sequenced Packet Exchange (SPX)
(Упорядоченный обмен пакетами) и 17, которое определяет NetWare Core Protocol (NCP) (Основной протокол NetWare).
Информация адреса пункта назначения (destination address) занимает следующие три поля. Эти поля определяют сеть, главную вычислительную машину и гнездо (процесс) пункта назначения.
Следом идут три поля адреса источника (source address), определяющих сеть, главную вычислительную машину и гнездо источника.
За полями пункта назначения и источника следует поле данных (data). Оно содержит информацию для процессов высших уровней.
Хотя IPX и является производной XNS, он имеет несколько уникальных характеристик. С точки зрения маршрутизации , наиболее важное различие заключается в механизмах формирования пакетов данных этих двух протоколов. Формирование пакета данных - это процесс упаковки информации протокола высшего уровня и данных в блок данных. Блоки данных являются логическими группами информации, очень похожими на слова телефонного разговора. XNS использует стандартное формирование блока данных Ethernet, в то время как пакеты IPX формируются в блоки данных Ethernet Version 2.0 или IEEE 802.3 без информации IEEE 802.2, которая обычно сопровождает эти блоки данных. Рис.4.21 иллюстрирует формирование пакета данных Ethernet, стандарта IEEE 802.3 и IPX.
Примечание: NetWare 4.0 обеспечивает формирование пакетов IPX в блоки данных IEEE 802.3.
Рис. 4.21. Ethernet,IEEE 802.3, and IPX Encapsulation Formats
Для маршрутизации пакетов в объединенных сетях IPX использует протокол динамической маршрутизации, называемый Routing Information Protocol (RIP) (Протокол маршрутной информации). Также, как и XNS, RIP получен в результате усилий компании Xerox по разработке семейства протоколов XNS. В настоящее время RIP является наиболее часто используемым протоколом для внутренних роутеров (interior gateway protocol-IGP) в сообществе Internet-среде международной сети, обеспечивающей связность практически со всеми университетами и исследовательскими институтами и большим числом коммерческих организаций в США, а также со многими иностранными организациями. Подробная информация о RIP приведена в Главе 5.
В дополнение к разнице в механизмах формирования пакетов, Novell также дополнительно включила в свое семейство протоколов IPX протокол, называемый Service Adverticement Protocol (SAP) (Протокол объявлений об услугах). SAP позволяет узлам, обеспечивающим услуги, объявлять о своих адресах и услугах, которые они обеспечивают.
Novell также поддерживает "Блок адресуемой сети" LU 6.2 компании IBM (LU 6.2 network addressable unit - NAU). LU 6.2 обеспечивает связность по принципу равноправных систем через среду сообщений IBM. Используя возможности LU 6.2, которые имеются у NetWare, узлы NetWare могут обмениваться информацией через сеть IBM. Пакеты NetWare формируются в пределах пакетов LU 6.2 для передачи через сеть IBM.
Сетевой уровень
OSI предлагает услуги сетевого уровня как без установления соединения, так и ориентированные на установления логического соединения. Услуги без установления соединения описаны в ISO 8473 (обычно называемом Connectionless Network Protocol - CLNP - Протокол сети без установления соединения). Обслуживание, ориентированное на установление логического соединения (иногда называемое Connection-Oriented Network Service - CONS) описывается в ISO 8208 (X.25 Packet-Level Protocol - Протокол пакетного уровня X.25, иногда называемый Connection-Mode Network Protocol - CMNP) и ISO 8878 (в котором описывается, как пользоваться ISO 8208, чтобы обеспечить ориентированные на установление логического соединения услуги OSI). Дополнительный документ ISO 8881 описывает, как обеспечить работу Протокола пакетного уровня X.25 в локальных сетях IEEE 802. OSI также определяет несколько протоколов маршрутизации, которые рассмотрены в Главе 5. X.25 рассмотрен в Главе 3.
В дополнение к уже упоминавшимся спецификациям протоколов и услуг, имеются другие документы, связанные с сетевым уровнем OSI, в число которых входят:
ISO 8648
На этот документ обычно ссылаются как на "внутреннюю организацию сетевого уровня" (internal organization of the network level - IONL). Он описывает, каким образом можно разбить сетевой уровень на три отдельных различимых друг от друга подуровня, чтобы обеспечить поддержку для различных типов подсетей.
ISO 8348
Этот документ обычно называют "определение услуг сети" (network service definition). Он описывает ориентированные на установление логического соединения услуги и услуги без установления соединения, которые обеспечивает сетевой уровень OSI. Адресация сетевого уровня также определена в этом документе. Определение услуг в режиме без установления соединения и определение адресации раньше были опубликованы отдельным дополнением к ISO 8348; однако вариант ISO 8348 1993 года объединяет все дополнения в отдельный документ.
ISO TR 9575
Этот документ описывает структуру, концепции и терминологию, использованную в протоколах маршрутизации OSI.
ISO TR 9577
Этот документ описывает, как отличать друг от друга большое число протоколов сетевого уровня, работающих в одной и той же среде. Это необходимо потому, что в отличие от других протоколов, протоколы сетевого уровня OSI не различаются с помощью какого-либо идентификатора (ID) протокола или аналогичного поля канального уровня.
Сетевой уровень
В данном разделе описываются концепции, принятые для сетевого уровня AppleTalk, и протоколы для этого уровня. В нем рассматриваются назначение адреса протокола, сетевые объекты и протоколы AppleTalk, которые обеспечивают функциональные возможности Уровня 3 эталонной модели OSI.
Сетевой уровень
DECnet поддерживает сетевые уровни как без установления соединения, так и с установлением соединения. Оба сетевых уровня реализуются протоколами OSI. Реализации без установления соединения используют Connectionless Network Protocol (CLNP) (Протокол сети без установления соединения) и Connectionless Network Service (CLNS) (Услуги сети без установления соединения). Сетевой уровень с установлением соединения использует X.25 Packet-Level Protocol (PLP) (Протокол пакетного уровня), который также известен как X.25 level 3 (Уровень 3 Х.25), и Connection-Mode Network Protocol (CMNP) (Протокол сети с установлением соединения). Более подробно эти протоколы OSI описываются пункте "Протоколы OSI".
Хотя в DECnet Phase V значительная часть DNA была приведена в соответствие с OSI, уже в DECnet Phase IV маршрутизация была очень схожа с маршрутизацией OSI. Маршрутизация DNA Phase V включает в себя маршрутизацию OSI (ES-IS и IS-IS) и постоянную поддержку протокола маршрутизации DECnet Phase IV. ЕS-IS и IS-IS описаны в Главе 5.
Сетевой уровень
IP является основным протоколом Уровня 3 в комплекте протоколов Internet. В дополнение к маршрутизации в объединенных сетях, IР обеспечивает фрагментацию и повторную сборку дейтаграмм, а также сообщения об ощибках. Наряду с ТСР, IP представляет основу комплекта протоколов Internet. Формат пакета IP представлен на Рис. 4.11.
Рис. 4.11. IP Packet Format
Заголовок IР начинается с номера версии (version number), который указывает номер используемой версии IP.
Поле длины заголовка (IHL) обозначает длину заголовка дейтаграммы в 32-битовых словах.
Поле типа услуги (type-of-service) указывает, каким образом должна быть обработана текущая дейтаграмма в соответствии с указаниями конкретного протокола высшего уровня. С помощью этого поля дейтаграммам могут быть назначены различные уровни значимости.
Поле общая длина (total length) определяет длину всего пакета IP в байтах, включая данные и заголовок.
Поле идентификации (identification) содержит целое число, обозначающее текущую дейтаграмму. Это поле используется для соединения фрагментов дейтаграммы.
Поле флагов (flags) (содержащее бит DF, бит MF и сдвиг фрагмента) определяет, может ли быть фрагментирована данная дейтаграмма и является ли текущий фрагмент последним.
Поле срок жизни (time-to-live) поддерживает счетчик, значение которого постепенно уменьшается до нуля; в этот момент дейтаграмма отвергается. Это препятствует зацикливанию пакетов.
Поле протокола (protocol) указывает, какой протокол высшего уровня примет входящие пакеты после завершения обработки IP.
Поле контрольной суммы заголовка (header checksum) помогает обеспечивать целостность заголовка ID.
Поля адресов источника и пункта назначения (source and destination address) oбoзначают отправляющий и принимающий узлы.
Поле опции (options) позволяет IP обеспечивать факультативные возможности, такие, как защита данных.
Поле данных (data) содержит информацию высших уровней.
Сетевой уровень
Internet Packet Exchange (IPX) является оригинальным протоколом сетевого уровня Novell. Если устройство, с которым необходимо установить связь, находится в другой сети, IPX прокладывает маршрут для прохождения информации через любые промежуточные сети, которые могут находиться на пути к пункту назначения. На Рис. 4.20 представлен формат пакета IPX.
Рис. 4.20. IPX Packet Format
Пакет IPX начинается с 16-битового поля контрольной суммы (checksum), которое устанавливается на единицы.
16-битовое поле длины (length) определяет длину полной дейтаграммы IPX в байтах. Пакеты IPX могут быть любой длины, вплоть до размеров максимальной единицы передачи носителя (MTU). Фрагментация пакетов не применяется.
За полем длины идет 8-битовое поле управления транспортировкой (transport control), которое обозначает число роутеров, через которые прошел пакет. Когда значение этого поля доходит до 15, пакет отвергается исходя из предположения, что могла иметь место маршрутная петля.
8-битовое поле типа пакета (packet type) определяет протокол высшего уровня для приема информации пакета. Двумя общими значениями этого поля являются 5, которое определяет Sequenced Packet Exchange (SPX)
(Упорядоченный обмен пакетами) и 17, которое определяет NetWare Core Protocol (NCP) (Основной протокол NetWare).
Информация адреса пункта назначения (destination address) занимает следующие три поля. Эти поля определяют сеть, главную вычислительную машину и гнездо (процесс) пункта назначения.
Следом идут три поля адреса источника (source address), определяющих сеть, главную вычислительную машину и гнездо источника.
За полями пункта назначения и источника следует поле данных (data). Оно содержит информацию для процессов высших уровней.
Хотя IPX и является производной XNS, он имеет несколько уникальных характеристик. С точки зрения маршрутизации , наиболее важное различие заключается в механизмах формирования пакетов данных этих двух протоколов. Формирование пакета данных - это процесс упаковки информации протокола высшего уровня и данных в блок данных. Блоки данных являются логическими группами информации, очень похожими на слова телефонного разговора. XNS использует стандартное формирование блока данных Ethernet, в то время как пакеты IPX формируются в блоки данных Ethernet Version 2.0 или IEEE 802.3 без информации IEEE 802.2, которая обычно сопровождает эти блоки данных. Рис.4.21 иллюстрирует формирование пакета данных Ethernet, стандарта IEEE 802.3 и IPX.
Примечание: NetWare 4.0 обеспечивает формирование пакетов IPX в блоки данных IEEE 802.3.
Рис. 4.21. Ethernet,IEEE 802.3, and IPX Encapsulation Formats
Для маршрутизации пакетов в объединенных сетях IPX использует протокол динамической маршрутизации, называемый Routing Information Protocol (RIP) (Протокол маршрутной информации). Также, как и XNS, RIP получен в результате усилий компании Xerox по разработке семейства протоколов XNS. В настоящее время RIP является наиболее часто используемым протоколом для внутренних роутеров (interior gateway protocol-IGP) в сообществе Internet-среде международной сети, обеспечивающей связность практически со всеми университетами и исследовательскими институтами и большим числом коммерческих организаций в США, а также со многими иностранными организациями. Подробная информация о RIP приведена в Главе 5.
В дополнение к разнице в механизмах формирования пакетов, Novell также дополнительно включила в свое семейство протоколов IPX протокол, называемый Service Adverticement Protocol (SAP) (Протокол объявлений об услугах). SAP позволяет узлам, обеспечивающим услуги, объявлять о своих адресах и услугах, которые они обеспечивают.
Novell также поддерживает "Блок адресуемой сети" LU 6.2 компании IBM (LU 6.2 network addressable unit - NAU). LU 6.2 обеспечивает связность по принципу равноправных систем через среду сообщений IBM. Используя возможности LU 6.2, которые имеются у NetWare, узлы NetWare могут обмениваться информацией через сеть IBM. Пакеты NetWare формируются в пределах пакетов LU 6.2 для передачи через сеть IBM.
Сетевой уровень
OSI предлагает услуги сетевого уровня как без установления соединения, так и ориентированные на установления логического соединения. Услуги без установления соединения описаны в ISO 8473 (обычно называемом Connectionless Network Protocol - CLNP - Протокол сети без установления соединения). Обслуживание, ориентированное на установление логического соединения (иногда называемое Connection-Oriented Network Service - CONS) описывается в ISO 8208 (X.25 Packet-Level Protocol - Протокол пакетного уровня X.25, иногда называемый Connection-Mode Network Protocol - CMNP) и ISO 8878 (в котором описывается, как пользоваться ISO 8208, чтобы обеспечить ориентированные на установление логического соединения услуги OSI). Дополнительный документ ISO 8881 описывает, как обеспечить работу Протокола пакетного уровня X.25 в локальных сетях IEEE 802. OSI также определяет несколько протоколов маршрутизации, которые рассмотрены в Главе 5. X.25 рассмотрен в Главе 3.
В дополнение к уже упоминавшимся спецификациям протоколов и услуг, имеются другие документы, связанные с сетевым уровнем OSI, в число которых входят:
ISO 8648
На этот документ обычно ссылаются как на "внутреннюю организацию сетевого уровня" (internal organization of the network level - IONL). Он описывает, каким образом можно разбить сетевой уровень на три отдельных различимых друг от друга подуровня, чтобы обеспечить поддержку для различных типов подсетей.
ISO 8348
Этот документ обычно называют "определение услуг сети" (network service definition). Он описывает ориентированные на установление логического соединения услуги и услуги без установления соединения, которые обеспечивает сетевой уровень OSI. Адресация сетевого уровня также определена в этом документе. Определение услуг в режиме без установления соединения и определение адресации раньше были опубликованы отдельным дополнением к ISO 8348; однако вариант ISO 8348 1993 года объединяет все дополнения в отдельный документ.
ISO TR 9575
Этот документ описывает структуру, концепции и терминологию, использованную в протоколах маршрутизации OSI.
ISO TR 9577
Этот документ описывает, как отличать друг от друга большое число протоколов сетевого уровня, работающих в одной и той же среде. Это необходимо потому, что в отличие от других протоколов, протоколы сетевого уровня OSI не различаются с помощью какого-либо идентификатора (ID) протокола или аналогичного поля канального уровня.
Сетевой уровень
Для выполнения функций Уровня 3 (в том числе маршрутизации в объединенной сети) VINES использует Протокол межсетевого обмена VINES (VINES Internetwork Protocol - VIP). VINES также обеспечивает собственный Протокол разрешения адреса (ARP), собственную версию Протокола информации маршрутизации (Routing Information Protocol - RIP), которая называется Протоколом корректировки маршрутизации (Routing Update Protocol - RTP) и Протокол управления Internet (ICP), который обеспечивает обработку исключительных состояний и специальной информации о затратах маршрутизации. Пакеты ICP, RTP и ARP формируются в заголовке VIP.
Сетевой уровень
Протокол сетевого уровня XNS называется Протоколом дейтаграмм Internet (Internet Datagram Protocol - IDP). IDP выполняет стандартные функции Уровня 3, в число которых входят логическая адресация и сквозная доставка дейтаграмм через объединенную сеть. Формат пакета IDP представлен на Рис. 4.31.
Рис. 4.31. IDP Packet Format
Первым полем в пакете IDP является 16-битовое поле контрольной суммы (checksum), которое помогает проверить целостность пакета после его прохождения через объединенную сеть.
За полем контрольной суммы следует 16-битовое поле длины (length), которое содержит информацию о полной длине (включая контрольную сумму) текущей дейтаграммы.
За полем длины идет 8-битовое поле управления транспортировкой (transport control) и 8-битовое поле типа пакета (packet type). Поле управления транспортировкой состоит из подполей числа пересылок (hop count) и максимального времени существования пакета (maximum packet lifetime - MPL). Значение подполя числа пересылок устанавливается источником в исходное состояние 0 и инкрементируется на 1 при прохождении данной дейтаграммы через один роутер. Когда значение поля числа пересылок доходит до 16, дейтаграмма отвергается на основании допущения, что имеет место петля маршрутизации. Подполе MPL содержит максимальное время (в секундах), в течение которого пакет может оставаться в объединенной сети.
За полем управления транспортировкой следует 8-битовое поле типа пакета (packet type). Это поле определяет формат поля данных.
Каждый из адресов сети источника и назначения имеют три поля: 32- битовый номер сети (network number), который уникальным образом обозначает сеть в объединенной сети, 48-битовый номер хоста (host number), который является уникальным для всех когда-либо выпущенных хостов, и 16-битовый номер гнезда (socket number), который уникальным образом идентифицирует гнездо (процесс) в пределах конкретнго хоста. Адреса IEEE 802 эквивалентны номерам хостов, поэтому хосты, подключенные более чем к одной сети IEEE 802, имеют тот же самый адрес в каждом сегменте. Это делает сетевые номера избыточными, но тем не менее полезными для маршрутизации. Некоторые номера гнезд являются хорошо известными (well-known); это означает, что услуга, выполняемая программным обеспечением с использованием этих номеров гнезд, является статически определенной. Все другие номера гнезд допускают многократное использование.
XNS поддерживает пакеты с однопунктовой (из одного пункта в другой пункт), многопунктовой и широковещательной адресацией. Многопунктовые и широковещательные адреса далее делятся на 2 типа: прямые (directed) и глобальные (global). Прямые многопунктовые адреса доставляют пакеты членам группы многопунктовой адресации данной сети, заданной в адресе сети назначения с многопунктовой адресацией. Прямые широковещательные адреса доставляют пакеты всем членам заданной сети. Глобальные многопунктовые адреса доставляют пакеты всем членам данной группы в пределах всей объединенной сети, в то время как глобальные широковещательные адреса доставляют пакеты во все адреса объединенной сети. Один бит в номере хоста обозначает отдельный адрес в противовес многопунктовому адресу. Все единицы в поле хоста обозначают широковещательный адрес.
Для маршрутизации пакетов в объединенной сети XNS использует схему динамической маршрутизации, называемую Протоколом информации маршрутизации (RIP). В настоящее время RIP является наиболее широко используемым Протоколом внутренних роутеров (interior gateway protocol - IGP) в сообществе Internet-среде международной сети, обеспечивющей связность практически со всеми университетами и научно-исследовательскими институтами, а также многими коммерческими организациями в США. Подробная информация о RIP дается в Главе 5.
Транспортный уровень
VINES обеспечивает три услуги транспортного уровня:
Unreliable datagram service.
Услуги ненадежных дейтаграмм. Отправляет пакеты, которые маршрутизируются на основе принципа "наименьших затрат" (best-effort basis), но не подтверждаются сообщением о приеме в пункте назначения.
reliable datagram service.
Услуги надежных дейтаграмм. Услуга виртуальной цепи, которая обеспечивает надежную упорядоченную доставку сообщений между узлами сети с подтверждением о приеме. Надежное сообщение может быть передано с максимальным числом пакетов, равным 4.
data stream service.
Услуга потока данных. Поддерживает контролируемый поток данных между двумя процессами. Услуга потока данных является услугой виртуальной цепи с подтверждением о приеме, которая обеспечивает передачу сообщений неограниченных размеров.
Транспортный уровень
Функции транспортного уровня OSI реализуются несколькими протоколами. Каждый из перечисленных ниже протоколов описан в спецификации ХNS как протокол уровня два.
Протокол упорядоченной передачи пакетов (Sequenced Packet Protocol - SPP) обеспечивает надежную, с установлением соединения и управлением потока, передачу пакетов от лица процессов клиента. По выполняемым функциям он похож на протокол TСР из комплекта протоколов Internet и на протокол ТР4 из комплекта протоколов OSI (смотри соответственно пункт "Протоколы Internet" и пункт "Протоколы OSI" ).
Каждый пакет SPP включает в себя номер последовательности (sequence number), который используется для упорядочивания пакетов и определения тех из них, которые были скопированы или потеряны. Пакеты SPP также содержат два 16-битовых идентификатора соединения (connection identifier). Каждый конец соединения определяет один идентификатор соединения. Оба идентификатора соединения вместе уникальным образом идентифицируют логическое соединение между процессами клиента.
Длина пакетов SPP не может быть больше 576 байтов. Процессы клиента могут согласовывать использование различных размеров пакетов во время организации соединения, однако SPP не определяет характер такого согласования.
Протокол обмена пакетами (Packet Exchange Protocol - PEP) является протоколом типа запрос-ответ, предназначенным обеспечивать надежность, которая больше надежности простых услуг дейтаграмм (например, таких, которые обеспечивает IDP), но меньше надежности SPP. По своим функциональным возможностям РЕР аналогичен Протоколу дейтаграмм пользователя (UDP) из комплекта протоколов Internet (смотри пункт "Протоколы Internet"). PEP базируется на принципе одного пакета, обеспечивая повторные передачи, но не обеспечивая выявление дублированных пакетов. Он полезен для прикладных задач, в которых транзакции запрос-ответ являются идемпотентными (повторяемыми без повреждения контекста), или в которых надежная передача выполняется на другом уровне.
Протокол неисправностей (Error Protocol - EP) может быть использован любым процессом клиента для уведомления другого процесса клиента о том, что в сети имеет место ошибка. Например, этот протокол используется в ситуациях, когда какая-нибудь реализация SPP распознала дублированный пакет.
Транспортный уровень
Транспортный уровень AppleTalk реализуется двумя основными протоколами AppleTalk: AppleTalk Transaction Protocol (ATP) (Протокол транзакций AppleTalk) и AppleTalk Data Stream Protocol (ADSP) (Протокол потока данных АppleTalk). АТР является транзакционно-ориентированным, в то время как ADSP является ориентированным по потоку данных.
Транспортный уровень
Транспортный уровень DNA реализуется различными протоколами транспортного уровня, как патентованными, так и стандартными. Поддерживаются следующие протоколы транспортного уровня OSI: ТР0, ТР2 и ТР4. Подробное описание этих протоколов дается в пункте "Протоколы OSI".
Принадлежащий Digital Протокол услуг сети (Network services protocol - NSP) по функциональным возможностям похож на ТР4 тем, что он обеспечивает ориентированное на соединение, с контролируемым потоком обслуживание, с фрагментацией и повторной сборкой сообщений . Обеспечиваются два подканала - один для нормальных данных, второй для срочных данных и информации управления потоком. Обеспечивается два типа управления потоком - простой механизм старт/стоп, при котором получатель сообщает отправителю, когда следует завершать и возобновлять передачу данных, и более сложная техника управления потоком, при которой получатель сообщает отправителю, сколько сообщений он может принять. NSP может также реагировать на уведомления о перегрузке, поступающие из сетевого уровня, путем уменьшения числа невыполненных сообщений, которое он может допустить.
Транспортный уровень
Транспортный уровень Internet реализуется ТСР и Протоколом Дейтаграмм Пользователя (User Datagram Protocol - UDP). ТСР обеспечивает транспортировку данных с установлением соединения, в то время как UDP работает без установления соединения.
Транспортный уровень
Sequenced Packet Exchange (SPX) (Упорядоченный обмен пакетами) является наиболее часто используемым протоколом транспортного уровня NetWare. Novell получила этот протокол в результате доработки Sequenced Packet Protocol (SPP) системы XNS. Как и протокол ТСР (Transmission Control Protocol) и многие другие протоколы транспортного уровня, SPX является надежным, с установлением соединения протоколом, который дополняет услуги дейтаграмм, обеспечиваемые протоколами Уровня 3.
Novell также предлагает поддержку протокола Internet Protocol (IP) в виде формирования протоколом User Datagram Protocol(UDP)/IP других пакетов Novell, таких как пакеты SPX/IPX. Для транспортировки через объединенные сети, базирующиеся на IP, дейтаграммы IPX формируются внутри заголовков UDP/IP. Общая информация о протоколах UPD и Internet дается в пункте "Протоколы Internet".
Транспортный уровень
Как обычно для сетевого уровня OSI, oбеспечиваются услуги как без установления соединения, так и с установлением соединения. Фактически имеется 5 протоколов транспортного уровня OSI с установлением соединения: ТР0, ТР1, ТР2, ТР3 и ТР4. Все они, кроме ТР4, работают только с услугами сети OSI с установлением соединения. ТР4 работает с услугами сети как с установлением соединения, так и без установления соединения.
ТР0 является самым простым протоколом транспортного уровня OSI, ориентированным на установления логического соединения. Из набора классических функций протокола транспортного уровня он выполняет только сегментацию и повторную сборку. Это означает, что ТР0 обратит внимание на протокольную информационную единицу (protocol data unit - PDU) с самым маленьким максимальным размером, который поддерживается лежащими в основе подсетями, и разобьет пакет транспортного уровня на менее крупные части, которые не будут слишком велики для передачи по сети.
В дополнение к сегментации и повторной сборке ТР1 обеспечивает устранение базовых ошибок. Он нумерует все PDU и повторно отправляет те, которые не были подтверждены. ТР1 может также повторно инициировать соединение в том случае, если имеет место превышение допустимого числа неподтвержденных РDU.
ТР2 может мультиплексировать и демультиплексировать потоки данных через отдельную виртуальную цепь. Эта способность делает ТР2 особенно полезной в общедоступных информационных сетях (PDN), где каждая виртуальная цепь подвергается отдельной загрузке. Подобно ТР0 и ТР1, ТР2 также сегментирует и вновь собирает PDU.
ТР3 комбинирует в себе характеристики ТР1 и ТР2.
ТР4 является самым популярным протоколом транспортного уровня OSI. ТР4 похож на протокол ТСР из комплекта протоколов Internet; фактически, он базировался на ТСР. В дополнение к характеристикам ТР3, ТР4 обеспечивает надежные услуги по транспортировке. Его применение предполагает сеть, в которой проблемы не выявляются.
Транспортный уровень
Транспортный уровень AppleTalk реализуется двумя основными протоколами AppleTalk: AppleTalk Transaction Protocol (ATP) (Протокол транзакций AppleTalk) и AppleTalk Data Stream Protocol (ADSP) (Протокол потока данных АppleTalk). АТР является транзакционно-ориентированным, в то время как ADSP является ориентированным по потоку данных.
Транспортный уровень
Транспортный уровень DNA реализуется различными протоколами транспортного уровня, как патентованными, так и стандартными. Поддерживаются следующие протоколы транспортного уровня OSI: ТР0, ТР2 и ТР4. Подробное описание этих протоколов дается в пункте "Протоколы OSI".
Принадлежащий Digital Протокол услуг сети (Network services protocol - NSP) по функциональным возможностям похож на ТР4 тем, что он обеспечивает ориентированное на соединение, с контролируемым потоком обслуживание, с фрагментацией и повторной сборкой сообщений . Обеспечиваются два подканала - один для нормальных данных, второй для срочных данных и информации управления потоком. Обеспечивается два типа управления потоком - простой механизм старт/стоп, при котором получатель сообщает отправителю, когда следует завершать и возобновлять передачу данных, и более сложная техника управления потоком, при которой получатель сообщает отправителю, сколько сообщений он может принять. NSP может также реагировать на уведомления о перегрузке, поступающие из сетевого уровня, путем уменьшения числа невыполненных сообщений, которое он может допустить.
Транспортный уровень
Транспортный уровень Internet реализуется ТСР и Протоколом Дейтаграмм Пользователя (User Datagram Protocol - UDP). ТСР обеспечивает транспортировку данных с установлением соединения, в то время как UDP работает без установления соединения.
Транспортный уровень
Sequenced Packet Exchange (SPX) (Упорядоченный обмен пакетами) является наиболее часто используемым протоколом транспортного уровня NetWare. Novell получила этот протокол в результате доработки Sequenced Packet Protocol (SPP) системы XNS. Как и протокол ТСР (Transmission Control Protocol) и многие другие протоколы транспортного уровня, SPX является надежным, с установлением соединения протоколом, который дополняет услуги дейтаграмм, обеспечиваемые протоколами Уровня 3.
Novell также предлагает поддержку протокола Internet Protocol (IP) в виде формирования протоколом User Datagram Protocol(UDP)/IP других пакетов Novell, таких как пакеты SPX/IPX. Для транспортировки через объединенные сети, базирующиеся на IP, дейтаграммы IPX формируются внутри заголовков UDP/IP. Общая информация о протоколах UPD и Internet дается в пункте "Протоколы Internet".
Транспортный уровень
Как обычно для сетевого уровня OSI, oбеспечиваются услуги как без установления соединения, так и с установлением соединения. Фактически имеется 5 протоколов транспортного уровня OSI с установлением соединения: ТР0, ТР1, ТР2, ТР3 и ТР4. Все они, кроме ТР4, работают только с услугами сети OSI с установлением соединения. ТР4 работает с услугами сети как с установлением соединения, так и без установления соединения.
ТР0 является самым простым протоколом транспортного уровня OSI, ориентированным на установления логического соединения. Из набора классических функций протокола транспортного уровня он выполняет только сегментацию и повторную сборку. Это означает, что ТР0 обратит внимание на протокольную информационную единицу (protocol data unit - PDU) с самым маленьким максимальным размером, который поддерживается лежащими в основе подсетями, и разобьет пакет транспортного уровня на менее крупные части, которые не будут слишком велики для передачи по сети.
В дополнение к сегментации и повторной сборке ТР1 обеспечивает устранение базовых ошибок. Он нумерует все PDU и повторно отправляет те, которые не были подтверждены. ТР1 может также повторно инициировать соединение в том случае, если имеет место превышение допустимого числа неподтвержденных РDU.
ТР2 может мультиплексировать и демультиплексировать потоки данных через отдельную виртуальную цепь. Эта способность делает ТР2 особенно полезной в общедоступных информационных сетях (PDN), где каждая виртуальная цепь подвергается отдельной загрузке. Подобно ТР0 и ТР1, ТР2 также сегментирует и вновь собирает PDU.
ТР3 комбинирует в себе характеристики ТР1 и ТР2.
ТР4 является самым популярным протоколом транспортного уровня OSI. ТР4 похож на протокол ТСР из комплекта протоколов Internet; фактически, он базировался на ТСР. В дополнение к характеристикам ТР3, ТР4 обеспечивает надежные услуги по транспортировке. Его применение предполагает сеть, в которой проблемы не выявляются.
Транспортный уровень
VINES обеспечивает три услуги транспортного уровня:
Unreliable datagram service.
Услуги ненадежных дейтаграмм. Отправляет пакеты, которые маршрутизируются на основе принципа "наименьших затрат" (best-effort basis), но не подтверждаются сообщением о приеме в пункте назначения.
reliable datagram service.
Услуги надежных дейтаграмм. Услуга виртуальной цепи, которая обеспечивает надежную упорядоченную доставку сообщений между узлами сети с подтверждением о приеме. Надежное сообщение может быть передано с максимальным числом пакетов, равным 4.
data stream service.
Услуга потока данных. Поддерживает контролируемый поток данных между двумя процессами. Услуга потока данных является услугой виртуальной цепи с подтверждением о приеме, которая обеспечивает передачу сообщений неограниченных размеров.
Транспортный уровень
Функции транспортного уровня OSI реализуются несколькими протоколами. Каждый из перечисленных ниже протоколов описан в спецификации ХNS как протокол уровня два.
Протокол упорядоченной передачи пакетов (Sequenced Packet Protocol - SPP) обеспечивает надежную, с установлением соединения и управлением потока, передачу пакетов от лица процессов клиента. По выполняемым функциям он похож на протокол TСР из комплекта протоколов Internet и на протокол ТР4 из комплекта протоколов OSI (смотри соответственно пункт "Протоколы Internet" и пункт "Протоколы OSI" ).
Каждый пакет SPP включает в себя номер последовательности (sequence number), который используется для упорядочивания пакетов и определения тех из них, которые были скопированы или потеряны. Пакеты SPP также содержат два 16-битовых идентификатора соединения (connection identifier). Каждый конец соединения определяет один идентификатор соединения. Оба идентификатора соединения вместе уникальным образом идентифицируют логическое соединение между процессами клиента.
Длина пакетов SPP не может быть больше 576 байтов. Процессы клиента могут согласовывать использование различных размеров пакетов во время организации соединения, однако SPP не определяет характер такого согласования.
Протокол обмена пакетами (Packet Exchange Protocol - PEP) является протоколом типа запрос-ответ, предназначенным обеспечивать надежность, которая больше надежности простых услуг дейтаграмм (например, таких, которые обеспечивает IDP), но меньше надежности SPP. По своим функциональным возможностям РЕР аналогичен Протоколу дейтаграмм пользователя (UDP) из комплекта протоколов Internet (смотри пункт "Протоколы Internet"). PEP базируется на принципе одного пакета, обеспечивая повторные передачи, но не обеспечивая выявление дублированных пакетов. Он полезен для прикладных задач, в которых транзакции запрос-ответ являются идемпотентными (повторяемыми без повреждения контекста), или в которых надежная передача выполняется на другом уровне.
Протокол неисправностей (Error Protocol - EP) может быть использован любым процессом клиента для уведомления другого процесса клиента о том, что в сети имеет место ошибка. Например, этот протокол используется в ситуациях, когда какая-нибудь реализация SPP распознала дублированный пакет.
Уровни маршрутизации
Узлы маршрутизации DECnet называются либо роутерами Уровня 1, либо роутерами Уровня 2. Роутер Уровня 1 сообщается с конечными узлами и с другими роутерами Уровня 1 в отдельной конкретной области. Роутеры Уровня 2 сообщаются с роутерами Уровня 1 той же самой области и роутерами Уровня 2 других областей. Таким образом, роутеры Уровня 1 и Уровня 2 вместе формируют иерархическую схему маршрутизации. Рассмотренные взаимоотношения иллюстрируются на Рис. 4.9.
Рис. 4.9. DECnet Level 1 and Level 2 Routers
Конечные системы отправляют запросы о маршрутах в назначенный роутер Уровня 1. На роль назначенного роутера выбирается роутер Уровня 1 с наивысшим приоритетом. Если два роутера имеют одинаковый приоритет, то назначенным роутером становится тот, который имеет большее число узлов. Конфигурацию приоритета любого роутера можно вибирать ручным способом, вынуждая его на роль назначенного роутера.
Как показано на Рис.4.9, в любой области может быть несколько роутеров Уровня 2. Если роутеру Уровня 1 необходимо отправить пакет за пределы своей области, он направляет этот пакет какому-нибудь роутеру Уровня 2 в этой же области. В некоторых случаях этот роутер Уровня 2 может не иметь оптимального маршрута к пункту назначения, однако конфигурация узловой сети обеспечивает такую степень устойчивости к ошибкам, которая не может быть обеспечена при назначении только одного роутера Уровня 2 на область.
Услуги без установления соединения
Как видно из названия, CLNP является протоколом дейтаграмм без установления соединения, который используется для переноса данных и указателей неисправности. По своим функциональным возможностям он похож на Internet Protocol (IP), описанный в пункте "Протоколы Internet". Он не содержит средств обнаружения ошибок и их коррекции, полагаясь на способность транспортного уровня обеспечить соответствующим образом эти услуги. Он содержит только одну фазу, которая называется "передача информации" (data transfer). Каждый вызов какого-либо примитива услуг не зависит от всех других вызовов, для чего необходимо, чтобы вся адресная информация полностью содержалась в составе примитива.
В то время как CLNP определяет действующий протокол, выполняющий типичные функции сетевого уровня, CLNS (Обслуживание сети без установления соединения) описывает услуги, предоставляемые транспортному уровню, в котором запрос о передаче информации реализуется доставкой, выполненной с наименьшими затратами (best effort). Такая доставка не гарантирует, что данные не будут потеряны, испорчены, что в них не будет нарушен порядок, или что они не будут скопированы. Обслуживание без установления соединения предполагает, что при необходимости все эти проблемы будут устранены в транспортном уровне. CLNS не обеспечивает никаких видов информации о соединении или состоянии, и не выполняет настройку соединения. Т.к. CLNS обеспечивает транспортные уровни интерфейсом услуг, сопрягающим с CLNP, протоколы CNLS и CLNP часто рассматриваются вместе.
Услуги с установлением соединения
Услуги сети OSI с установлением соединения определяются ISO 8208 и ISO 8878. OSI использует X.25 Racket-Level Protocol для перемещения данных и указателей ошибок с установлением соединения. Для объектов транспортного уровня предусмотрено 6 услуг (одна для установления соединения, другая для разъединения соединения, и четыре для передачи данных). Услуги вызываются определенной комбинацией из 4 примитив: запрос (request), указатель (indication), ответ (response) и подтверждение (confirmation). Взаимодействие этих четырех примитивов показано на Рис. 4.22.
Рис. 4.22. OSI Primitives
В момент времени t1 транспортный уровень ES1 отправляет примитив- запрос в сетевой уровень ES1. Этот запрос помещается в подсеть ES1
протоколами подсети низших уровней и в конечном итоге принимается ES2, который отправляет информацию вверх в сетевой уровень. В мотент времени t2 сетевой уровень ES2 отправляет примитив-указатель в свой транспортный уровень. После завершения необходимой обработки пакета в высших уровнях, ES2 инициирует ответ в ES1, используя примитив-ответ, отправленный из транспортного уровня в сетевой уровень. Отправленный в момень времени t3 ответ возвращается в ES1, который отправляет информацию вверх в сетевой уровень, где генерируется примитив-подтверждение, отправляемый в транспортный уровень в момент t3.