Unix Applications


In this section there is a general information about some of the most popular implementations of RIP for the UNIX operating system.

Routed

A Unix daemon for updating routing tables.

Routed is invoked at boot time and uses (mainly) the RIP protocol to maintain the kernel routing tables up to date.

The well known port for the Routed daemon to wait for routing information packets is UDPsocket 520.

When Routed is started, it finds its directly connected interfaces using some system mechanism. In case there's more then one interface, it is assumed the host will forward packets between networks, namely, host is an inter-work router.

In case the host that is running Routed is an internetwork router, it should send periodically (usually every 30 seconds and each time an update is applied) copies of its routing tables to its router neighbors. These are known as 'response'packets.

Routed transmits a request packet on each interface and starts an endless loop in which it listens on its well known port for RIP packets.

When a 'request' packet is received, Routed responds with a 'response'packet(s) which contain routes and metric (based on 'hop count') based on its internal tables.

When a 'response' packet is received, Routed updates its tables according to the RIP principles.

In case there is an innovation about the sender in a 'request'packet - (e.g. a better metric than known so far) the receiver of the packet should update its tables accordingly.

Routed periodically checks the routing table entries and an entry which has not been updated for some period is first set to infinity and after another delay - deleted.

In order to gather more information, Routed should use other interfaces such as IMP and ICMP.

Another facility supported by Routed is the notion of 'passive' and 'active' routers. The main characteristic of 'passive' routers is that Routed does not expect to change the routing information about them dynamically, and hence it remains unchanged until Routed terminates. Routed learns about the 'passive' routers when started, from a standard file.

Gated

A Unix gateway daemon - handles multiple routing protocols. Gated supports the following routing protocols: RIP, BGP, EGP, and HELLO. Thus, it replaces Routed, EGPup, and any routing daemon that speaks the HELLO routing protocol. Its facilities regarding the RIP protocol are the same as those of Routed.

Ripquery

A Unix command. Used to request known routes from a router, supporting RIP. Ripquery sends a RIP POLL and/or RIP REQUEST command to a remote router, specified either by symbolic name or by its IP address. The response is received by means of RIP responsepackets and is presented in separated lines. Each line contains the following data for a specific route: 'symbolic mask name' 'IP address mask' 'metric'.

The RIP POLL command is the default RIP command used by Ripquery and is prefered on the RIP REQUEST because unlike the latter it is not subject to Split Horizon and Poisoned Reverse. Either the default value is used or the other is chosen, if Ripquery fails to get a response after a defined timeout - it tries the other option. The RIP POLL command is an undocumented extension of the RIP specification, supported both by Routed and by Gated.

The recommended use for Ripquery is only debugging gateways since the data it supplies is very limited (e.g. the next hope is not supplied). More powerful protocols are recommended for network management e.g. SNMP.