互联网分组交换协议(IPX)是 Novell NetWare 操作系统所支持的在互联网络中路由数据包的早期网络协议。IPX 是一种面向无连接通信的数据报协议 - 类似于 TCP/IP 协议组中的网际协议(即IP)。其高层协议,如 SPX 和 NCP,主要提供差错恢复服务。
为了选择最佳路径,IPX 使用动态距离矢量(distance vector)路由选择协议,如路由信息协议(RIP:Routing Information Protocol)或链路状态协议(NLSP:NetWare Link-State Protocol)。
Novell IPX 网络地址是唯一的,以十六进制表示。它由两部分组成:网络号和节点号。IPX 网络号由网络管理员分配,地址长 32 位。节点号,通常是系统网络接口卡(NIC)的介质访问控制(MAC)地址,地址长 48 位。通过 MAC 地址作为节点号,系统可以通过发送节点以判断数据链路使用的 MAC 地址。
Novell NetWare IPX 支持单路由器接口的四种封装模式:
- Novell 私有(Novell Proprietary)-也称为原始 802.3 或者 Novell Ethernet_802.3,Novell 私有 是 Novell 公司最初使用的封装模式。
- 802.3 - 也称为 Novell_802.2,802.3 是 IEEE 802.3 的标准帧格式。
- Ethernet v 2 - 也称为 Ethernet-II 或 ARPA,Ethernet v2 包括标准 Ethernet v2 协议头,它由目标地址和源地址字段构成,后面是 EtherType 字段。
- SNAP - 也称为 Ethernet_SNAP,SNAP 在原 IEEE 802.2 协议头增加了 type 代码,与 Ethernet v2 中定义的 EtherType 类似。
IPX 数据包数据部分的长最小为 30 字节(只有头部分),最大值不定,这主要取决于使用的低层 MAC 协议(以太网或令牌环)。
协议结构
NetWare IPX 数据包头:
8 | 16 bit |
Checksum | |
Packet Length | |
Transport control | Packet Type |
Destination Network (4 bytes) | |
Destination node (6 bytes) | |
Destination socket (2 bytes) | |
Source network (4 bytes) | |
Source node (6 bytes) | |
Source socket (2 bytes) |
- Checksum ― 表示当16位字段全设置为1(FFFF)时,不使用校验和。
- Packet length ― 指定完整 IPX 数据报的字节长。IPX 数据包大小任意,可以达到媒体最大传输单元(MTU)大小(不允许数据包分片)。
- Transport control ― 指明数据包传送过程中经过的路由器数量。当该值为16时,假设发生路由回路,并丢弃数据包。
- Packet type ― 指定哪个上层协议应该接收该数据包信息。通常包括两个值:
- 5 ― 表示序列分组交换(SPX)
- 17 ― 表示NetWare核心协议(NCP)
- Destination network、Destination node、and Destination socket ― 表示目标信息。
- Source network、Source node and Source socket ― 表示源信息。