Administering SCO IPX/SPX

Packet delivery

The successful delivery of a packet over a NetWare network depends on the proper addressing of the packet. To send a packet, the sender must know the full IPX address (network, node, and socket) of the recipient. The address is specified in the packet's medium-access protocol and IPX protocol address fields. Once the sender has the recipient's address, it can address the packet. The way the MAC header of that packet is addressed, however, depends on the network's topography. Specifically, it depends on whether the sending node and the destination node are separated by a router. The effect of network topography on IPX addressing is discussed in the following sections.

Network interconnection devices

Segments on a network can be interconnected using a:

which regenerates the signal of one segment onto one or more other segments.

which retransmits packets received on one segment onto another segment.

which receives its instructions for forwarding a packet from one segment to another from a network layer protocol.

``OSI Representations of Network Devices'' illustrates the relationship between repeaters, bridges, and routers. Each is described in greater detail in subsequent sections.

OSI Representations of Network Devices


A repeater is a physical layer (OSI model) device that amplifies the signal of one segment onto one or more other segments. Repeaters are used to extend the maximum possible distance between end nodes on a segment. They are completely transparent to the sending and receiving nodes.


A bridge is a data link layer device used to interconnect cable segments locally or over wide area network links. Instead of simply amplifying a signal as repeaters do, bridges retransmit packets received on one segment onto another segment. Bridges are considered data link layer devices because they examine the data link (or MAC header) portion of packets before retransmitting them onto other segments. There are two predominant types of bridge:

source routing bridges
Source routing allows Token-Ring segments to be interconnected by bridges, allowing administrators to segment network traffic. This requires that each workstation maintain a table of routes to the nodes with which it communicates. Furthermore, routing information must be included in the MAC header of each packet it sends. This information instructs bridges how to properly forward each packet to its destination. Source routing can be used instead of, or in conjunction with, NetWare routing. Because source routing is handled at the data link layer of the OSI model, it is beyond the scope of IPX/SPX.

transparent bridges
Transparent bridges interconnect two or more segments. They examine the MAC header source and destination fields of every packet transmitted on their connected segments. From the source address fields of packets, these bridges develop a table of the nodes that reside on (or are accessible through) each of their connected segments. With this table of information, a bridge can determine whether packets should be passed on to other segments.

The following diagram shows a transparent bridge connected to two separate segments.

Sample Transparent Bridge

After examining the packets transmitted on both segments, the bridge creates a table that tracks which nodes exist on each segment. With this table, the bridge can filter unnecessary traffic. For instance, if node 1 sends a packet to node 5, the bridge will not retransmit that packet on its port B. It will, however, retransmit packets sent from node 1 to node 7. Like repeaters, transparent bridges -- as their name implies -- are transparent to the sending and receiving nodes.


Routers interconnect different network segments. However, unlike bridges, routers, by definition, are network layer devices (see ``OSI Representations of Network Devices''). In other words, routers receive their instructions for forwarding a packet from one segment to another from a network layer protocol.

NetWare-compatible routers are available with NetWare or from third-party manufacturers. The routers that come packaged with NetWare have actually been misnamed ``bridges'' in the past. The NetWare routers include what has been called the internal bridge within NetWare file servers and the external bridge installed at workstations. Novell has officially renamed these two devices ``internal router'' and ``external router''.

NetWare-compatible routers can be configured to interconnect two or more segments. Each of these segments, however, must be assigned a unique network number to distinguish it from other segments on the network. A segment's network number must be configured into each of the routers connected to that segment. The network number serves as a common address for each node connected to a segment. For more information on assigning a segment's network number, see ``Configuration parameters''.

Intrasegment packet routing

If the sending node and the destination node are on the same network segment -- that is, they both have the same IPX network number -- the sending node addresses the packet in the following way:

``Transmission to Same Network Segment (No Routing Required)'' shows an example of two nodes that are connected to network number AA.

