The Sequenced Packet Exchange (SPX), is Novell's legacy transport layer protocol providing a packet delivery service for Novell NetWare network. SPX is based on the Xerox Sequenced Packet Protocol (SPP). SPX, operates on top of IPX, is used in Novell NetWare (prior to NetWare 5.0) systems for communications in client/server application programs, e.g. BTRIEVE (ISAM manager). SPX performs equivalent functions to TCP. The newer versions of NetWare services are run on top of TCP/IP.
IPX receives packets from the network and passes on those for SPX to handle. SPX guarantees that packets are received intact, in the order they were sent, and eliminates duplicate packets. SPX prepares the sequence of packets that a message is divided into and manages the reassembly of received packets, confirming that all have been received and requesting retransmission when they haven"t. SPX works directly with the Internetwork Packet Exchange (IPX), which manages the forwarding of packets in the network. SPX does not provide connections to the file server itself, which uses the NetWare Core Protocol (NCP). SPX has been extended as SPX-II (SPX2)
SPX does not provide group broadcast support; packets can only be sent to a single session partner. SPX can detect if its partner has disappeared.
Protocol Structure
The structure of the SPX packet is shown in the following illustration:
| 8 bits | 16 bits |
| Connection control flag | Datastream type |
| Source connection ID | |
| Destination connection ID | |
| Sequence number | |
| Acknowledge number | |
| Allocation number | |
| Data (0-534 bytes) | |
- Connection control flag - Four flags which control the bi-directional flow of data across an SPX connection. These flags have a value of 1 when set and 0 if not set.
- Bit 4 Eom: End of message.
- Bit 5 Att: Attention bit, not used by SPX.
- Bit 6 Ack: Acknowledge required.
- Bit 7 Sys: Transport control.
- Datastream type - Specifies the data within the packet:
- Source connection ID - A 16-bit number assigned by SPX to identify the connection.
- Destination connection ID - The reference number used to identify the target end of the transport connection.
- Sequence number - A 16-bit number, managed by SPX, which indicates the number of packets transmitted.
- Acknowledge number - A 16-bit number, indicating the next expected packet.
- Allocation number - A 16-bit number, indicating the number of packets sent but not yet acknowledged.
- The SPX II header is the same as the SPX header described above, except for the following differences:
- Connection control flag - Bit 2 - Size negotiation. Bit 3 - SPX II type.
- Datastream type - 252 - Orderly release request. 253 - Orderly release acknowledgment.
There is also an additional 2-byte Extended Acknowledgement field at the end.
Related protocols: IPX, SPX, RIP, NLSP, NCPIPX, SPX, RIP, NLSP, NCP
Sponsor Source: SPX is a Novell Network Operating System.
Reference: http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/netwarep.htm: NetWare Protocols
