RIP vs EIGRP: Getting to Know These Dynamic Routing Protocols

PitsPits
14 min read

If you’re just getting into networking, you’ve probably come across RIP and EIGRP; two common dynamic routing protocols. At first, they might seem a bit intimidating, but they’re actually not that hard to understand once you break them down.

In this blog, I’ll walk you through what these protocols are, how they work, and how to configure them using a basic lab setup. I’m not a networking pro, just someone who’s studying and sharing what I learn as I go. I’ll keep the explanations simple and clear, so if you’re new to this too, you won’t get lost. Let’s learn together!


Let’s Start with RIP

What is RIP?
RIP stands for Routing Information Protocol. It’s one of the oldest dynamic routing protocols used in networks. RIP uses hop count to decide the best path. Basically, it chooses the route with the fewest number of routers to pass through. The maximum number of hops allowed is 15, which means anything beyond that is considered unreachable.

RIP is simple and easy to configure, which is why it's often used in smaller networks or for learning purposes.


Versions of RIP

There are three versions of RIP:

  • RIP version 1 (RIPv1)
    The original version of RIP. It uses broadcast to send routing updates and doesn’t include subnet information, so it only works with classful addressing. This means no support for VLSM or CIDR.

  • RIP version 2 (RIPv2)
    This version improved on RIPv1 by supporting classless routing. It includes subnet mask info, works with VLSM and CIDR, and sends updates via multicast (224.0.0.9) instead of broadcast. It also supports authentication.

  • RIPng (RIP Next Generation)
    RIPng is designed for IPv6 networks. It works similarly to RIPv2 but is built specifically to handle IPv6 addressing. Instead of using IPv4 multicast, it uses FF02::9 as the multicast address. RIPng also sends updates via UDP on port 521, just like the others, but it doesn’t support authentication directly. Security is handled through IPv6 features like IPsec.


RIP Message Types

RIP uses the following message types:

  • Request – A router sends this when it wants to ask for routing information.

  • Response – A router sends this to reply with its routing table, either in response to a request or as a periodic update (by default, every 30 seconds).


Key Differences Between RIPv1 and RIPv2

FeatureRIPv1RIPv2
AddressingClassful (no subnet info)Classless (includes subnet info)
Routing UpdatesBroadcast (255.255.255.255)Multicast (224.0.0.9)
Authentication SupportNoYes
VLSM SupportNoYes
Route TaggingNoYes

Quick Note: What’s the Difference Between Broadcast and Multicast?

  • Broadcast means sending data to all devices on a network, whether they need it or not. For example, RIPv1 sends updates to every device using the address 255.255.255.255. This can cause unnecessary traffic, especially in larger networks.

  • Multicast means sending data only to devices that are interested in receiving it. RIPv2 uses multicast address 224.0.0.9, and RIPng uses FF02::9 for IPv6. This is more efficient since only routers running RIP will listen to that specific address and process the updates.


Configuring RIP

Now that we know how RIP works, let’s see it in action using a simple lab setup. Here’s the network:

Network Diagram showing 3 routers, 2 switch, and 2 PC. This will be used as an example for RIP and EIGRP configuration.

  • PC1 IP: 192.168.1.1/24

  • R1 (to SW1): 192.168.1.254/24

  • R1 (to R2): 10.0.11.1/30

  • R2 (to R1): 10.0.11.2/30

  • R2 (to R3): 10.0.12.2/30

  • R3 (to R2): 10.0.12.1/30

  • R3 (to SW2): 192.168.2.254/24

  • PC2 IP: 192.168.2.1/24

We’ll configure RIP version 2 on the three routers so that PC1 can reach PC2 and vice versa.


Important RIP Commands Explained

  • version 2 makes sure we’re using RIPv2.

  • passive-interface: Sometimes, you don’t want RIP to send updates out of certain interfaces, especially towards end devices like PCs. This command prevents RIP from sending updates on an interface, while still allowing the network to be advertised.

  • no auto-summary stops RIP from summarizing routes automatically. This is useful especially when working with discontiguous networks.

  • network: This command tells the router which directly connected networks should participate in RIP. It also enables RIP on the interface that belongs to the specified network.

    For example:
    network 192.168.1.0
    This means: “Enable RIP on the interface that has an IP in the 192.168.1.0/24 range and advertise that network to others.”


