Архитектуры цифровых сетей
Banyan VINES
Библиографическая справка
Компания Banyan Virtual Network System (VINES) реализовала систему распределенной сети, базирующуюся на семействе патентованных протоколов, разработанных на основе протоколов Xerox Network Systems (XNS) компании XEROX. Среда распределенной системы обеспечивает прозрачный для пользователя обмен информации между клиентами (компьютерами пользователя) и служебными устройствами (компьютерами специального назначения, которые обеспечивают услуги, такие, как файловое и принтерное обслуживание). Наряду с NetWare компании Novell, LAN Server компании IBM и LAN Manager компании Microsoft, VINES является одной из самых популярных сред распределенной системы для сетей, базирующихся на микрокомпьютерах.
Основы технологии
Комплект протоколов VINES представлен на Рис. 4.25.
Доступ к среде
Два низших уровня комплекта протоколов VINES реализованы с помощью различных общеизвестных механизмов доступа к носителю, включая Управление информационным каналом высшего уровня (HDLC), Х.25 (смотри "Протоколы" ), Ethernet и Тоken Ring (смотри "Технология доступа к среде" ).
Сетевой уровень
Для выполнения функций Уровня 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.
Сетевой номер обозначает логическую сеть VINES, которая представлена в виде двухуровневого дерева, корень которого находится в узле обслуживания ( service node ). Узлы обслуживания, которыми обычно являются служебные устройства, обеспечивают услуги резрешения адреса и услуги маршрутизации клиентам (client), которые являются листьями этого дерева. Узел обслуживания назначает адреса VIP клиентам.
Когда какой-нибудь клиент включает питание, он направляет широковещательный запрос служебным устройствам. Все служебные устройства, которые получают этот запрос, посылают ответ. Клиент выбирает первый ответ и запрашивает у данного служебного устройства адрес подсети (хоста). Служебное устройство отвечает адресом, состоящим из его собственного сетевого адреса (полученного из его ключа), объединенного с адресом подсети (хоста), который он выбрал сам. Адреса подсети клиента обычно назначаются последовательно, начиная с 8001H. Адреса подсети служебного устройства всегда 1. Процесс выбора адреса VINES показан на Рис. 4.27.
Динамичное назначение адреса не является уникальным явлением в индустрии сетей (AppleTalk также использует этот процесс); однако этот процесс определенно не является таким обычным процессом, как статическое назначение адреса. Т.к. адреса выбираются исключительно каким-нибудь одним конкретным служебным устройством (чей адрес является уникальным вследствие уникальности аппаратного ключа), вероятность дублирования адреса (что является потенциально опасной проблемой для сети Internet Protocol (IP) и других сетей) очень мала.
В схеме сети VINES все служебные устройства с несколькими интерфейсами в основном являются роутерами. Клиенты всегда выбирают свое собственное служебное устройство в качестве роутера для первой пересылки, даже если другое служебное устройство, подключенное к этому же кабелю, обеспечивает лучший маршрут к конечному пункту назначения. Клиенты могут узнать о других роутерах, получая переадресованные сообщения от своего служебного устройства. Т.К. клиенты полагаются на свои служебные устройства при первой пересылке маршрутизации, служебные устройства VINES поддерживают маршрутные таблицы, которые помогают им находить отдаленные узлы.
Маршрутные таблицы VINES состоят из пар "хост/затраты", гдe хост соответствует сетевому узлу, до которого можно дойти, а затраты - временной задержке в миллисекундах, необходимой для достижения этого узла. RTP помогает служебным устройствам VINES находить соседних клиентов, служебные устройства и роутеры.
Все клиенты периодически объявляют как о своих адресах сетевого уровня, так и о адресах МАС-уровня с помощью пакета, эквивалентого пакету "hello" (приветственное сообщение). Пакеты "hello" означают, что данный клиент все еще работает и сеть готова. Сами служебные устройства периодически отправляют в другие служебные устройства маршрутные корректировки. Маршрутные корректировки извещают другие роутеры об изменениях адресов узлов и топологии сети.
Когда какое-нибудь служебное устройство VINES принимает пакет, оно проверяет его, чтобы узнать, для чего он предназначается - для другого служебного устройства или для широкого вещания. Если пунктом назначения является данное служебное устройство, то это служебное устройство соответствующим образом обрабатывает этот запрос. Если пунктом назначения является другое служебное устройство, то данное служебное устройство либо непосредственно продвигает этот пакет (если это служебное устройство является его соседом), либо направляет его в служебное устройство/роутер, которые являются следующими в очереди. Если данный пакет является широковещательным, то данное служебное устройство проверяет его, чтобы узнать, пришел ли этот пакет с маршрута с наименьшими затратами. Если это не так, то пакет отвергается. Если же это так, то пакет продвигается на всех интерфейсах, за исключением того, на котором этот пакет был принят. Такой метод помогает уменьшить число широковещательных возмущений, которые являются обычной проблемой в других сетевых окружениях. Aлгоритм маршрутизации VINES представлен на Рис. 4.28.
Формат пакета VIP представлен на Рис. 4.29.
Пакет 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 ).