3 4

Lesson 2: IPX

When Novell created NetWare, the company designed its own suite of protocols, which is generally referred to by the name of the network layer protocol: Internetwork Packet Exchange, or IPX. The IPX protocols have never been published in public standards like TCP/IP and Ethernet. These protocols remain the property of Novell, and NetWare's core file and print services used them exclusively until 1998, when Novell belatedly incorporated TCP/IP into its native communications architecture. Independently, Microsoft engineered its own version of IPX to provide NetWare connectivity for their Windows operating systems.

NOTE
Novell added support for TCP/IP to NetWare many years ago, but the TCP/IP protocols could only be used with applications designed for them. It was not possible to share NetWare files and printers using TCP/IP without using a process called tunneling, in which IPX packets were carried inside IP datagrams. It was only with the release of NetWare version 5 in 1998 that a NetWare network could function without using the IPX protocols at all. The IPX protocols are now being gradually phased out, even in NetWare, in favor of TCP/IP.

After this lesson, you will be able to

Estimated lesson time: 20 minutes


IPX is based on a protocol called Internetwork Datagram Packet (IDP), which was designed for an early networking system called Xerox Networking Services (XNS). IPX is a connectionless protocol that is similar to IP in that it functions at the network layer of the OSI reference model and carries the data generated by several other protocols across the network. However, IPX and the other protocols in the IPX suite are designed for use on LANs, while the TCP/IP protocols were designed for what is now the Internet. This means that IPX does not have its own self-contained addressing system like IP, but it does perform some of the same functions as IP, such as routing traffic between different types of networks and identifying the protocol that generated the data it is carrying.

The IPX Header

Like IP, IPX creates datagrams by adding a header to the data it receives from transport layer protocols. The IPX header is longer than that of IP—30 bytes as opposed to 20. The format of the IPX header is shown in Figure 6.5.

Figure 6.5-The IPX header format
Figure 6.5 The IPX header format

The fields have the following functions:

The IPX header's Transport Control field is similar to the TTL field in the IP header, except that the Transport Control field starts at a value of 0 and is incremented by each router that forwards the datagram. If the value of the field reaches 16, the packet is discarded. The IP TTL field, by contrast, starts at a value specified by the system generating the datagram and is decremented by each router. The difference in the functionality of these two fields is indicative of the differences between IPX and IP in general. IP has almost unlimited scalability, as demonstrated by the fact that a system can be configured with a relatively large TTL value. Windows-based systems, for example, use a default value of 128 for this field. IPX, which is designed for use on private networks, is limited to 16 hops, more than enough for most corporate networks, but not sufficient for Internet communications.

The Packet Type field uses codes to specify the protocol that generated the information stored in the datagram. There are codes for NetWare's transport layer protocols, such as the NetWare Core Protocol (NCP), as well as codes for NetWare's Routing Information Protocol (RIP) and Service Advertising Protocol (SAP). NetWare servers use RIP to exchange routing data and SAP to advertise their existence on the network.

IPX Addressing

As mentioned earlier, IPX, unlike IP, does not have its own addressing system. Instead, IPX uses the same hardware addresses that data-link layer protocols use to identify the computers on the network. This is possible with NetWare because the operating system is intended for use with LAN-based computers, while IP has to accommodate all of the different types of computers found on the Internet. The Destination Node Address and Source Node Address fields are each 6 bytes long, to hold the hardware addresses coded into the network interface adapters installed in the computers.

Another important difference between the hardware address and an IP address is that IP addresses identify both a network and a host on that network, while hardware addresses identify a network interface adapter only. In order for a router on a NetWare network to forward packets properly, it must know which network the destination system is on, and this requires some means to identify particular networks.

NetWare uses separate network addresses that administrators assign to the networks when they install the NetWare servers. Because NetWare is designed for private LANs, there's no reason why network addresses must be registered, as they are with IP. The network administrators only need to be sure to assign a unique address to each network. The network addresses are 4 bytes long, and the IPX header provides them in the Destination Network Address and Source Network Address fields. The combination of the network address and the node (or hardware) address provides a specific location for a computer on an internetwork.

In addition to getting the data to the correct computer, IPX must also deliver the data to the correct process on that computer. To do this, it also includes 2-byte codes in the Destination Socket and Source Socket fields to identify the function of the datagram.

Exercise 6.2: IPX Properties

  1. In the IP header, the IPX equivalent to the TTL field is called what?
    1. Packet Type
    2. Transport Control
    3. Checksum
    4. Source Socket
  2. Which of the following statements about IPX is untrue?
    1. IPX routes datagrams between different types of networks.
    2. IPX has its own network addressing system.
    3. IPX uses a checksum to verify the proper transmission of data.
    4. The IPX header is larger than the IP header.
  3. How many bytes long is the information that IPX uses to identify the datagram's destination computer on a particular network?
    1. 2
    2. 4
    3. 6
    4. 10