Sequenced Packet Exchange

{{Short description|Network protocol}}

Sequenced Packet Exchange (SPX) is a protocol in the IPX/SPX protocol stack that corresponds to a connection-oriented transport layer protocol in the OSI model. Being reliable and connection-oriented, it is analogous to the Transmission Control Protocol (TCP) of TCP/IP, but it is a datagram protocol, rather than a stream protocol.

SPX packet structure

Each SPX packet begins with a header with the following structure:

class=wikitable style="text-align:left;"
OctetsField
1Connection Control
1Datastream Type
2Source Connection Id
2Destination Connection Id (0xFFFF = unknown)
2Sequence Number
2Acknowledgement Number
2Allocation Number (The number of outstanding receive buffers available)
0–534data

The Connection Control fields contains 4 single-bit flags:

class=wikitable style="text-align:left;"
WeightMeaning
0x10End-of-message
0x20Attention
0x40Acknowledgement Required
0x80System Packet

The Datastream Type serves to close the SPX connection. For this purpose two values are used:

class=wikitable style="text-align:left;"
ValueMeaning
0x00–0xFDAvailable for client use
0xFEEnd-of-Connection
0xFFEnd-of-Connection Acknowledgement