RIP Distance Vector Routing Protocol

Hi Rene ,

I have a question . Let’s say we have to design the network of a company on what basis you will decide whether to use RIP or OSPF or IBGP on the lan side of network ?

Hello Aryaka

This is an excellent question. First of all, if we’re talking about the LAN side, then BGP is not a good choice. BGP is designed for large routing tables like those found on the Internet, and is generally much slower in converging. Within a LAN, if a link or a router fails, you want the routing protocol to re-converge within several seconds. Although BGP’s timers can be adjusted down to 3 seconds for the update and 15 seconds for the hold timer. However, this means that in the event of a failure, re-convergence will take at least 15 seconds. For most enterprise networks, this is unacceptable. There are ways to get around that, but there are other features of BGP (and lack thereof) that don’t make it a good choice for a LAN.

RIP, OSPF and EIGRP are internal routing protocols designed to be used within an enterprise LAN. But these too have various differences between them. In general, networking professionals agree that RIP should never be used in production networks unless absolutely necessary. I’ve come across some vendors of some specialized networking equipment only support RIP for example. But if you can avoid it, don’t use it. This is because it is slow to converge, not very scalable, and has comparatively few parameters to tweak and optimise routing. Today it is generally used for teaching purposes for students to understand the concepts before going on to other protocols.

Now it comes down to OSPF and EIGRP. This is really a matter of preference among networking professionals. Both protocols are scalable, tweakable and can provide for the demands of any modern network. Sure, each has its own strong points and weak points, but I think the most vital is that OSPF is open architecture and is supported by many vendors, while EIGRP is proprietary to Cisco, although some other vendors are licensed to support it. This alone may be enough for someone to choose one way or the other.

For a more detailed look at the differences and advantages of each protocol, take a look at Rene’s comprehensive lessons on both of these.

I hope this has been helpful!

Laz

Hi team,

i have a doubt the router doesn’t forward broadcast.

So how then does RIP work - because it is said that it works using broadcast.

1 Like

Hello Rahul

When routers use RIPv1, they do indeed use broadcast addresses to send out RIP updates. It is also true that routers do not forward broadcast packets that they receive. This means that if a RIP router sends a RIP update out of all its configured ports, only routers that are directly connected to it will receive these updates. A router may not forward broadcasts, but it will receive them and process them if they are sent from a directly connected router.

So RIP updates are sent only to directly connected neighbouring routers, which is the required behaviour to have RIP function correctly.

I hope this has been helpful!

Laz

1 Like

Thanks for your reply. i am a bit of confusion in RIPv1. Could you please explain with a simple diagram and elaborate.

1 Like

Hello Rahul

Take a look at the following diagram:


If RIPv1 is configured, R1 will send its updates out of all participating interfaces using a broadcast. This means that a broadcast packet will be sent out of Fa0/0 and Fa1/0. This packet will reach all of the hosts on the 1.1.1.0/24 network as well as all hosts on the 192.168.12.0/24 network. All hosts on the first network will discard the packet because they are not RIP devices. R2 will receive the broadcast and will process it. In this whole procedure, only R2 will receive and process the RIP message. R3 will see nothing. As you very correctly pointed out, routers do not forward broadcast packets, so R2 will not forward RIP messages recieved from R1, but it will process them, meaning, it will take their information and use it to update its own routing table.

Similarly, any RIP messages from R3 will reach R2 but will not reach R1. If R2 sends a broadcast RIP message, both R1 and R3 will receive the packet and will process it, because they are directly connected. They will not however forward these messages to the 1.1.1.0/24 or the 3.3.3.0/24 networks, as broadcasts are not forwarded to other networks.

I hope this has been helpful!

Laz

1 Like

Super, Nice explanation Liz, now i understand the behaviour of RIPV1.

1 Like

Hi Lazaros,
I have questions:
1 . what is the concept of counting to infinity?

  1. what is invalid timer, holddown timer and flush timer? as discussed before rene said that invalid timer is 180 seconds, holddown timer is 180 seconds and flush timer is 240 seconds so in total 600 seconds, it is confusing for me.

  2. What are the exact parts that eigrp uses from distance vector and link state?

  3. When 3.3.3.0/24 is down that is directly connected to R3, R3 sends route poison to R2 to tell him 3.3.3.0 is now unreachable for R3 and R3 sets the metric to 16 because it is unreachable for R3. Do all routers set the metric to 16 or only R2 and R1?

  4. Rene said in discussion: when you advertise a network in RIP, the router will set the default metric to 1 so if we configure and advertise loopback interface it’s default metric is 0.

And the last question that is although not related to this discussion is: Difference between Bandwidth, Throughput and Speed.
Thanks in advance.

Hello Muhammad

Counting to Infinity occurs when a router loses a directly connected network, and tries to reach it via a neighboring router. This neighboring router in turn says it knows where to find it, via the connection to the first router. The routers continually exchange routing updates, each time, increasing the hop count. Once this hop count reaches 16, which is “infinity” as far as RIP is concerned, the route is considered unreachable.

These timers do not count consecutively, but concurrently. That is, they are incremented at the same time. So as the holdown timer is counting up to 180, the flush timer is also counting at the same time. So you can’t just add up the times and calculate the result. For more info about timers, take a look at this:

EIGRP is a distance vector routing protocol. The reason for this is that EIGRP measures the distance to the destination using a particular metric, rather than constructing a network topology of the whole network like a link state protocol does.

R3 will set the metric to 16. This informs R2 that R3 no longer has a path to the specific destination, so it just removes it from the routing table. R2 will also send a route poison as well, telling R1 to remove the route from its routing table. If another router has an alternate route to this destination, then that route still remains. The only routes that the route poison will remove are those learned from the interfaces on which the poison is received.

