English Site
 高级搜索

网络大典博客 网络大典维基 网络大典问答 网络大典群组 佳文科技产品 网络大典首页

SPX:序列分组交换协议 (Sequenced Packet Exchange protocol)

序列分组交换协议(SPX)是 Novell 早期传输层协议,为 Novell NetWare 网络提供分组发送服务。SPX 基于 Xerox 序列分组协议(SPP:Sequenced Packet Protocol)。SPX 运行在 IPX 上,主要为 Novell NetWare(NetWare 5.0 之前)系统实现客户机/服务器上应用程序的通信服务,例如BTRIEVE(ISAM 管理器)。SPX 与 TCP 实现同等功能。最新版本的 NetWar 运行在 TCP/IP 上。

IPX 从网络中接收到数据包后,将它们传送给 SPX 进行处理。SPX 确保接收完整的,同发送时一样排序的数据包,以及消除重复的数据包。SPX 预备好数据包信息的分组序列,并负责控制接收的数据包的重组过程,以确认所有数据包都已接收到,如果没有则请求重新发送。SPX 直接与管理网络数据包转发过程的互联网分组交换协议(IPX) 共同工作。SPX 不支持文件服务器连接服务,文件服务器的连接是通过网络核心协议(NCP)实现的。SPX 的扩展协议为 SPX-II (SPX2)。

SPX 不支持组广播,所有数据包只能传送给单个的会话对象。SPX 能够检测到会话对象是否已经消失。

协议结构

SPX 数据包结构如以下图表所示:

8 16 bit
Connection control flag Datastream type
Source connection ID
Destination connection ID
Sequence number
Acknowledge number
Allocation number
Data (0-534 bytes)
  • Connection control flag ― 4种标签用于控制 SPX 连接中的双向数据流。如果设置这些标签,那么值都为1;如果无需设置这些标签,那么值都为0。
    • Bit 4Eom:终端信息。
    • Bit 5Att:注意位。SPX 中不使用。
    • Bit 6Ack:必要的确认。
    • Bit 7Sys:传输控制。
  • Datastream type ― 指定数据包中的数据类型。
  • Source connection ID ― 由 SPX 分配的16位编号用以识别连接。
  • Destination connection ID ― 参考数,用以识别传输连接的目标端。
  • Sequence number ― 由 SPX 控制的16位编号,表示传输的数据包序号。
  • Acknowledge number ― 16位数,识别下一个期望的数据包。
  • Allocation number ― 16位数,识别发送的但为确认的数据包。

SPX II 头和前面描述的 SPX 头结构基本相同,不同点如下:

  • Connection control flag ― Bit 2 – 协商大小;Bit 3 – SPX II 类型。
  • Datastream type ― 252 – 依次释放请求; 253 – 依次释放确认。

最终还有一个2字节的扩展确认字节。

相关协议:NetWareSPXRIPNLSPIPXNCP

组织来源:SPX 是 Novell 私有协议。

相关链接:
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/netwarep.htm: NetWare Protocols
http://docsrv.sco.com/SDK_netware/CTOC-Enhanced_Sequenced_Packet_Exchange_SPXII_Protocol.html: Enhanced Sequenced Packet Exchange protocol (SPXII)