passportwiki.ru

Протокол Sequenced Packed eXchange (SPX)

SPX – это транспортный протокол фирмы Novell использующий метод взаимодействия с установлением взаимодействия. Во время установления соединения каждому из них на обеих концах линии назначается уникальный идентификатор соединения. После этого пакеты могут посылаться в любом направлении с гарантией того, что они будут получены в правильном порядке (прикладному программисту не надо следить за этим как в IPX).

Для фактической отправки и получения пакетов SPX использует датаграммный протокол IPX. Структура пакета SPX содержит 30 байт заголовка IPX за которыми следует 12 байт заголовка SPX. В результате чего общая длина пакета данных SPX сокращается до 534 байт.

Контрольная сумма 2
Длина 2
Управление транспортом 1
Тип пакета 1
Сеть назначения 4
Узел назначения 6
Гнездо назначения 2
Исходная сеть 4
Исходный узел 6
Исходное гнездо 2
Управление соединением 1
Тип потока данных 1
Исходный идентификатор соединения 2
Идентификатор соединения назначения 2
Последовательный номер 2
Номер подтверждения 2
Номер промежуточного размещения 2
Поле данных 0-534

Поле управления соединением имеет следующий формат: SA!EXXXX.
Бит S – флаг системного пакета.
Бит A – флаг необходимости подтверждения.
Бит ! - флаг внимания.
Бит E - конец сообщения.
Используется A!E. XXXX – зарезервировано.

Тип потока данных определяет вложенный пакет более высокого уровня.

Поле исходный идентификатор соединения – номер присвоенный SPX данному соединению на исходной WS.

Поле идентификатор соединения назначения - на станцию назначения (возможно посылать сообщение на одно гнездо с разными номерами соединения).

Поле последовательный номер используется SPX для нумерации пакетов и отсеивания повторных пакетов.

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

Поле номер промежуточного размещения устанавливается SPX и используется для подсчета числа пакетов но не подтвержденных другой WS.

Для программирования протокола IPX и SPX в Windows необходимо использовать библиотеку WinSock2.dll.

Яндекс.Метрика