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
editEach SPX packet begins with a header with the following structure:
Octets | Field |
---|---|
1 | Connection Control |
1 | Datastream Type |
2 | Source Connection Id |
2 | Destination Connection Id (0xFFFF = unknown) |
2 | Sequence Number |
2 | Acknowledgement Number |
2 | Allocation Number (The number of outstanding receive buffers available) |
0–534 | data |
The Connection Control fields contains 4 single-bit flags:
Weight | Meaning |
---|---|
0x10 | End-of-message |
0x20 | Attention |
0x40 | Acknowledgement Required |
0x80 | System Packet |
The Datastream Type serves to close the SPX connection. For this purpose two values are used:
Value | Meaning |
---|---|
0x00–0xFD | Available for client use |
0xFE | End-of-Connection |
0xFF | End-of-Connection Acknowledgement |