Internetwork Packet Exchange
Network protocol
Internetwork Packet Exchange (IPX) is the network-layer protocol in the IPX/SPX protocol suite. IPX is derived from Xerox Network Systems' IDP. It also has the ability to act as a transport layer protocol. The IPX/SPX protocol suite was used by Novell's network operating system, NetWare, from the late 1980s through the late 1990s.
An advantage of IPX was the small memory footprint of the IPX driver, which was vital for MS-DOS and Windows up to Windows 95. Another advantage was easy configuration of the client computers. IPX does not scale well for large networks such as the Internet, and usage decreased as the Internet boom made TCP/IP nearly universal.
Computers and networks can run multiple network protocols. After Internet access became important in the early 1990s, IPX sites typically also ran TCP/IP to allow Internet connectivity. Starting with NetWare version 5 in late 1998, it became possible to use Netware without IPX.
01Description
A big advantage of IPX protocol is its little or no need for configuration. In the time when protocols for dynamic host configuration did not exist and the BOOTP protocol for centralized assigning of addresses was not common, the IPX network could be configured almost automatically. A client computer uses the MAC address of its network card as the node address and learns what it needs to know about the network topology from the servers or routers, routes are propagated by Routing Information Protocol, services by Service Advertising Protocol.
A small IPX network administrator had to care only
- to assign all servers in the same network the same network number,
- to assign different network numbers to different frame formats in the same network,
- to assign different network numbers to different interfaces of servers with multiple network cards (Novell NetWare server with multiple network cards worked automatically as a router),
- to assign different network numbers to servers in different interconnected networks,
- to start router process on nodes with multiple network cards in more complex networks.
02IPX addressing
An IPX address has the following structure:
| Octets | Field |
|---|---|
| 4 | Network number |
| 6 | Node number |
| 2 | Socket number |
Network number
The network number allows to address (and communicate with) the IPX nodes which do not belong to the same physical network.
- Logical networks are assigned a unique 32-bit address in the range 0x1 to 0xFFFFFFFE (hexadecimal).
- Network number 00:00:00:00 refers to the current network, and is also used during router discovery. It's also the default in case no router is present, but can be changed by manual configuration, depending on the IPX implementation.
- Broadcast network number is FF:FF:FF:FF.
Node number
The node number is used to address an individual computer (or more exactly, a network interface) in the network; hosts have a 48-bit node address, which is by default set to the 6 bytes of the network interface card MAC address.
The value FF:FF:FF:FF:FF:FF may be used as a node number in a destination address to broadcast a packet to "all nodes in the current network".
Socket number
The socket number serves to select a process or application in the destination node. The presence of a socket number in the IPX address allows the IPX to act as a transport layer protocol, comparable with the User Datagram Protocol (UDP) in the Internet protocol suite.
Comparison with IP
Unlike IP, where an IP address is part of a global address space where the division network/subnet and the individual addresses are a variable one, for IPX, there is a fixed separation between the Network Number (corresponding to the masked subnet) and the Node number (corresponding to the unmasked bits of the IP address.) As the node address is usually identical to the MAC address of the network adapter, the Address Resolution Protocol is not needed in IPX.
Unlike public IP addresses there is no centralized process for assigning Network Numbers; they were intended for private WAN or inter-LAN connections within a single organization. I
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.
There are three routing protocols available for IPX networks. In early IPX networks, a version of Routing Information Protocol (RIP) was the only available protocol to exchange routing information. Unlike RIP for IP, it uses delay time as the main metric, retaining the hop count as a secondary metric. Since NetWare 3, the NetWare Link Services Protocol (NLSP) based on IS-IS is available, which is more suitable for larger networks. Cisco routers implement an IPX version of EIGRP protocol as well.
Sources and credits
This article is adapted from the Wikipedia article “Internetwork Packet Exchange”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.