Email This Page  

Novell SPX: Sequenced Packet Exchange protocol

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 - Novell SPX: Sequenced Packet Exchange protocolThe structure of the SPX packet is shown in the following illustration:

8

16bit

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 4Eom: End of message.
    Bit 5Att: Attention bit, not used by SPX.
    Bit 6Ack: Acknowledge required.
    Bit 7Sys: 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 ,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