The protocol suite developed by Novell for use with its NetWare LAN system is extremely popular. Upon close examination it is clearly an outgrowth of the Xerox Networking System (XNS) developed at the Xerox Palo Alto Research Center (PARC). Xerox PARC was the center of many popular developments in the field of computer science including Ethernet and the graphical user interface (GUI). XNS included the precursors to several of the protocols we will be studying including ARP and RIP. It also included the first popular remote procedure call (RPC) system: we will be studying the Sun RPC system as well.
The IPX protocol can be layered on a variety of data link layer protocols. As a proprietary protocol, Novell controls the standards and standardization process for doing so. Hence, the set of such protocols is limited in comparison to the more open IP protocol suite. On the other hand, Novell provides commercial-grade support for its implementations of IPX on network protocols and network interface hardware vendors can have their products certified by Novell for compatibility. Just because an IP standard exists for a given data link layer protocol, doesn't mean it is possible to go out and buy an implementation that has commercial-grade support.
The Novell system is marketed as a LAN system and hence supports popular LAN data link protocols but has much less support for WAN data link protocols. However, it has many different ways of interfacing with the data link protocols based on the popular Ethernet wiring systems.
IPX provides essentially the same level of functionality as IP and clearly fits at layer 3 of the ISO reference model. However, a machine that functions as an IP router might not also function as an IPX router and vice versa. Devices that provide routing for both protocols are known as multiprotocol routers and tend to be expensive.
Since WAN routers for IP became popular, it has become standard for IPX datagrams to be placed inside IP datagrams for WAN delivery. This kind of creativity will be discussed in greater detail in the later section on network protocol encapsulation techniques.
The Novell protocol suite includes several protocols that utilize IPX directly and hence might be considered transport layer protocols. Notably, the sequenced packet exchange (SPX) protocol, which is a direct descendent of the XNS protocol by the same name, provides a reliable datagram stream service. SPX can be compared to TCP in that they both are transport layer protocols that offer a good measure of reliability. However, TCP presents itself to higher layers as a stream of individual bytes whereas SPX provides group of bytes bundled together and delivered to the higher layer as a single package. SPX typically takes less CPU processing to manage this lesser abstraction but does not use the network as efficiently as a good TCP implementation.
The NetWare Core Protocol (NCP) is used to provide file sharing. Since file
sharing is one of the primary features of the suite, it may be much more common
than SPX. NCP is comparable to NFS in the TCP/IP suite and should probably be
considered an application layer protocol despite the fact that it does not have
an underlying transport protocol to support it.