Протоколы Banyan

Сеть Banyan Network, известная как VINES (Virtual Networking System – виртуальная сетевая система), построена на базе операционной системы UNIX. VINES использует многопользовательские, многозадачные характеристики UNIX для организации взаимодействий между локальными и распределенными сетями. Стек протоколов Banyan включает следующие протоколы:

VARP VINES Address Resolution Protocol – протокол преобразования адресов.

VIP VINES Internet Protocol – протокол Internet.

ICP Internet Control Protocol – протокол управления межсетевыми взаимодействиями.

RTP Routing Update Protocol – протокол обновления маршрутов.

IPC InterProcess Communications Protocol – протокол обмена между процессами.

SPP Sequenced Packet Protocol – протокол последовательной передачи пакетов.

NetRPC NetRemote Procedure Call – протокол удаленных процедур.

StreetTalk.

На рисунке показано расположение стека протоколов Banyan в рамках эталонной модели OSI:

gif_6

Стек протоколов Banyan в модели OSI

VARP

Протокол преобразования адресов VARP (VINES Address Resolution Protocol) служит для нахождения адресов канального уровня DLC (Data Link Control) на основе IP-адресов(сетевой уровень).

Кадры

Кадры VARP могут иметь один из перечисленных типов:

[service request] запрос сервиса ARP.

[service reply] подтверждение доступности сервиса ARP.

[assign request] запрос выделения адреса IP.

[assign reply] выделенный IP-адрес.

Параметры

Пакеты VARP имеют следующие параметры:

Network (сеть)

Сетевой номер для серверов, отвечающих на запросы ARP и сетевой номер, присвоенный станции, запрашивающей адрес IP.

Server serial number (серийный номер сервера)

Десятичный эквивалент сетевого номера сервера.

Subnet (подсеть)

Номер подсети, выделенный системе, запрашивающей адрес VINES IP.

VIP

Протокол VIP (VINES Internet Protocol) обеспечивает перенос дейтаграмм через сеть.

Hop count (счетчик интервалов)

Максимальное число серверных хопов, через которые может пройти пакет до его отбрасывания. VIP декрементирует (уменьшает на 1) значение счетчика на каждом сервере (узле маршрутизации).

Error flag (флаг ошибки)

Флаг, определяющий действия при ошибках маршрутизации. Если этот флаг установлен, генерируется кадр ошибки ICP в случае ошибки, связанной с пакетом.

Metric flag (флаг метрики)

При установке этого флага (1) сервер-получатель передает метрический кадр ICP для того, чтобы сообщить о «стоимости» маршрута.

Broadcast class (класс широковещания)

VIP использует класс широковещания со счетчиком интервалов для определения требований к маршрутизации широковещательных пакетов. Поддерживаются следующие классы широковещания:

0 все достижимые узлы независимо от стоимости.

1 все достижимые узлы при разумной стоимости.

2 все достижимые узлы с низкой стоимостью.

3 все узлы ЛВС.

4 все достижимые серверы независимо от стоимости.

5 все достижимые серверы при разумной стоимости.

6 все достижимые серверы с низкой стоимостью.

7 все серверы ЛВС.

Destination Internet address (адрес отправителя)

Адрес VINES Internet узла-получателя, содержащий 8-значный шестнадцатеричный номер сети и 4-значный номер подсети или пользователя в формате XXXXXXXX.XXXX. VIP использует для серверов номера подсети 0x0001. Рабочие станции имеют номера подсети, начинающиеся с 0x8000.

Source Internet address (адрес получателя)

Адрес VINES Internet узла-отправителя, использующий такой же формат, как адрес получателя.

ICP

Протокол ICP (Internet Control Protocol) служит для передачи сообщений об ошибках и изменениях сетевой топологии. Кадры ICP могут содержать следующие параметры:

Cost (стоимость)

Стоимость маршрута, выраженная числом секунд, расходуемых для достижения указанного в метрических кадрах ICP узла.

Communication error (коммуникационная ошибка)

Сообщения об ошибках, возвращаемые в кадрах ошибок ICP. Поддерживаются следующие сообщения:

{Invalid socket} указан некорректный сокет.

{Resource in use} ресурс уже используется.

{Invalid operation} задана некорректная операция.

{Bad MemAddr par} некорректный параметр адресации памяти.

{Dest unreachable} узел получателя недостижим.

{Message overflow} переполнение сообщения.

{Bad Dest socket} некорректный сокет получателя.

{Bad Addr family} некорректное семейство адресов.

{Bad socket type} указанный сокет не существует.

{Bad protocol} протокол не существует.

{No more sockets} нет доступных сокетов.

{No more buffers} отсутствует доступное пространство в буфере.

{Timed out} тайм-аут для соединения.

{Bad operation} неподдерживаемая операция.

{Resource unavail} недоступный ресурс.

{Comm failure} внутренний коммуникационный сбой.

{H/W Reset failure} сбой при сбросе аппаратного контроллера.

{ARP error} ошибка преобразования адреса Internet.

{User terminated} запрос прерван пользователем.

{Protocol reset} произошел сброс протокола.