Transmission to Same Network Segment (No Routing Required)

The sending node (node 01) sends a packet to node 02. The sending node places node number 02 in the destination field and node number 01 in the source field of the MAC. In the destination address fields of the IPX header, the sending node places AA, 02, and 451 (the full IPX address of the receiving node). The sending node places its own IPX address of AA, 01, and 4003 in the source address fields of the IPX header.

Intersegment packet routing

The addressing method depicted in ``Transmission to Same Network Segment (No Routing Required)'' is used when the two nodes reside on the same physical segment (or ring) or if they reside on separate segments interconnected by repeaters or bridges.

If the two nodes have different network numbers (reside on different network segments), the sending node must find a router on its own segment that can forward packets to the destination node's network segment. To find this router, the workstation broadcasts a RIP packet requesting the fastest route to the destination node's network number. This RIP request is responded to by the router residing on the sending node's segment with the shortest path to the desired segment; in the response, the router includes its node number.

Sending the packet

Once the sending node receives the router's node number, it is prepared to send packets to the destination node. The sending node addresses these packets by placing:

``Packet addressing through a router'' illustrates this process.

Packet addressing through a router

Routing the packet

When a router receives a packet to be routed, it can take one of two possible actions. If the packet is destined for a network number to which the router is directly connected, the router will:

  1. Place the destination node number from the IPX header in the destination address field of the MAC header.

  2. Place its own node number in the source address field of the MAC header.

  3. Transmit the packet.
``Packet addressing through a router'' illustrates this process. If the router is not directly connected to the segment that the final destination node resides on, however, it will send the packet to the next router in the path to the destination node. To forward the packet to another router, the router will:

  1. Place the node number of that other router in the destination address field of the MAC header.

  2. Place its own node number in the source address field of the MAC header.

  3. Leave the IPX header as initially set by the sending node and sends the packet.

Routing information administration

To forward packets by the best possible route, NetWare routers maintain a routing information table that holds information about all the segments on the network. ``Portion of routing information table'' gives an example of a routing information table (only the fields pertinent to this discussion have been included).

Portion of routing information table

Network number Hops to LAN segment Ticks to LAN segment NIC Immediate address of forwarding router Net status Aging timer
00000001 1 2 A 0
00000002 1 2 B 0
FEED0038 1 20 C R 0
FEED0035 2 3 B 00001B029927 1
000000FF 2 3 A 00001B0349B2 2
FEED0036 3 4 A 00001B0349B2 2

Each entry in the routing information table gives the router forwarding information for a network segment:

Network number
Contains the network numbers of the segments of which the router is aware. The router simply matches the destination network number in the packet's IPX header with an entry in this field to get its forwarding instructions for the packet.

Hops to LAN segment
Indicates the number of routers that must be traversed to reach the network segment.

Ticks to LAN segment
Contains an estimate of the time necessary to reach the destination segment. It is used by the router in its periodic broadcasts to indicate the time necessary to deliver a packet to a node on that segment.

Indicates through which network interface card in the router the network segment can be reached

Immediate address
Contains the node number of the router that can forward packets to each segment. If the segment is directly connected to the router, this field will remain empty.

Net status
Indicates whether the segment is directly connected to the router and whether the segment is considered reliable

Aging timer
Is used to make sure that information about the segment is current

The method that drivers use for estimating the time delay on a segment depends on the segment type. For local segments with more than 1 megabyte per second (Token-Ring, Ethernet, Arcnet, and so on), the driver makes the assumption that delivery time is one tick. For remote segments (Tl, 64 KBps, X.25, and asynchronous), the driver will periodically poll to determine the current time delay. For example, the delay for a T1 link normally ranges from six to seven ticks. If this delay changes, the driver will inform its router. As information about the segment is passed throughout the network (by way of periodic broadcasts), routers will add any additional delay that they impose to the initial time estimate for the segment.

