IPX routing

Here I try to explain more detailed, how IPX routing works.

Every IPX packet has 30-byte header with network, node and socket address for both the destination and the source. IPX packets are encapsulated to MAC (Media Access Control protocol, in our case Ethernet_802.2).

  • Let some workstation wants to send information to another workstation (server). If both are in same network segment (has same network number), sending workstation sends packet directly. If workstaions are in different networks, the sending workstation must first find a router on its own segment (network) that can forward packets to the segment on which the destination workstation resides.

  • To find this router, the sending workstation broadcasts a RIP (Routing Information Packet) requesting the fastest route to the destination segment. The router on the sending segment with the shorest path to the destination segment responds to the request (in case of PPP there is only router - Linux box). In its response, the router includes its own network and node address in the IPX header.

  • When the sending workstation knows the router node address, it addresses and sens packets to the destination workstation as follows:

  • When a router receives an IPX packet:

    RIP (Routing Information Packet). Routers use RIP to exchange routing information with neighboring routers on an IPX network. A RIP router periodically broadcasts a packet containing all routing information known to router (that's just work of IPX RIP). So all routers in network are synchronized. Workstatios also use RIP to locate the fastes route to a distant network. A workstation initiates a route request by broadcasting a RIP packet and then "listen" for thr RIP response that contains the route information.

    SAP (Service Advertising Packet) is conceptually similar to RIP. It provides a means for routers and servers to advertise and exchange sevice (print queues and servers, file servers etc) information. SAP includes up to 7 Server Entrys, where sevice type, Server Name with address (network, node, socket) etc. are described.

    Look now, how it woks in our case (PPP).

  • When IPX over PPP starts, workstation (client) sends SAP request (with sevice type "File Server"). Linux box (as router) answers with SAP packets, where available servers are described. Client waits for SAP packet, where "Preferred Server" is described. There it found address (network, node, socket) of necessary NW server.

  • Then client sends RIP request, to find route to NW server. Linux box is here only router on this segment and answers.

  • Client reads RIP answer from Linux box and sends packet, where IPX address is address of server and MAC (Ethernet) address is address of Linux box.

  • Linux box forwards packet to server.

  • When server receives packet, it requests (first RIP request to find route, then send packet). Now connection between client and server is established and client can first attach to the server and later user can login to server.

  • Now client can receive SAP packets and use services like NW server volumes, print servers and queues etc.

    Back to PPP-IPX page