Протокол IPX
Рассмотрим вначале простейший дейтаграммный протокол XSIS и соответствующий ему протокол IPX. Эти протоколы не квитируют полученные дейтаграммы и не обеспечивают правильную доставку. Формат пакета-дейтаграммы у обоих протоколов совпадает с точностью до бита и приведен на рис. 43. Структура пакета включает в себя межсетевой заголовок и поле данных, возможно нулевое.
Длина, байт
Контрольная сумма 2
Длина 2
Управление 1
Тип пакета 1
Адрес отправителя: номер сети 4
адрес станции 6
сокет 2
Адрес получателя: номер сети 4
адрес станции 6
сокет 2
Данные 0-546
Рис. 43. Формат пакета-дейтаграммы IPX
Структура адреса в такой дейтаграмме складывается из трех полей: номера сети, адреса станции и номера порта или сокета, по терминологии NetWare.
Номер сети состоит из 32 бит и кодирует одну из сетей Ethernet или один из сегментов сети. Если сеть содержит мосты, то каждая сеть, подключенная через мост, должна иметь свой уникальный номер. Элементам сети, с которыми не устанавливаются соединения, например выделенным каналам связи, номера не назначаются. В качестве адреса сети-получателя могут использоваться:
• адрес, состоящий из всех нулей, обозначающий ту же сеть, что и у станции-отправителя;
• широковещательный адрес, состоящий из всех единиц, обозначает все подключенные сети;
• конкретный адрес одной из сетей.
Адрес станции состоит из 48 бит и соответствует адресу сетевой карты, он уникален для всех станций в сети. В качестве адреса станции-получателя можно использовать:
• широковещательный адрес, состоящий из всех единиц, обозначающий все станции;
• индивидуальный адрес станции, начинающийся с нуля;
• групповой адрес, он начинается с единицы и идентифицирует сразу несколько станций.
При посылке дейтаграммы допустимы любые комбинации номера сети и адреса станции. Можно обращаться ко всем станциям во всех сетях сразу ко всем станциям в своей собственной сети или к какой-либо другой сети, к группе станций и т. д. Все это справедливо для адреса приемника, адрес источника же всегда составлен из номера одной сети и индивидуального адреса станции.
Номер порта состоит из 16 бит и определяет конкретную программу или сервисную службу рабочей станции или сервера. Проверке на правильность контрольной суммы подлежат все поля дейтаграммы. Длина задается в байтах и должна быть четной. Длина самой короткой дейтаграммы не может быть меньше 30. Пакеты, длина которых меньше указанной, сразу сбрасываются.
Байт управления транспортировкой предназначен для "отлавливания" зациклившихся пакетов в больших сетях. При создании дейтаграммы данный байт устанавливается нулевым. При прохождении пакета из одной сети (сегмента сети) в другую через мост или модуль маршрутизации значение байта увеличивается на единицу. При поступлении пакета в 16-й по счету модуль маршрутизации такой пакет сбрасывается.
Тип пакета указывает на протокол верхнего уровня, который пользуется услугами пересылки дейтаграмм.
Такая передача данных является негарантированной в том смысле, что IPX-приемник не предусматривает подтверждения IPX-источнику того, что пакет успешно получен. Однако он позволяет определить, был ли пакет передан. Подтверждение о передаче пакета передается IPX-источником своей прикладной программе.