368
RIP is first introduced in ARPANET, this is a protocol dedicated to small, simple networks.
RIP is a distance vector routing protocol based on the Bellman-Ford algorithm. Network
devices running vector routing protocol send 2 kind of information to the neighboring
devices regularly:
• Number of hops to reach the destination network, or metrics to use or number of
networks to pass.
• What is the next hop, or the director (vector) to use to reach the destination network.
Distance vector layer3 switches send all their route selecting tables to the neighbor layer3
switches at regular interval. A layer3 switches will build their own route selecting
information table based on the information received from the neighbor layer3 switches.
Then, it will send this information to its own neighbor layer3 switches. As a result, the
route selection table is built on second hand information, routers beyond 15 hops will be
deemed as unreachable.
RIP is a optional routing protocol based on UDP. Hosts using RIP send and receive
packets on UDP port 520. All layer3 switches running RIP send their route table to all
neighbor layer3 switches every 30 seconds for update. If no information from the partner
is received in 180 seconds, then the device is deemed to have failed and the network
connected to that device is considered to be unreachable. However, the route of that
layer3 switch will be kept in the route table for another 120 seconds before deletion.
As layer3 switches running RIP built route table with second hand information, infinite
count may occur. For a network running RIP routing protocol, when an RIP route becomes
unreachable, the neighboring RIP layer3 switch will not send route update packets at once,
instead, it waits until the update interval timeout (every 30 seconds) and sends the update
packets containing that route. If before it receives the updated packet, its neighbors send
packets containing the information about the failed neighbor, “infinite count” will be
resulted. In other words, the route of unreachable layer3 switch will be selected with the
metrics increasing progressively. This greatly affects the route selection and route
aggregation time.
To avoid “infinite count”, RIP provides mechanism such as “split horizon” and “triggered
update” to solve route loop. “Split horizon” is done by avoiding sending to a gateway
routes leaned from that gateway. There are two split horizon methods: “simple split
horizon” and “poison reverse split horizon”. Simple split horizon deletes from the route to
be sent to the neighbor gateways the routes learnt from the neighbor gateways; poison
reverse split horizon not only deletes the abovementioned routes, but set the costs of
those routes to infinite. “Triggering update” mechanism defines whenever route metric
changed by the gateway, the gateway advertise the update packets immediately,
regardless of the 30 second update timer status.
There two versions of RIP, version 1 and version 2. RFC1058 introduces RIP-I protocol,
RFC2453 introduces RIP-II, which is compatible with RFC1723 and RFC1388. RIP-I
updates packets by packets advertisement, subnet mask and authentication is not
supported. Some fields in the RIP-I packets are not used and are required to be all 0’s; for
this reason, such all 0's fields should be checked when using RIP-I, the RIP-I packets
should be discarded if such fields are non-zero. RIP-II is a more improved version than
RIP-I. RIP-II sends route update packets by multicast packets (multicast address is