For NetWare versions prior to 2.16c, the routing information table keeps a list of all alternate routes for each network number in case the primary shortest route to a network number goes down. In other words, if the router can reach the segment through more than one of its NICs, it will make a record of all routes. The fastest route, the one that requires the least number of ticks, will always be used as the primary route. NetWare versions 2.16c and later maintain alternate routes only if these alternate routes require the same number of ticks to reach the segment as the primary route. This procedure reduces the size of the routing information table.

Routing information broadcasts

On a network, routers are constantly exchanging information with each other to make sure that their routing information tables reflect up-to-the-minute changes in the layout of the network. To accomplish this, routers transmit a series of broadcasts from the time they come up until they are brought down. Routing information broadcasts can be classified by the time at which they occur:

Although the broadcasts occur at different times and, for the most part, contain different information, they must follow two important rules:

Best information algorithm

A router sends routing information broadcasts to every network segment to which it is directly connected, as illustrated in ``The best information algorithm''.

The best information algorithm

The purpose of routing information broadcasts is to:

The first rule of the best information algorithm dictates that a router about to broadcast to a particular network segment should not include any information about other segments that it has received from the particular network segment to which the information is being sent.

For example, if the router within server FS2 in ``The best information algorithm'' is going to broadcast routing information to network segment BB, it will not include information that it received from FS1 about network segment AA. If it did, someone on segment BB might erroneously conclude that there are two paths to segment AA, one through FSl and another through FS2.

The best information algorithm also states that routers should not include information about the network segment to which they are sending routing information broadcasts. For example, FS2 would not include information about BB in its broadcast to BB.

Taking these rules into account, the information that FS2 would broadcast to segment BB would be information about segments CC and DD.

Initial and periodic broadcasts

When a router is first brought up, it:

  1. Places the network numbers of its directly connected segments into its routing information table.

  2. Sends a routing information broadcast, following the best information algorithm, to inform the routers on its directly connected segments of the segments that the router will be making available.

  3. Broadcasts a request to each of its directly connected segments for information about all other network segments that exist on the network. This request is responded to by all the routers (each using the best information algorithm) on these directly connected segments.

  4. Places the information from these responses in its routing information table.

``Sequence used to build and maintain the routing information table'' illustrates this initial sequence of broadcasts.

Sequence used to build and maintain the routing information table

Once the router has performed these initial broadcasts and updated its routing information table, it is ready to accept routing requests and route packets. In addition to routing packets, the routers will broadcast all the information in their routing information table (except that excluded by the best information algorithm) to each of their connected network segments every 60 seconds. Routers perform these periodic broadcasts to make sure that all routers on the network remain synchronized.

Because of the lower bandwidth of X.25 and asynchronous links, routers do not perform 60-second broadcasts on these links; only initial broadcasts, changed information broadcasts, and final broadcasts are sent over these links.

Changed information broadcasts

When a router receives information that causes it to change its routing information table, the router immediately passes that information on to its other directly connected network segments, except the segment from which the router received the information. If a new network segment comes up or an existing segment goes down, all the routers on the network will learn about the change in a short period of time.

The primary causes of a change in the network's configuration are file servers or external routers coming up or going down. If a router needs to be brought down, the router will inform its directly connected segments of the fact before discontinuing service. The router issues broadcasts, using the best information algorithm, that indicate that the network segments that the router had made available will no longer be accessible through this router.

The aging process

If a router goes down due to a hardware failure, power glitch, or power outage, other routers will not be notified that a change has occurred. To safeguard against this eventuality, an ``aging'' mechanism has been built into NetWare routers.

Routers maintain a timer for each entry in their routing information table. Every time that information is received concerning the entry, the timer is reset to zero. If the timer reaches three minutes, the router assumes that the route to the network number is down and broadcasts that fact to its other segments. Because this information is new or changed, the routers that receive the information will pass it on immediately and the change will quickly permeate the network.

Next topic: Service advertising
Previous topic: SAP Packet Structure

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003