AppleTalk
Библиографическая справка
В начале 1980 г. Apple Computer готовилась к выпуску компьютера
Macintosh. Инженеры компании знали, что в скором времени сети станут
насущной необходимостью, а не просто интересной новинкой. Они хотели
также добиться того, чтобы базирующаяся на компьютерах Macintosh сеть
была бесшовным расширением интерфейса пользователя Macintosh,
совершившим подлинную революцию в этой области. Имея в виду эти два
фактора, Apple решила встроить сетевой интерфейс в каждый Macintosh и
интегрировать этот интерфейс в окружение настольной вычислительной
машины. Новая сетевая архитектура Apple получила название Apple Talk.
Хотя Apple Talk является патентованной сетью, Apple опубликовала
характеристики Apple Talk, пытаясь поощрить разработку при участии
третьей стороны. В настоящее время большое число компаний успешно
сбывают на рынке базирующиеся на Apple Talk изделия; в их числе Novell,
Inc. и Мicrosoft Corporation.
Оригинальную реализацию Apple Talk, разработанную для локальных рабочих
групп, в настоящее время обычно называют Apple Talk Phase I. Однако
после установки свыше 1.5 мил. компьютеров Macintosh в течение первых
пяти лет существования этого изделия, Apple обнаружила, что некоторые
крупные корпорации превышают встроенные возможности Apple Talk Phase I,
поэтому протокол был модернизирован. Расширенные протоколы стали
известнны под названием Apple Talk Phase II. Oни расширили возможности
маршрутизации Apple Talk, обеспечив их успешное применение в более
крупных сетях.
Основы технологии
Apple Talk была разработана как система распределенной сети клиент-
сервер. Другими словами, пользователи совместно пользуются сетевыми
ресурсами (такими, как файлы и принтеры). Компьютеры, обеспечивающие
эти ресурсы, называются служебными устройствами ( servers ); компьютеры,
использующие сетевые ресурсы служебных устройств, называются клиентами
( clients ). Взаимодействие со служебными устройствами в значительной
степени является прозрачным для пользователя, т.к. сам компьютер
определяет местоположение запрашиваемого материала и обращается к нему
без получения дальнейшей информации от пользователя. В дополнение к
простоте использования, распределенные системы также имеют
экономические преимущества по сравнению с системами, где все равны,
т.к.важные материалы могут быть помещены в нескольких, а не во многих
местоположениях.
Apple Talk относительно хорошо согласуется с эталонной моделью OSI. На
Рис. 4.1 "Apple Talk и эталонная модель OSI" представлены
протоколы Apple Talk, смежные с теми уровнями OSI, с которыми у них
установлено соответствие. Этот рисунок отличается от других изображений
связи пакета протоколов Apple Talk с моделью OSI тем, что на нем NBP,
ZIP и RTMP размещены на Уровне 3, а АЕР-на Уровне 7. По мнению Cisco,
NBP, ZIP и RТМP по своим функциональным возможностям стоят в ряду ближе
к Уровню 3 модели OSI, хотя они и пользуются услугами DDP, другого
протокола Уровня 3. Аналогично, Cisco полагает, что AEP следует
включить в перечень протоколов прикладного уровня, т.к. он обычно
используется для обеспечения функциональных возможностей прикладного
уровня. В частности, AEP помогает определить возможность отдаленных
узлов принимать следующие соединения.
(рис 4.1) AppleTalk and the OSI Reference Model
Доступ к среде
Apple разработала AppleTalk таким образом, чтобы он был независимым от
канального уровня. Другими словами, теоретически он может работать в
дополнение к любой реализации канального уровня. Apple обеспечивает
различные реализации канального уровня, включая Ethernet, Token Ring,
FDDI и LocalTalk. Apple ссылается на AppleTalk, работающий в Ethernet,
как нa EtherTalk, в Тоkеn Ring-кaк на TokenTalk и в FDDI-как на
FDDITalk. Информация о технических характеристиках Ethernet, TokenRing
и FDDI приведена соответственно в Главе 2.
LocalTalk - это запатентованная компанией Apple система доступа к
носителю. Он базируется на конкуренции на получение доступа, топологии
объединения с помощью шины и передаче сигналов базовой полосы (baseband
signaling) и работает на носителе, представляющим собой экранированную
витую пару, со скоростью 230.4 Kb/сек. Физическим интерфейсом является
RS-422; это сбалансированный интерфейс для передачи электрических
сигналов, поддерживаемый интерфейсом RS-449. Сегменты LocalTalk могут
переноситься на расстояния до 300 метров и обеспечивать до 32 узлов.
Сетевой уровень
В данном разделе описываются концепции, принятые для сетевого уровня
AppleTalk, и протоколы для этого уровня. В нем рассматриваются
назначение адреса протокола, сетевые объекты и протоколы AppleTalk,
которые обеспечивают функциональные возможности Уровня 3 эталонной
модели OSI.
Назначения адреса протокола
Для обеспечения минимальных затрат, связанных с работой администратора
сети, aдреса узлов AppleTalk назначаются динамично. Когда Macintosh,
прогоняющий AppleTalk, начинает работать, он выбирает какой-нибудь
адрес протокола (сетевого уровня) и проверяет его, чтобы убедиться, что
этот адрес используется в данный момент. Если это не так, то этот новый
узел успешно присваивает себе какой-нибудь адрес. Если этот адрес
используется в данный момент, то узел с конфликтным адресом отправляет
сообщение, указывающее на наличие проблемы, а новый узел выбирает
другой адрес и повторяет этот процесс. На Рис. 4.2 представлен процесс
выбора адреса AppleTalk.
(рис 4.2) AppleTalk Address Selection ProcessФактические механизмы выбора адреса AppleTalk зависят от носителя. Для
установления связи адресов AppleTalk с конкретными адресами носителя
используется протокoл разрешения адреса AppleTalk (AARP). AARP также
устанавливает связи между адресами других протоколов и аппаратными
адресами. Если пакет протоколов AppleTalk или любого другой пакет
протоколов должен отправить пакет данных в другой сетевой узел, то
адрес протокола передается в AARP. AARP сначала проверяет адресный кэш,
чтобы определить, является ли уже установленной связь между адресом
этого протокола и аппаратным адресом. Если это так, то эта связь
передается в запрашивающий пакет протоколов. Если это не так, то AARP
инициирует широковещательное или многопунктовое сообщение,
запрашивающее об аппаратном адресе данного протокольного адреса. Если
широковещательное сообщение доходит до узла с этим протокольным
адресом, то этот узел в ответном сообщении указывает свой аппаратный
адрес. Эта информация передается в запрашивающий пакет протоколов,
который использует этот аппаратный адрес для связи с этим узлом.
Сетевые объекты
AppleTalk идентифицирует несколько сетевых объектов. Самым простым
является узел (node), который является просто любым устройством,
соединенным с сетью AppleTalk. Наиболее распространенными узлами
являются компьютеры Macintosh и лазерные принтеры, однако многие другие
компьютеры также способны осуществлять связь AppleTalk, в том числе
компьютеры IBM PC, Digital Equipment Corporation VAX и различные АРМ.
Следующим объектом, определяемым AppleTalk, является сеть. Сеть
AppleTalk представляет собой просто отдельный логический кабель. Хотя
этот логический кабель часто является отдельным физическим кабелем,
некоторые вычислительные центры используют мосты для объединения
нескольких физических кабелей. И наконец, зона (zone) АppleTalk
является логической группой из нескольких сетей (возможно находящихся
далеко друг от друга). Объекты AppleTalk изображены на Рис. 4.3.
(рис 4.3) AppleTalk Entities
Протокол доставки дейтаграмм (DDP)
Основным протоколом сетевого уровня AppleTalk является протокол DDP.
DDP обеспечивает обслуживание без установления соединения между
сетевыми гнездами. Гнезда могут назначаться либо статически, либо
динамически. Адреса AppleTalk, назначаемые DDP, состоят из 2
компонентов: 16-битового номера сети ( network number ) и 8-битового
номера узла ( node number ). Эти два компонента обычно записываются в
виде десятичных номеров, разделенных точкой (например, 10.1 означает
сеть 10, узел 1). Если номер сети и номер узла дополнены 8-битовым
гнездом ( socket ), обозначающим какой-нибудь особый процесс, то это
означает, что в сети задан какой-нибудь уникальный процесс.
AppleTalk Phase II делает различие между нерасширенными ( nоnextended ) и
расширенными ( extended ) сетями. В нерасширенных сетях, таких как
LocalTalk, номер каждого узла AppleTalk уникален. Нерасширенные сети
были единственным типом сети, определенным в AppleTalk Phase I. В
расширенных сетях, таких как EtherTalk и TokenTalk, уникальной является
комбинация номер каждой сети/номер узла.
Зоны определяются управляющим сети AppleTalk в процессе конфигурации
роутера. Каждый узел AppleTalk принадлежит к отдельной конкретной зоне.
Расширенные сети могут иметь несколько зон, которые ассоциируются с
ними. Узлы в расширенных сетях могут принадлежать к любой отдельной
зоне, которая ассоциируется с этой расширенной сетью.
Протокол поддержки маршрутной таблицы (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.
Sample AppleTalk ZIT
| Network Number | Zone |
| 1 |
My |
| 2 |
Your |
| 3 |
Marketing |
| 4 |
Documentation |
| 5-5 |
Sales |
Транспортный уровень
Транспортный уровень AppleTalk реализуется двумя основными протоколами
AppleTalk: AppleTalk Transaction Protocol (ATP) (Протокол транзакций
AppleTalk) и AppleTalk Data Stream Protocol (ADSP) (Протокол потока
данных АppleTalk). АТР является транзакционно-ориентированным, в то
время как ADSP является ориентированным по потоку данных.
Протокол транзакций AppleTalk (ATP)
ATP является одним из протоколов транспортного уровня Appletalk. АТР
пригоден для применений, базирующихся на транзакциях, которые можно
встретить в банках или магазинах розничной торговли.
В транзакции АТР входят запросы (от клиентов) ( requests ) и ответы (от
служебных устройств) ( replies ). Каждая пара запрос/ответ имеет
отдельный ID транзакции. Транзакции имеют место между двумя гнездами
клиентов. АТР использует транзакции "точно-один раз" ( exactly
once - XO) и "по крайней мере один раз" ( at-least-once -
ALO), Транзакции ХО требуются в тех ситуациях, когда случайное
выполнение транзакции более одного раза неприемлемо. Банковские
транзакциии являются примером таких неидемпотентных ( nonidempotent )
ситуаций (ситуаций, когда повторение какой-нибудь транзакции вызывает
проблемы, что достигается тем, что делаются недействительными данные,
участвующие в данной транзакции).
АТР способен выполнять наиболее важные функции транспортного уровня, в
том числе подтверждение о приеме данных и повторную передачу,
установление последовательности пакетов, а также фрагментирование и
повторную сборку. АТР ограничивает сегментирование сообщений до 8
пакетов; пакеты АТР не могут содержать более 578 информационных байтов.
Протокол потока данных AppleTalk (ADSP)
ADSP является другим важным протоколом транспортного уровня Apple Talk.
Как видно из его названия, ADSP является ориентированным по потоку
данных, а не по транзакциям. Он организует и поддерживает полностью
дублированный поток данных между двумя гнездами в объединенной сети
AppleTalk.
ADSP является надежным протоколом в том плане, что он гарантирует
доставку байтов в том же порядке, в каком они были отправлены, а также
то, что они не будут дублированы. ADSP нумерует каждый байт, чтобы
отслеживать отдельные элементы потока данных.
ADSP также определяет механизм управления потоком. Пункт назначения
может в значительной степени замедлять передачи источника путем
сокращения размера объявленного окна на прием.
ADSP также обеспечивает механизм сообщений управления "выхода из
полосы" (out-of-band) между двумя объектами AppleTalk. В качестве
средства для перемещения сообщений управления выхода из полосы между
двумя объектами AppleTalk используются пакеты "внимания"
(attention packets).Эти пакеты используют отдельный поток номеров
последовательностей, чтобы можно было отличать их от обычных пакетов
данных ADSP.
Протоколы высших уровней
AppleTalk обеспечивает несколько протоколов высшего уровня. Протокол
сеансов AppleTalk ( AppleTalk Session Protocol - ASP) организует и
поддерживает сеансы (логические диалоги) между клиентом AppleTalk и
служебным устройством. Протокол доступа к принтеру ( Printer Access
Protocol - РАР) AppleTalk является ориентированным по связи протоколом,
который организует и поддерживает связи между клиентами и служебными
устройствами (использование термина printer в заголовке этого протокола
является просто исторической традицией). Эхо-протокол AppleTalk
( AppleTalk Echo Protocol - AEP) является очень простым протоколом,
генерирующим пакеты, которые могут быть использованы для проверки
способности различных узлов сети создавать повторное эхо. И наконец,
Протокол ведения картотеки AppleTalk ( AppleTalk Filing Protocol - AFP)
помогает клиентам коллективно использовать служебные файлы в сети.
DECnet
Библиографическая справка
Digital Equipment Corporation (Digital) разработала семейство
протоколов DECnet с целью обеспечения своих компьютеров рациональным
способом сообщения друг с другом. Выпущенная в 1975 г. первая версия
DECnet обеспечивала возможность сообщения двух напрямую подключенных
миникомпьютеров PDP-11. В последние годы Digital включила поддержку
для непатентованных протоколов, однако DECnet попрежнему остается
наиболее важным из сетевых изделий, предлагаемых Digital.
В настоящее время выпущена пятая версия основного изделия DECnet (
которую иногда называют Phase V, a в литературе компании Digital - DECnet/OSI ). DECnet Phase V представляет собой надлежащим образом
расширенный набор комплекта протоколов OSI, поддерживающий все
протоколы OSI, а также несколько других патентованных и стандартных
протоколов, которые поддерживались предыдущими версиями DECnet. Что
касается ранее внесенных изменений в протокол, DECnet Phase V совместим
с предыдущей версией (т.е. Phase IV).
Архитектура цифровой сети (DNA)
В противоположность бытующему мнению, DECnet вовсе не является
архитектурой сети, а представляет собой ряд изделий, соответсвующих
Архитектуре Цифровой сети ( Digital Network Architecture - DNA)
компании Digital. Как и большинство других сложных сетевых архитектур,
поставляемых крупными поставщиками систем, DNA поддерживает большой
набор как патентованных, так и стандартных протоколов. Перечень
технологий, которые поддерживает DNA, постоянно растет по мере того,
как Digital реализует новые протоколы. Рис. 4.5 иллюстрирует неполную
картину DNA и связь некоторых ее компонентов с эталонной моделью OSI.
(рис 4.5) DNA and the OSI Reference Model
Доступ к среде
Как видно из Рис. 4.5, DNA поддерживает различные реализации
физического и канального уровней. Среди них такие известные стандарты,
как Ethernet, Token Ring, Fiber Distributed Data Interface (FDDI), IEEE
802.2 и Х.25. Подробная информация об этих протоколах дается в Главе 2 и Главе 3. DNA также предлагает
протокол канального уровня для традиционного двухточечного соединения,
который называется Digital Data Communications Message Protocol (DDCMP)
(Протокол сообщений цифровой связи) и шину с пропускной способностью 70
Mb/sek , используемую для группы абонентов VAX, которая называется Computer-room Interconnect bus (CI bus) (шина межсоединений машинного
зала).
Сетевой уровень
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.
Формат блока данных маршрутизации DECnet Phase IV
Протокол маршрутизации DECnet Phase IV имеет несколько отличий от
IS-IS. Одно из них-это разница в заголовках протоколов. Заголовок слоя
маршрутизации DNA Phase IV приведен на Рис. 4.6; форматы пакетов IS-IS
даны в Главе 5.
(рис 4.6) DNA Phase IV Routing Layer HeaderПервое поле в заголовке маршрутизации DNA Phase IV-это поле флагов
маршрутизации ( routing flags ), которое состоит из:
return-to-senderбит возврата получателю, если он задан, то указывает, что данный пакет
возвращается в источник.
return-to-sender requestбит запроса о возврате получателю, если он задан, то указывает на то,
что запрашиваемые пакеты должны быть возвращены в источник, если они не
могут быть доставлены в пункт назначения.
intraLANбит intraLAN, который устанавливается по умолчанию. Если роутер
обнаружит, что две сообщающиеся конечные системы не принадлежат одной и
той же подсети, он исключает этот бит.
другие биты, которые обозначают формат заголовка, указывают,
применялась ли набивка, и выполняют другие функции.
За полем флагов маршрутизации идут поля узла пункта назначения
( destination node ) и узла источника ( source node ), которые обозначают
сетевые адреса узлов пункта назначения и узла источника.
Последнее поле в заголовке маршрутизации DNA Phase IV-поле
траверсированных узлов ( nodes traversed ), которое показывает число
узлов, которые пересек пакет на пути к пункту назначения. Это поле
обеспечивает реализацию подсчета максимального числа пересылок для
того, чтобы можно было удалить из сети вышедшие из употребления пакеты.
DECnet различает два типа узлов: конечные узлы и узлы маршрутизации.
Как конечные узлы, так и узлы маршрутизации могут отправлять и
принимать информацию, но обеспечивать услуги маршрутизации для других
узлов DECnet могут только узлы маршрутизации.
Маршрутные решения DECnet базируются на затратах ( cost )-арбитражном
показателе, назначаемом администратором сети для использования при
сравнении различных путей через среду объединенной сети. Затраты обычно
базируются на числе пересылок, ширине полосы носителя и других
показателях. Чем меньше затраты, тем лучше данный тракт. Если в сети
имеют место неисправности, то протокол маршрутизации DECnet Phase IV
использует значения затрат для повторного вычисления наилучшего
маршрута к каждому пункту назначения. Рис. 4.7 иллюстрирует расчет
затрат в среде маршрутизации DECnet Phase IV.
(рис 4.7) DECnet Phase IV Routing Protocol Cost Calculation
Адресация
Адреса DECnet не связаны с физическими сетями, к которым подключены
узлы. Вместо этого DECnet размещает главные вычислительные машины,
используя пары адресов область/узел ( area/node address ). В диапазон
значений адресов области входят значения от 1 до 63 (включительно).
Адрес узла может иметь значение от 1 до 1023 (включительно).
Следовательно, каждая область может иметь 1023 узла, а в сети DECnet
адресация может быть произведена примерно к 65,000 узлам. Области могут
перекрывать несколько роутеров, и отдельный кабель может обеспечивать
несколько областей. Следовательно, если какой-нибудь узел имеет
несколько сетевых интерфейсов, то он использует один и тот же адрес
область/узел для каждого интерфейса. На Рис. 4.8 "Адреса
DECnet" изображен пример сети DECnet с несколькими адресуемыми
объектами.
(рис 4.8) DECnet AddressГлавные вычислительные машины DECnet не используют адреса уровня МАС
( Media Access Control - Управлениe доступом к носителю), назначаемые
производителем. Вместо этого адреса сетевого уровня встраиваются в
адреса уровня МАС в соответствии с алгоритмом, который перемножает
номер области на 1024 и прибавляет к результату номер узла.
Результирующий 16-битовый десятичный адрес преобразуется в
шестнадцатеричное число и добавляется к адресу АА00.0400 таким образом,
что байты оказываются переставленными, так что наименее значимый байт
оказывается первым. Например, адрес 12.75 DECnet становится числом 12363 (основание 10), которое равняется числу 304В (основание 16).
После этого адрес с переставленными байтами добавляется к стандартному
префиксу адреса МАС DECnet; результирующим адресом является выражение АА00.0400.4В30.
Уровни маршрутизации
Узлы маршрутизации 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
на область.
Транспортный уровень
Транспортный уровень DNA реализуется различными протоколами
транспортного уровня, как патентованными, так и стандартными.
Поддерживаются следующие протоколы транспортного уровня OSI: ТР0, ТР2 и
ТР4. Подробное описание этих протоколов дается в пункте
"Протоколы OSI".
Принадлежащий Digital Протокол услуг сети ( Network services protocol -
NSP) по функциональным возможностям похож на ТР4 тем, что он
обеспечивает ориентированное на соединение, с контролируемым потоком
обслуживание, с фрагментацией и повторной сборкой сообщений .
Обеспечиваются два подканала - один для нормальных данных, второй для
срочных данных и информации управления потоком. Обеспечивается два типа
управления потоком - простой механизм старт/стоп, при котором
получатель сообщает отправителю, когда следует завершать и возобновлять
передачу данных, и более сложная техника управления потоком, при
которой получатель сообщает отправителю, сколько сообщений он может
принять. NSP может также реагировать на уведомления о перегрузке,
поступающие из сетевого уровня, путем уменьшения числа невыполненных
сообщений, которое он может допустить.
Протоколы высших уровней
Для уровней, лежащих выше транспортного уровня, DECnet обеспечивает
свои собственные патентованные протоколы высших уровней наряду со
стандартными протоколами OSI для высших уровней. Протоколы прикладного
уровня DECnet используют протокол управления сеансами DNA и службу
назначения имен DNA. Протоколы прикладного уровня OSI обеспечиваются
реализациями представительного и сеансового уровней OSI. Подробная
информация по этим протоколам OSI дана в пункте "Протоколы
OSI".
Протоколы Internet
Библиографическая справка
В середине 1970 гг. Агентство по Внедрению Научно-исследовательских
Проектов Передовой технологии при Министерстве обороны (DARPA)
заинтересовалось организацией сети с коммутацией пакетов для
обеспечения связи между научно-исследовательскими институтами в США.
DARPA и другие правительственные организации понимали, какие
потенциальные возможности скрыты в технологии сети с коммутацией
пакетов; они только что начали сталкиваться с проблемой, с которой
сейчас приходится иметь дело практически всем компаниям, а именно с
проблемой связи между различными компьютерными системами.
Поставив задачу добиться связности гетерогенных систем, DARPA
финансировала исследования, проводимые Стэнфордским университетом и
компаниями Bolt, Beranek и Newman (BBN) с целью создания ряда
протоколов связи. Результатом этих работ по разработке, завершенных в
конце 1970 гг., был комплект протоколов Internet, из которых наиболее
известными являются Transmission Control Protocol (TCP) и Internet
Protocol (IP).
Протоколы Internet можно использовать для передачи сообщений через
любой набор объединенных между собой сетей. Они в равной мере пригодны
для связи как в локальных, так и в глобальных сетях. Комплект
протоколов Internet включает в себя не только спецификации низших
уровней (такие, как ТСР и IP), но также спецификации для таких общих
применений, как почта, эмуляция терминалов и передача файлов. На Рис.
4.10 представлены некоторые из наиболее важных протоколов Internet и их
связь с эталонной моделью OSI.
(рис 4.10) Internet Protocol Suite and the OSI Reference ModelПроцесс разработки и выдачи документации протоколов Internet скорее
напоминает академический исследовательский проект, чем что-либо другое.
Протоколы определяются в документах, называемых Requests for Comments
(RFC) (Запросы для Комментария). RFC публикуются, а затем рецензируются
и анализируются специалистами по Internet. Уточнения к протоколам
публикуются в новых RFC. Взятые вместе, RFC обеспечивают красочную
историю людей, компаний и направлений, которые формировали разработку
комплекта протоколов для открытой системы, который сегодня является
самым популярным в мире.
Сетевой уровень
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 ) содержит информацию высших уровней.
Адресация
Как и у других протоколов сетевого уровня, схема адресации IP является
интегральной по отношению к процессу маршрутизации дейтаграмм IP через
объединенную сеть. Длина адреса IP составляет 32 бита, разделенных на
две или три части. Первая часть обозначает адрес сети, вторая (если она
имеется) - адрес подсети, и третья - адрес главной вычислительной
машины. Адреса подсети присутствуют только в том случае, если
администратор сети принял решение о разделении сети на подсети. Длина
полей адреса сети, подсети и главной вычислительной машины являются
переменными величинами.
Адресация IP обеспечивает пять различных классов сети. Самые крайние
левые биты обозначают класс сети.
Class AСети класса А предназначены главным образом для использования с
несколькими очень крупными сетями, т.к. они обеспечивают всего 7 битов
для поля адреса сети.
Class BСети класса В выделяют 14 битов для поля адреса сети и 16 битов для
поля адреса главной вычислительной машины. Этот класс адреса
обеспечивает хороший компромисс между адресным пространством сети и
главной вычислительной машины.
Class CСети класса С выделяют 22 бита для поля адреса сети. Однако сети класса
С обеспечивают только 8 битов для поля адреса главной вычислительной
машины, поэтому число главных вычислительных машин, приходящихся на
сеть, может стать ограничивающим фактором.
Class DАдреса класса D резервируются для групп с многопунктовой адресацией (в
соответствии с официальным документом RFC 1112). В адресах класса D
четыре бита наивысшего порядка устанавливаются на значения 1,1,1 и 0.
Class EАдреса класса Е также определены IP, но зарезервированы для
использования в будущем. В адресах класса Е все четыре бита наивысшего
порядка устанавливаются на 1.
Адреса IP записываются в формате десятичного числа с проставленными
точками, например, 34.0.0.1. На рис. 4.12 представлены форматы адресов
для сетей IP классов А, В и С.
(рис 4.12) Class A, B and C Address FormatsСети IP могут также быть разделены на более мелкие единицы, называемые
подсетями ( subnets ). Подсети обеспечивают дополнительную гибкость для
администратора сети. Например, предположим, что какой-то сети назначен
адрес класса В , и что все узлы в сети в данный момент соответствуют
формату адреса класса В. Далее предположим, что представлением адреса
этой сети в виде десятичного числа с точками является 128.10.0.0.
(наличие одних нулей в поле адреса главной вычислительной машины
обозначает всю сеть). Вместо того, чтобы изменять все адреса на
какой-то другой базовый сетевой номер, администратор может подразделить
сеть, воспользовавшись организацией подсетей. Это выполняется путем
заимствования битов из части адреса, принадлежащей главной
вычислительной машине, и их использования в качестве поля адреса
подсети, как показано на Рис. 4.13.
(рис 4.13) Subnet AddressЕсли администратор сети решил использовать восемь битов для организации
подсети, то третья восьмерка адреса IP класса В обеспечивает номер этой
подсети. В нашем примере адрес 128.10.0. относится к сети 128.10,
подсети 1; адрес 128.10.2.0. относится к сети 128.10, подсети 2, и т.д.
Число битов, занимаемых для адреса подсети, является переменной
величиной. Для задания числа используемых битов IP обеспечивает маску
подсети. Маски подсети используют тот же формат и технику представления
адреса, что и адреса IP. Маски подсети содержат единицы во всех битах,
кроме тех, которые определяют поле главной вычислительной машины.
Например, маска подсети, которая назначает 8 битов организации подсети
для адреса 34.0.0.0. класса А, представляет собой выражение 255.255.0.0. Маска подсети, которая определяет 16 битов организации
подсети для адреса 34.0.0.0. класса А, представляется выражением 255.255.255.0. Обе эти маски изображены на Рис. 4.14.
(рис 4.14) Sample Subnet AddressДля некоторых носителей (таких как локальные сети IEEE 802), адреса
носителя и адреса IP определяются динамически путем использования двух
других составляющих комплекта протоколов Internet: Address Resolution
Protocol (ARP) (Протокол разрешения адреса) и Reverse Address
Resolution Protocol (RARP) (Протокол разрешения обратного адреса). ARP
использует широковещательные сообщения для определения аппаратного
адреса (уровень МАС), соответствующего конкретному межсетевому адресу.
ARP обладает достаточной степенью универсальности, чтобы позволить
использование IP с практически любым типом механизма, лежащего в основе
доступа к носителю. RARP использует широковещательные сообщения для
определения адреса объединенной сети, связанного с конкретным
аппаратным адресом. RARP особенно важен для узлов, не имеющих диска,
которые могут не знать своего межсетевого адреса, когда они выполняют
начальную загрузку.
Маршрутизация Internet
Устройства маршрутизации в сети Internet традиционно называются шлюзами
(gateway), что является очень неудачнным термином, т.к. повсеместно в
индустрии сетей этот термин применяют для обозначения устройства с
несколько иными функциональными возможностями. Шлюзы (которые мы с
этого момента будем называть роутерами) в сети Internet организованы в
соответствии с иерархическим принципом. Некоторые роутеры используются
для перемещения информации через одну конкретную группу сетей,
находящихся под одним и тем же административным началом и управлением
(такой объект называется автономной системой - autonomous system).
Роутеры, используемые для обмена информацией в пределах автономных
систем, называются внутренними роутерами (interior routers); они
используют различные протоколы для внутренних роутеров (interior
gateway protocol - IGP) для выполнения этой задачи. Роутеры, которые
перемещают информацию между автономными системами, называются внешними
роутерами (exterior routers); для этого они используют протоколы для
внешних роутеров. Архитектура Internet представлена на Рис. 4.15.
(рис 4.15) Internet ArchitectureПротоколы маршрутизации IP-это динамичные протоколы. При динамичной
маршрутизации ( dynamic routing ) запросы о маршрутах должны
рассчитываться программным обеспечением устройств маршрутизации через
определенные интервалы времени. Этот процесс противоположен статической
маршрутизации ( static routing ), при которой маршруты устанавливаются
администратором сети и не меняются до тех пор, пока администратор сети
не поменяет их. Таблица маршрутизации IP состоит из пар "адрес
назначения/следующая пересылка". Образец записи данных, показанный
на Рис. 4.16, интерпретируется как имеющий значение "добраться до
сети 34.1.0.0. (подсеть 1 сети 34), следующей остановкой является узел
с адресом 54.34.23.12."
(рис 4.16) IP Routing TableМаршрутизация IP определяет характер перемещения дейтаграмм IP через
объединенные сети (по одной пересылке за раз). В начале путешествия
весь маршрут не известен. Вместо этого на каждой остановке вычисляется
следующий пункт назначения путем сопоставления адреса пункта
назначения, содержащегося в дейтаграмме, с записью данных в маршрутной
таблице текущего узла. Участие каждого узла в процессе маршрутизации
состоит только из продвижения пакетов, базируясь только на внутренней
информации, вне зависимости от того, насколько успешным будет процесс и
достигнет или нет пакет конечного пункта назначения. Другими словами,
IP не обеспечивает отправку в источник сообщений о неисправностях,
когда имеют место аномалии маршрутизации. Выполнение этой задачи
предоставлено другому протоколу Internet, а именно Протоколу
управляющих сообщений Internet ( Internet Control Message Protocol
ICMP).
ICMP
ICMP выполняет ряд задач в пределах объединенной сети IP. В дополнение
к основной задаче, для выполнения которой он был создан (сообщение
источнику об отказах маршрутизации), ICMP обеспечивает также метод
проверки способности узлов образовывать повторное эхо в объединенной
сети (сообщения Echo и Reply ICMP), метод стимулирования более
эффективной маршрутизации (сообщение Redirect ICMP - переадресация
ICMP), метод информирования источника о том, что какая-то дейтаграмма
превысила назначенное ей время существования в пределах данной
объединенной сети (сообщение Time Exceeded ICMP - "время
превышено") и другие полезные сообщения. Сделанное недавно
дополнение к IСМР обеспечивает для новых узлов возможность нахождения
маски подсети, используемой в межсети в данный момент. В целом, ICMP
является интегральной частью любых реализаций IP, особенно таких,
которые используются в роутерах.
Конкретные протоколы маршрутизации IP рассматриваются в других главах
данной книги. Например, RIP, OSPF, EGP и BGP рассматриваются в Главе 5.
IS-IS также является официальным протоколом маршрутизации IP; он
рассматривается также в Главе 5.
Транспортный уровень
Транспортный уровень Internet реализуется ТСР и Протоколом Дейтаграмм
Пользователя ( User Datagram Protocol - UDP ). ТСР обеспечивает
транспортировку данных с установлением соединения, в то время как UDP
работает без установления соединения.
Протокол управления передачей (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 ) обозначает различные факультативные
возможности ТСР.
Протокол дейтаграмм пользователя (UDP)
Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда
мощные механизмы обеспечения надежности протокола ТСР не обязательны.
Заголовок UDP имеет всего четыре поля: поле порта источника ( source
port ), поле порта пункта назначения ( destination port ), поле длины
( length ) и поле контрольной суммы UDP ( checksum UDP ). Поля порта
источника и порта назначения выполняют те же функции, что и в заголовке
ТСР. Поле длины обозначает длину заголовка UDP и данных; поле
контрольной суммы обеспечивает проверку целостности пакета. Контрольная
сумма UDP является факультативной возможностью.
Протоколы высших уровней
Комплект протоколов 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 (XDR) (Представление внешней информации) и Remote
Procedure Call (RPC) (Вызов процедуры обращений к отдаленной сети)
обеспечивает прозрачный доступ к ресурсам отдаленной сети. Простой
протокол передачи почты ( Simple Mail Transfer Protocol - SMTP)
обеспечивает механизм передачи электронной почты. Эти и другие
применения используют услуги ТСР/IP и других протоколов Internet низших
уровней, чтобы обеспечить пользователей базовыми сетевыми услугами.
Протоколы NetWare
Библиографическая справка
NetWare является операционной системой сети ( network operating system -
NOS) и связанной с ней средой обеспечения услуг, разработанной Novell,
Inc. и представленной на рынок в начале 1980 гг. В то время сети были
небольшими и преимущественно гомогенными, связь рабочих групп с помощью
локальных сетей была еще новым явлением, а идея о персональном
компьютере еще только начала завоевывать популярность.
Большая часть технологии организации сетей NetWare была заимствована из Xerox Network Systems (XNS) - системы организации сетей, разработанной
Xerox Corporation в конце 1970 гг. Подробная информация о XNS приведена в
пункте "XNS".
K началу 1990 гг. доля в рынке NOS NetWare возросла до 50-75 % (данные
зависят от исследовательских групп, занимавшихся изучением рынка).
Установив свыше 500,000 сетей NetWare по всему миру и ускорив
продвижение по пути объединения сетей с другими сетями, NetWare и
поддерживающие ее протоколы часто сосуществуют на одном и том же
физическом канале с многими другими популярными протоколами, в том
числе ТСР/IP, DECnet и AppleTalk.
Основы технологии
В качестве среды NOS, NetWare определяет пять высших уровней эталонной
модели OSI. Она обеспечивает совместное пользование файлами и
принтером, поддержку различных прикладных задач, таких как передача
электронной почты и доступ к базе данных, и другие услуги. Также, как и
другие NOS, такие как Network File System (NFS) компании Sun
Microsystems, Inc. и LAN Manager компании Microsoft Corporation,
NetWare базируется на архитектуре клиент-сервер ( client-server
architecture ). В таких архитектурах клиенты (иногда называемые рабочими
станциями) запрашивают у серверов определенные услуги, такие как доступ
к файлам и принтеру.
Первоначально клиентами NetWare были небольшие РС, в то время как
серверами были ненамного более мощные РС. После того, как NetWare стала
более популярной, она была перенесена на другие компьютерные платформы.
В настоящее время клиенты и сервера могут быть представлены практически
любым видом компьютерной системы, от РС до универсальных вычислительных
машин.
Основная характеристика системы клиент-сервер заключается в том, что
доступ к отдаленной сети является прозрачным для пользователя. Это
достигается с помощью удаленного вызова процедур ( remote procedure
calls ) - такого процесса, когда программа местного компьютера,
работающая на оборудовании клиента, отправляет вызов в удаленный
сервер. Этот сервер выполняет указанную процедуру и возвращает
запрошенную информацию клиенту местного компьютера.
Рис. 4.19 иллюстрирует в упрощенном виде известные протоколы NetWare и
их связь с эталонной моделью OSI. При наличии соответствующих
драйверов, NetWare может работать с любым протоколом доступа к
носителю. На рисунке перечислены те протоколы доступа к носителю,
которые в настоящее время обеспечиваются драйверами NetWare.
(рис 4.19) NetWare and the OSI Reference Model
Доступ к среде
NetWare работает с Ethenet/IEEE 802.3, Token Ring/IEEE 802.5, Fiber
Distributed Data Interface (FDDI) и ARCnet. Информация о Ethernet/IEEE
802.3 дается в Главе 2, о Token
Ring/IEEE 802.5 - Главе 2, o FDDI -
в Главе 2. NetWare также работает в синхронных каналах
глобальных сетей, использующих Point-to-Point Protocol (PPP) (Протокол
непосредственных соединений). РРР подробно рассматривается в Главе 2.
ARСnet представляет собой систему простой сети, которая поддерживает
все три основных носителя (скрученную пару, коаксиальный кабель и
волоконно-оптический кабель) и две топологии (шина и звезда). Она была
разработана корпорацией Datapoint Corporation и выпущена в 1977. Хотя
ARCnet не приобрела такую популярность, какой пользуются Ethernet и
Token Ring, ее гибкость и низкая стоимость завоевали много верных
сторонников.
Сетевой уровень
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.
Транспортный уровень
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".
Протоколы высших уровней
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
Библиографическая справка
В первые годы появления межкомпьютерной связи программное обеспечение
организации сетей создавалось бессистемно, для каждого отдельного
случая. После того, как сети приобрели достаточную популярность,
некоторые из разработчиков признали необходимость стандартизации
сопутствующих изделий программного обеспечения и разработки аппаратного
обеспечения. Считалось, что стандартизация позволит поставщикам
разработать системы аппаратного и программного обеспечения, которые
смогут сообщаться друг с другом даже в том случае, если в их основе
лежат различные архитектуры. Поставив перед собой эту цель, ISO начала
разработку эталонной модели Open Systems Interconnections (OSI)
(Взаимодействие открытых систем). Эталонная модель OSI была завершена и
выпущена в 1984 г.
В настоящее время эталонная модель OSI (подробно рассмотренная в Главе 1) является самой выдающейся
в мире моделью архитектуры объединенных сетей. Она также является самым
популярным средством приобретения знаний о сетях. С другой стороны, у
протоколов OSI был длинный период созревания. И хотя известно о
некоторых реализациях OSI, протоколы OSI все еще не завоевали той
популярности, которой пользуются многие патентованные протоколы
(например, DECnet и АppleTalk) и действующие стандарты (например,
протоколы Internet).
Основы технологии
объединение сетей OSI использует уникальную терминологию.
End system (ES)Термин "конечная система" относится к любому устройству сети,
не занимающемуся маршрутизацией.
Intermediate system (IS)Термин "промежуточная система" относится к роутеру.
Area"Область" обозначает группу смежных сетей и подключенных к
ним хостов; область назначается администратором сети или другим
аналогичным лицом.
Domain"Домен" представляет собой набор соединенных областей. Домены
маршрутизации обеспечивают полную связность со всеми конечными
системами, находящимися в их пределах.
Доступ к среде
Также, как и некоторые другие современные 7-уровневые комплекты
протоколов, комплект OSI включает в себя многие популярные сегодня
протоколы доступа к носителю. Это позволяет другим комплектам
протоколов существовать наряду с OSI в одном и том же носителе. В OSI
входят IEEE 802.2, IEEE 802.3, IEEE 802.5, FDDI, X.21, V.35, X.25 и
другие. Большинство из этих протоколов доступа к носителю OSI уже
рассматривались в данной книге.
Сетевой уровень
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) протокола или аналогичного поля канального уровня.
Услуги без установления соединения
Как видно из названия, CLNP является протоколом дейтаграмм без
установления соединения, который используется для переноса данных и
указателей неисправности. По своим функциональным возможностям он похож
на Internet Protocol (IP), описанный в пункте "Протоколы
Internet". Он не содержит средств обнаружения ошибок и их
коррекции, полагаясь на способность транспортного уровня обеспечить
соответствующим образом эти услуги. Он содержит только одну фазу,
которая называется "передача информации" ( data transfer ).
Каждый вызов какого-либо примитива услуг не зависит от всех других
вызовов, для чего необходимо, чтобы вся адресная информация полностью
содержалась в составе примитива.
В то время как CLNP определяет действующий протокол, выполняющий
типичные функции сетевого уровня, CLNS (Обслуживание сети без
установления соединения) описывает услуги, предоставляемые
транспортному уровню, в котором запрос о передаче информации
реализуется доставкой, выполненной с наименьшими затратами (best
effort). Такая доставка не гарантирует, что данные не будут потеряны,
испорчены, что в них не будет нарушен порядок, или что они не будут
скопированы. Обслуживание без установления соединения предполагает, что
при необходимости все эти проблемы будут устранены в транспортном
уровне. CLNS не обеспечивает никаких видов информации о соединении или
состоянии, и не выполняет настройку соединения. Т.к. CLNS обеспечивает
транспортные уровни интерфейсом услуг, сопрягающим с CLNP, протоколы
CLNS и 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.
Адресация
Услуги сети OSI предоставляются транспортному уровню через
концептуальную точку на границе сетевого и транспортного уровней,
известную под названием "точки доступа к услугам сети"
( network service access point - NSAP ). Для каждого объекта
транспортного уровня имеется одна NSAP.
Каждая NSAP может быть индивидуально адресована в объединенной
глобальной сети с помощью адреса NSAP (в обиходе существует неточное
название - просто NSAP). Таким образом, любая конечная система OSI
имеет, как правило, множество адресов NSAP. Эти адреса обычно
отличаются только последним байтом, называемом n-selector.
Возможны случаи, когда полезно адресовать сообщение сетевому уровня
системы в целом, не связывая его с конкретным объектом транспортного
уровня, например, когда система участвует в протоколах маршрутизации
или при адресации к какой-нибудь промежуточной системе (к роутеру).
Подобная адресация выполняется через специальный адрес сети, известный
под названием network entity title (NET) (титул объекта сети).
Структурно NET идентичен адресу NSAP, но он использует специальное
значение n-selector "00". Большинство конечных и
промежуточных систем имеют только один NET, в отличие от роутеров IP,
которые обычно имеют по одному адресу на каждый интерфейс. Однако
промежуточная система, участвующая в нескольких областях или доменах,
имеет право выборa на обладание несколькими NET.
Адреса NET и NSAP являются иерархическими адресами. Адресация к
иерархическим системам облегчает как управление (путем обеспечения
нескольких уровней управления), так и маршрутизацию (путем кодирования
информации о топологии сети). Адрес NSAP сначала разделяется на две
части: исходная часть домена ( initial domain part - IDP ) и специфичнaя
часть домена ( domain specific part - DSP ). IDP далее делится на
идентификатор формата и полномочий ( authority and format identifier -
AFI ) и идентификатор исходного домена ( initial domain identifier -
IDI ).
AFI обеспечивает информацию о структуре и содержании полей IDI и DSP, в
том числе информацию о том, является ли IDI идентификатором переменной
длины и использует ли DSP десятичную или двоичную систему счислений.
IDI определяет объект, который может назначать различные значения части
DSP адреса.
DSP далее подразделяется полномочным лицом, ответственным за ее
управление. Как правило, далее следует идентификатор другого
управляющего авторитета, чем обеспечивается дальнейшее делегирование
управления адресом в подорганы управления. Далее идет информация,
используемая для маршрутизации, такая, как домены маршрутизации,
область (area) с доменом маршрутизации, идентификатор (ID) станции в
пределах этой области и селектор (selector) в пределах этой станции.
Рис. 4.23 иллюстрирует формат адреса OSI.
(рис 4.23) OSI Address Format
Транспортный уровень
Как обычно для сетевого уровня 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
обеспечивает надежные услуги по транспортировке. Его применение
предполагает сеть, в которой проблемы не выявляются.
Протоколы высших уровней
Основные протоколы высших уровней OSI представлены на Рис. 4.24.
(рис 4.24) Principle OSI Upper-Layer ProtocolsСеансовый уровень
Протоколы сеансового уровня OSI преобразуют в сеансы потоки данных,
поставляемых четырьмя низшими уровнями, путем реализации различных
управляющих механизмов. В число этих механизмов входит ведение учета,
управление диалогом (т.е. определение, кто и когда может говорить) и
согласование параметров сеанса.
Управление диалогом сеанса реализуется путем использования маркера
( token ), обладание которым обеспечивает право на связь. Маркер можно
запрашивать, и конечным системам ES могут быть присвоены приоритеты,
обеспечивающие неравноправное пользование маркером.
Представительный уровень
Представительный уровень OSI, как правило, является просто проходным
протоколом для информации из соседних уровней. Хотя многие считают, что Abstract Syntax Notation 1 (ASN.1) (Абстрактное представление
синтаксиса) является протоколом представительного уровня OSI, ASN.1
используется для выражения форматов данных в независимом от машины
формате. Это позволяет осуществлять связь между прикладными задачами
различных компьютерных систем способом, прозрачным для этих прикладных
задач.
Прикладной уровень
Прикладной уровень ОSI включает действующие протоколы прикладного
уровня, а также элементы услуг прикладного уровня ( application service
elements - ASE ). ASE обеспечивают легкую связь протоколов прикладного
уровня с низшими уровнями. Тремя наиболее важными ASE являются Элемент
услуг управления ассоциацией ( Association Control Service Element -
ACSE ), Элемент услуг получения доступа к операциям отдаленного
устройства ( Remote Operations Service Element - ROSE ) и Элемент услуг
надежной передачи ( Reliable Transfer Service Element - RTSE ). При
подготовке к связи между двумя протоколами прикладного уровня ACSE
объединяет их имена друг с другом. ROSE реализует родовой (generic)
механизм "запрос/ответ", который разрешает доступ к операциям
отдаленного устройства способом, похожим на вызовы процедуры обращений
к отделенной сети ( remote procedure calls - RPC ). RTSE способствует
надежной доставке, делая конструктивные элементы сеансового уровня
легкими для использования. Наибольшего внимания заслуживают следующие
пять протоколов прикладного уровня OSI:
Common Management Information Protocol (CMIP)Протокол общей информации управления - протокол управления сети OSI
Также, как и SNMP и Net View (см. Главу 7), он обеспечивает обмен
управляющей информацией между ES и станциями управления (которые также
являются ES).
Directory Services (DS)Услуги каталогов. Разработанная на основе спецификации Х.500 CCITT, эта
услуга предоставляет возможности распределенной базы данных, которые
полезны для идентификации и адресации узлов высших ровней.
File Transfer,Access, and Management (FTAM)Передача, доступ и управление файлами - услуги по передаче файлов. В
дополнение к классической передаче файлов, для которой FTAM
обеспечивает многочисленные опции, FTAM также обеспечивает средста
доступа к распределенным файлам таким же образом, как это делает
NetWare компании Novell, Inc или Network File System (NFS) компании Sun
Microsystems, Inc.
Massage Handling Systems (MHS)Системы обработки сообщений - обеспечивает механизм, лежащий в основе
транспортировки данных для прикладных задач передачи сообщений по
электронной почте и других задач, требующих услуг по хранению и
продвижению данных. Хотя они и выполняют аналогичные задачи, MHS не
следует путать с NetWare MHS компании Novell (смотри пункт
"Протоколы NetWare").
Virtual Terminal Protocol (VTP)Протокол виртуальных терминалов - обеспечивает эмуляцию терминалов.
Другими словами, он позволяет компьютерной системе для отдаленной ES
казаться непосредственно подключенным терминалом. С помощью VTP
пользователь может, например, выполнять дистанционные работы на
универсальных вычислительных машинах.
Banyan VINES
Библиографическая справка
Компания Banyan Virtual Network System (VINES) реализовала систему
распределенной сети, базирующуюся на семействе патентованных
протоколов, разработанных на основе протоколов Xerox Network Systems
(XNS) компании XEROX. Среда
распределенной системы обеспечивает прозрачный для пользователя обмен
информации между клиентами (компьютерами пользователя) и служебными
устройствами (компьютерами специального назначения, которые
обеспечивают услуги, такие, как файловое и принтерное обслуживание).
Наряду с NetWare компании Novell, LAN Server компании IBM и LAN Manager
компании Microsoft, VINES является одной из самых популярных сред
распределенной системы для сетей, базирующихся на микрокомпьютерах.
Основы технологии
Комплект протоколов VINES представлен на Рис. 4.25.
(рис 4.25) VINES Protocol Stack
Доступ к среде
Два низших уровня комплекта протоколов VINES реализованы с помощью
различных общеизвестных механизмов доступа к носителю, включая
Управление информационным каналом высшего уровня (HDLC), Х.25 (смотри Главу 3), Ethernet и Тоken Ring (смотри Главу 2).
Сетевой уровень
Для выполнения функций Уровня 3 (в том числе маршрутизации в
объединенной сети) VINES использует Протокол межсетевого обмена VINES
( VINES Internetwork Protocol - VIP ). VINES также обеспечивает
собственный Протокол разрешения адреса (ARP), собственную версию
Протокола информации маршрутизации ( Routing Information Protocol -
RIP ), которая называется Протоколом корректировки маршрутизации
( Routing Update Protocol - RTP ) и Протокол управления Internet (ICP),
который обеспечивает обработку исключительных состояний и специальной
информации о затратах маршрутизации. Пакеты ICP, RTP и ARP формируются
в заголовке VIP.
Протокол межсетевого обмена VINES (VIP)
Адреса сетевого уровня VINES являются 48-битовыми объектами,
подразделенными на сетевую (32 бита) и подсетевую (16 битов) части.
Сетевой номер можно описать как номер какого-нибудь служебного
устройства, т.к. он получается непосредственно из ключа (key)
служебного устройства (аппаратного модуля, который обозначает
уникальный номер и программные опции для данного служебного
устройства). Подсетевая часть адреса VINES лучше всего описывается как
номер хоста, т.к. он используется для обозначения хоста в сетях VINES.
Рис. 4.26 иллюстрирует формат адреса VINES.
(рис 4.26) VINES Address FormatСетевой номер обозначает логическую сеть VINES, которая представлена в
виде двухуровневого дерева, корень которого находится в узле
обслуживания ( service node ). Узлы обслуживания, которыми обычно
являются служебные устройства, обеспечивают услуги резрешения адреса и
услуги маршрутизации клиентам (client), которые являются листьями этого
дерева. Узел обслуживания назначает адреса VIP клиентам.
Когда какой-нибудь клиент включает питание, он направляет
широковещательный запрос служебным устройствам. Все служебные
устройства, которые получают этот запрос, посылают ответ. Клиент
выбирает первый ответ и запрашивает у данного служебного устройства
адрес подсети (хоста). Служебное устройство отвечает адресом, состоящим
из его собственного сетевого адреса (полученного из его ключа),
объединенного с адресом подсети (хоста), который он выбрал сам. Адреса
подсети клиента обычно назначаются последовательно, начиная с 8001H.
Адреса подсети служебного устройства всегда 1. Процесс выбора адреса
VINES показан на Рис. 4.27.
(рис 4.27) VINES Address Selection ProcessДинамичное назначение адреса не является уникальным явлением в
индустрии сетей (AppleTalk также использует этот процесс); однако этот
процесс определенно не является таким обычным процессом, как
статическое назначение адреса. Т.к. адреса выбираются исключительно
каким-нибудь одним конкретным служебным устройством (чей адрес является
уникальным вследствие уникальности аппаратного ключа), вероятность
дублирования адреса (что является потенциально опасной проблемой для
сети Internet Protocol (IP) и других сетей) очень мала.
В схеме сети VINES все служебные устройства с несколькими интерфейсами
в основном являются роутерами. Клиенты всегда выбирают свое собственное
служебное устройство в качестве роутера для первой пересылки, даже если
другое служебное устройство, подключенное к этому же кабелю,
обеспечивает лучший маршрут к конечному пункту назначения. Клиенты
могут узнать о других роутерах, получая переадресованные сообщения от
своего служебного устройства. Т.К. клиенты полагаются на свои служебные
устройства при первой пересылке маршрутизации, служебные устройства
VINES поддерживают маршрутные таблицы, которые помогают им находить
отдаленные узлы.
Маршрутные таблицы VINES состоят из пар "хост/затраты", гдe
хост соответствует сетевому узлу, до которого можно дойти, а затраты -
временной задержке в миллисекундах, необходимой для достижения этого
узла. RTP помогает служебным устройствам VINES находить соседних
клиентов, служебные устройства и роутеры.
Все клиенты периодически объявляют как о своих адресах сетевого уровня,
так и о адресах МАС-уровня с помощью пакета, эквивалентого пакету
"hello" (приветственное сообщение). Пакеты "hello"
означают, что данный клиент все еще работает и сеть готова. Сами
служебные устройства периодически отправляют в другие служебные
устройства маршрутные корректировки. Маршрутные корректировки извещают
другие роутеры об изменениях адресов узлов и топологии сети.
Когда какое-нибудь служебное устройство VINES принимает пакет, оно
проверяет его, чтобы узнать, для чего он предназначается - для другого
служебного устройства или для широкого вещания. Если пунктом назначения
является данное служебное устройство, то это служебное устройство
соответствующим образом обрабатывает этот запрос. Если пунктом
назначения является другое служебное устройство, то данное служебное
устройство либо непосредственно продвигает этот пакет (если это
служебное устройство является его соседом), либо направляет его в
служебное устройство/роутер, которые являются следующими в очереди.
Если данный пакет является широковещательным, то данное служебное
устройство проверяет его, чтобы узнать, пришел ли этот пакет с маршрута
с наименьшими затратами. Если это не так, то пакет отвергается. Если же
это так, то пакет продвигается на всех интерфейсах, за исключением
того, на котором этот пакет был принят. Такой метод помогает уменьшить
число широковещательных возмущений, которые являются обычной проблемой
в других сетевых окружениях. Aлгоритм маршрутизации VINES представлен
на Рис. 4.28.
(рис 4.28) VINES Routing AlgorithmФормат пакета VIP представлен на Рис. 4.29.
(рис 4.29) VIP Packet FormatПакет VIP начинается с поля контрольной суммы ( checksum ), используемой
для обнаружения искажений в пакете.
За полем контрольной суммы идет поле длины пакета ( packet length ),
которое обозначает длину всего пакета VIP.
Следующим полем является поле управления транспортировкой ( transport
control ), которое состоит из нескольких подполей. Если пакет является
широковещательным, то предусматривается два подполя: подполе класса
( class ) (с 1 по 3 биты) и подполе числа пересылок ( hop-count ) (с 4 по 7
биты). Если пакет не является широковещательным пакетом, то
предусматривается 4 подполя: подполе ошибки ( error ), подполе показателя
( metric ), подполе переадресации ( redirect ), и подполе числа пересылок
( hop count ). Подполе класса определяет тип узла, который должен
принимать широковещательное сообщение. С этой целью узлы разделяются на
несколько различных категорий, зависящих от типа узла и типа канала, к
которому принадлежит узел. Определяя тип узлов, которые должны
принимать широковещательные сообщения, подполе класса уменьшает
вероятность срывов в работе, вызываемых широковещательными сообщениями.
Подполе числа пересылок представляет собой число пересылок (число
пересеченных роутеров), через которые прошел пакет. Подполе ошибок
определяет, надо ли протоколу ICP отправлять пакет уведомления об
исключительной ситуации в источник пакета, если пакет окажется
немаршрутизируемым. Подполе показателя устанавливается в 1 транспортным
объектом, когда ему необходимо узнать затраты маршрутизации при
перемещения пакетов между каким-нибудь узлом обслуживания и одним из
соседей. Подполе переадресации определяет, должен ли роутер
генерировать сигнал переадресации (при соответствующих
обстоятельствах).
Далее идет поле типа протокола ( protocol type ), указывающее на протокол
сетевого или транспортного уровня, для которого предназначен пакет
показателя или пакет уведомления об исключении.
За полем типа протокола следуют адресные поля VIP. За полями номера
сети назначения ( destination network number ) и номера подсети
назначения ( destination subnetwork number ) идут поля номера сети
источника ( sourсe network number ) и номера подсети источника ( source
subnetwork number ).
Протокол корректировки маршрутизации (RTP)
RTP распределяет информацию о топологии сети. Пакеты корректировки
маршрутизации периодически пересылаются широкой рассылкой как клиентом,
так и узлами обслуживания. Эти пакеты информируют соседей о
существовании какого-нибудь узла, а также указывают, является ли этот
узел клиентом или узлом обслуживания. В каждый пакет корректировки
маршрутизации узла обслуживания также включается перечень всех
известных сетей и коэффициенты затрат, связанные с достижением этих
сетей.
Поддерживаются две маршрутные таблицы: таблица всех известных сетей и
таблица соседей. Для узлов обслуживания таблица всех известных сетей
содержит запись данных о каждой известной сети, за исключением
собственной сети узла обслуживания. Каждая запись содержит номер сети,
показатель маршрутизации и указатель на запись данных следующей
пересылки на пути к данной сети в таблице соседей. Таблица соседей
содержит запись данных каждого узла обслуживания соседа и узла клиента.
Записи включают в себя номер сети, номер подсети, протокол доступа к
носителю (например, Ethernet), который использовался для достижения
этого узла, адрес локальной сети (если средой, соединяющей с соседом,
является локальная сеть) и показатель соседа.
RTP определяет 4 типа пакетов:
Пакеты корректировки маршрутизации.Периодически выпускаются для уведомления соседей о существовании
какого-нибудь объекта.
Пакеты запроса о маршрутизации.объекты обмениваются ими, когда им необходимо быстро узнать о топологии
сети.
Пакеты ответа на запрос о маршрутизации.Содержат топологическую информацию и используются узлами обслуживания
для ответа на пакеты запроса о маршрутизации.
Пакеты переадресации маршрутизации.Обеспечивают отправку информации о лучших маршрутах в узлы,
использующие неэффективные тракты.
Пакеты RTP имеют 4-байтовый заголовок, состоящий из однобайтового поля
типа операций ( operation type ), однобайтового поля типа узла ( node
type ), однобайтового поля типа контроллера ( controller type ) и
однобайтового поля типа машины ( machine type ). Поле типа операций
указывает на тип пакета. Поле типа узла указывает, пришел пакет из узла
обслуживания или из необслуживающего узла. Поле типа контроллера
указывает, содержит ли контроллер узла, передающего пакет RTP,
многобуферный контроллер. Это поле используется для облегчения
регулирования информационного потока между сетевыми узлами. И наконец,
поле типа машины указывает, является ли процессор отправителя RTP
быстродействующим или нет. Как и поле типа контроллера, поле типа машины
также используется для регулирования скорости передачи.
Протокол разрешения адреса (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
реализуют следующий алгоритм. Сначала данный клиент отправляет широкой
рассылкой пакеты запросов-заявок. Затем каждая услуга, которая является
соседом данного клиента, отвечает пакетом ответа об услуге. Далее
данный клиент выдает пакет запроса о присваивании адреса в первую
услугу, которая ответила на его пакет запроса-заявки. Услуга отвечает
пакетом ответа о присваивании адреса, содержащем присвоенный адрес
объединенной сети.
Протокол управления объединеной сетью (ICP)
ICP определяет пакеты уведомления об исключительных ситуациях
( exception notification ) и уведомления о показателе ( metric
notification ). Пакеты уведомления об исключительных ситуациях
обеспечивают информацию об исключительных ситуациях сетевого уровня;
пакеты уведомления о показателе содержат информацию о последней
передаче, которая была использована для достижения узла клиента.
Уведомления об исключительной ситуации отправляются в том случае, когда
какой-нибудь пакет VIP не может быть соответствующим образом
маршрутизирован, и устанавливается подполе ошибки в поле управления
транспортировкой заголовка VIP. Эти пакеты также содержат поле,
идентифицирующее конкретную исключительную ситуацию по коду ошибки,
соответствующему этой ситуации.
Объекты ICP в узлах обслуживания генерируют сообщения уведомления о
показателе в том случае, когда устанавливается подполе показателя в
поле управления транспортировкой заголовка VIP, и адрес пункта
назначения в пакете узла обслуживания определяет одного из соседей
этого узла обслуживания.
Транспортный уровень
VINES обеспечивает три услуги транспортного уровня:
Unreliable datagram service.Услуги ненадежных дейтаграмм. Отправляет пакеты, которые
маршрутизируются на основе принципа "наименьших затрат"
(best-effort basis), но не подтверждаются сообщением о приеме в пункте
назначения.
reliable datagram service.Услуги надежных дейтаграмм. Услуга виртуальной цепи, которая
обеспечивает надежную упорядоченную доставку сообщений между узлами
сети с подтверждением о приеме. Надежное сообщение может быть передано
с максимальным числом пакетов, равным 4.
data stream service.Услуга потока данных. Поддерживает контролируемый поток данных между
двумя процессами. Услуга потока данных является услугой виртуальной
цепи с подтверждением о приеме, которая обеспечивает передачу сообщений
неограниченных размеров.
Протоколы высших уровней
Являясь распределенной сетью, VINES использует модель вызова процедуры
обращений к отдаленной сети ( remote procedure call - RPC ) для связи
между клиентами и служебными устройствами. RCP является основой сред
распределенных услуг. Протокол NetRPC (Уровни 5 и 6) обеспечивает язык
программирования высшего уровня, который позволяет осуществлять доступ
к отдаленным услугам способом, прозрачным как для пользователя, так и
для прикладной программы.
На Уровне 7 VINES обеспечивает протоколы файловых услуг и услуг
принтера, а также протокол услуг "StreetTalk name/directory".
StreetTalk, один из протоколов с торговым знаком компании VINES,
обеспечивает службу постоянных имен в глобальном масштабе для всей
объединенной сети.
VINES также обеспечивает среду разработки интегрированных применений
при наличии нескольких операционных систем, включая DOS и UNIX. Taкая
среда разработки позволяет третьей участвующей стороне осуществлять
разработку как клиентов, так и услуг, действующих в среде VINES.
Xerox Network Systems (XNS)
Библиографическая справка
Протоколы Xerox Network Systems (XNS) разработаны корпорацией Xerox в
конце 1970-начале 1980 гг. Они предназначены для использования в
разнообразных средах передачи, процессорах и прикладных задачах офиса.
Несколько протоколов XNS похожи на Протокол Internet (IP) и Протокол
управления передачей (TCP), разработанных агентством DARPA для
Министерства обороны США (DoD). Информация по этим и связанным с ними
протоколам дается в пункт "Протоколы Internet". Все
протоколы XNS соответствуют основным целям проектирования эталонной
модели OSI.
Благодаря своей доступности и раннему появлению на рынке, XNS был
принят большинством компаний, использовавших локальные сети с момента
их появления, в том числе компаниями Novell, Inc., Ungermann-Bass, Inc.
(которая теперь является частью Tandem Computers) и 3Com Corporation.
За время, прошедшее с тех пор, каждая из этих компаний внесла различные
изменения в протоколы XNS. Novell дополнила их Протоколом доступа к
услугам ( Service access protocol - SAP ), чтобы обеспечить объявление о
ресурсах, и модифицировала протоколы Уровня 3 OSI (которые Novell
переименовала в Internetwork Packet Exchange - IPX - Oбмен межсетевыми
пакетами) для работы в сетях IEEE 802.3, а не в сетях Ethernet.
Ungermann-Bass модифицировала RIP для поддержания задержки, а также
числа пересылок. Были также внесены другие незначительные изменения. С
течением времени реализации XNS для объединенных в сети РС стали более
популярными, чем XNS в том виде, в котором они были первоначально
разработаны компанией Xerox.
Основы технологии
Несмотря на то, что они имеют общие цели проектирования, концепция XNS
о иерархии протоколов несколько отличается от той концепции, которую
предлагает эталонная модель OSI. На Рис. 4.30 показано приблизительное
сравнение XNS и эталонной модели OSI.
(рис 4.30) XNS and the OSI Reference ModelКак видно из Рис. 4.30, Xerox обеспечивает 5-уровневую модель передачи
пакетов. Уровень 0, который отвечает за доступ к каналу и манипуляцию
потока битов, примерно соответствует Уровням 1 и 2 OSI. Уровень 1
примерно соответствует той части Уровня 3 OSI, которая относится к
сетевому трафику. Уровень 2 примерно соответствует части Уровня 3,
которая связана с маршрутизацией в объединенной сети, и Уровню 4 OSI,
который занимается связью внутри отдельных процессов. Уровни 3 и 4
примерно соответствуют двум верхним уровням модели OSI, которые заняты
структурированием данных, взаимодействием между отдельными процессами и
прикладными задачами. XNS не имеет протокола, соответствующего Уровню 5
OSI (сеансовый уровень).
Доступ к среде
Несмотря на то, что в документации XNS упоминаются X.25, Ethernet и
HDLC, XNS не дает четкого определения того, что она называет протоколом
уровня 0. Также, как и многие другие комплекты протоколов, XNS
оставляет вопрос о протоколе доступа к носителю открытым, косвенным
образом позволяя любому такому протоколу выполнять главную роль в
транспортировке пакетов XNS через физический носитель.
Сетевой уровень
Протокол сетевого уровня 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.
Транспортный уровень
Функции транспортного уровня 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 распознала дублированный
пакет.
Протоколы высших уровней
XNS предлагает несколько протоколов высших уровней. Протокол
"Печатание" ( Printing ) обеспечивает услуги принтера. Протокол
"Ведение картотеки" ( Filing ) обеспечивает услуги доступа к
файлам. Протокол "Очистка ( Сlearinghouse ) обеспечивает услуги,
связанные с присвоением имени. Каждый из этих протоколов работает в
дополнение к протоколу "Курьер" ( Сourier ), который
обеспечивает соглашения для структурирования данных и взаимодействия
процессов.
XNS также определяет протоколы уровня четыре. Это протоколы прикладного
уровня, но поскольку они имеют мало общего с фактическими функциями
связи, в спецификации XNS нет каких-либо определений по существу.
И наконец, протокол "Эхо" ( Echo Protocol ) используется для
тестирования надежности узлов сети XNS. Он используется для поддержки
таких функций, как функции, обеспечиваемые командой ping, которую можно
встретить в Unix и других средах. Спецификация XNS описывает протокол
"Эхо" как протокол уровня два.
AppleTalk
Библиографическая справка
В начале 1980 г. Apple Computer готовилась к выпуску компьютера
Macintosh. Инженеры компании знали, что в скором времени сети станут
насущной необходимостью, а не просто интересной новинкой. Они хотели
также добиться того, чтобы базирующаяся на компьютерах Macintosh сеть
была бесшовным расширением интерфейса пользователя Macintosh,
совершившим подлинную революцию в этой области. Имея в виду эти два
фактора, Apple решила встроить сетевой интерфейс в каждый Macintosh и
интегрировать этот интерфейс в окружение настольной вычислительной
машины. Новая сетевая архитектура Apple получила название Apple Talk.
Хотя Apple Talk является патентованной сетью, Apple опубликовала
характеристики Apple Talk, пытаясь поощрить разработку при участии
третьей стороны. В настоящее время большое число компаний успешно
сбывают на рынке базирующиеся на Apple Talk изделия; в их числе Novell,
Inc. и Мicrosoft Corporation.
Оригинальную реализацию Apple Talk, разработанную для локальных рабочих
групп, в настоящее время обычно называют Apple Talk Phase I. Однако
после установки свыше 1.5 мил. компьютеров Macintosh в течение первых
пяти лет существования этого изделия, Apple обнаружила, что некоторые
крупные корпорации превышают встроенные возможности Apple Talk Phase I,
поэтому протокол был модернизирован. Расширенные протоколы стали
известнны под названием Apple Talk Phase II. Oни расширили возможности
маршрутизации Apple Talk, обеспечив их успешное применение в более
крупных сетях.
Основы технологии
Apple Talk была разработана как система распределенной сети клиент-
сервер. Другими словами, пользователи совместно пользуются сетевыми
ресурсами (такими, как файлы и принтеры). Компьютеры, обеспечивающие
эти ресурсы, называются служебными устройствами ( servers ); компьютеры,
использующие сетевые ресурсы служебных устройств, называются клиентами
( clients ). Взаимодействие со служебными устройствами в значительной
степени является прозрачным для пользователя, т.к. сам компьютер
определяет местоположение запрашиваемого материала и обращается к нему
без получения дальнейшей информации от пользователя. В дополнение к
простоте использования, распределенные системы также имеют
экономические преимущества по сравнению с системами, где все равны,
т.к.важные материалы могут быть помещены в нескольких, а не во многих
местоположениях.
Apple Talk относительно хорошо согласуется с эталонной моделью OSI. На
Рис. 4.1 "Apple Talk и эталонная модель OSI" представлены
протоколы Apple Talk, смежные с теми уровнями OSI, с которыми у них
установлено соответствие. Этот рисунок отличается от других изображений
связи пакета протоколов Apple Talk с моделью OSI тем, что на нем NBP,
ZIP и RTMP размещены на Уровне 3, а АЕР-на Уровне 7. По мнению Cisco,
NBP, ZIP и RТМP по своим функциональным возможностям стоят в ряду ближе
к Уровню 3 модели OSI, хотя они и пользуются услугами DDP, другого
протокола Уровня 3. Аналогично, Cisco полагает, что AEP следует
включить в перечень протоколов прикладного уровня, т.к. он обычно
используется для обеспечения функциональных возможностей прикладного
уровня. В частности, AEP помогает определить возможность отдаленных
узлов принимать следующие соединения.
(рис 4.1) AppleTalk and the OSI Reference Model
Доступ к среде
Apple разработала AppleTalk таким образом, чтобы он был независимым от
канального уровня. Другими словами, теоретически он может работать в
дополнение к любой реализации канального уровня. Apple обеспечивает
различные реализации канального уровня, включая Ethernet, Token Ring,
FDDI и LocalTalk. Apple ссылается на AppleTalk, работающий в Ethernet,
как нa EtherTalk, в Тоkеn Ring-кaк на TokenTalk и в FDDI-как на
FDDITalk. Информация о технических характеристиках Ethernet, TokenRing
и FDDI приведена соответственно в Главе 2.
LocalTalk - это запатентованная компанией Apple система доступа к
носителю. Он базируется на конкуренции на получение доступа, топологии
объединения с помощью шины и передаче сигналов базовой полосы (baseband
signaling) и работает на носителе, представляющим собой экранированную
витую пару, со скоростью 230.4 Kb/сек. Физическим интерфейсом является
RS-422; это сбалансированный интерфейс для передачи электрических
сигналов, поддерживаемый интерфейсом RS-449. Сегменты LocalTalk могут
переноситься на расстояния до 300 метров и обеспечивать до 32 узлов.
Сетевой уровень
В данном разделе описываются концепции, принятые для сетевого уровня
AppleTalk, и протоколы для этого уровня. В нем рассматриваются
назначение адреса протокола, сетевые объекты и протоколы AppleTalk,
которые обеспечивают функциональные возможности Уровня 3 эталонной
модели OSI.
Назначения адреса протокола
Для обеспечения минимальных затрат, связанных с работой администратора
сети, aдреса узлов AppleTalk назначаются динамично. Когда Macintosh,
прогоняющий AppleTalk, начинает работать, он выбирает какой-нибудь
адрес протокола (сетевого уровня) и проверяет его, чтобы убедиться, что
этот адрес используется в данный момент. Если это не так, то этот новый
узел успешно присваивает себе какой-нибудь адрес. Если этот адрес
используется в данный момент, то узел с конфликтным адресом отправляет
сообщение, указывающее на наличие проблемы, а новый узел выбирает
другой адрес и повторяет этот процесс. На Рис. 4.2 представлен процесс
выбора адреса AppleTalk.
(рис 4.2) AppleTalk Address Selection ProcessФактические механизмы выбора адреса AppleTalk зависят от носителя. Для
установления связи адресов AppleTalk с конкретными адресами носителя
используется протокoл разрешения адреса AppleTalk (AARP). AARP также
устанавливает связи между адресами других протоколов и аппаратными
адресами. Если пакет протоколов AppleTalk или любого другой пакет
протоколов должен отправить пакет данных в другой сетевой узел, то
адрес протокола передается в AARP. AARP сначала проверяет адресный кэш,
чтобы определить, является ли уже установленной связь между адресом
этого протокола и аппаратным адресом. Если это так, то эта связь
передается в запрашивающий пакет протоколов. Если это не так, то AARP
инициирует широковещательное или многопунктовое сообщение,
запрашивающее об аппаратном адресе данного протокольного адреса. Если
широковещательное сообщение доходит до узла с этим протокольным
адресом, то этот узел в ответном сообщении указывает свой аппаратный
адрес. Эта информация передается в запрашивающий пакет протоколов,
который использует этот аппаратный адрес для связи с этим узлом.
Сетевые объекты
AppleTalk идентифицирует несколько сетевых объектов. Самым простым
является узел (node), который является просто любым устройством,
соединенным с сетью AppleTalk. Наиболее распространенными узлами
являются компьютеры Macintosh и лазерные принтеры, однако многие другие
компьютеры также способны осуществлять связь AppleTalk, в том числе
компьютеры IBM PC, Digital Equipment Corporation VAX и различные АРМ.
Следующим объектом, определяемым AppleTalk, является сеть. Сеть
AppleTalk представляет собой просто отдельный логический кабель. Хотя
этот логический кабель часто является отдельным физическим кабелем,
некоторые вычислительные центры используют мосты для объединения
нескольких физических кабелей. И наконец, зона (zone) АppleTalk
является логической группой из нескольких сетей (возможно находящихся
далеко друг от друга). Объекты AppleTalk изображены на Рис. 4.3.
(рис 4.3) AppleTalk Entities
Протокол доставки дейтаграмм (DDP)
Основным протоколом сетевого уровня AppleTalk является протокол DDP.
DDP обеспечивает обслуживание без установления соединения между
сетевыми гнездами. Гнезда могут назначаться либо статически, либо
динамически. Адреса AppleTalk, назначаемые DDP, состоят из 2
компонентов: 16-битового номера сети ( network number ) и 8-битового
номера узла ( node number ). Эти два компонента обычно записываются в
виде десятичных номеров, разделенных точкой (например, 10.1 означает
сеть 10, узел 1). Если номер сети и номер узла дополнены 8-битовым
гнездом ( socket ), обозначающим какой-нибудь особый процесс, то это
означает, что в сети задан какой-нибудь уникальный процесс.
AppleTalk Phase II делает различие между нерасширенными ( nоnextended ) и
расширенными ( extended ) сетями. В нерасширенных сетях, таких как
LocalTalk, номер каждого узла AppleTalk уникален. Нерасширенные сети
были единственным типом сети, определенным в AppleTalk Phase I. В
расширенных сетях, таких как EtherTalk и TokenTalk, уникальной является
комбинация номер каждой сети/номер узла.
Зоны определяются управляющим сети AppleTalk в процессе конфигурации
роутера. Каждый узел AppleTalk принадлежит к отдельной конкретной зоне.
Расширенные сети могут иметь несколько зон, которые ассоциируются с
ними. Узлы в расширенных сетях могут принадлежать к любой отдельной
зоне, которая ассоциируется с этой расширенной сетью.
Протокол поддержки маршрутной таблицы (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.
Sample AppleTalk ZIT
| Network Number | Zone |
| 1 |
My |
| 2 |
Your |
| 3 |
Marketing |
| 4 |
Documentation |
| 5-5 |
Sales |
Транспортный уровень
Транспортный уровень AppleTalk реализуется двумя основными протоколами
AppleTalk: AppleTalk Transaction Protocol (ATP) (Протокол транзакций
AppleTalk) и AppleTalk Data Stream Protocol (ADSP) (Протокол потока
данных АppleTalk). АТР является транзакционно-ориентированным, в то
время как ADSP является ориентированным по потоку данных.
Протокол транзакций AppleTalk (ATP)
ATP является одним из протоколов транспортного уровня Appletalk. АТР
пригоден для применений, базирующихся на транзакциях, которые можно
встретить в банках или магазинах розничной торговли.
В транзакции АТР входят запросы (от клиентов) ( requests ) и ответы (от
служебных устройств) ( replies ). Каждая пара запрос/ответ имеет
отдельный ID транзакции. Транзакции имеют место между двумя гнездами
клиентов. АТР использует транзакции "точно-один раз" ( exactly
once - XO) и "по крайней мере один раз" ( at-least-once -
ALO), Транзакции ХО требуются в тех ситуациях, когда случайное
выполнение транзакции более одного раза неприемлемо. Банковские
транзакциии являются примером таких неидемпотентных ( nonidempotent )
ситуаций (ситуаций, когда повторение какой-нибудь транзакции вызывает
проблемы, что достигается тем, что делаются недействительными данные,
участвующие в данной транзакции).
АТР способен выполнять наиболее важные функции транспортного уровня, в
том числе подтверждение о приеме данных и повторную передачу,
установление последовательности пакетов, а также фрагментирование и
повторную сборку. АТР ограничивает сегментирование сообщений до 8
пакетов; пакеты АТР не могут содержать более 578 информационных байтов.
Протокол потока данных AppleTalk (ADSP)
ADSP является другим важным протоколом транспортного уровня Apple Talk.
Как видно из его названия, ADSP является ориентированным по потоку
данных, а не по транзакциям. Он организует и поддерживает полностью
дублированный поток данных между двумя гнездами в объединенной сети
AppleTalk.
ADSP является надежным протоколом в том плане, что он гарантирует
доставку байтов в том же порядке, в каком они были отправлены, а также
то, что они не будут дублированы. ADSP нумерует каждый байт, чтобы
отслеживать отдельные элементы потока данных.
ADSP также определяет механизм управления потоком. Пункт назначения
может в значительной степени замедлять передачи источника путем
сокращения размера объявленного окна на прием.
ADSP также обеспечивает механизм сообщений управления "выхода из
полосы" (out-of-band) между двумя объектами AppleTalk. В качестве
средства для перемещения сообщений управления выхода из полосы между
двумя объектами AppleTalk используются пакеты "внимания"
(attention packets).Эти пакеты используют отдельный поток номеров
последовательностей, чтобы можно было отличать их от обычных пакетов
данных ADSP.
Протоколы высших уровней
AppleTalk обеспечивает несколько протоколов высшего уровня. Протокол
сеансов AppleTalk ( AppleTalk Session Protocol - ASP) организует и
поддерживает сеансы (логические диалоги) между клиентом AppleTalk и
служебным устройством. Протокол доступа к принтеру ( Printer Access
Protocol - РАР) AppleTalk является ориентированным по связи протоколом,
который организует и поддерживает связи между клиентами и служебными
устройствами (использование термина printer в заголовке этого протокола
является просто исторической традицией). Эхо-протокол AppleTalk
( AppleTalk Echo Protocol - AEP) является очень простым протоколом,
генерирующим пакеты, которые могут быть использованы для проверки
способности различных узлов сети создавать повторное эхо. И наконец,
Протокол ведения картотеки AppleTalk ( AppleTalk Filing Protocol - AFP)
помогает клиентам коллективно использовать служебные файлы в сети.
DECnet
Библиографическая справка
Digital Equipment Corporation (Digital) разработала семейство
протоколов DECnet с целью обеспечения своих компьютеров рациональным
способом сообщения друг с другом. Выпущенная в 1975 г. первая версия
DECnet обеспечивала возможность сообщения двух напрямую подключенных
миникомпьютеров PDP-11. В последние годы Digital включила поддержку
для непатентованных протоколов, однако DECnet попрежнему остается
наиболее важным из сетевых изделий, предлагаемых Digital.
В настоящее время выпущена пятая версия основного изделия DECnet (
которую иногда называют Phase V, a в литературе компании Digital - DECnet/OSI ). DECnet Phase V представляет собой надлежащим образом
расширенный набор комплекта протоколов OSI, поддерживающий все
протоколы OSI, а также несколько других патентованных и стандартных
протоколов, которые поддерживались предыдущими версиями DECnet. Что
касается ранее внесенных изменений в протокол, DECnet Phase V совместим
с предыдущей версией (т.е. Phase IV).
Архитектура цифровой сети (DNA)
В противоположность бытующему мнению, DECnet вовсе не является
архитектурой сети, а представляет собой ряд изделий, соответсвующих
Архитектуре Цифровой сети ( Digital Network Architecture - DNA)
компании Digital. Как и большинство других сложных сетевых архитектур,
поставляемых крупными поставщиками систем, DNA поддерживает большой
набор как патентованных, так и стандартных протоколов. Перечень
технологий, которые поддерживает DNA, постоянно растет по мере того,
как Digital реализует новые протоколы. Рис. 4.5 иллюстрирует неполную
картину DNA и связь некоторых ее компонентов с эталонной моделью OSI.
(рис 4.5) DNA and the OSI Reference Model
Доступ к среде
Как видно из Рис. 4.5, DNA поддерживает различные реализации
физического и канального уровней. Среди них такие известные стандарты,
как Ethernet, Token Ring, Fiber Distributed Data Interface (FDDI), IEEE
802.2 и Х.25. Подробная информация об этих протоколах дается в Главе 2 и Главе 3. DNA также предлагает
протокол канального уровня для традиционного двухточечного соединения,
который называется Digital Data Communications Message Protocol (DDCMP)
(Протокол сообщений цифровой связи) и шину с пропускной способностью 70
Mb/sek , используемую для группы абонентов VAX, которая называется Computer-room Interconnect bus (CI bus) (шина межсоединений машинного
зала).
Сетевой уровень
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.
Формат блока данных маршрутизации DECnet Phase IV
Протокол маршрутизации DECnet Phase IV имеет несколько отличий от
IS-IS. Одно из них-это разница в заголовках протоколов. Заголовок слоя
маршрутизации DNA Phase IV приведен на Рис. 4.6; форматы пакетов IS-IS
даны в Главе 5.
(рис 4.6) DNA Phase IV Routing Layer HeaderПервое поле в заголовке маршрутизации DNA Phase IV-это поле флагов
маршрутизации ( routing flags ), которое состоит из:
return-to-senderбит возврата получателю, если он задан, то указывает, что данный пакет
возвращается в источник.
return-to-sender requestбит запроса о возврате получателю, если он задан, то указывает на то,
что запрашиваемые пакеты должны быть возвращены в источник, если они не
могут быть доставлены в пункт назначения.
intraLANбит intraLAN, который устанавливается по умолчанию. Если роутер
обнаружит, что две сообщающиеся конечные системы не принадлежат одной и
той же подсети, он исключает этот бит.
другие биты, которые обозначают формат заголовка, указывают,
применялась ли набивка, и выполняют другие функции.
За полем флагов маршрутизации идут поля узла пункта назначения
( destination node ) и узла источника ( source node ), которые обозначают
сетевые адреса узлов пункта назначения и узла источника.
Последнее поле в заголовке маршрутизации DNA Phase IV-поле
траверсированных узлов ( nodes traversed ), которое показывает число
узлов, которые пересек пакет на пути к пункту назначения. Это поле
обеспечивает реализацию подсчета максимального числа пересылок для
того, чтобы можно было удалить из сети вышедшие из употребления пакеты.
DECnet различает два типа узлов: конечные узлы и узлы маршрутизации.
Как конечные узлы, так и узлы маршрутизации могут отправлять и
принимать информацию, но обеспечивать услуги маршрутизации для других
узлов DECnet могут только узлы маршрутизации.
Маршрутные решения DECnet базируются на затратах ( cost )-арбитражном
показателе, назначаемом администратором сети для использования при
сравнении различных путей через среду объединенной сети. Затраты обычно
базируются на числе пересылок, ширине полосы носителя и других
показателях. Чем меньше затраты, тем лучше данный тракт. Если в сети
имеют место неисправности, то протокол маршрутизации DECnet Phase IV
использует значения затрат для повторного вычисления наилучшего
маршрута к каждому пункту назначения. Рис. 4.7 иллюстрирует расчет
затрат в среде маршрутизации DECnet Phase IV.
(рис 4.7) DECnet Phase IV Routing Protocol Cost Calculation
Адресация
Адреса DECnet не связаны с физическими сетями, к которым подключены
узлы. Вместо этого DECnet размещает главные вычислительные машины,
используя пары адресов область/узел ( area/node address ). В диапазон
значений адресов области входят значения от 1 до 63 (включительно).
Адрес узла может иметь значение от 1 до 1023 (включительно).
Следовательно, каждая область может иметь 1023 узла, а в сети DECnet
адресация может быть произведена примерно к 65,000 узлам. Области могут
перекрывать несколько роутеров, и отдельный кабель может обеспечивать
несколько областей. Следовательно, если какой-нибудь узел имеет
несколько сетевых интерфейсов, то он использует один и тот же адрес
область/узел для каждого интерфейса. На Рис. 4.8 "Адреса
DECnet" изображен пример сети DECnet с несколькими адресуемыми
объектами.
(рис 4.8) DECnet AddressГлавные вычислительные машины DECnet не используют адреса уровня МАС
( Media Access Control - Управлениe доступом к носителю), назначаемые
производителем. Вместо этого адреса сетевого уровня встраиваются в
адреса уровня МАС в соответствии с алгоритмом, который перемножает
номер области на 1024 и прибавляет к результату номер узла.
Результирующий 16-битовый десятичный адрес преобразуется в
шестнадцатеричное число и добавляется к адресу АА00.0400 таким образом,
что байты оказываются переставленными, так что наименее значимый байт
оказывается первым. Например, адрес 12.75 DECnet становится числом 12363 (основание 10), которое равняется числу 304В (основание 16).
После этого адрес с переставленными байтами добавляется к стандартному
префиксу адреса МАС DECnet; результирующим адресом является выражение АА00.0400.4В30.
Уровни маршрутизации
Узлы маршрутизации 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
на область.
Транспортный уровень
Транспортный уровень DNA реализуется различными протоколами
транспортного уровня, как патентованными, так и стандартными.
Поддерживаются следующие протоколы транспортного уровня OSI: ТР0, ТР2 и
ТР4. Подробное описание этих протоколов дается в пункте
"Протоколы OSI".
Принадлежащий Digital Протокол услуг сети ( Network services protocol -
NSP) по функциональным возможностям похож на ТР4 тем, что он
обеспечивает ориентированное на соединение, с контролируемым потоком
обслуживание, с фрагментацией и повторной сборкой сообщений .
Обеспечиваются два подканала - один для нормальных данных, второй для
срочных данных и информации управления потоком. Обеспечивается два типа
управления потоком - простой механизм старт/стоп, при котором
получатель сообщает отправителю, когда следует завершать и возобновлять
передачу данных, и более сложная техника управления потоком, при
которой получатель сообщает отправителю, сколько сообщений он может
принять. NSP может также реагировать на уведомления о перегрузке,
поступающие из сетевого уровня, путем уменьшения числа невыполненных
сообщений, которое он может допустить.
Протоколы высших уровней
Для уровней, лежащих выше транспортного уровня, DECnet обеспечивает
свои собственные патентованные протоколы высших уровней наряду со
стандартными протоколами OSI для высших уровней. Протоколы прикладного
уровня DECnet используют протокол управления сеансами DNA и службу
назначения имен DNA. Протоколы прикладного уровня OSI обеспечиваются
реализациями представительного и сеансового уровней OSI. Подробная
информация по этим протоколам OSI дана в пункте "Протоколы
OSI".
Протоколы Internet
Библиографическая справка
В середине 1970 гг. Агентство по Внедрению Научно-исследовательских
Проектов Передовой технологии при Министерстве обороны (DARPA)
заинтересовалось организацией сети с коммутацией пакетов для
обеспечения связи между научно-исследовательскими институтами в США.
DARPA и другие правительственные организации понимали, какие
потенциальные возможности скрыты в технологии сети с коммутацией
пакетов; они только что начали сталкиваться с проблемой, с которой
сейчас приходится иметь дело практически всем компаниям, а именно с
проблемой связи между различными компьютерными системами.
Поставив задачу добиться связности гетерогенных систем, DARPA
финансировала исследования, проводимые Стэнфордским университетом и
компаниями Bolt, Beranek и Newman (BBN) с целью создания ряда
протоколов связи. Результатом этих работ по разработке, завершенных в
конце 1970 гг., был комплект протоколов Internet, из которых наиболее
известными являются Transmission Control Protocol (TCP) и Internet
Protocol (IP).
Протоколы Internet можно использовать для передачи сообщений через
любой набор объединенных между собой сетей. Они в равной мере пригодны
для связи как в локальных, так и в глобальных сетях. Комплект
протоколов Internet включает в себя не только спецификации низших
уровней (такие, как ТСР и IP), но также спецификации для таких общих
применений, как почта, эмуляция терминалов и передача файлов. На Рис.
4.10 представлены некоторые из наиболее важных протоколов Internet и их
связь с эталонной моделью OSI.
(рис 4.10) Internet Protocol Suite and the OSI Reference ModelПроцесс разработки и выдачи документации протоколов Internet скорее
напоминает академический исследовательский проект, чем что-либо другое.
Протоколы определяются в документах, называемых Requests for Comments
(RFC) (Запросы для Комментария). RFC публикуются, а затем рецензируются
и анализируются специалистами по Internet. Уточнения к протоколам
публикуются в новых RFC. Взятые вместе, RFC обеспечивают красочную
историю людей, компаний и направлений, которые формировали разработку
комплекта протоколов для открытой системы, который сегодня является
самым популярным в мире.
Сетевой уровень
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 ) содержит информацию высших уровней.
Адресация
Как и у других протоколов сетевого уровня, схема адресации IP является
интегральной по отношению к процессу маршрутизации дейтаграмм IP через
объединенную сеть. Длина адреса IP составляет 32 бита, разделенных на
две или три части. Первая часть обозначает адрес сети, вторая (если она
имеется) - адрес подсети, и третья - адрес главной вычислительной
машины. Адреса подсети присутствуют только в том случае, если
администратор сети принял решение о разделении сети на подсети. Длина
полей адреса сети, подсети и главной вычислительной машины являются
переменными величинами.
Адресация IP обеспечивает пять различных классов сети. Самые крайние
левые биты обозначают класс сети.
Class AСети класса А предназначены главным образом для использования с
несколькими очень крупными сетями, т.к. они обеспечивают всего 7 битов
для поля адреса сети.
Class BСети класса В выделяют 14 битов для поля адреса сети и 16 битов для
поля адреса главной вычислительной машины. Этот класс адреса
обеспечивает хороший компромисс между адресным пространством сети и
главной вычислительной машины.
Class CСети класса С выделяют 22 бита для поля адреса сети. Однако сети класса
С обеспечивают только 8 битов для поля адреса главной вычислительной
машины, поэтому число главных вычислительных машин, приходящихся на
сеть, может стать ограничивающим фактором.
Class DАдреса класса D резервируются для групп с многопунктовой адресацией (в
соответствии с официальным документом RFC 1112). В адресах класса D
четыре бита наивысшего порядка устанавливаются на значения 1,1,1 и 0.
Class EАдреса класса Е также определены IP, но зарезервированы для
использования в будущем. В адресах класса Е все четыре бита наивысшего
порядка устанавливаются на 1.
Адреса IP записываются в формате десятичного числа с проставленными
точками, например, 34.0.0.1. На рис. 4.12 представлены форматы адресов
для сетей IP классов А, В и С.
(рис 4.12) Class A, B and C Address FormatsСети IP могут также быть разделены на более мелкие единицы, называемые
подсетями ( subnets ). Подсети обеспечивают дополнительную гибкость для
администратора сети. Например, предположим, что какой-то сети назначен
адрес класса В , и что все узлы в сети в данный момент соответствуют
формату адреса класса В. Далее предположим, что представлением адреса
этой сети в виде десятичного числа с точками является 128.10.0.0.
(наличие одних нулей в поле адреса главной вычислительной машины
обозначает всю сеть). Вместо того, чтобы изменять все адреса на
какой-то другой базовый сетевой номер, администратор может подразделить
сеть, воспользовавшись организацией подсетей. Это выполняется путем
заимствования битов из части адреса, принадлежащей главной
вычислительной машине, и их использования в качестве поля адреса
подсети, как показано на Рис. 4.13.
(рис 4.13) Subnet AddressЕсли администратор сети решил использовать восемь битов для организации
подсети, то третья восьмерка адреса IP класса В обеспечивает номер этой
подсети. В нашем примере адрес 128.10.0. относится к сети 128.10,
подсети 1; адрес 128.10.2.0. относится к сети 128.10, подсети 2, и т.д.
Число битов, занимаемых для адреса подсети, является переменной
величиной. Для задания числа используемых битов IP обеспечивает маску
подсети. Маски подсети используют тот же формат и технику представления
адреса, что и адреса IP. Маски подсети содержат единицы во всех битах,
кроме тех, которые определяют поле главной вычислительной машины.
Например, маска подсети, которая назначает 8 битов организации подсети
для адреса 34.0.0.0. класса А, представляет собой выражение 255.255.0.0. Маска подсети, которая определяет 16 битов организации
подсети для адреса 34.0.0.0. класса А, представляется выражением 255.255.255.0. Обе эти маски изображены на Рис. 4.14.
(рис 4.14) Sample Subnet AddressДля некоторых носителей (таких как локальные сети IEEE 802), адреса
носителя и адреса IP определяются динамически путем использования двух
других составляющих комплекта протоколов Internet: Address Resolution
Protocol (ARP) (Протокол разрешения адреса) и Reverse Address
Resolution Protocol (RARP) (Протокол разрешения обратного адреса). ARP
использует широковещательные сообщения для определения аппаратного
адреса (уровень МАС), соответствующего конкретному межсетевому адресу.
ARP обладает достаточной степенью универсальности, чтобы позволить
использование IP с практически любым типом механизма, лежащего в основе
доступа к носителю. RARP использует широковещательные сообщения для
определения адреса объединенной сети, связанного с конкретным
аппаратным адресом. RARP особенно важен для узлов, не имеющих диска,
которые могут не знать своего межсетевого адреса, когда они выполняют
начальную загрузку.
Маршрутизация Internet
Устройства маршрутизации в сети Internet традиционно называются шлюзами
(gateway), что является очень неудачнным термином, т.к. повсеместно в
индустрии сетей этот термин применяют для обозначения устройства с
несколько иными функциональными возможностями. Шлюзы (которые мы с
этого момента будем называть роутерами) в сети Internet организованы в
соответствии с иерархическим принципом. Некоторые роутеры используются
для перемещения информации через одну конкретную группу сетей,
находящихся под одним и тем же административным началом и управлением
(такой объект называется автономной системой - autonomous system).
Роутеры, используемые для обмена информацией в пределах автономных
систем, называются внутренними роутерами (interior routers); они
используют различные протоколы для внутренних роутеров (interior
gateway protocol - IGP) для выполнения этой задачи. Роутеры, которые
перемещают информацию между автономными системами, называются внешними
роутерами (exterior routers); для этого они используют протоколы для
внешних роутеров. Архитектура Internet представлена на Рис. 4.15.
(рис 4.15) Internet ArchitectureПротоколы маршрутизации IP-это динамичные протоколы. При динамичной
маршрутизации ( dynamic routing ) запросы о маршрутах должны
рассчитываться программным обеспечением устройств маршрутизации через
определенные интервалы времени. Этот процесс противоположен статической
маршрутизации ( static routing ), при которой маршруты устанавливаются
администратором сети и не меняются до тех пор, пока администратор сети
не поменяет их. Таблица маршрутизации IP состоит из пар "адрес
назначения/следующая пересылка". Образец записи данных, показанный
на Рис. 4.16, интерпретируется как имеющий значение "добраться до
сети 34.1.0.0. (подсеть 1 сети 34), следующей остановкой является узел
с адресом 54.34.23.12."
(рис 4.16) IP Routing TableМаршрутизация IP определяет характер перемещения дейтаграмм IP через
объединенные сети (по одной пересылке за раз). В начале путешествия
весь маршрут не известен. Вместо этого на каждой остановке вычисляется
следующий пункт назначения путем сопоставления адреса пункта
назначения, содержащегося в дейтаграмме, с записью данных в маршрутной
таблице текущего узла. Участие каждого узла в процессе маршрутизации
состоит только из продвижения пакетов, базируясь только на внутренней
информации, вне зависимости от того, насколько успешным будет процесс и
достигнет или нет пакет конечного пункта назначения. Другими словами,
IP не обеспечивает отправку в источник сообщений о неисправностях,
когда имеют место аномалии маршрутизации. Выполнение этой задачи
предоставлено другому протоколу Internet, а именно Протоколу
управляющих сообщений Internet ( Internet Control Message Protocol
ICMP).
ICMP
ICMP выполняет ряд задач в пределах объединенной сети IP. В дополнение
к основной задаче, для выполнения которой он был создан (сообщение
источнику об отказах маршрутизации), ICMP обеспечивает также метод
проверки способности узлов образовывать повторное эхо в объединенной
сети (сообщения Echo и Reply ICMP), метод стимулирования более
эффективной маршрутизации (сообщение Redirect ICMP - переадресация
ICMP), метод информирования источника о том, что какая-то дейтаграмма
превысила назначенное ей время существования в пределах данной
объединенной сети (сообщение Time Exceeded ICMP - "время
превышено") и другие полезные сообщения. Сделанное недавно
дополнение к IСМР обеспечивает для новых узлов возможность нахождения
маски подсети, используемой в межсети в данный момент. В целом, ICMP
является интегральной частью любых реализаций IP, особенно таких,
которые используются в роутерах.
Конкретные протоколы маршрутизации IP рассматриваются в других главах
данной книги. Например, RIP, OSPF, EGP и BGP рассматриваются в Главе 5.
IS-IS также является официальным протоколом маршрутизации IP; он
рассматривается также в Главе 5.
Транспортный уровень
Транспортный уровень Internet реализуется ТСР и Протоколом Дейтаграмм
Пользователя ( User Datagram Protocol - UDP ). ТСР обеспечивает
транспортировку данных с установлением соединения, в то время как UDP
работает без установления соединения.
Протокол управления передачей (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 ) обозначает различные факультативные
возможности ТСР.
Протокол дейтаграмм пользователя (UDP)
Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда
мощные механизмы обеспечения надежности протокола ТСР не обязательны.
Заголовок UDP имеет всего четыре поля: поле порта источника ( source
port ), поле порта пункта назначения ( destination port ), поле длины
( length ) и поле контрольной суммы UDP ( checksum UDP ). Поля порта
источника и порта назначения выполняют те же функции, что и в заголовке
ТСР. Поле длины обозначает длину заголовка UDP и данных; поле
контрольной суммы обеспечивает проверку целостности пакета. Контрольная
сумма UDP является факультативной возможностью.
Протоколы высших уровней
Комплект протоколов 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 (XDR) (Представление внешней информации) и Remote
Procedure Call (RPC) (Вызов процедуры обращений к отдаленной сети)
обеспечивает прозрачный доступ к ресурсам отдаленной сети. Простой
протокол передачи почты ( Simple Mail Transfer Protocol - SMTP)
обеспечивает механизм передачи электронной почты. Эти и другие
применения используют услуги ТСР/IP и других протоколов Internet низших
уровней, чтобы обеспечить пользователей базовыми сетевыми услугами.
Протоколы NetWare
Библиографическая справка
NetWare является операционной системой сети ( network operating system -
NOS) и связанной с ней средой обеспечения услуг, разработанной Novell,
Inc. и представленной на рынок в начале 1980 гг. В то время сети были
небольшими и преимущественно гомогенными, связь рабочих групп с помощью
локальных сетей была еще новым явлением, а идея о персональном
компьютере еще только начала завоевывать популярность.
Большая часть технологии организации сетей NetWare была заимствована из Xerox Network Systems (XNS) - системы организации сетей, разработанной
Xerox Corporation в конце 1970 гг. Подробная информация о XNS приведена в
пункте "XNS".
K началу 1990 гг. доля в рынке NOS NetWare возросла до 50-75 % (данные
зависят от исследовательских групп, занимавшихся изучением рынка).
Установив свыше 500,000 сетей NetWare по всему миру и ускорив
продвижение по пути объединения сетей с другими сетями, NetWare и
поддерживающие ее протоколы часто сосуществуют на одном и том же
физическом канале с многими другими популярными протоколами, в том
числе ТСР/IP, DECnet и AppleTalk.
Основы технологии
В качестве среды NOS, NetWare определяет пять высших уровней эталонной
модели OSI. Она обеспечивает совместное пользование файлами и
принтером, поддержку различных прикладных задач, таких как передача
электронной почты и доступ к базе данных, и другие услуги. Также, как и
другие NOS, такие как Network File System (NFS) компании Sun
Microsystems, Inc. и LAN Manager компании Microsoft Corporation,
NetWare базируется на архитектуре клиент-сервер ( client-server
architecture ). В таких архитектурах клиенты (иногда называемые рабочими
станциями) запрашивают у серверов определенные услуги, такие как доступ
к файлам и принтеру.
Первоначально клиентами NetWare были небольшие РС, в то время как
серверами были ненамного более мощные РС. После того, как NetWare стала
более популярной, она была перенесена на другие компьютерные платформы.
В настоящее время клиенты и сервера могут быть представлены практически
любым видом компьютерной системы, от РС до универсальных вычислительных
машин.
Основная характеристика системы клиент-сервер заключается в том, что
доступ к отдаленной сети является прозрачным для пользователя. Это
достигается с помощью удаленного вызова процедур ( remote procedure
calls ) - такого процесса, когда программа местного компьютера,
работающая на оборудовании клиента, отправляет вызов в удаленный
сервер. Этот сервер выполняет указанную процедуру и возвращает
запрошенную информацию клиенту местного компьютера.
Рис. 4.19 иллюстрирует в упрощенном виде известные протоколы NetWare и
их связь с эталонной моделью OSI. При наличии соответствующих
драйверов, NetWare может работать с любым протоколом доступа к
носителю. На рисунке перечислены те протоколы доступа к носителю,
которые в настоящее время обеспечиваются драйверами NetWare.
(рис 4.19) NetWare and the OSI Reference Model
Доступ к среде
NetWare работает с Ethenet/IEEE 802.3, Token Ring/IEEE 802.5, Fiber
Distributed Data Interface (FDDI) и ARCnet. Информация о Ethernet/IEEE
802.3 дается в Главе 2, о Token
Ring/IEEE 802.5 - Главе 2, o FDDI -
в Главе 2. NetWare также работает в синхронных каналах
глобальных сетей, использующих Point-to-Point Protocol (PPP) (Протокол
непосредственных соединений). РРР подробно рассматривается в Главе 2.
ARСnet представляет собой систему простой сети, которая поддерживает
все три основных носителя (скрученную пару, коаксиальный кабель и
волоконно-оптический кабель) и две топологии (шина и звезда). Она была
разработана корпорацией Datapoint Corporation и выпущена в 1977. Хотя
ARCnet не приобрела такую популярность, какой пользуются Ethernet и
Token Ring, ее гибкость и низкая стоимость завоевали много верных
сторонников.
Сетевой уровень
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.
Транспортный уровень
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".
Протоколы высших уровней
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
Библиографическая справка
В первые годы появления межкомпьютерной связи программное обеспечение
организации сетей создавалось бессистемно, для каждого отдельного
случая. После того, как сети приобрели достаточную популярность,
некоторые из разработчиков признали необходимость стандартизации
сопутствующих изделий программного обеспечения и разработки аппаратного
обеспечения. Считалось, что стандартизация позволит поставщикам
разработать системы аппаратного и программного обеспечения, которые
смогут сообщаться друг с другом даже в том случае, если в их основе
лежат различные архитектуры. Поставив перед собой эту цель, ISO начала
разработку эталонной модели Open Systems Interconnections (OSI)
(Взаимодействие открытых систем). Эталонная модель OSI была завершена и
выпущена в 1984 г.
В настоящее время эталонная модель OSI (подробно рассмотренная в Главе 1) является самой выдающейся
в мире моделью архитектуры объединенных сетей. Она также является самым
популярным средством приобретения знаний о сетях. С другой стороны, у
протоколов OSI был длинный период созревания. И хотя известно о
некоторых реализациях OSI, протоколы OSI все еще не завоевали той
популярности, которой пользуются многие патентованные протоколы
(например, DECnet и АppleTalk) и действующие стандарты (например,
протоколы Internet).
Основы технологии
объединение сетей OSI использует уникальную терминологию.
End system (ES)Термин "конечная система" относится к любому устройству сети,
не занимающемуся маршрутизацией.
Intermediate system (IS)Термин "промежуточная система" относится к роутеру.
Area"Область" обозначает группу смежных сетей и подключенных к
ним хостов; область назначается администратором сети или другим
аналогичным лицом.
Domain"Домен" представляет собой набор соединенных областей. Домены
маршрутизации обеспечивают полную связность со всеми конечными
системами, находящимися в их пределах.
Доступ к среде
Также, как и некоторые другие современные 7-уровневые комплекты
протоколов, комплект OSI включает в себя многие популярные сегодня
протоколы доступа к носителю. Это позволяет другим комплектам
протоколов существовать наряду с OSI в одном и том же носителе. В OSI
входят IEEE 802.2, IEEE 802.3, IEEE 802.5, FDDI, X.21, V.35, X.25 и
другие. Большинство из этих протоколов доступа к носителю OSI уже
рассматривались в данной книге.
Сетевой уровень
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) протокола или аналогичного поля канального уровня.
Услуги без установления соединения
Как видно из названия, CLNP является протоколом дейтаграмм без
установления соединения, который используется для переноса данных и
указателей неисправности. По своим функциональным возможностям он похож
на Internet Protocol (IP), описанный в пункте "Протоколы
Internet". Он не содержит средств обнаружения ошибок и их
коррекции, полагаясь на способность транспортного уровня обеспечить
соответствующим образом эти услуги. Он содержит только одну фазу,
которая называется "передача информации" ( data transfer ).
Каждый вызов какого-либо примитива услуг не зависит от всех других
вызовов, для чего необходимо, чтобы вся адресная информация полностью
содержалась в составе примитива.
В то время как CLNP определяет действующий протокол, выполняющий
типичные функции сетевого уровня, CLNS (Обслуживание сети без
установления соединения) описывает услуги, предоставляемые
транспортному уровню, в котором запрос о передаче информации
реализуется доставкой, выполненной с наименьшими затратами (best
effort). Такая доставка не гарантирует, что данные не будут потеряны,
испорчены, что в них не будет нарушен порядок, или что они не будут
скопированы. Обслуживание без установления соединения предполагает, что
при необходимости все эти проблемы будут устранены в транспортном
уровне. CLNS не обеспечивает никаких видов информации о соединении или
состоянии, и не выполняет настройку соединения. Т.к. CLNS обеспечивает
транспортные уровни интерфейсом услуг, сопрягающим с CLNP, протоколы
CLNS и 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.
Адресация
Услуги сети OSI предоставляются транспортному уровню через
концептуальную точку на границе сетевого и транспортного уровней,
известную под названием "точки доступа к услугам сети"
( network service access point - NSAP ). Для каждого объекта
транспортного уровня имеется одна NSAP.
Каждая NSAP может быть индивидуально адресована в объединенной
глобальной сети с помощью адреса NSAP (в обиходе существует неточное
название - просто NSAP). Таким образом, любая конечная система OSI
имеет, как правило, множество адресов NSAP. Эти адреса обычно
отличаются только последним байтом, называемом n-selector.
Возможны случаи, когда полезно адресовать сообщение сетевому уровня
системы в целом, не связывая его с конкретным объектом транспортного
уровня, например, когда система участвует в протоколах маршрутизации
или при адресации к какой-нибудь промежуточной системе (к роутеру).
Подобная адресация выполняется через специальный адрес сети, известный
под названием network entity title (NET) (титул объекта сети).
Структурно NET идентичен адресу NSAP, но он использует специальное
значение n-selector "00". Большинство конечных и
промежуточных систем имеют только один NET, в отличие от роутеров IP,
которые обычно имеют по одному адресу на каждый интерфейс. Однако
промежуточная система, участвующая в нескольких областях или доменах,
имеет право выборa на обладание несколькими NET.
Адреса NET и NSAP являются иерархическими адресами. Адресация к
иерархическим системам облегчает как управление (путем обеспечения
нескольких уровней управления), так и маршрутизацию (путем кодирования
информации о топологии сети). Адрес NSAP сначала разделяется на две
части: исходная часть домена ( initial domain part - IDP ) и специфичнaя
часть домена ( domain specific part - DSP ). IDP далее делится на
идентификатор формата и полномочий ( authority and format identifier -
AFI ) и идентификатор исходного домена ( initial domain identifier -
IDI ).
AFI обеспечивает информацию о структуре и содержании полей IDI и DSP, в
том числе информацию о том, является ли IDI идентификатором переменной
длины и использует ли DSP десятичную или двоичную систему счислений.
IDI определяет объект, который может назначать различные значения части
DSP адреса.
DSP далее подразделяется полномочным лицом, ответственным за ее
управление. Как правило, далее следует идентификатор другого
управляющего авторитета, чем обеспечивается дальнейшее делегирование
управления адресом в подорганы управления. Далее идет информация,
используемая для маршрутизации, такая, как домены маршрутизации,
область (area) с доменом маршрутизации, идентификатор (ID) станции в
пределах этой области и селектор (selector) в пределах этой станции.
Рис. 4.23 иллюстрирует формат адреса OSI.
(рис 4.23) OSI Address Format
Транспортный уровень
Как обычно для сетевого уровня 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
обеспечивает надежные услуги по транспортировке. Его применение
предполагает сеть, в которой проблемы не выявляются.
Протоколы высших уровней
Основные протоколы высших уровней OSI представлены на Рис. 4.24.
(рис 4.24) Principle OSI Upper-Layer ProtocolsСеансовый уровень
Протоколы сеансового уровня OSI преобразуют в сеансы потоки данных,
поставляемых четырьмя низшими уровнями, путем реализации различных
управляющих механизмов. В число этих механизмов входит ведение учета,
управление диалогом (т.е. определение, кто и когда может говорить) и
согласование параметров сеанса.
Управление диалогом сеанса реализуется путем использования маркера
( token ), обладание которым обеспечивает право на связь. Маркер можно
запрашивать, и конечным системам ES могут быть присвоены приоритеты,
обеспечивающие неравноправное пользование маркером.
Представительный уровень
Представительный уровень OSI, как правило, является просто проходным
протоколом для информации из соседних уровней. Хотя многие считают, что Abstract Syntax Notation 1 (ASN.1) (Абстрактное представление
синтаксиса) является протоколом представительного уровня OSI, ASN.1
используется для выражения форматов данных в независимом от машины
формате. Это позволяет осуществлять связь между прикладными задачами
различных компьютерных систем способом, прозрачным для этих прикладных
задач.
Прикладной уровень
Прикладной уровень ОSI включает действующие протоколы прикладного
уровня, а также элементы услуг прикладного уровня ( application service
elements - ASE ). ASE обеспечивают легкую связь протоколов прикладного
уровня с низшими уровнями. Тремя наиболее важными ASE являются Элемент
услуг управления ассоциацией ( Association Control Service Element -
ACSE ), Элемент услуг получения доступа к операциям отдаленного
устройства ( Remote Operations Service Element - ROSE ) и Элемент услуг
надежной передачи ( Reliable Transfer Service Element - RTSE ). При
подготовке к связи между двумя протоколами прикладного уровня ACSE
объединяет их имена друг с другом. ROSE реализует родовой (generic)
механизм "запрос/ответ", который разрешает доступ к операциям
отдаленного устройства способом, похожим на вызовы процедуры обращений
к отделенной сети ( remote procedure calls - RPC ). RTSE способствует
надежной доставке, делая конструктивные элементы сеансового уровня
легкими для использования. Наибольшего внимания заслуживают следующие
пять протоколов прикладного уровня OSI:
Common Management Information Protocol (CMIP)Протокол общей информации управления - протокол управления сети OSI
Также, как и SNMP и Net View (см. Главу 7), он обеспечивает обмен
управляющей информацией между ES и станциями управления (которые также
являются ES).
Directory Services (DS)Услуги каталогов. Разработанная на основе спецификации Х.500 CCITT, эта
услуга предоставляет возможности распределенной базы данных, которые
полезны для идентификации и адресации узлов высших ровней.
File Transfer,Access, and Management (FTAM)Передача, доступ и управление файлами - услуги по передаче файлов. В
дополнение к классической передаче файлов, для которой FTAM
обеспечивает многочисленные опции, FTAM также обеспечивает средста
доступа к распределенным файлам таким же образом, как это делает
NetWare компании Novell, Inc или Network File System (NFS) компании Sun
Microsystems, Inc.
Massage Handling Systems (MHS)Системы обработки сообщений - обеспечивает механизм, лежащий в основе
транспортировки данных для прикладных задач передачи сообщений по
электронной почте и других задач, требующих услуг по хранению и
продвижению данных. Хотя они и выполняют аналогичные задачи, MHS не
следует путать с NetWare MHS компании Novell (смотри пункт
"Протоколы NetWare").
Virtual Terminal Protocol (VTP)Протокол виртуальных терминалов - обеспечивает эмуляцию терминалов.
Другими словами, он позволяет компьютерной системе для отдаленной ES
казаться непосредственно подключенным терминалом. С помощью VTP
пользователь может, например, выполнять дистанционные работы на
универсальных вычислительных машинах.
Banyan VINES
Библиографическая справка
Компания Banyan Virtual Network System (VINES) реализовала систему
распределенной сети, базирующуюся на семействе патентованных
протоколов, разработанных на основе протоколов Xerox Network Systems
(XNS) компании XEROX. Среда
распределенной системы обеспечивает прозрачный для пользователя обмен
информации между клиентами (компьютерами пользователя) и служебными
устройствами (компьютерами специального назначения, которые
обеспечивают услуги, такие, как файловое и принтерное обслуживание).
Наряду с NetWare компании Novell, LAN Server компании IBM и LAN Manager
компании Microsoft, VINES является одной из самых популярных сред
распределенной системы для сетей, базирующихся на микрокомпьютерах.
Основы технологии
Комплект протоколов VINES представлен на Рис. 4.25.
(рис 4.25) VINES Protocol Stack
Доступ к среде
Два низших уровня комплекта протоколов VINES реализованы с помощью
различных общеизвестных механизмов доступа к носителю, включая
Управление информационным каналом высшего уровня (HDLC), Х.25 (смотри Главу 3), Ethernet и Тоken Ring (смотри Главу 2).
Сетевой уровень
Для выполнения функций Уровня 3 (в том числе маршрутизации в
объединенной сети) VINES использует Протокол межсетевого обмена VINES
( VINES Internetwork Protocol - VIP ). VINES также обеспечивает
собственный Протокол разрешения адреса (ARP), собственную версию
Протокола информации маршрутизации ( Routing Information Protocol -
RIP ), которая называется Протоколом корректировки маршрутизации
( Routing Update Protocol - RTP ) и Протокол управления Internet (ICP),
который обеспечивает обработку исключительных состояний и специальной
информации о затратах маршрутизации. Пакеты ICP, RTP и ARP формируются
в заголовке VIP.
Протокол межсетевого обмена VINES (VIP)
Адреса сетевого уровня VINES являются 48-битовыми объектами,
подразделенными на сетевую (32 бита) и подсетевую (16 битов) части.
Сетевой номер можно описать как номер какого-нибудь служебного
устройства, т.к. он получается непосредственно из ключа (key)
служебного устройства (аппаратного модуля, который обозначает
уникальный номер и программные опции для данного служебного
устройства). Подсетевая часть адреса VINES лучше всего описывается как
номер хоста, т.к. он используется для обозначения хоста в сетях VINES.
Рис. 4.26 иллюстрирует формат адреса VINES.
(рис 4.26) VINES Address FormatСетевой номер обозначает логическую сеть VINES, которая представлена в
виде двухуровневого дерева, корень которого находится в узле
обслуживания ( service node ). Узлы обслуживания, которыми обычно
являются служебные устройства, обеспечивают услуги резрешения адреса и
услуги маршрутизации клиентам (client), которые являются листьями этого
дерева. Узел обслуживания назначает адреса VIP клиентам.
Когда какой-нибудь клиент включает питание, он направляет
широковещательный запрос служебным устройствам. Все служебные
устройства, которые получают этот запрос, посылают ответ. Клиент
выбирает первый ответ и запрашивает у данного служебного устройства
адрес подсети (хоста). Служебное устройство отвечает адресом, состоящим
из его собственного сетевого адреса (полученного из его ключа),
объединенного с адресом подсети (хоста), который он выбрал сам. Адреса
подсети клиента обычно назначаются последовательно, начиная с 8001H.
Адреса подсети служебного устройства всегда 1. Процесс выбора адреса
VINES показан на Рис. 4.27.
(рис 4.27) VINES Address Selection ProcessДинамичное назначение адреса не является уникальным явлением в
индустрии сетей (AppleTalk также использует этот процесс); однако этот
процесс определенно не является таким обычным процессом, как
статическое назначение адреса. Т.к. адреса выбираются исключительно
каким-нибудь одним конкретным служебным устройством (чей адрес является
уникальным вследствие уникальности аппаратного ключа), вероятность
дублирования адреса (что является потенциально опасной проблемой для
сети Internet Protocol (IP) и других сетей) очень мала.
В схеме сети VINES все служебные устройства с несколькими интерфейсами
в основном являются роутерами. Клиенты всегда выбирают свое собственное
служебное устройство в качестве роутера для первой пересылки, даже если
другое служебное устройство, подключенное к этому же кабелю,
обеспечивает лучший маршрут к конечному пункту назначения. Клиенты
могут узнать о других роутерах, получая переадресованные сообщения от
своего служебного устройства. Т.К. клиенты полагаются на свои служебные
устройства при первой пересылке маршрутизации, служебные устройства
VINES поддерживают маршрутные таблицы, которые помогают им находить
отдаленные узлы.
Маршрутные таблицы VINES состоят из пар "хост/затраты", гдe
хост соответствует сетевому узлу, до которого можно дойти, а затраты -
временной задержке в миллисекундах, необходимой для достижения этого
узла. RTP помогает служебным устройствам VINES находить соседних
клиентов, служебные устройства и роутеры.
Все клиенты периодически объявляют как о своих адресах сетевого уровня,
так и о адресах МАС-уровня с помощью пакета, эквивалентого пакету
"hello" (приветственное сообщение). Пакеты "hello"
означают, что данный клиент все еще работает и сеть готова. Сами
служебные устройства периодически отправляют в другие служебные
устройства маршрутные корректировки. Маршрутные корректировки извещают
другие роутеры об изменениях адресов узлов и топологии сети.
Когда какое-нибудь служебное устройство VINES принимает пакет, оно
проверяет его, чтобы узнать, для чего он предназначается - для другого
служебного устройства или для широкого вещания. Если пунктом назначения
является данное служебное устройство, то это служебное устройство
соответствующим образом обрабатывает этот запрос. Если пунктом
назначения является другое служебное устройство, то данное служебное
устройство либо непосредственно продвигает этот пакет (если это
служебное устройство является его соседом), либо направляет его в
служебное устройство/роутер, которые являются следующими в очереди.
Если данный пакет является широковещательным, то данное служебное
устройство проверяет его, чтобы узнать, пришел ли этот пакет с маршрута
с наименьшими затратами. Если это не так, то пакет отвергается. Если же
это так, то пакет продвигается на всех интерфейсах, за исключением
того, на котором этот пакет был принят. Такой метод помогает уменьшить
число широковещательных возмущений, которые являются обычной проблемой
в других сетевых окружениях. Aлгоритм маршрутизации VINES представлен
на Рис. 4.28.
(рис 4.28) VINES Routing AlgorithmФормат пакета VIP представлен на Рис. 4.29.
(рис 4.29) VIP Packet FormatПакет VIP начинается с поля контрольной суммы ( checksum ), используемой
для обнаружения искажений в пакете.
За полем контрольной суммы идет поле длины пакета ( packet length ),
которое обозначает длину всего пакета VIP.
Следующим полем является поле управления транспортировкой ( transport
control ), которое состоит из нескольких подполей. Если пакет является
широковещательным, то предусматривается два подполя: подполе класса
( class ) (с 1 по 3 биты) и подполе числа пересылок ( hop-count ) (с 4 по 7
биты). Если пакет не является широковещательным пакетом, то
предусматривается 4 подполя: подполе ошибки ( error ), подполе показателя
( metric ), подполе переадресации ( redirect ), и подполе числа пересылок
( hop count ). Подполе класса определяет тип узла, который должен
принимать широковещательное сообщение. С этой целью узлы разделяются на
несколько различных категорий, зависящих от типа узла и типа канала, к
которому принадлежит узел. Определяя тип узлов, которые должны
принимать широковещательные сообщения, подполе класса уменьшает
вероятность срывов в работе, вызываемых широковещательными сообщениями.
Подполе числа пересылок представляет собой число пересылок (число
пересеченных роутеров), через которые прошел пакет. Подполе ошибок
определяет, надо ли протоколу ICP отправлять пакет уведомления об
исключительной ситуации в источник пакета, если пакет окажется
немаршрутизируемым. Подполе показателя устанавливается в 1 транспортным
объектом, когда ему необходимо узнать затраты маршрутизации при
перемещения пакетов между каким-нибудь узлом обслуживания и одним из
соседей. Подполе переадресации определяет, должен ли роутер
генерировать сигнал переадресации (при соответствующих
обстоятельствах).
Далее идет поле типа протокола ( protocol type ), указывающее на протокол
сетевого или транспортного уровня, для которого предназначен пакет
показателя или пакет уведомления об исключении.
За полем типа протокола следуют адресные поля VIP. За полями номера
сети назначения ( destination network number ) и номера подсети
назначения ( destination subnetwork number ) идут поля номера сети
источника ( sourсe network number ) и номера подсети источника ( source
subnetwork number ).
Протокол корректировки маршрутизации (RTP)
RTP распределяет информацию о топологии сети. Пакеты корректировки
маршрутизации периодически пересылаются широкой рассылкой как клиентом,
так и узлами обслуживания. Эти пакеты информируют соседей о
существовании какого-нибудь узла, а также указывают, является ли этот
узел клиентом или узлом обслуживания. В каждый пакет корректировки
маршрутизации узла обслуживания также включается перечень всех
известных сетей и коэффициенты затрат, связанные с достижением этих
сетей.
Поддерживаются две маршрутные таблицы: таблица всех известных сетей и
таблица соседей. Для узлов обслуживания таблица всех известных сетей
содержит запись данных о каждой известной сети, за исключением
собственной сети узла обслуживания. Каждая запись содержит номер сети,
показатель маршрутизации и указатель на запись данных следующей
пересылки на пути к данной сети в таблице соседей. Таблица соседей
содержит запись данных каждого узла обслуживания соседа и узла клиента.
Записи включают в себя номер сети, номер подсети, протокол доступа к
носителю (например, Ethernet), который использовался для достижения
этого узла, адрес локальной сети (если средой, соединяющей с соседом,
является локальная сеть) и показатель соседа.
RTP определяет 4 типа пакетов:
Пакеты корректировки маршрутизации.Периодически выпускаются для уведомления соседей о существовании
какого-нибудь объекта.
Пакеты запроса о маршрутизации.объекты обмениваются ими, когда им необходимо быстро узнать о топологии
сети.
Пакеты ответа на запрос о маршрутизации.Содержат топологическую информацию и используются узлами обслуживания
для ответа на пакеты запроса о маршрутизации.
Пакеты переадресации маршрутизации.Обеспечивают отправку информации о лучших маршрутах в узлы,
использующие неэффективные тракты.
Пакеты RTP имеют 4-байтовый заголовок, состоящий из однобайтового поля
типа операций ( operation type ), однобайтового поля типа узла ( node
type ), однобайтового поля типа контроллера ( controller type ) и
однобайтового поля типа машины ( machine type ). Поле типа операций
указывает на тип пакета. Поле типа узла указывает, пришел пакет из узла
обслуживания или из необслуживающего узла. Поле типа контроллера
указывает, содержит ли контроллер узла, передающего пакет RTP,
многобуферный контроллер. Это поле используется для облегчения
регулирования информационного потока между сетевыми узлами. И наконец,
поле типа машины указывает, является ли процессор отправителя RTP
быстродействующим или нет. Как и поле типа контроллера, поле типа машины
также используется для регулирования скорости передачи.
Протокол разрешения адреса (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
реализуют следующий алгоритм. Сначала данный клиент отправляет широкой
рассылкой пакеты запросов-заявок. Затем каждая услуга, которая является
соседом данного клиента, отвечает пакетом ответа об услуге. Далее
данный клиент выдает пакет запроса о присваивании адреса в первую
услугу, которая ответила на его пакет запроса-заявки. Услуга отвечает
пакетом ответа о присваивании адреса, содержащем присвоенный адрес
объединенной сети.
Протокол управления объединеной сетью (ICP)
ICP определяет пакеты уведомления об исключительных ситуациях
( exception notification ) и уведомления о показателе ( metric
notification ). Пакеты уведомления об исключительных ситуациях
обеспечивают информацию об исключительных ситуациях сетевого уровня;
пакеты уведомления о показателе содержат информацию о последней
передаче, которая была использована для достижения узла клиента.
Уведомления об исключительной ситуации отправляются в том случае, когда
какой-нибудь пакет VIP не может быть соответствующим образом
маршрутизирован, и устанавливается подполе ошибки в поле управления
транспортировкой заголовка VIP. Эти пакеты также содержат поле,
идентифицирующее конкретную исключительную ситуацию по коду ошибки,
соответствующему этой ситуации.
Объекты ICP в узлах обслуживания генерируют сообщения уведомления о
показателе в том случае, когда устанавливается подполе показателя в
поле управления транспортировкой заголовка VIP, и адрес пункта
назначения в пакете узла обслуживания определяет одного из соседей
этого узла обслуживания.
Транспортный уровень
VINES обеспечивает три услуги транспортного уровня:
Unreliable datagram service.Услуги ненадежных дейтаграмм. Отправляет пакеты, которые
маршрутизируются на основе принципа "наименьших затрат"
(best-effort basis), но не подтверждаются сообщением о приеме в пункте
назначения.
reliable datagram service.Услуги надежных дейтаграмм. Услуга виртуальной цепи, которая
обеспечивает надежную упорядоченную доставку сообщений между узлами
сети с подтверждением о приеме. Надежное сообщение может быть передано
с максимальным числом пакетов, равным 4.
data stream service.Услуга потока данных. Поддерживает контролируемый поток данных между
двумя процессами. Услуга потока данных является услугой виртуальной
цепи с подтверждением о приеме, которая обеспечивает передачу сообщений
неограниченных размеров.
Протоколы высших уровней
Являясь распределенной сетью, VINES использует модель вызова процедуры
обращений к отдаленной сети ( remote procedure call - RPC ) для связи
между клиентами и служебными устройствами. RCP является основой сред
распределенных услуг. Протокол NetRPC (Уровни 5 и 6) обеспечивает язык
программирования высшего уровня, который позволяет осуществлять доступ
к отдаленным услугам способом, прозрачным как для пользователя, так и
для прикладной программы.
На Уровне 7 VINES обеспечивает протоколы файловых услуг и услуг
принтера, а также протокол услуг "StreetTalk name/directory".
StreetTalk, один из протоколов с торговым знаком компании VINES,
обеспечивает службу постоянных имен в глобальном масштабе для всей
объединенной сети.
VINES также обеспечивает среду разработки интегрированных применений
при наличии нескольких операционных систем, включая DOS и UNIX. Taкая
среда разработки позволяет третьей участвующей стороне осуществлять
разработку как клиентов, так и услуг, действующих в среде VINES.
Xerox Network Systems (XNS)
Библиографическая справка
Протоколы Xerox Network Systems (XNS) разработаны корпорацией Xerox в
конце 1970-начале 1980 гг. Они предназначены для использования в
разнообразных средах передачи, процессорах и прикладных задачах офиса.
Несколько протоколов XNS похожи на Протокол Internet (IP) и Протокол
управления передачей (TCP), разработанных агентством DARPA для
Министерства обороны США (DoD). Информация по этим и связанным с ними
протоколам дается в пункт "Протоколы Internet". Все
протоколы XNS соответствуют основным целям проектирования эталонной
модели OSI.
Благодаря своей доступности и раннему появлению на рынке, XNS был
принят большинством компаний, использовавших локальные сети с момента
их появления, в том числе компаниями Novell, Inc., Ungermann-Bass, Inc.
(которая теперь является частью Tandem Computers) и 3Com Corporation.
За время, прошедшее с тех пор, каждая из этих компаний внесла различные
изменения в протоколы XNS. Novell дополнила их Протоколом доступа к
услугам ( Service access protocol - SAP ), чтобы обеспечить объявление о
ресурсах, и модифицировала протоколы Уровня 3 OSI (которые Novell
переименовала в Internetwork Packet Exchange - IPX - Oбмен межсетевыми
пакетами) для работы в сетях IEEE 802.3, а не в сетях Ethernet.
Ungermann-Bass модифицировала RIP для поддержания задержки, а также
числа пересылок. Были также внесены другие незначительные изменения. С
течением времени реализации XNS для объединенных в сети РС стали более
популярными, чем XNS в том виде, в котором они были первоначально
разработаны компанией Xerox.
Основы технологии
Несмотря на то, что они имеют общие цели проектирования, концепция XNS
о иерархии протоколов несколько отличается от той концепции, которую
предлагает эталонная модель OSI. На Рис. 4.30 показано приблизительное
сравнение XNS и эталонной модели OSI.
(рис 4.30) XNS and the OSI Reference ModelКак видно из Рис. 4.30, Xerox обеспечивает 5-уровневую модель передачи
пакетов. Уровень 0, который отвечает за доступ к каналу и манипуляцию
потока битов, примерно соответствует Уровням 1 и 2 OSI. Уровень 1
примерно соответствует той части Уровня 3 OSI, которая относится к
сетевому трафику. Уровень 2 примерно соответствует части Уровня 3,
которая связана с маршрутизацией в объединенной сети, и Уровню 4 OSI,
который занимается связью внутри отдельных процессов. Уровни 3 и 4
примерно соответствуют двум верхним уровням модели OSI, которые заняты
структурированием данных, взаимодействием между отдельными процессами и
прикладными задачами. XNS не имеет протокола, соответствующего Уровню 5
OSI (сеансовый уровень).
Доступ к среде
Несмотря на то, что в документации XNS упоминаются X.25, Ethernet и
HDLC, XNS не дает четкого определения того, что она называет протоколом
уровня 0. Также, как и многие другие комплекты протоколов, XNS
оставляет вопрос о протоколе доступа к носителю открытым, косвенным
образом позволяя любому такому протоколу выполнять главную роль в
транспортировке пакетов XNS через физический носитель.
Сетевой уровень
Протокол сетевого уровня 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.
Транспортный уровень
Функции транспортного уровня 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 распознала дублированный
пакет.
Протоколы высших уровней
XNS предлагает несколько протоколов высших уровней. Протокол
"Печатание" ( Printing ) обеспечивает услуги принтера. Протокол
"Ведение картотеки" ( Filing ) обеспечивает услуги доступа к
файлам. Протокол "Очистка ( Сlearinghouse ) обеспечивает услуги,
связанные с присвоением имени. Каждый из этих протоколов работает в
дополнение к протоколу "Курьер" ( Сourier ), который
обеспечивает соглашения для структурирования данных и взаимодействия
процессов.
XNS также определяет протоколы уровня четыре. Это протоколы прикладного
уровня, но поскольку они имеют мало общего с фактическими функциями
связи, в спецификации XNS нет каких-либо определений по существу.
И наконец, протокол "Эхо" ( Echo Protocol ) используется для
тестирования надежности узлов сети XNS. Он используется для поддержки
таких функций, как функции, обеспечиваемые командой ping, которую можно
встретить в Unix и других средах. Спецификация XNS описывает протокол
"Эхо" как протокол уровня два.