Протоколы Internet


SPX-протокол


4.2.1.2 SPX-протокол

Семенов Ю.А. (ГНЦ ИТЭФ)

SPX (Sequence Packet eXchange) и его усовершенствованная модификация SPX II представляют собой транспортные протоколы 7-уровневой модели ISO. Это протокол гарантирует доставку пакета и использует технику скользящего окна (отдаленный аналог протокола TCP). В случае потери или ошибки пакет пересылается повторно, число повторений задается программно. В протоколе SPX не предусмотрена широковещательная или мультикастинг-адресация. В SPX индицируется ситуация, когда партнер неожиданно прерывает соединение, например из-за обрыва связи. Пакеты SPX вкладываются в пакеты IPX. При этом в поле тип пакета IPX записывается код 5. Заголовок пакета SPX всегда содержит 42 байта, включая 30 байт заголовка IPX-пакета, куда он вложен (см. рис. 4.2.1.2.1).

Рис. 4.2.1.2.1. Формат заголовка SPX-пакета

Поле управления соединением определяет, является ли данный пакет системным или прикладным. Это поле содержит однобитовые флаги, используемые spx и spx ii для управления потоком данных в виртуальном канале.

0x01    XHD

Зарезервировано SPX II для расширения заголовков;

0x02    RES1

Назначение поля не определено, должно быть равно нулю;

0x04    NEG

SPX II (SIZ) согласует размер запроса/отклика, для spx должно быть равно нулю;

0x08    SPX2

Тип пакета SPX II, для spx должно быть равно нулю;

0x10    EOM

Устанавливается клиентом spx для индикации конца сообщения (end-of-message);

0x20    ATN

(attention) зарезервировано для специальных запросов (не поддерживается SPX);

0x40     ACK

Устанавливается для запроса подтверждения получения данного пакета. Запросы и отклики обрабатываются на уровне SPX (приложение не должно модифицировать этот код);

0x80     SYS

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

Поле тип потока данных характеризует тип данных, помещенных в пакет. Значения этого поля перечислены ниже:

0x00-0x07

определяется клиентом и может использоваться в приложениях;

0x80-0xfb

зарезервированы на будущее;

0xfc

spx ii, упорядоченное освобождение запроса;

0xfd

spx ii, упорядоченное освобождение подтверждения;

0xfe

указывает на окончание связи (end-of-connection). При закрытии канала spx-драйвер посылает клиенту пакет, где в поле тип потока записан данный код;

0xff

подтверждение получения сообщения об окончании связи (end-of-connection-acknowledgment). Этим кодом помечается пакет, подтверждающий закрытие канала, в прикладную программу такой пакет не передается

<


Начало  Назад  Вперед