Internetwork Packet Exchange
The Internetwork Packet Exchange ( IPX ) is a network protocol developed by Novell . It is derived from the Internetwork Datagram Protocol (IDP) from Xerox Network Services (XNS) and was primarily used for the NetWare network operating system.
IPX is a connectionless, proprietary protocol with routing capabilities, which functionally corresponds to IP or UDP . The protocol SPX (Sequenced Packet Exchange) based on IPX implements the secure, connection-oriented communication analogous to the TCP of the TCP / IP protocol family. However, the server functions of NetWare only use IPX, the security functions are implemented in the NetWare Core Protocol (NCP) itself independently of SPX. With the help of the Service Advertising Protocol (SAP) it is possible to find services offered within an IPX network.
With the increasing spread of the Internet from the mid-1990s, the direct support of TCP / IP in Novell NetWare and the decreasing market share of NetWare, IPX / SPX became less important than TCP / IP. It is rarely used today. Microsoft discontinued support from Windows Vista, so Windows XP is the last Windows for private users with IPX support for the time being. Ubuntu last supported IPX in version 13.10. In version 14.04 the IPX package should initially still be installable, but shortly before the release it was removed and has not been offered since then. Debian last offered IPX in the "Wheezy" version, due to a lack of support it was no longer delivered from version "Jessie" onwards. Netware (and thus the primary user of IPX) is no longer supported by Novell since March 2010. Market-leading network component manufacturers have also removed support for IPX from their router firmware.
The protocol in the OSI model
The protocol in the OSI model (see in comparison the TCP / IP reference model , OSI model ):
|OSI layer||English||classification||TCP / IP layer||classification||IPX / SPX / NCP|
IPX was developed from the start with reference to Ethernet, which was also developed by Xerox. IPX uses binary addresses, consisting of a 32-bit long network number, a 48-bit long host address (the MAC address of the interface) and a 16-bit long socket number , which roughly corresponds to the port address in TCP or UDP. IPX therefore has a much larger address space than IP version 4, where the network and host are coded together in 32 bits.
Structure of data packages
An IPX packet consists of the 30-byte IPX header data followed by the user data:
|IPX header data (Internetwork Packet Exchange)|
|Checksum (checksum)||Packet Length|
- The 16-bit checksum field is always set to 0xFFFF, as checksums for IPX are not supported.
- The 16-bit packet length field contains the total size of the packet (header and user data).
- The 8-bit number in the Transport Control field is the hop counter that is increased when passing through a router. If it ever reaches 16, the packet is usually discarded (see TTL for purpose ).
- The 8-bit type field describes the encapsulated protocol:
|Type||Content of the data area|
|0x00||unknown ("raw data")|
|0x01||RIP ( Routing Information Packet )|
|0x04||PEP ( Packet Exchange Protocol )|
|0x05||SPX ( Sequenced Packet Protocol )|
|0x11||NCP ( NetWare Core Protocol )|
- The Source Network / Node / Socket and Destination Network / Node / Socket fields contain the corresponding components of the sender and recipient address, with the following socket numbers being defined:
|0x0001||RIP ( Routing Information Packet )|
|0x0002||Error handling packet|
|0x0BB9||Dynamically Assigned. (dynamically assigned)|
|0x0451||NCP ( NetWare Core Protocol )|
|0x0452||SAP ( Service Advertising Protocol )|
|0x0453||RIP ( Routing Information Protocol )|
|0x9091||TCP over IPXF|
|0x9092||UDP over IPXF|
|0x9093||IPXF, IPX Fragmentation Protocol|
The data area has a variable length. Since IPX packets are not fragmented by default, the maximum packet size depends on the network medium. B. 1536 bytes minus the 30 bytes of the IPX header data area itself.
A network participant generates its own address from its MAC address and the network number configured by the administrator. (In contrast to IP, IPX does not provide for multiple network numbers to be used side by side on a physical network segment).
Packets within your own network (same network number) are delivered directly to the MAC address contained. If a participant detects a destination address in a foreign network, it asks for a responsible router via RIP broadcast, to whose MAC address it then sends the packet. The router addresses received are cached locally. Routers for their part broadcast at regular intervals (one minute by default) lists of the network numbers that can be reached via them, whereby RIP packets from routers further away are not forwarded individually, but are combined.
RIP generates ongoing broadcast traffic and is therefore inefficient on WAN routes and can only be used with difficulty in dial-up connections with automatic connection establishment / termination. It was therefore superseded by a link-state routing protocol called NLSP , although the basic RIP functions for router searches remained downward compatible .
Similar to the determination of router addresses with RIP, SAP uses a combination of regular broadcasts and broadcast requests to manage a list of services offered in the network. These lists are also summarized on routers.