RIP and EIGRP

RIP (Routing Information Protocol)

  • Distance Vector IGP (uses "routing-by-rumour" logic to learn/share routes)

  • Uses "Hop Count" as a metric. Max = 15 - anything more is considered unreachable

  • Has 3 versions

    • RIPv1 and Rip v2, used for IPv4

    • RIPng (Rip next generation), used for IPv6

  • Uses 2 message types:

    • Request - To ask RIP enabled routers to send their routing table (every 30 s)

    • Response- To send the local routing table to neighbouring routers.

RIP v1

  • Only advertises CLASSFUL addresses (Class A, B and C)

  • Does not support VLSM, CIDR

  • Does not include subnet mask information in advertisements (Response Messages)

  • Messages are BROADCAST 255.255.255.255 (Broadcast messages are delivered to ALL devices on the local network

  • Do not use RIPv1 - its DEAD !!

RIPv2

  • Supports VLSM and CIDR

  • Includes subnet mask information in advertisements

  • messages are MULTICAST to 224.0.0.9 (Multicast messages are delivered only to devices that have joined a specific multicast group

RIP Configuration

R1(config)# router rip R1(config-router) version 2 R1(config-router) no auto-summary R1(config-router) network 10.0.0.0 R1(config-router) network 172.16.0.0

The Network Command

From the above diagram and configuration, we entered a network 10.0.0.0 command as below. This is a class A network whereas the network on R1 interfaces gi-0/0 and gi1/0 are /30's

Lets look at HOW the network command functions

The network command tells the router to:

  • look for interfaces with an IP address that is specified in the specified range (the range specified in the network command.Here all interfaces with the10.0.0.0/8 and 172.16.0.0/16 IP ranges will have RIP enabled on those interfaces

  • It will form adjacencies with connected RIP neighbours and advertise the network prefix of the interface and NOT the prefix in the network command. Meaning that even-though the network command was for the 10.0.0.0 CLASSFUL address, the network command is to ACTUALLY activate the ROUTING PROTOCOL (RIP in this case) on those interfaces configured within the network range, NOT for using it to advertise a full Class A address as sometimes its thought to be. A common misunderstanding. The OSPF and EIGRP network commands operate the same way !!!

Step by Step Walk-through

R1(config-router) network 10.0.0.0

  • We have just entered the 10.0.0.0 network command on R1 and as the network command (RIP) is classful, 10.0.0.0 is a class A address, its assumed to be 10.0.0.0/8

  • R1 will look for any interfaces with an IP address that MATCHES a /8. As this means that only the first 8 bits need to match, so the first OCTET of the IP address needs to be the same ie 10

    • 10.0.12.1 and 10.0.13.1 match - so RIP is activated on those interfaces gi0/0 and gi/0/1

  • R1 then forms adjacencies with routers R2 and R3

  • R1 will send and receive route information to and from R2 and R3

  • HERE IS THE IMPORTANT PART

    • R1 advertises 10.0.12.0/30 and 10.0.13.0/30 the network prefixes of its gi0/0 and gi1/0 interfaces to ite RIP neighbours, R2 and R3

    • Even-though we used the 10.0.0.0 command R1 does NOT advertise the 10.0.0.0/8 network but rather what interfaces to activate RIP on, and then the router will advertise the network PREFIX's of THOSE interfaces !!

R1(config-router) network 172.16.0.0

  • Because the network command is CLASSFUL (Class B) it assumes 172.16.0.0 to be 172.16.0.0/16

  • R1 will look for ALL interfaces with IP addresses that matches 172.16.0.0/16

  • 172.16.14.1 matches 172.16.0.0/16, so RIP will be activated on gi2/0

  • There are no RIP neighbours connected to gi2/0 so NO new adjacencies will be formed, BUT R1 WILL advertise 172.16.1.0/28 (NOT 172.16.0.0/8) to its RIP neighbours

Because there are NO RIP neighbours on the gi2/0 interface, R1 will STILL send RIP advertisements OUT of interface gi2/0. This is unnecessary traffic so gi2/0 should be configured as a passive interface. This command STOPS R1 from sending RIP advertisements out of that interface

R1(config-router) # passive-interface g2/0

ALWAYS recommended to to use this command on interfaces that don't have RIP neighbours. OSPF and EIGRP have the same PASSIVE functionality, and use the same command

Advertise a Default Route into RIP

Here we have added an Internet connection to R1 via its gi3/0 interface as can be seen from the diagram above and output below.

We want to use RIP to tell R2, R3 and R4 about this default route so that they can reach the internet as well, we use the following command (which is also used for OSPF)

R1(config-router)# default-information originate

On R4, the show ip route command shows that the default route to the internet is via R3 BUT it also has another route via R2. BECAUSE RIP uses 'hop count" as a metric the default route is via R3 which is Fa compared to R2 which is Gi Ethernet. RIP sees them as the same ie. 2 hops each and disregards the bandwidth.

Another command to use, and can also be used for EIGRP, OSPF etc is

R1# show ip protocols R1(config-router)# maximum paths - ECMP load balancing - can have from 1-32 R1(config-router)# distance 85 - changing the AD from default 120 - 85

EIGRP - Enhanced Interior Gateway Protocol

  • Cisco Proprietary protocol - Now open source (sort of) and apart from Cisco , no one really uses it

  • Its described as an enhanced or hybrid DISTANCE VECTOR routing protocol

  • Faster than RIP in reacting to changes on the network

  • Does not have 15 'hop count" limitations of RIP

  • Multicast messages to 224.0.0.10 (RIPv2 multicast to 224.0.0.9)

  • Only IGP that can do UNEQUAL-cost load balancing (by default ECMP over 4 paths like RIP)

EIGRP Configuration

In the above R1(config-router)# network 10.0.0.0 --THE NETWORK COMMAND WILL ASSUME A CLASSFUL ADDRESS IF YOU DONT SPECIFY THE WILDCARD MASK - so here with no wildcard mask it will activate EIGRP on any interface with 10.0.0.0/8 address. On R1 both gi0/0 and gi1/0 had EIGRP activated on their interfaces.

REMEMBER!! With wildcard masks its the inverse of the subnet mask. All 1's in the subnet mask are 0 in the equivalent wildcard mask. All 0's in the subnet mask are 1 in the equivalent wild card mask.

255 minus 255 = 0 255 minus 255 = 0 255 minus 224 = 31 255 minus 0 = 255 SO - its 0 . 0 . 31 . 255

0's in the wildcard mask MUST match ( like the 1's in Subnet masks) 1's in the wildcard mask DON'T have to match

With the wildcard mask, we can use it in a number of ways to activate EIGRP on an interface and so to keep it simple is to use the same prefix length as the interface /28= 0.0.0.15 (like we did in the example above). However we could use the EXACT IP address on the interface to activate EIGRP. For example we could use a /32 with a wildcard mask = 0.0.0.0

R1# show ip protocols

Each EIGRP router has a unique 32-bit router ID (RID) number that is represented the same way as an IP address and is used to identify the originating router for external routes. If an external route is received with the same local router ID, the route is discarded. This is an interesting scenario for troubleshooting :)

The router ID is decided on the following:

  • If the router-id is manually configured, otherwise it would use

  • the highest IP address on a loopback interface. If no loopback interface then

  • the highest IP address on any of the routers physical interfaces

  • 172.16.1.14 thus became the router ID

R1(config-router)# eigrp router-id 1.1.1.1 ------manually done so will become the router-id

The Routing Table

EIGRP Metric

  • By default EIGRP uses BANDWIDTH and DELAY to calculate metric. METRIC = BANDWIDTH + DELAY

Remember, the metric is not simply "bandwidth + delay", but rather bandwidth of the slowest link in the path to the destination + the delay of ALL links to the destination

The DELAY value is actually a default value based on the interface bandwidth

EIGRP Terminology

  • FEASIBLE DISTANCE = THIS (R1) router's metric value to the routes DESTINATION

    • From R1's perspective, trying to reach 192.1689.4.0/24 (the metric of the WHOLE route - in RED below)

  • REPORTED / ADVERTISED DISTANCE = The NEIGHBOURS (R2) metric value (YELLOW) to reach the DESTINATION

  • NOT RELATED TO THE CONCEPT OF ADMINISTRATIVE DISTANCE

    EIGRP DISTANCE = THE METRIC TO COMPARE EIGRP ROUTES

    ADMINISTRATIVE = DISTANCE USED TO COMPARE ROUTES FROM DIFFERENT ROUTING PROTOCOLS

Here is the R1#show ip eigrp topology just for the route to 192.168.0.4/24 network

  • SUCCESSOR = The route with the LOWEST metric to the DESTINATION (the BEST Route)

  • FEASIBLE SUCCESSOR = an alternate route to the destination (not the best) which meets the FEASIBILITY CONDITION

    • The feasibility condition is where a route's RD (reported distance) is LOWER than the successors route FD (feasible distance)

Here the route via R3 is considered a FEASIBLE SUCCESSOR because it meets the feasibility conditio whereby the routes reported distance (RD) is lower than the successors route FD (feasible distance)

EIGRP UNEQUAL-COST LOAD BALANCING

Output from R1#show ip protocols

QUIZ 1

QUIZ 2

QUIZ 3

QUIZ 4

LAB

R1#sh run
Building configuration...

Current configuration : 859 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname R1
!
no ip cef
no ipv6 cef
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface GigabitEthernet0/0
 description ## To R2 ##
 ip address 10.0.12.1 255.255.255.252
 duplex auto
 speed auto
!
interface FastEthernet1/0
 description ## To R3 ##
 ip address 10.0.13.1 255.255.255.252
 duplex auto
 speed auto
!
interface FastEthernet2/0
 no ip address
 duplex auto
 speed auto
 shutdown
!
router eigrp 100
 passive-interface Loopback0
 network 10.0.12.0 0.0.0.3
 network 1.1.1.1 0.0.0.0
 network 10.0.13.0 0.0.0.3
 no auto-summary
!
ip classless
!
ip flow-export version 9
!
no cdp run
!
line con 0
!
line aux 0
!
line vty 0 4
 login
!
end

R1#     

Last updated