Internetwork Packet Exchange (IPX) is the OSI-model Network layer protocol in the IPX/SPX protocol stack.
The IPX/SPX protocol stack is supported by Novell's NetWare network operating system. Because of Netware's popularity through the late 1980s into the mid 1990s, IPX became a popular internetworking protocol. Novell derived IPX from Xerox Network Services' IDP protocol.
IPX usage is in general decline as the boom of the Internet has made TCP/IP nearly universal. Computers and networks can run multiple network protocols, so almost all IPX sites will be running TCP/IP as well to allow for Internet connectivity. It is also now possible to run Novell products without IPX, as they have supported both IPX and TCP/IP since NetWare reached version 5.
The following operating systems do not
natively support IPX
- Logical networks are assigned a unique 32-bit hexadecimal address in the range of 0x1 - 0xFFFFFFFE.
- Hosts have a 48-bit node address which by default is set to the network interface card's MAC address. The node address is appended to the network address to create a unique identifier for the host on the network.
- Network number 00:00:00:00 means current network
- Broadcast address is FF:FF:FF:FF
Similarities with IP
The IPX network address is conceptually identical to the network part of the IP address
(the parts with netmask
bits set to 1); the node address then has the same meaning as the bits of IP address with netmask bits set to 0. As the node address is usually identical to the MAC address of the network adapter, the Address Resolution Protocol
is not needed.
For routing, the entries in the IPX routing table are similar to IP routing tables; routing is done by network address, and for each network address a network:node of the next router is specified in a similar fashion an IP address/netmask is specified in IP routing tables.
IPX over Ethernet
IPX can be transmitted over Ethernet using one of the following 4 encapsulation types:
- 802.3 (raw) is used in legacy systems and involves IPX data starting immediately after 802.3 frame header. The packet starts with Destination Ethernet Address (6 bytes), Source Ethernet Address (6 bytes), Frame Length (2 bytes) followed by IPX data. Latter always starts with two 0xFF bytes (Checksum field), and this can be used to differentiate this type of IPX encapsulation from next two types.
- 802.2 (Novell) comprises 802.3 frame header (destination, source, length) followed by LLC header (3 bytes - 0xE0, 0xE0, 0x03) followed by IPX data. 0xE0 fields of LLC header stand for 'Novell' protocol.
- 802.2 (SNAP) comprises 802.3 frame header, LLC header (3 bytes - 0xAA, 0xAA, 0x03), SNAP header (5 bytes - 0x00, 0x00, 0x00, 0x81, 0x37) and IPX data. 0xAA fields of LLC header stand for 'SNAP' protocol. First three bytes of SNAP header are OUI followed by 2 bytes of IPX EtherType.
- Ethernet II comprises Ethernet II frame header (Destination, Source, EtherType) followed by IPX data.