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, IPX. The IPX protocols have never been published as 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 incorporated TCP/IP into its native communications architecture. Independently, Microsoft engineered its own version of IPX to provide NetWare connectivity for its Windows operating systems.
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.
IPX is based on a protocol called Internetwork Datagram Packet (IDP), which was designed for an early networking system called Xerox Network System (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 only, whereas 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.
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
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 incre-mented by each router that forwards the datagram. If the value of the field reaches 16, the packet is discarded, except when using the Network Link Services Protocol (NLSP) for dynamic routing, in which case the value is configurable to use up to 127 hops. 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 upper 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.
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, whereas 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, whereas hardware addresses identify a network interface adapter only. 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 an administrator or the installation program assigns to the networks when they install the NetWare servers. Because NetWare is designed for private LANs, there's no reason 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.
Match the IPX header fields in the left column with the appropriate functions in the right column.
| || |