Data Network Resource
       Earn on the Web


IP/RIP



RIPv1


RIP was originally developed by Xerox and was called Gateway Info (GWInfo) it then developed into Routed which you will within the Unix environment. RIP v1 is described in RFC 1058. RIP is a Distance Vector protocol and uses the Bellmann-Ford algorithm for determining the best route. Other distance vector routing protocols include IPX RIP, AppleTalk RTMP and IGRP (Inter-Gateway Routing Protocol). There are also other routing protocols such as OSPF, IPX NLSP (Netware Link State Protocol and IS-IS (Intermediate System to Intermediate System) which are known as Link-State routing protocols i.e. they are concerned with sharing the status of links in their updates rather than complete routing table information. OSPF tends to be limited to around 1000 routers whereas IS-IS can scale much larger. Ciscos EIGRP (Enhanced IGRP) is often called a 'hybrid' but is more strictly a Diffuse Up Algorithm (DUAL). BGP (Border Gateway Protocol) is not really a routing protocol at all, it is more accurately described as a Path Vector protocol.

In a RIP v1 environment all subnet masks throughout the network must be the same therefore limiting addressing schemes somewhat. This is because RIP v1 is a Classful routing protocol, it does not have the ability to transmit the subnet mask within its updates. RIP v1 imposes the subnet mask on the inbound interface and this is normally defined by the engineer. Learned routes are entered into the routing table with their natural mask. As a result there can be a great waste of internet host addresses. This can be rectified by using RIP v2 (see later) or OSPF which are able to implement Variable Length Subnet Masks (VLSM). They can do this because they can transmit the subnet mask within their routing updates and these protocols are known as Classless routing protocols.

The following diagram shows a restriction on using RIP:

RIP restriction

For routing updates being sent from router A about network 131.108.10.0/24, router B resorts to assigning the natural Class B mask to the network entry in the routing table. Router B therefore sees a split network since 131.108.0.0 also exists on its own LAN interface.

Similarly:

Split subnet

Although this network will route correctly as it stands in a RIP environment, the problems arise if the link between A and B fails, because the 131.108.0.0 network will split.

Consider the following scenario:

Split

In a RIP environment, if router C routes the first packet and then switches the rest, then for some conversations the link to 131.108.0.0 will work very well and for others the link to 131.108.0.0 will fail. This is because the Class B network 131.108.0.0 is split across two routes even though locally the masks are class C for the subnets. The networks 222.1.1.0 and 222.1.2.0 are two separate Class C networks anyway. In an IGRP environment, because IGRP load balances across equal cost paths, the users will have a slower network since TCP will resend the dropped packets.

Subnets


When creating subnets, the mask determines which portion of the IP address is used for the subnet address and which is used for the host address. For example, in the mask 255.255.255.0, the first three octets consist of all 1's whilst the last octet contains 0's, the mask is ANDed to the incoming IP address and the host part is separated out in the AND operation and is considered to be a local interface address. When sizing a subnet, the formula used is 2n - 2 = number of available subnets or hosts (where 'n' is the number of bits used). For further discussion on IP addressing, CIDR and VLSM refer to IP Addressing and CIDR.

RIP v1 Operation


RIP v1 uses UDP port 520 for sending and receiving broadcast messages.

The RIP v1 packet is illustrated below:

RIPv1 Packet

The Command field can have one of the following commands:
  • Request
  • Response
  • Traceon (no longer used)
  • Traceoff (no longer used)
  • Reserved (used by Sun Microsystems)
Each route is identified in the fields from the Address Family Identifier onwards. There can be up to 25 routes in one RIP packet.

There are two RIP message types Request Messages and Response Messages. A router requests an update when it first joins a network and all routers respond with Response Messages containing the routes. Response Messages are sent anyway every 30 seconds by default. Triggered updates occur when there has been a change and these triggered updates just contain the changes and help with quicker network convergence.

IP routing protocols submit their best routes for each destination to the Router Table Manager (RTM). The RTM then builds the Routing Table and includes all the locally configured interfaces (i.e. on the router itself) and any static routes that might have been configured. In addition to the Routing Table, identical copies of which sit on each slot; there is also a Forwarding Table which acts as a route cache for the IP datagrams. This Forwarding Table is used to hold the most recent and commonly used datagrams so saving the need to go through the complete Routing Table every time and this can be of a configurable size, depending on the memory available. IP global and interface parameters are maintained within the Management Information Base (MIB) which is mainly used by external SNMP clients which view and change these parameters.

The same IP route information can come from different interfaces, routing protocols or static routes, and since only one entry for a particular destination is allowed, the RTM makes the decision as to which route goes into the table based on the Route Preference (which can be configured), or failing that, the Route Weight (which is not configurable). RIP is not sensitive to line speed instead it calculates the best routes by way of 'hops' (or 'metric') or 'ticks' (which is time). If the router receives a change to the reachability of a route and it is worse than the information that it already has in the Routing Table then it will only update this information if it receives the information from the original sender.

The maximum number of hops allowed is 15. Once the hop count reaches 16 then the network becomes unreachable. A directly connected network has a hop of 1. RIP updates (containing up to 25 entries each) are sent every 30 seconds. Cisco have introduced a time variance for these updates of between 25.5 and 30 seconds. This is to stop RIP_JITTER where on Ethernet networks RIP can get sent at the same time causing update synchronisation so making the network very busy every 30 seconds.

To help eliminate routing loops and unnecessary RIP updates two techniques are employed. Split Horizon can be set so that two connected routers do not send each other routes that have been learned via their connected interfaces, there is no point since the other router must know these routes. Poisoned Reverse sends the routes learned but with a hop count of 16 indicating the network to be unreachable via that interface. This helps defeat larger routing loops.

Default Route


A default route, which has a mask of 0.0.0.0 will yield a destination network of 0.0.0.0 when any IP datagram is ANDed with the mask. The result of this is that if it cannot find a match within the routing table then it uses the next hop address defined by the 0.0.0.0 destination address. Configuring a default route causes a certain amount of traffic overhead.

RIP and Subnet Masking


RIP updates are sent to RIP configured updates every 30 seconds and this update contains all known networks and their hop counts, no mask information is included. In this RIP packet 8 bytes, out of the possible 16, are unused so 50% of the bandwidth is wasted. A router will not advertise a subnetwork out of an interface that does not belong to that network, what it does do is advertise the natural portion of the address e.g.

Natural Mask

In the above diagram router A has two subnetworks, 149.213.128.0 and 149.213.192.0 with a subnet mask of 255.255.248.0, however router B cannot see these subnetworks because no mask information is received with RIPv1, instead it advertises a network of 149.213.0.0 with a natural mask of 255.255.0.0. If the advertised network belongs to the subnetwork of the interface on which it was received, then that interface mask is associated to that advertised network. Equal cost paths to the same network are handled by the router using the first one that it learned.

There are three timers that RIP uses:
  • Expiration Timer - This 'Invalid timer' is set when a route is first added to a routing table and whenever an update arrives for that same route.
  • Flush Timer - This 'Garbage timer' starts if the Expiration timer reaches 180 seconds. The Garbage Timer runs for 60 seconds and then deletes the route if no update occurs.
  • Holddown Timer - When an update for a route appears with a higher metric than the current route in the table, the Holddown Timer prevents changes to the table until it times itself out thereby maintaining stability in the routing table if routes are 'flapping'. This stops routes to failed networks being re-introduced by routers that have yet to find out.
If information about a network is not received within 90 seconds (default value) then the metric is set to 'U' (in the TI) or '-1' (Site Manager). The network is removed from the routing table if no information is received after 180 seconds.

Unnumbered IP links


Unnumbered IP interfaces can be configured for use on point to point links as a way of conserving network address space. An address of 0.0.0.0 is used, along with a mask of 0.0.0.0, an associate address parameter is used as the source address for anything transmitted out of that interface. This associate address has to be an IP address of one of that router's interfaces. No pinging or ARPing is done on or through this unnumbered interface and RIP decisions are based on the mask of the associated address. One use of the unnumbered IP interface would be as a link to another manufacturer's router (such as Cisco) which also has an unnumbered interface.

IP Multinetting


IP multinetting can be achieved by adding subnets to the same interface, normally this is necessary because a LAN has been inherited and resubnetting is out of the question due to all the IP address changes that would have to be changed. In an ideal world multinetting should be avoided because the router interface has to work hard routing between subnets on the same interface. Using RIP v2 and OSPF allows variable subnets to be used and, if carefully planned, should allow the configuration of single subnets with masks allowing enough hosts per subnet.

RIP Accept Policies


RIP Accept Policies can be configured to perform any of the following:
  • Listen to RIP updates from certain routers
  • Listen only for specific networks
  • Alter the advertised metric of a network
  • Assign a specific mask to be included with a network in the routing table
  • Change the preference metric of a route
An example of a use for an Accept Policy would be to prevent users connected to a router B from accessing networks off a router A, the Accept Policy would be configured on router B. The result of this policy would also prevent users on router A from accessing these networks on router B, this is because, although they could reach the router, they could not get a response back. RIP Accept Policies are configured globally on the router and if there are several policies configured a Rule Precedence parameter can be set so that if a RIP update comes along with contents matching more than one policy, the policy with the highest precedence takes priority.

RIP Announce Policies


RIP Announce Policies can be configured to do any of the following:
  • Pass on certain routes out of particular interfaces
  • Automatically create a default route
  • Pass on routes learned from particular gateways
  • Pass on routes learned from particular interfaces
An Announce Policy could be used, for instance, exclude a couple of subnetworks on router A from the routing tables of all the other routers within the network, thereby isolating them from the rest of the network.

When configuring the networks involved in either Accept or Announce Policies, the match criteria could be 'exact' or 'range'. When range is selected it is worth noting that the network address, say 153.17.12.0, becomes the lowest address in a range of addresses limited by the mask. So in our example, if the mask is 255.255.0.0 then the upper limit of the range of addresses would be 153.17.255.255. Another item worth noting is the Route Source parameter; the hexadecimal value entered is the SUM of the codes used to represent each routing protocol used for contributing the route.

RIP v2


The latest RFC for RIP v2 is RFC 1723 and replaces RFC 1388.

The following features are additional to those found within RIP v1:
  • Authentication: A simple password of up to 128 characters can be used to verify legal IP datagrams between RIP v2 configured router interfaces. This helps in preventing hackers making use of erroneous updates. The Address Family Identifier is set to a specific value and is read to check authenticity.
  • Route Tags
  • Subnet Mask: Each network entry within the RIP update has it's subnet mask included so accurate routing information can be included within the routing tables and a RIP v2 router advertises all known subnetworks out an interface not belonging to that subnetwork. Different subnet masks can be configured throughout the whole network without confusing the routers, address space no longer needs to be wasted as subnet mask sizes can be adjusted to accommodate different network sizes.
  • Multicasting: RIP v2 updates are multicast to 224.0.0.9 (class D) so RIP v2 routers share information independently from other routers.
The RIP v2 packet is illustrated below:

RIPv2 Packet

Extensions to RIP are detailed in RFC 2091 and include triggered RIP updates which were designed to allow RIP to run over dial circuits. Only when a route changes would RIP send a routing update, thereby minimising the number of calls required to maintain the routing table.

Valid HTML 4.01 Transitional




Earn on the Web    


All rights reserved. All trademarks, logos, and copyrights are property of their respective owners.