Configuration

R1

R1(config)# router rip
R1(config-router)# version 2
R1(config-router)# no auto-summary
R1(config-router)# network 10.0.11.0
R1(config-router)# network 192.168.1.0
R1(config-router)# passive-interface GigabitEthernet0/1
  • network 10.0.11.0: Enables RIP between R1 and R2.

  • network 192.168.1.0: Advertises the LAN where PC1 is.

  • passive-interface G0/1: Stops RIP from sending updates to the switch/PC side.

R2

R2(config)# router rip
R2(config-router)# version 2
R2(config-router)# no auto-summary
R2(config-router)# network 10.0.11.0
R2(config-router)# network 10.0.12.0
  • RIP is only running between routers, so no passive-interface needed here.

R3

R3(config)# router rip
R3(config-router)# version 2
R3(config-router)# no auto-summary
R3(config-router)# network 10.0.12.0
R3(config-router)# network 192.168.2.0
R3(config-router)# passive-interface GigabitEthernet0/1
  • network 192.168.2.0: Advertises the LAN where PC2 is.

  • passive-interface G0/1: No RIP updates sent toward the switch or PC.

After this setup, the routers should start exchanging routes with each other. Once convergence happens, PC1 should be able to ping PC2 across the network.


Advertising a Default Route in RIP

Now let’s say you want the entire network to reach the internet. To make that happen, we need to advertise a default route through RIP, so that all routers know where to forward traffic that’s meant for outside networks.

In this case, imagine R1 is connected to the internet through its G0/2 interface, with an IP address of 203.0.113.1/30. This interface is connected to a simulated cloud or ISP.


How Default Routing Works in RIP

RIP doesn’t advertise a default route on its own. You need to:

  1. Create a default static route on the router connected to the internet (R1).

  2. Use the default-information originate command to tell RIP to share that default route with other routers (R2 and R3 in this case).


Configuration on R1 (Advertising the Default Route)

