Сетевой уровень
Протокол сетевого уровня 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.