The metric of 1 is used to advertise the directly connected networks. This includes loopback interfaces as well, so their metric will also be 1.

Bandwidth strictly speaking is the amount of data that can be sent in a particular period of time by a particular technology. Speed is the rated bandwidth of a particular interface. Throughput is the amount of usable bandwidth that a particular circuit provides.

For example, the bandwidth provided by a fiber optic link supplied by an ISP may be 30Mb/s, but this is plugged into a GigabitEthernet interface which has a speed of 1Gb/s. The throughput is what is made available to applications without the overhead of packet headers. This may be 27 or 28 Mb/s but may be variable over time.

I hope this has been helpful!

Laz

1 Like

Hi Lazaros,
That was very nice explanation thank you very much.
But still I didn’t get the correct concept of Distance Vector and Link-state parts that eigrp uses.
And also I am confused about Speed and Bandwidth, if possible explaine it to me with examples.
Thanks in advance.

Hello Muhammad

EIGRP is a distance-vector routing protocol. It is not a link-state routing protocol. It doesn’t have parts of it functioning as a distance vector and other parts functioning as a link state. EIGRP uses a metric that measures distance to the final destination, and it does not maintain a full topology of the network in its database like a link state protocol does.

However, what I believe you are referring to is the fact that many people state that EIGRP is an “advanced” distance vector routing protocol, and that it “behaves” like a link state protocol in some aspects. This is true in the fact that the metric can also take into account the cost of specific links, evaluating a slow serial link as a higher metric than a GigabitEthernet link even if the “distance” to the destination is the same. In this sense, EIGRP is “like” a link state protocol, but in actuality it is not. It still uses distance as the metric, and does not maintain a topology of the network on each router, so EIGRP is indeed a pure distance-vector routing protocol.

Here’s an example that might help you further. Imagine you have a MetroEthernet connection coming to your premises and you connect it to the GigabitEthernet port of your router. The ISP says to you that the link supports up to 150Mbps. In this case, the speed of the port of the router is 1000Mbps, because it is a GigabitEthernet port, however, the bandwidth that you are provided with from the ISP is 150Mbps.

I hope this has been helpful!

Laz

Hi and thank you Lazaros.
The only thing I am thinking about is that people say that EIGRP is hybrid routing protocol, it means it uses some stuffs from Distance vector and some from Link state. I am confused about this.

Hello Muhammad

Yes, some people do refer to it as a hybrid protocol, but this is not correct. Strictly speaking it is not a hybrid, but it is only a distance vector routing protocol. However, it is like a link state protocol in the fact that it can incorporate the link speeds for each route as part of the metric, preferring routes that may have more hops, but provide higher bandwidths to get to a particular destination. This behaviour is like a link state protocol but is not enough to consider EIGRP as a hybrid. In order to be considered a link state protocol, it must have the full topology of the network within each node participating in the protocol, like OSPF. This is NOT the case for EIGRP, so it cannot be considered a link state protocol.

I hope this has been helpful!

Laz

Thanks again Lazaros,
Now it is clear for me.

1 Like

Hi,

how can R4 send 1.1.1.1/32 info to R1? It learnt from R1 and sending it back again R1? Is split horizon closed on R4? Because if split horizon is enabled on R4, it can’t send 1.1.1.1 back to R1. Right?

Hello Murat

Split horizon states that you cannot send the information about a route out the same interface from which you learned it. So in the example Rene is describing, R4 has learned about the 1.1.1.0/24 route via its interface connected to R3. According to split horizon, it will not send this information out the same interface, but it can send it out its interface connected to R2. Once it does this, split horizon is not violated, but we still get a temporary routing loop.

I hope this has been helpful!

Laz

1 Like

Hi,

Let’s say R1 and R2 are RIP neighbors and R1 is advertising 1.1.1.0/24 to R2. 1.1.1.0/24 is directly connected to R1. When R1 is sending a RIP update to R2 (for example below), does the R1 send the update with 1 hop metric or does it send without adding any metric and R2 add 1 hop metric when takes the update from R1?

R1:

C 1.1.1.0/24 directly connected, eth0/0

regards,

Hi,

According to the debug ip rip, I see that R1 is adding one more metric for every routing in it’s routing table when sending the updates. Should I understand the log like this?

*Jul  1 11:17:55.737: RIP: build update entries
*Jul  1 11:17:55.737:   192.168.12.0/24 via 0.0.0.0, metric 1, tag 0
*Jul  1 11:17:55.737:   192.168.23.0/24 via 0.0.0.0, metric 2, tag 0
*Jul  1 11:17:56.751: RIP: sending v2 update to 224.0.0.9 via Ethernet0/0 (192.168.12.1)
*Jul  1 11:17:56.751: RIP: build update entries
*Jul  1 11:17:56.751:   1.1.1.0/24 via 0.0.0.0, metric 1, tag 0

Router#sh ip route rip
R     192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:21, Ethernet0/0

Router#sh ip route

      1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        1.1.1.0/24 is directly connected, Ethernet0/1
L        1.1.1.254/32 is directly connected, Ethernet0/1
      192.168.12.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.12.0/24 is directly connected, Ethernet0/0
L        192.168.12.1/32 is directly connected, Ethernet0/0
R     192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:22, Ethernet0/0

Hello Murat

When a RIP router advertises its routes to neighboring routers, it will add 1 to the metric before sending it out. This can be seen from the output of your post as well. Remember that a hop count of 0 denotes a directly connected network. So in your output, you see that R1 is sending 1.1.1.0/24 with a metric of 1, so it is adding the hop before sending it to its neighbors.

I hope this has been helpful!

Laz

1 Like

I want to know isn’t there any problem after disabling split horizon rule on dmvpn or fr interfaces?