R1(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.2
R1(config)# router rip
R1(config-router)# default-information originate

Here’s what each line does:

  • ip route 0.0.0.0 0.0.0.0 203.0.113.2
    This is a default static route, saying: “For anything I don’t know, send it to the ISP.”

  • default-information originate
    This tells R1 to advertise that default route to other routers via RIP.

Now, R2 and R3 will receive that default route through RIP and know that anything not in their routing table should be forwarded to R1.


Verification

You can use the following command on R2 or R3 to verify if the default route is received:

R2# show ip route

You should see something like this:

R*    0.0.0.0/0 [120/1] via 10.0.11.1, 00:00:12, GigabitEthernet0/0

That R* means it's a RIP-learned default route.


Now Let’s Talk About EIGRP

After seeing how RIP works, let’s move on to EIGRP, or Enhanced Interior Gateway Routing Protocol. Unlike RIP, EIGRP is a bit more advanced and efficient. It was developed by Cisco, which means it originally worked only on Cisco devices, but it’s now available as an open standard in newer versions.

What makes EIGRP different is that it’s faster to converge, uses a more intelligent way of picking routes, and can scale better in larger networks. It still uses the same idea of routers sharing routing information with each other, but the way it calculates the best path is more flexible and reliable compared to RIP.


EIGRP Configuration (Using the Same Network Setup)

Now that we’ve introduced EIGRP, let’s move on to configuring it. We’ll use the same network topology we used for RIP:

  • PC1 → SW1 → R1

    • PC1: 192.168.1.1/24

    • R1 (to SW1): 192.168.1.254/24

  • PC2 → SW2 → R3

    • PC2: 192.168.2.1/24

    • R3 (to SW2): 192.168.2.254/24

  • R1 ↔ R2

    • R1 G0/0: 10.0.11.1/30

    • R2 G0/0: 10.0.11.2/30

  • R2 ↔ R3

    • R2 G0/1: 10.0.12.2/30

    • R3 G0/0: 10.0.12.1/30

Network Diagram showing 3 routers, 2 switch, and 2 PC. This will be used as an example for RIP and EIGRP configuration.


What is an Autonomous System (AS)?

In EIGRP, an Autonomous System (AS) is just a group of routers that share the same EIGRP process. Think of it like a group name. Routers must be in the same AS to exchange EIGRP routing information with each other.

You choose the AS number during configuration. It can be any number (commonly 1, 10, or even 100), but it must match on all routers that need to talk to each other using EIGRP.


What is a Wildcard Mask?

This is one of the most confusing parts for beginners, but don’t worry let’s break it down clearly.

A wildcard mask is used in EIGRP (and OSPF) to tell the router which interfaces to include when enabling the protocol. It works opposite to a subnet mask.

Subnet Mask vs Wildcard Mask

Subnet MaskWildcard MaskMeaning
255.255.255.00.0.0.255Match the first 3 octets, ignore the last
255.255.255.2520.0.0.3Match first 3 octets + first 6 bits of last octet

In simple terms:

  • A 0 in the wildcard mask means “must match exactly.”

  • A 1 (or higher number) means “we don’t care about this bit.”

For example:

network 192.168.1.0 0.0.0.255

This tells the router: “Apply EIGRP to any interface that has an IP address starting with 192.168.1.”


Why Use a Wildcard Mask?

Using wildcard masks gives you more control over which interfaces EIGRP runs on. It’s especially helpful in large networks where you only want to include specific IP ranges instead of everything.


EIGRP Configuration (AS 10)

R1

R1(config)# router eigrp 10
R1(config-router)# network 192.168.1.0 0.0.0.255
R1(config-router)# network 10.0.11.0 0.0.0.3
R1(config-router)# passive-interface GigabitEthernet0/1
  • network 192.168.1.0 0.0.0.255: Includes the LAN toward PC1.

  • network 10.0.11.0 0.0.0.3: Includes the link between R1 and R2.

  • passive-interface G0/1: Prevents EIGRP hello packets from being sent to the PC/Switch side.

R2

R2(config)# router eigrp 10
R2(config-router)# network 10.0.11.0 0.0.0.3
R2(config-router)# network 10.0.12.0 0.0.0.3
  • No passive-interface needed here since both interfaces connect to other routers.

R3

R3(config)# router eigrp 10
R3(config-router)# network 192.168.2.0 0.0.0.255
R3(config-router)# network 10.0.12.0 0.0.0.3
R3(config-router)# passive-interface GigabitEthernet0/1
  • network 192.168.2.0 0.0.0.255: Includes the LAN toward PC2.

  • passive-interface G0/1: No need to send EIGRP messages to the PC/Switch.

After this setup, the routers will begin exchanging routes using EIGRP. You can check the routing table to verify it’s working:

R2# show ip route

Look for entries marked with a D (that stands for EIGRP-learned routes).


Image shows using the command show ip route on R1 to verify the route using EIGRP.

Checking the Routing Table with show ip route

R1# show ip route

This command displays the routing table. Basically a list of all known networks and how to reach them.

How to Read the Output

Here’s a simplified example of what you might see on R2:

R2# show ip route
...
D    192.168.1.0/24 [90/156160] via 10.0.11.1, 00:02:10, GigabitEthernet0/0  
D    192.168.2.0/24 [90/156160] via 10.0.12.1, 00:02:05, GigabitEthernet0/1  
C    10.0.11.0/30 is directly connected, GigabitEthernet0/0  
C    10.0.12.0/30 is directly connected, GigabitEthernet0/1

Let’s break that down:

  • D = EIGRP-learned route

  • C = Directly connected route

  • [90/156160] = The first number (90) is the administrative distance for EIGRP, and the second is the metric (cost to reach the network)

  • via 10.0.11.1 = Next-hop IP address

  • GigabitEthernet0/0 = Interface the router will use to send the traffic

If you see D routes for networks that aren’t directly connected, that means EIGRP is working properly and routes are being shared between routers.

You can repeat this on all three routers to make sure they’ve learned the complete network paths.


Verifying and Managing EIGRP Settings

After configuring EIGRP, it’s a good habit to verify if everything’s working as expected. One helpful command for this is:

show ip protocols

This command gives you a summary of the routing protocol running on the router. For EIGRP, it shows:

  • The Autonomous System (AS) number

  • Router ID

  • Networks being advertised

  • Passive interfaces

  • The neighbors it's communicating with

  • Timer information (like how often it sends updates)

Here’s how it looks:

R1# show ip protocols

Example output (simplified):

pythonCopyEditRouting Protocol is "eigrp 10"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Router ID 1.1.1.1
  ...
  Routing for Networks:
    10.0.11.0
    192.168.1.0
  Passive Interface(s):
    GigabitEthernet0/1
  ...

This helps you double-check if the correct networks are being advertised and which interfaces are passive.


What is the EIGRP Router ID?

The Router ID is a unique identifier for each EIGRP router. It’s written like an IP address (e.g., 1.1.1.1), but it doesn’t have to be a real IP on the router. It’s just used to identify the router in EIGRP communications.

How is it chosen?

EIGRP picks the Router ID using the following order:

  1. Manually configured Router ID (using the eigrp router-id command)

  2. Highest IP address on a loopback interface

  3. Highest IP address on a physical interface (if no loopback exists)


Setting the Router ID Manually

To avoid confusion, especially in labs or production environments, it's a good idea to set it yourself.

Here’s how to do it:

R1(config)# router eigrp 10
R1(config-router)# eigrp router-id 1.1.1.1

After setting it, you need to reset the EIGRP process for the new ID to take effect:

R1(config-router)# no router eigrp 10
R1(config)# router eigrp 10
R1(config-router)# eigrp router-id 1.1.1.1

You can check it again using:

R1# show ip protocols

EIGRP and Unequal-Cost Load Balancing

One of the nice things about EIGRP compared to other routing protocols is that it supports something called unequal-cost load balancing.

By default, most routing protocols can only load balance across paths that have the exact same metric. But EIGRP gives you more flexibility. It can actually use multiple paths with different costs to reach the same destination, as long as they meet certain conditions.

This can be really helpful if you have links with different speeds or reliability, and you still want to use them both instead of letting one sit unused.

Let’s talk about how it works and how to configure it using the variance command.


What is Load Balancing?

In routing, load balancing means sending traffic across multiple paths to reach the same destination. This helps distribute the network load and improve performance.

Most routing protocols (like RIP and OSPF) only support equal-cost load balancing, which means the paths must have the exact same metric or cost.


What is Unequal-Cost Load Balancing?

Unequal-cost load balancing means the router can use multiple paths with different metrics (costs) to reach the same destination.

This is something only EIGRP supports natively.

So even if one path is "better" than the other (lower metric), EIGRP can still use the second path as long as it’s not too much worse.


How Does EIGRP Do That?

EIGRP uses a feature called the variance command.

  • By default, EIGRP only uses paths with the lowest metric.

  • If you want to allow other, slightly worse paths, you can set a variance multiplier.

Here’s the formula:

Feasible Successor’s metric ≤ (Successor’s metric × variance)

If that’s true, EIGRP will use both paths.

Example

Let’s say R1 can reach a network via two paths:

  • Path A (metric 1000)

  • Path B (metric 2000)

By default, EIGRP will only use Path A.

But if you configure variance 2, EIGRP will consider using Path B too because:

2000 (Path B) ≤ 1000 (Path A) × 220002000

Configuration:

R1(config)# router eigrp 10
R1(config-router)# variance 2

This tells EIGRP to include routes with a metric up to 2× the best one.

Important Notes:

  • Only feasible successors (backup paths) can be used for unequal-cost load balancing.

  • Setting a variance too high might cause inefficient routing if you're not careful.

  • This is useful when you want to take advantage of all available bandwidth, even on slower links.


Wrapping Up

And that’s it for now!

We went through the basics of RIP and EIGRP, learned how to configure them, and explored some useful commands along the way. We also looked at things like router ID, wildcard masks, and even unequal-cost load balancing which is something only EIGRP can do. If some parts felt confusing, that’s totally normal. These things take time to sink in, and honestly, the best way to learn is by labbing it out and making mistakes.

I’m not a pro and just someone learning networking step by step and sharing what I’ve picked up along the way. If you’re also learning, I hope this helped make things a little clearer for you. And if it did, maybe stick around for more. I’ll be posting more topics as I go, and I try to keep it simple and beginner-friendly.

Thanks for reading and happy labbing!

0
Subscribe to my newsletter

Read articles from Pits directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Pits
Pits