This chapter provides an overview of IPX routing, including:
The NetWare network operating system was developed and introduced to the market by Novell, Inc., in the early 1980s. Much of the NetWare networking technology was derived from XNS, a networking system developed by Xerox Corporation.
The NetWare operating system is based on a client/server architecture in which clients request services, such as file and printer sharing, from servers. The NetWare operating system uses the upper five layers of the Open Systems Interconnection (OSI) Reference Model.
The CoreBuilder 2500 system uses the following protocols for routing in a NetWare environment:
Figure 6-1 illustrates a simplified view of the better-known protocols of NetWare and their relationship to the OSI Reference Model.
Figure 6-1 NetWare Protocols and the OSI Reference Model
IPX is the primary protocol used for routing in a NetWare environment. This connectionless, datagram protocol does not require an acknowledgment for each packet sent. Protocols above IPX provide packet acknowledgment or connection control.
IPX defines internetwork and intranode addressing schemes. Internetwork addressing is based on network numbers that are assigned to each interface in an IPX network. Intranode addressing is in the form of socket numbers. Because several processes are normally operating within a node, socket numbers provide a type of mail slot so that each process can distinguish itself to IPX.
RIP allows the exchange of routing information on a NetWare network. IPX routers use RIP to create and maintain their dynamic routing tables.
With RIP, one router exchanges routing information with a neighboring router. When a router discovers any changes in the network layout, it broadcasts this information to any neighboring routers. IPX routers also send periodic RIP broadcast packets containing all of the routing information that the router possesses. These broadcasts synchronize all routers on the network and age those networks that might become inaccessible if a router disconnects abnormally from the network.
SAP provides routers and servers that contain SAP agents with a means of exchanging network service information.
Through SAP, servers advertise their services and addresses. Routers gather this information and share it with other routers. With this process, routers dynamically create and maintain a database (called a server table) of network service information. Clients on the network determine what services are available and obtain the network address of the nodes (servers) where they can access those services. Clients require this information to initiate a session with a file server.
With SAP, a router exchanges information with neighboring SAP agents. When a router's SAP agent discovers a change in the network server layout, it immediately broadcasts this information to neighboring SAP agents. The router also periodically sends SAP broadcast packets that contain all server information that the SAP agent possesses. These broadcasts synchronize all servers on the network and age out any routers or servers that become inaccessible due to abnormal shutdown.
A router operates at the network layer of the OSI Reference Model. The router receives instructions to route packets from one segment to another from the network-layer protocol. IPX, with the help of RIP, performs network-layer tasks, including:
This section describes the "IPX Packet Format" and the process of "IPX Packet Delivery."
An IPX packet consists of a 30-byte header followed by packet data. The network, node, and socket addresses for both the destination and source are in the packet header.
Figure 6-2 shows the IPX packet format.
Figure 6-2 IPX Packet Format
The packet includes the following elements:
Successful packet delivery depends on proper addressing and the network configuration. The packet's Media Access Control (MAC) protocol header and IPX header address handle packet addressing.
The sending node must have the destination's complete network address, including the destination network, node, and socket. After the sending node has the destination address, it can address the packet.
However, the way that the MAC header of the packet is addressed depends on whether a router separates the sending and destination nodes. See Figure 6-3.
Figure 6-3 IPX Packet Routing
When sending and destination nodes have the same network number, the sending node addresses and sends packets directly to the destination node. If sending and destination nodes have different network numbers, as in Figure 6-3, the sending node must find a router on its own network segment that can forward packets to the destination node's network segment.
To find this router, the sending node broadcasts an RIP packet requesting the best route to the destination node's network number. The router that resides on the sending node's segment with the shortest path to the destination segment responds to the RIP request. The router's response includes its network and node address in the IPX header.
After the sending node determines an intermediate router's address, it can send packets to the destination node.
If the sending node is a router rather than a workstation, the node's internal routing tables supply the destination's network location. The destination router does not need to broadcast an RIP request.
A router handles a received IPX packet in one of two ways:
IPX routers use the following elements to transmit packets over an intranetwork:
A router interface connects the router and the network number (address). In traditional routing models, the router interface is the same as the port, because only one interface exists per port. But in the CoreBuilder 2500 system, more than one port can connect to a network number. Therefore, the router interface is a relationship between one or more ports and the network number (address) in your IPX network.
Each router interface has a network address. This address defines the network number to which the router interface is attached. The router interface's IPX address serves two functions:
A routing table collects information about all intranetwork segments. This table allows a router to send packets toward their destinations over the best possible routes.
The table contains an entry for every network number that the router knows about. The router uses this information when the router is not directly connected to a packet's destination network. The routing information table provides the address of another router that can forward the packet toward its destination.
The routing table consists of the following elements:
Figure 6-4 shows an example of a typical routing information table.
Figure 6-4 Sample Routing Table
The routing information table is updated statically or dynamically.
You manually configure a static route. Static routes are useful in environments where no routing protocol is used or where you want to override a routing protocol's generated route.
Because static routes do not automatically change in response to network topology changes, manually configure only a small number of reasonably stable routes. Static routes do not change until you change them, and they do not time out.
A router uses RIP to exchange its routing table with other routers at regular intervals. This automatic method of learning routes helps you to keep up with a changing network environment and allows you to reconfigure routes quickly and reliably. Interior Gateway Protocols (IGPs), which operate within intranetworks, provide this automated learning. The CoreBuilder 2500 system uses RIP (one of the most widely used IGPs) to dynamically build routing tables.
RIP operates with active and passive network devices. Active devices, usually routers, broadcast their RIP messages to all devices in a network; they update their own routing tables when they receive a RIP message. Passive devices, usually hosts, listen for RIP messages and update their routing tables; they do not send RIP messages.
An active router sends a RIP message every 60 seconds. This message contains the network number for each destination network and the number of hops to reach it. In RIP, each router through which a packet must travel to reach a destination counts as one network hop.
Large networks contain many possible routes to each destination. A router performs the following steps to find the best route toward a destination:
With the Service Advertising Protocol (SAP), file, print, application, and gateway servers broadcast their addresses and services throughout the intranetwork. Services are added and removed dynamically. A server advertises itself at startup; and if a server is shut down, it broadcasts that its services are no longer available.
Using SAP, IPX routers maintain a database of internetwork service information. Client workstations use this data to determine what services are available on the network and to obtain the internetwork address of the nodes (servers) where they can access services.
Before it can initiate a session with a file server, a workstation must know a server's network address.
SAP packets support the following functions:
Figure 6-5 illustrates the SAP packet structure. Note that the SAP packet is encapsulated within the IPX packet data area.
Figure 6-5 SAP Packet Structure
A SAP packet consists of the following fields:
1=Request
2=Response
3=Get nearest server request
4=Get nearest server response
Although IPX routers use SAP, routers typically do not act as servers and require no Service type assignment.
Client systems do not use this SAP information directly. Rather, SAP agents within each router on the server's network segment collect this information. The SAP agents store this information in their server information tables. If a server also contains a SAP agent, the server's bindery stores the SAP information. Client systems then contact the nearest router or file server SAP agent to obtain server and service information.
Server and router SAP broadcasts reach SAP agents only on directly connected network segments. However, SAP agents periodically broadcast their server information tables, so that all SAP agents on the network know about all active servers. These server information tables are described in the next section.
Server information tables contain data about all active servers on the intranetwork. SAP agents use these tables to store information received in SAP broadcasts.
Figure 6-6 shows a sample server information table.
Figure 6-6 Server Information Table
This table contains the following data:
The server information table is updated statically or dynamically.
You manually update the server information table. Static servers are useful in environments where no routing protocol is used or where you want to override some of the servers generated with a routing/server protocol. Because static servers do not automatically change in response to network topology changes, manually configure only a small number of relatively stable servers.
Servers are automatically added to and removed from the information table. This automatic SAP update helps you to keep up with changing network environments and allows servers to advertise their services and addresses quickly and reliably.
When a router's SAP agent receives a SAP broadcast response indicating a change in a server's configuration, the agent updates its server information table and informs other SAP agents. Examples of such a change are when a server is disconnected or becomes accessible through a better route.
The SAP agent immediately sends an update broadcast to all directly connected network segments except the segment from which the information was received. All future periodic broadcasts contain the change information.
Router SAP agents use a special aging mechanism to deal with a SAP agent that goes down suddenly without sending a DOWN broadcast. A hardware failure, power interruption, or power surge can cause this situation.
Each SAP agent maintains a timer for each entry in its server information tables. This timer tracks the elapsed time since the entry has been updated. This information is either new or changed, and the SAP agent immediately passes it on, so changes are quickly captured and stored throughout the intranetwork.
When a SAP agent receives a general request, it notifies the sending source about all servers known to the agent. This response includes the same information that is sent out in periodic SAP broadcasts. When the request is specific, the SAP agent notifies the sending source about all servers of the requested type.