{Protocol discnct} произошло рассоединение протокола.

{User aborted} сообщение прервано пользователем.

{Resource discnct} ресурс отключен.

RTP

Протокол RTP (Routing Update Protocol) служит для рассылки информации о топологии сети.

Пакеты

Пакеты RTP бывают следующих типов:

[router update] обновление маршрута от маршрутизатора (сервера).

[endnode update] обновление маршрута оконечного узла (рабочей станции).

Параметры кадров

Пакеты RTP [router update] имеют следующие параметры:

Routing table size (размер таблицы маршрутизации)

Число записей в таблице маршрутизации, возвращаемой по запросу. Запись для каждого известного маршрутизатора представляется в форме XXXXXX(CC), где XXXXXXX задает номер сервера, а CC – стоимость маршрута до этого сервера. Единицей стоимости являются 200 мсек.

Host system type (тип хост-системы)

Хост-системы могут иметь следующие типы:

XT, MB PC-XT с многобуферным контроллером ЛВС.

AT, SB PC-AT с однобуферным контроллером ЛВС.

AT, MB PC-AT с многобуферным контроллером ЛВС.

Однобуферные контроллеры ЛВС используют оборудование и программы, которые требуют от протокола загрузки и передачи по одному блоку данных за каждый прием, тогда как многобуферные контроллеры способны передавать потоки данных.

IPC

Протокол IPC (InterProcess Communications) обеспечивает доставку пакетов с использованием дейтаграмм или на базе организации виртуальных соединений.

Кадры

Кадры IPC могут иметь следующие типы:

[data] перенос большого количества данных.

[error] уведомление об ошибке на транспортном уровне.

[detach] запрос на разрыв транспортного соединения.

[probe] запрос на повторную передачу отсутствующего кадра.

[data ack] подтверждение передачи данных.

Параметры кадров

Кадры IPC имеют следующие параметры:

Source port (порт-отправитель)

Интерфейс буфера сообщений, используемый транспортным уровнем для доступа к транспортному протоколу.

Destination port (порт-получатель)

Локальный порт назначения, используемый транспортным уровнем.

Sequence number (порядковый номер)

Числовой индекс, используемый для отслеживания порядка передачи кадров через виртуальное соединение. Для каждого из направлений передачи кадров через соединение используется своя нумерация.

Acknowledgement number (номер подтверждения)

Номер последнего кадра, полученного с другой стороны виртуального соединения.

Source connection ID (идентификатор отправителя)

Код, используемый для идентификации передающей стороны виртуального соединения.

Destination connection ID (идентификатор получателя)

Код, используемый для идентификации приемной стороны виртуального соединения.

SPP

Протокол последовательной передачи пакетов SPP (Sequenced Packet Protocol) обеспечивает надежную передачу данных на основе частных виртуальных соединений.

Кадры

Кадры SPP могут использовать один из перечисленных типов:

[detach] запрос на разрыв транспортного соединения.

[probe] запрос на передачу недостающего кадра.

[data ack] подтверждение передачи данных.

Параметры кадров

Кадры SPP имеют следующие параметры:

Source port (порт-отправитель)

Интерфейс буфера сообщений, используемый транспортным уровнем для доступа к транспортному протоколу.

Destination port (порт-получатель)

Локальный порт назначения, используемый транспортным уровнем.

Sequence number (порядковый номер)

Числовой индекс, используемый для отслеживания порядка передачи кадров через виртуальное соединение. Для каждого из направлений передачи кадров через соединение используется своя нумерация.

Acknowledgement number (номер подтверждения)

Номер последнего кадра, полученного с другой стороны виртуального соединения.

Source connection ID (идентификатор отправителя)

Код, используемый для идентификации передающей стороны виртуального соединения.

Destination connection ID (идентификатор получателя)

Код, используемый для идентификации приемной стороны виртуального соединения.

NetRPC

Протокол NetRPC (NetRemote Procedure Call) используется для доступа к приложениям VINES типа StreetTalk или VINES Mail. Для идентификации приложения VINES служит номер и версия программы. Вызовы приложений VINES должны содержать номер программы, ее версию и (по возможности) указатель на процедуру внутри программы.

Кадры

Кадры NetRPC могут использовать один из следующих типов:

[request] запрос от клиента VINES.

[reply] отклик от приложения VINES.

Параметры кадров

Кадры NetRPC могут содержать следующие параметры:

Transaction ID (идентификатор транзакции)

Код, используемый для указания соответствия между запросами и откликами NetRPC.

Program number (номер программы)

Код, используемый для идентификации запрашиваемого приложения.

Version number (номер версии)

Номер версии запрашиваемой программы.

Procedure number (номер процедуры)

Номер процедуры в запрашиваемом приложении.

Error status (состояние ошибок)

Состояние ошибок для отклика NetRPC.

StreetTalk

Протокол StreetTalk обеспечивает поддержку распределенного каталога имен сетевых ресурсов. В системе VINES имена являются глобальными в масштабах Internet и не зависят от топологии сети.

Запись опубликована в рубрике Мир протоколов. Добавьте в закладки постоянную ссылку.