Troubleshooting IP Routing Protocols
Troubleshooting IP Routing Protocols
Protocols
Zaheer Aziz, CCIE #4127
Johnson Liu, CCIE #2637
Abe Martey, CCIE #2373
Faraz Shamim, CCIE #4131
Cisco Press
Cisco Press
800 East 96th Street
Indianapolis, IN 46240 USA
ii
Trademark Acknowledgments
All terms mentioned in this book that are known to be trademarks or service marks have been appropriately
capitalized. Cisco Press and Cisco Systems, Inc. cannot attest to the accuracy of this information. Use of a term
in this book should not be regarded as affecting the validity of any trademark or service mark.
Feedback Information
At Cisco Press, our goal is to create in-depth technical books of the highest quality and value. Each book is crafted
with care and precision, undergoing rigorous development that involves the unique expertise of members from the
professional technical community.
Readers’ feedback is a natural continuation of this process. If you have any comments regarding how we could
improve the quality of this book or otherwise alter it to better suit your needs, you can contact us through e-mail at
[email protected]. Please be sure to include the book title and ISBN in your message.
We greatly appreciate your assistance.
iii
Dedications
Zaheer Aziz:
I would like to dedicate this book to my late father (may God bless his soul) for his struggling life for betterment of
our life, to a person whose self-made, hardworking, and not-so-easy life history became a catalyst for the relatively
little hard work I have put in my life. Undoubtedly, he would have tremendously enjoyed seeing this book, but he is
not here. Truly, his Air Force blood would have rushed fast seeing this book, but he is not here. Verily, he would
have immensely applauded me in seeing this book, but he is not here. Therefore, I want my mother, who has put in
equal hard work in our life, to enjoy this accomplishment and success. She deserves equal credit in the success of
our family, and I wish her a very long and happy life.
Johnson Liu:
I dedicate this book with my deepest love and affection to my wife, Cisco Liu, who has given me the inspiration and
support to write this book.
Abe Martey:
I’d like to dedicate this book to all previous and current engineers of the Cisco Worldwide TAC for their remarkable
enthusiasm, dedication, and excellence in providing technical and troubleshooting assistance to network operators
in every corner of our planet and in space.
Faraz Shamim:
I would like to dedicate this book to my parents, whose favors I can never return and whose prayers I will always
need. To my wife, who encouraged me when I felt too lazy to write, and to my sons, Ayaan and Ameel, who waited
patiently for my attention on many occasions.
vi
Acknowledgments
Faraz Shamim:
Alhamdulillah! I thank God for giving me the opportunity to write this book, which I hope will help many people in
resolving their routing issues.
I would like to thank my manager, Srinivas Vegesna, and my previous manager and mentor, Andrew Maximov, for
supporting me in this book project. Special thanks goes to Bob Vigil, who let me use some of his presentation mate-
rial in the RIP and IGRP chapter. I would also like to thank Alex Zinin for clearing some of my OSPF concepts that
I used in this book. I would like to thank my co-authors, Zaheer Aziz, Abe Martey, and Johnson Liu, who put up
with my habit of reminding them of their chapter deadlines. I would also like to thank Chris Cleveland and Amy
Lewis of Cisco Press for their understanding whenever we were late in submitting our chapters.
Zaheer Aziz:
All thanks to God for giving me strength to work on this book. I heartily thank my wife for her support, patience,
and understanding that helped me put in many hours on this book. I appreciate the flexibility of my employer, Cisco
Systems, Inc. (in particular, my manager, Srinivas Vegesna) for allowing me to work on this book while keeping my
day job. Many thanks to Syed Faraz Shamim (lead author of this book), who invited me through a cell-phone call
from San Jose to Washington, D.C., where I was attending IETF 46 in 1999, to co-author this book. Thanks to Moiz
Moizuddin for independently reviewing the technical content of my chapters. I would like to credit my mentor,
Syed Khalid Raza, for his continuous guidance and for showing me the world of BGP. Finally, I wish to thank Cisco
Press, who made this book possible—in particular, Christopher Cleveland and Brian Morgan, whose suggestions
greatly improved the quality of this book and made this process go smoothly.
Johnson Liu:
I would like to thank my friends and colleagues at Cisco Systems, with whom I spent many late hours with trying to
troubleshoot P1 routing protocol problems. Their professionalism and knowledge are simply unparalleled. Special
thanks to my managers, Andrew Maximow and Raja Sundaram, who have given me all their support throughout my
career at Cisco Systems. Finally, I would like to thank my technical editors for their invaluable input and sugges-
tions to improve this book.
Abe Martey:
First of all, I’d like to express sincere thanks to the co-authors and colleagues at work, Faraz, Johnson, and Zaheer
for dreaming up this title and inviting me to participate in its materialization. We all worked on the Cisco Technical
Assistance Center (TAC) Routing Protocol Team, giving us quite a bit of experience troubleshooting IP routing
problems. This work is our attempt to generously share that experience with a larger audience beyond the Cisco
Systems work environment.
I received a lot of support, mentorship, and training from many Cisco TAC and development engineers, as well
as many direct and nondirect managers as a TAC Engineer. Hats off to this unique breed of talented individuals,
women and men, who have committed their lives to keep the Internet running. I’d also like to thank these folks (too
many of them to name here) for every bit of knowledge and wisdom that they’ve shared with me over the years.
Over time, I’ve developed great personal relationships with various networking professionals worldwide, all of
whom I met as customers or through IETF, NANOG, IEEE, and other professional conferences and meetings. I’d
like to sincerely thank them for sharing with me their knowledge and expertise, as well as their professional insights
and visions into the future of networking technology.
I’d also like to express my sincerest gratitude to Amy Lewis and Chris Cleveland, both of Cisco Press, and the tech-
nical editors for their roles in helping bring this book to fruition. Many thanks to several close relatives for their
support and encouragement all through this project.
vii
Contents at a Glance
Preface xxxiii
Introduction xxxiv
Chapter 1 Understanding IP Routing 3
Chapter 2 Understanding Routing Information Protocol (RIP) 29
Chapter 3 Troubleshooting RIP 47
Chapter 4 Understanding Interior Gateway Routing Protocol (IGRP) 127
Chapter 5 Troubleshooting IGRP 137
Chapter 6 Understanding Enhanced Interior Gateway Routing Protocol (EIGRP) 207
Chapter 7 Troubleshooting EIGRP 227
Chapter 8 Understanding Open Shortest Path First (OSPF) 295
Chapter 9 Troubleshooting OSPF 341
Chapter 10 Understanding Intermediate System-to-Intermediate System (IS-IS) 533
Chapter 11 Troubleshooting IS-IS 585
Chapter 12 Understanding Protocol Independent Multicast (PIM) 625
Chapter 13 Troubleshooting PIM 643
Chapter 14 Understanding Border Gateway Protocol Version 4 (BGP-4) 659
Chapter 15 Troubleshooting BGP 719
Appendix Answers to Review Questions 839
Index 849
viii
Table of Contents
Preface xxxiii
Introduction xxxiv
Chapter 1 Understanding IP Routing 3
IP Addressing Concepts 5
IPv4 Address Classes 5
IPv4 Private Address Space 7
Subnetting and Variable-Length Subnet Masks 8
Classless Interdomain Routing 10
Static and Dynamic Routes 11
Dynamic Routing 11
Unicast Versus Multicast IP Routing 12
Classless Versus Classful IP Routing Protocols 15
Interior Gateway Protocols Versus Exterior Gateway Protocols 15
Distance Vector Versus Link-State Protocols 18
Distance Vector Routing Concepts 18
Link-State Protocols 23
Routing Protocol Administrative Distance 24
Fast Forwarding in Routers 25
Summary 26
Review Questions 26
References 27
Chapter 2 Understanding Routing Information Protocol (RIP) 29
Metric 29
Timers 30
Split Horizon 30
Split Horizon with Poison Reverse 30
RIP-1 Packet Format 31
RIP Behavior 31
RIP Rules for Sending Updates 31
RIP Rules for Receiving Updates 33
Example of Sending Updates 33
Example of Receiving Updates 35
Why RIP Doesn’t Support Discontiguous Networks 36
ix
OSPF Not Installing Any Routes in the Routing Table—Cause: One Side Is a
Numbered and the Other Side Is an Unnumbered Point-to-Point Link 469
Debugs and Verification 471
Solution 472
OSPF Not Installing Any Routes in the Routing Table—Cause: Distribute List Is
Blocking the Route Installation 473
Debugs and Verification 474
Solution 474
OSPF Not Installing Any Routes in the Routing Table—Cause: Broken PVC in a
Fully Meshed Frame Relay Network with Broadcast Network Type 475
Debugs and Verification 476
Solution 478
Problem: OSPF Not Installing External Routes in the Routing Table 479
OSPF Not Installing External Routes in the Routing Table—Cause: Forwarding
Address Is Not Known Through the Intra-Area or Interarea Route 480
Debugs and Verification 481
Solution 483
OSPF Not Installing External Routes in the Routing Table—Cause: ABR Not
Generating Type 4 Summary LSA 484
Debugs and Verification 486
Solution 486
Troubleshooting Redistribution Problems in OSPF 488
Problem: OSPF Neighbor Is Not Advertising External Routes 488
OSPF Neighbor Is Not Advertising External Routes—Cause: Subnets Keyword
Missing from the ASBR Configuration 489
Debugs and Verification 490
Solution 490
OSPF Neighbor Is Not Advertising External Routes—Cause: distribute-list out Is
Blocking the Routes 491
Debugs and Verification 492
Solution 493
Troubleshooting Route Summarization in OSPF 494
Problem: Router Is Not Summarizing Interarea Routes—Cause: area range Command
Is Not Configured on ABR 495
Debugs and Verification 496
Solution 496
Problem: Router Is Not Summarizing External Routes—Cause: summary-address
Command Is Not Configured on ASBR 497
Debugs and Verification 498
Solution 499
xxiii
Problem: Load Balancing and Managing Outbound Traffic from a Single Router When
Dualhomed to Same ISP—Cause: BGP Installs Only One Best Path in the Routing
Table 806
Debugs Verification 807
Solution 808
Problem: Load Balancing and Managing Outbound Traffic in an IBGP Network—
Cause: By Default, IBGP in Cisco IOS Software Allows Only a Single Path to Get
Installed in the Routing Table Even Though Multiple Equal BGP Paths Exist 809
Debugs and Verification 810
Solution 811
Troubleshooting Inbound IP Traffic Flow Issues Because of BGP Policies 812
Problem: Multiple Connections Exist to an AS, but All the Traffic Comes in Through
One BGP Neighbor, X, in the same AS—Cause: Either BGP Neighbor at X Has a BGP
Policy Configured to Make Itself Preferred over the Other Peering Points, or the
Networks Are Advertised to Attract Traffic from Only X 813
Debugs and Verification 815
Case 1 815
Case 2 816
Solution 818
Problem: Multiple Connections Exist to Several BGP Neighbors, but Most of the
Traffic from Internet to 100.100.100.0/24 Always Comes in Through One BGP
Neighbor from AS 110—Cause: Route Advertisements for 100.100.100.0/24 in
AS 109 Attract Internet Traffic Through That BGP Neighbor in AS 110 819
Solution 819
Troubleshooting BGP Best-Path Calculation Issues 820
Problem: Path with Lowest RID Is Not Chosen as Best 821
Debugs and Verification 821
Solution 823
Problem: Lowest MED Not Selected as Best Path 824
Debugs and Verification 826
Solution 826
Troubleshooting BGP Filtering 828
Problem: Standard Access List Fails to Capture Subnets 828
Debugs and Verification 829
Solution 830
Problem: Extended Access Lists Fails to Capture the Correct Masked Route 831
Debugs and Verification 832
Solution 833
Extended Access List Solution 833
xxxii
Preface
Sitting in my office at Cisco on the third floor of building K, I read an e-mail from Kathy Trace from Cisco Press
asking if I was interested in writing a book. She had read my technical tips that I had written for Cisco Connection
Online and said that she wanted me as an author for Cisco Press. I was very enthusiastic about it and said to myself,
“Yeah! It’s a great idea! Let’s write a book!” But on what subject?
One of the topics that I had in mind was OSPF. Johnson used to sit right in front of my office at that time. I asked
him, “Hey, Johnson! You want to write a book with me?” He screamed, “A book!” I said, “Yeah, a book! What do
you think?” He thought for a minute and said, “Well, what is left for us to write a book on? Cisco Press authors have
written books on almost every routing topic. . . . But there is one subject that has not been covered in one
single book—troubleshooting IP routing protocols.”
Apparently, Johnson got the idea to write a troubleshooting book from his wife. Whenever Johnson’s wife calls him
at work, he has to put her on hold because he is busy troubleshooting a customer’s problem. His wife, whose name
is also Cisco, then gave him the idea of writing a troubleshooting book so that customers would have a trouble-
shooting guide on routing protocols that they can refer to so that they can successfully solve their problems before
opening a case.
The idea was indeed great. No books had been written on this particular subject before. I then called Zaheer, who
was attending IETF 46 in Washington, D.C., and told him about this; he also agreed that the idea was a good one.
So now we had a team of three TAC engineers who had spent the last three to four years in TAC dealing with
routing problems—and each one of us was an expert in one or two protocols. Our manager, Raja Sundaram, used
to say, “I want you to pick up a protocol and become an expert in it.” My area of expertise was OSPF, Johnson
was a guru of EIGRP and multicasting, and Zaheer shone with his BGP knowledge. Very soon, we realized that
we were missing one important protocol, IS-IS. Our exposure with IS-IS was not at a level that we could write a
whole chapter on troubleshooting IS-IS, so Zaheer suggested Abe Martey for this job. Abe was already engaged
in writing a book on IS-IS with Cisco Press, but after seeing our enthusiasm about this book, he agreed to
become a member of our author team.
When we started working on these chapters, we realized that we were working on something that a routing network
administrator had always dreamed of—a troubleshooting book that contains solutions for all the IP routing protocol
problems. The data that we collected for this book came from the actual problems we have seen in customer net-
works in our combined 20 years of experience in troubleshooting IP networks. We wanted to make it a one-stop
shop for troubleshooting guidance and reference. So, we provided the “understanding protocols” chapters along
with troubleshooting to help you, the reader, go back to a specific protocol and refresh your memory. This book is
also an excellent resource for preparation for the CCIE certification. This book should teach you how to tackle any
IP routing problem that pops up in your network. All possible cases might not be discussed, but general guidelines
and techniques teach a logical approach for solving typical problems that you might face.
Introduction
As the Internet continues to grow exponentially, the need for network engineers to build, maintain, and
troubleshoot the growing number of component networks also has increased significantly. Because net-
work troubleshooting is a practical skill that requires on-the-job experience, it has become critical that the
learning curve necessary to gain expertise in internetworking technologies be reduced to quickly
fill the void of skilled network engineers needed to support the fast-growing Internet. IP routing is at
the core of Internet technology, and expedient troubleshooting of IP routing failures is key to reducing
network downtime. Reducing network downtime is crucial as the level of mission-critical applications
carried over the Internet increases. This book gives you the detailed knowledge to troubleshoot network
failures and maintain the integrity of their networks.
Troubleshooting IP Routing Protocols provides a unique approach to troubleshooting IP routing
protocols by focusing on step-by-step guidelines for solving a particular routing failure scenario. The
culmination of years of experience with Cisco’s TAC group, this book offers sound methodology and
solutions for resolving routing problems related to BGP, OSPF, IGRP, EIGRP, IS-IS, RIP, and PIM by
first providing an overview to routing and then concentrating on the troubleshooting steps that an
engineer would take in resolving various routing protocol issues that arise in a network. This book
offers you a full understanding of troubleshooting techniques and real-world examples to help you
hone the skills needed to successfully complete the CCIE exam, as well as perform the duties
expected of a CCIE-level candidate.
The remaining chapters alternate between chapters that provides coverage of key aspects of a specific
routing protocol and chapters devoted to practical, real-world troubleshooting methods for that routing
protocol. The list that follows provides more detailed information:
• Chapter 2, “Understanding Routing Information Protocol (RIP)”—This chapter focuses on the
key aspects of RIP needed to confidently troubleshoot RIP problems. Topics include the following:
—Metrics
—Timers
—Split horizon
—Split horizon with poison reverse
—RIP-1 packet format
—RIP behavior
—Why RIP doesn’t support discontiguous networks
—Why RIP doesn’t support variable-length subnet masking (VLSM)
—Default routes and RIP
—Protocol extension to RIP
—Compatibility issues
• Chapter 3, “Troubleshooting RIP”—This chapter provides a methodical approach to resolving
common RIP problems, which include the following:
—Troubleshooting RIP route installation
—Troubleshooting RIP route advertisement
—Troubleshooting routes summarization in RIP
—Troubleshooting RIP redistribution problems
—Troubleshooting dial-on-demand routing (DDR) issues in RIP
—Troubleshooting the route-flapping problem in RIP
• Chapter 4, “Understanding Interior Gateway Routing Protocol (IGRP)”—This chapter
focuses on the key aspects of IGRP needed to confidently troubleshoot IGRP problems. Topics
include the following:
—Metrics
—Timers
—Split horizon
—Split horizon and poison reverse
—IGRP packet format
—IGRP behavior
—Default route and IGRP
—Unequal-cost load balancing in IGRP
xxxvi
Token
Ring
Frame Relay Virtual Circuit Network Cloud
Token FDDI Ring
Ring
Understanding IP Routing
This chapter presents an introduction to IP routing and provides insights to related con-
cepts, such as IP addressing and various classifications of IP routing protocols. The chapter
also provides a high-level overview of implementation and configuration concepts, such as
route filtering and redistribution.
The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols is the
underlying technology for information exchange on the Internet. TCP/IP uses a layering
approach for computer communications similar to the Open System Interconnection (OSI)
reference model, but with fewer than seven layers. Figure 1-1 shows the OSI reference
model and the TCP/IP stack side by side. Related layers between the two stacks are
indicated in the figure.
7 Application
6 Presentation Application 6
5 Session 5
4 Transport Transport 4
3 Network Internet 3
IP operates at the Internet layer of the TCP/IP suite, which corresponds to the network layer
of the OSI reference model. IP provides connectionless data-delivery services, which
involve transmission of information from one part of a network to another in units of data
known as packets or datagrams. The essence of the datagram delivery service model is that
a permanent pre-established end-to-end path is not required for data transfer between two
4 Chapter 1: Understanding IP Routing
points in a network. In a packet-based network, each router in the transmission path makes
independent local decisions regarding the optimal forwarding path toward the destination
for any transit packet. The decision-making is based on forwarding intelligence gathered
either dynamically by means of a routing protocol or manually programmed static routes.
Addressing is an important aspect of the data-forwarding process. For any directed com-
munication, there is a source and a destination. Addressing allows the target destination
to be specified by the source and allows the destination node to also identify the source.
Addressing is even more important in the datagram delivery mode of operation because, as
in IP forwarding, the data path for any transmission is not nailed through the intermediate
nodes between the source and destination.
As mentioned previously, within the IP datagram services infrastructure, information that
is to be transmitted from one device to another first is broken down into packets. Each
packet has an IP header, a transport layer (TCP or UDP) header, and a payload, which is a
piece of the original information. Each IP packet is self-contained and independently is
forwarded to the destination through the chain of intermediate devices that might be along
the path of transmission.
The routers in the network depend on a routing protocol or static configuration to forward the
datagrams in a stream to their intended destination. For any destination address, each node in
the data path worries about only the outgoing interface or link along a locally determined
optimal path to the destination (or as specified by a special forwarding policy). The IP for-
warding process frequently is described as a hop-by-hop destination-based forwarding
mechanism. This means that routers at each hop along the data path normally forward packets
based on the destination address. However, modern routers also can use policy-based criteria,
such as the source address in a packet to direct the forwarding.
At the destination, packets belonging to the same stream are reassembled into the original
information. IP addressing is discussed in the next section, “IP Addressing Concepts.”
This process of forwarding a packet from one node to the other in a connectionless network
based on the Layer 3 address (IP address, in this case) also is referred to as routing. Routers
are specialized network devices with acquired routing intelligence.
So how do routers really decide where and how to forward packets traversing the inter-
network? Well, this is done in a couple of ways. As alluded to previously, routers can be
manually preprogrammed with predetermined path information known as static routes, or
they can run applications that facilitate the learning and sharing of routing information
automatically. Obtaining and propagating routing information by the latter method is re-
ferred to as dynamic routing.
IP Addressing Concepts 5
IP Addressing Concepts
IP addressing is central to the operation of the IP protocol. The TCP/IP stack shown in
Figure 1-1 features a network interface to the underlying physical and data-link layers, which
allow the IP protocol to be media independent. Media independence is probably one of the
critical advantages of the IP protocol that has promoted its wide acceptance and ubiquity.
IP uses a native addressing scheme, in line with its media-independent architecture, that has
no bearing on the underlying local-area network (LAN) or wide-area network (WAN) media
interconnect IP devices. Therefore, IP successfully operates over heterogeneous network
infrastructures consisting of several kinds of different media technology. This flexibility,
together with a simple protocol stack, is the most critical instigator of its popularity.
IP addressing assigns addresses to individual network interfaces of a device (link-based
approach) instead of using a single address for the whole device (host-based approach).
The various interfaces of a device are connected to network links that are designated as
subnetworks (or subnets) and are assigned subnet addresses. An interface’s IP address is
assigned from the subnet address space of the connecting link. The advantage of this link-
based addressing approach is that it allows routers to summarize routing information by
keeping track of only IP subnets in the routing tables instead of every host on the network.
This is advantageous especially for broadcast links such as Ethernet that might have many
devices connected at the same time. The Address Resolution Protocol (ARP) is used in IP
networking for resolving the IP addresses of directly connected hosts to the corresponding
data-link addresses.
Currently, two types of IP addresses exist: IP Version 4 addresses (IPv4) and IP Version
6 addresses (IPv6). IPv4 addressing, which was in place before IPv6 was adopted, uses
32 bits to represent each IP address. This 32-bit addressing scheme provides up to 232
(4,294,967,295) unique host addresses, mathematically speaking. With the ever increas-
ing size of the global Internet, the 32-bit IPv4 addressing scheme has turned out to be
insufficient for the foreseeable future, prompting the introduction of the 128-bit IPv6
addressing scheme. This book covers practical troubleshooting of IP routing protocols
deployed in IPv4 environments. Therefore, the ensuing text discusses only the IPv4
addressing structure and related concepts, most of which are applicable to IPv6. The
following IPv4 addressing topics are covered in the subsequent sections:
• IPv4 address classes
• Private IPv4 address space
• IPv4 subnetting and variable-length subnet masking
• Classless interdomain routing
adopted by IP requires network links to be associated with groups of addresses from which
the connected hosts are assigned specific addresses. These address groups, described also
as address prefixes, are referred to in classical IP terminology as IP network numbers.
Originally, IP network numbers were defined with rigid boundaries and grouped into ad-
dress classes. The idea behind IP address classes was to enable efficient assignment of the
IP address space by creating address groups that would support a varying number of hosts.
Network links with fewer hosts then would be assigned an address from a class that sup-
ports an appropriate number of attached hosts. Another benefit of address classes was that
they helped streamline the address-allocation process, making it more manageable.
Five address classes—A, B, C, D, and E—were defined and distinguished by the setting of
the most significant bits of the most significant byte in the IP address. Each address class
embraced a set of IPv4 address subnets, each of which supported a certain number of hosts.
Table 1-1 shows the five IPv4 classes.
Table 1-1 IP Address Classes and Representation
Address Bit Pattern of First Byte Host Assignment Range in
Class First Byte Decimal Range Dotted Decimal
A 0xxxxxxx 1 to 127 1.0.0.1 to 126.255.255.254
B 10xxxxxx 128 to 191 128.0.0.1 to 191.255.255.255.254
C 110xxxxx 192 to 223 192.0.0.1 to 223.255.255.254
D 1110xxxx 224 to 239 224.0.0.1 to 239.255.255.254
E 11110xxx 240 to 255 240.0.0.1 to 255.255.255.255
As Table 1-1 shows, a specific bit pattern in the first byte of an IP address corresponds to a
range of addresses and maps to a specific address class.
Of the five address classes, three—Class A, B, and C—were designated for unicast single
source–to–single destination communication. Addresses in Class D were reserved for IP
Multicast applications, which allows one-to-many communication. Class E addresses were
reserved for experimental purposes.
To make the addresses in each of the unicast address classes (A, B, and C) support a specific
maximum number of hosts, the 32-bit address field was delineated into network identifier
(network ID) bits and host identifier bits (host ID) as follows:
• Class A—8-bit network ID, 24-bit host ID
• Class B—16-bit network ID, 16-bit host ID
• Class C—24-bit network ID, 8-bit host ID
Figure 1-2 shows the assignment of the 32 bits in a Class A address. The highest-order bit
has a fixed value of 0, and the whole of the first byte is the network ID. The last 3 bytes are
designated as host bits.
IP Addressing Concepts 7
Bit 0 8 16 24 32
Network ID Host ID
0
This notion of categorizing IP addresses into classes with rigid boundaries is also known as
classful addressing. IP addresses use masks to delineate host bits from the network number
bits. IP address structuring has evolved through various innovations, all geared toward mak-
ing address allocation and actual assignment in real networks more efficient. You find out
more about this in the section “Subnetting and Variable-Length Subnet Masks.”
To make it easier for humans to work with IP addresses, these addresses are represented
in a format known as dotted-decimal notation. In the dotted-decimal representation, the
bits are grouped into octets and are separated by dots. Each octet of binary bits then is
converted into the decimal equivalent. The last column of Table 1-1 shows the dotted-
decimal notations for the range of addresses in each of the address classes.
Even though classful addressing was introduced to facilitate efficient use of the IPv4
address space, the rigid classful boundaries left a lot more to be desired. Because of its
rigidity and inefficiency, classful addressing has been abandoned for the more efficient
and flexible notion of classless addressing.
In classless addressing, any IP network number is interpreted as a prefix of a certain
length. This interpretation provides more flexibility and results in a more efficient use of
the IPv4 address space. A large classful block of addresses such as a Class A address can
be split into multiple smaller blocks for allocation to multiple organizations instead of
being allocated to a single organization under the classful notions. Conversely, classless
addressing allows multiple Class C addresses to be aggregated and advertised as a single
larger block instead of being treated as separate addresses. Aggregating addresses in this
manner for the purposes of conserving resource in routers connected to the Internet is
referred to as classless interdomain routing (CIDR), which is further discussed in a later
section, “Classless Interdomain Routing (CIDR).”
Bit 0 8 16 24 32
Network Host
Bit 0 8 16 24 32
When an IP address is subnetted, the address mask is adjusted to reflect the new demarcation
between the network and host bits. Figure 1-4 shows the new mask and the corresponding
subnets that are created from a Class B address. A string of ones in the mask represent the
network bits, and the zeros represent the host bits. A common way of representing an IP
address is to indicate its prefix length, which is the number of 1 bits in the mask. This also
represents the number of network bits in the address. For example, 172.16.1.0 255.255.255.0
can be represented as 172.16.1.0/24.
IP Addressing Concepts 9
b) Subnet mask
0 8 16 24 32
c) Class B subnets
Class B address 8-bit subnet address
172.16.0.0/16 172.16.0.0/24
172.16.2.0/24
172.16.3.0/24
:
:
172.16.255.0/24
Even though classful addressing allows subnetting for more efficient assignment of
addresses from a block, in a classful network environment only a consistent mask is
allowed. VLSM extends the notion of subnetting to allow different masks to be applied
to one network number, providing more flexibility in carving up an address into different
block sizes for application to different segments in a network domain. This allows more
efficient use of an allocated address block. For example, by using VLSM, the Class B
address, 172.16.0.0/16, can be carved into smaller subnets with 24-bit subnet masks
by using 8 host bits as subnet bits. You then can further subnet one of the first genera-
tion subnets—for example, 172.16.1.0/24—by using another 4 of the remaining host
bits. This will result in much smaller blocks such as 172.16.1.0/28, 172.16.1.16/28,
172.16.1.32/28, and so on. VLSM can be used only in classless network environments
in which the routing protocols and related routing software support classless addressing.
Figure 1-5 illustrates subnetting with VLSMs.
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24 192.168.0.0/16
192.168.3.0/24
:
:
192.168.255.0/24
131.108.0.0/18
131.108.64.0/18
131.108.0.0/16 131.108.128.0/18
131.108.192.0/18
CIDR also allows network numbers to be flexibly subnetted and allocated to different
organizations for interdomain routing exchange. For example, 131.108.0.0/16 can be
divided into four subblocks (131.108.0.0/18, 131.108.64.0/18, 131.108.128.0/18, and
131.108.192.0/18) and allocated to four different organizations instead of one.
Dynamic Routing 11
Dynamic Routing
The last section discusses the essence of IP routing and indicates that dynamic automatic
routing is very necessary for large network deployments. This section discusses the charac-
teristics and classification of various IP routing protocols. Although all routing protocols
have a common goal of gathering routing information to support packet-forwarding deci-
sions, they can be classified into two broad categories, unicast and multicast, based on the
type of data traffic they are designed to provide forwarding information for.
The previous section indicates that IP provides an addressing scheme for identifying
various locations or subnets in the network. The destination IP address in an IP packet
12 Chapter 1: Understanding IP Routing
indicates the target address of the packet. The sender’s address is stored in the source
address field. An important concept to understand about IP addressing is IP subnetworks.
IP subnetworks—or subnets, for short—are mentioned earlier in the section on IP address-
ing concepts. Physically, an IP subnet is a collection of interconnected network devices
whose IP interface addresses share the same network ID and have a common mask.
The earlier section “IPv4 Address Classes” discusses unicast and multicast addresses. The
unicast address space is used for addressing network devices, whereas addresses from the
multicast space are used for specifying groups or users tuned in to receive information from
the same multicast application.
For any IP unicast subnet, the last address, such as in 192.168.1.255/24, is known as the
broadcast address. This address can be used to target all nodes on the subnet at the same
time in what is referred to as a directed broadcast.
A unicast routing protocol is optimized for processing unicast network information and
provides routing intelligence for forwarding IP packets to unicast destination addresses.
Multicast forwarding is conceptually different and requires special routing applications to
support forwarding of multicast packets.
DST:10.1.1.1
RT3 RCV1
DST:10.1.1.1 DST:10.1.1.1
DST:10.1.1.2 DST:10.1.1.2
RCV2
RT4
DST:10.1.1.2
In this case, SRC1 generates two identical streams of packets with destination addresses
10.1.1.1 and 10.1.1.2, respectively. Packets belonging to each stream are handled indepen-
dently and are delivered through RT1 and RT2 to their respective destinations, consuming
network resources (bandwidth and processing time) along the paths that they traverse.
Contrast this scenario with that shown in Figure 1-8, where IP Multicast forwarding
mechanisms are employed.
224.1.0.100
RT3 RCV1
224.1.0.100
224.1.0.100
RCV2
RT4
224.1.0.100
14 Chapter 1: Understanding IP Routing
All the listed unicast routing protocols are supported in Cisco IOS Software; however, from
the listed multicast routing protocols, only Protocol Independent Multicast (PIM) sparse
mode/dense mode (SM/DM), Multicast Source Discovery Protocol (MSDP), and
Multiprotocol BGP are supported.
Multicast routing environments also need an additional protocol called the Internet
Gateway Multicast Protocol (IGMP). Multicast OSPR (MOSPF) is not supported at all,
but IOS provides special capabilities for interoperability with the Distance Vector
Multicast Routing Protocol (DVMRP).
As of this writing, multicast routing protocols are not widely deployed on the Internet.
However, this situation obviously will change in the near future as more multicast-oriented
applications, such as radio broadcasting, video streaming, remote training, videoconfer-
encing, and gaming, become more popular on the Internet.
Dynamic Routing 15
the ARPANET also adopted RIP for dynamic routing operations. The evolution of the
ARPANET into the Internet required the numerous island networks to be interconnected
using a more robust routing protocol. The Exterior Gateway Protocol (EGP) was selected
for this purpose. EGP provided an efficient mechanism for routing among the various RIP
domains. Therefore, RIP and EGP were optimized for distinct functions in the network
based on their capabilities. RIP was used for intradomain routing, and EGP was used for
interdomain routing. EGP later morphed into the Border Gateway Protocol (BGP), and
other more robust protocols optimized for intradomain routing emerged in place of RIP.
In particular, the Open Shortest Path First (OSPF) Protocol was developed in the Internet
Engineering Task Force to provide capabilities that RIP lacked, such as more intelligent
routing metrics, faster convergence, and operation in classless environments. So, here we
are again with yet another classification of routing protocols: interior gateway routing
protocols (for intradomain routing) and exterior gateway protocols (for interdomain
routing).
Figure 1-9 shows two routing domains, AS 65001 and AS 65002, and an overlapping
(shaded) region depicting the interconnection between border routers from each domain.
In more current routing terminology, a routing domain also is referred to as an autono-
mous system. An autonomous system is an independent routing domain under the control
of a single administrative authority.
AS 65001
AS 65002
Intradomain Intradomain
Routing Interdomain Routing
Routing
As noted before, an exterior gateway protocol provides the capability for sharing routing
information between the two domains. Currently at version 4, BGP is the only IP inter-
domain protocol that is used for interconnecting the numerous autonomous systems in
the global Internet. An interior gateway protocol provides routing intelligence within an
autonomous system. Each of the autonomous systems in the Internet can run any suitable
IGP. With the exception of EGP (the obsolete routing protocol) and BGP, all the other unicast
protocols mentioned so far—IGRP, EIGRP, RIP, OSPF, and IS-IS—are IGPs (see Table 1-4).
Dynamic Routing 17
The Interior Gateway Routing Protocol (IGRP) was invented by Cisco Systems to offer
better metrics than the simple hop count supported by RIP. IGRP introduced a composite
metric that consists of several parameters:
• Bandwidth
• Delay
• Reliability
• Load
• Maximum transmission unit (MTU)
Cisco evolved IGRP into the Enhanced Interior Gateway Routing Protocol (EIGRP).
EIGRP provides faster convergence relative to IGRP by using backup routes, referred to as
feasible successor routes, that are readily installed in the routing table when a preferred
route is lost. Unlike IGRP, EIGRP supports VLSM.
OSPF and IS-IS are both popular IGPs used in very large IP networks. IS-IS originally was
designed as a routing protocol for the Connectionless Network Protocol (CLNP) but later
was adapted to route IP about the same time that the Open Shortest Path First (OSPF) proto-
col was being standardized in the Internet Engineering Task Force (IETF). OSPF and IS-IS
are both link-state protocols, whereas RIP, IGRP, and EIGRP are distance vector protocols.
Also, OSPF and IS-IS are link-state protocols that use the shortest path first (SPF) algorithm
(named after Dijkstra) for route computation, making them converge relatively fast in re-
sponse to network changes.
Both protocols also support a two-level hierarchical routing architecture. OSPF and IS-IS are
very similar protocols with almost identical capabilities. However, they have some
architectural differences that are beyond the scope of this book.
An interesting point to note, however, is that OSPF was designed entirely for IP only, and
OSPF packets are encapsulated in IP packets. In contrast, IS-IS was designed for CLNP and
was adapted to support IP additionally. IS-IS packets are not encapsulated in IP packets but
rather directly by the data link protocol.
18 Chapter 1: Understanding IP Routing
The next section of this chapter looks at yet another routing protocol classification: distance
vector and link-state protocols.
updates. These concepts are evaluated in terms of general routing functionality, such as
stability and speed of convergence and loop avoidance.
Routing Convergence
When there is a topology change, a router might invalidate some of the previously known best
paths. The router then uses new or existing information to determine an alternate best path for
each affected destination. Recalculating routes to rediscover alternate routes as a result of
network topology changes is referred to as routing convergence. Routing convergence may be
20 Chapter 1: Understanding IP Routing
triggered by events such as router failures, link failures, or even administrative metric adjust-
ments.
Distance vector protocols such as RIP and IGRP are relatively simple compared to their
link-state counterparts. However, this simplicity comes with a price. Because each router
bases its best-path determination on the best paths advertised by neighbors, such protocols
are very prone to routing loops. A routing loop occurs when two nodes point to each other
as the next hop along the path to the same destination. The most obvious effect of routing
loops is that they prolong the time it takes for a router to determine a route is no longer
available or to select an alternate path. Routing loops adversely impact convergence times.
Therefore, it is desirable that unusable routes be removed from the network as soon as
possible. The following sections discuss various methods employed by distance vector
protocols to prevent or limit the effect of routing loops and improve convergence. The
following is discussed:
• Counting to infinity
• Using holddown
• Using split horizon and poison reverse
• Using triggered updates
Loop Avoidance
Routers running distance vector protocols determine best paths for routes relative to neigh-
bors that have advertised those routes to them. The mechanics of operation of distance
vector protocols, specifically the way routes are advertised by distance vector protocols,
makes such environments very susceptible to routing loops—for example, when a router
running a distance vector protocol broadcasts routing updates over all interfaces activated
for the protocol. When a router broadcasts all known routes in this manner, it may advertise
a route back to the source it was heard from. Consequently, when there is a failure, it is
possible for two neighboring nodes to think that the other is the next hop along the best path
to a specific destination. This situation, which results in a routing loop, is elaborated in
Figure 1-10.
Destination
(Dest3)
Routing
loop
In Figure 1-10, RT1, RT2, RT3 are connected serially, and hop count is used as the measure
for metric. A route associated with the destination link (Dest3) is advertised by RT3 to RT2,
with a hop count of 1. RT2 assigns Dest3 a hop count of 2 and then advertises it to RT1. RT1
stores Dest3 with a hop count of 3 and with RT2 as the next hop. RT1 then might advertise
Dest3 back to RT2. This route is not used by RT2 because it has a worse metric (four hops)
than the original that came from RT3 (two hops). However, if the connection between RT2
and RT3 is broken, RT2 will remove the original route and install an alternate route to Dest3
with a metric of 4 and RT1 as the next hop. Meanwhile, RT1 has the same route pointing
back to RT2 as the next hop. Thus, a loop situation is created and any packets from RT1 or
RT2 to Dest3 will be caught up in a “ping pong” between the two routers for some time until
their Time To Live (TTL) counters in the packets expire. Routing loops disrupt routing, and
it is desirable to curtail them as quickly as they appear. To limit the effect of routing loops,
distance vector protocols use a method known as counting to infinity. This principle is
elaborated in the next section.
Counting to Infinity
To prevent routing loops of indefinite duration, distance vector protocols enforce limits on
route metrics that allows routers to declare routes as unreachable after the associated
metrics reach a certain value. In the loop situation described in Figure 1-10, RT1 and RT4
might advertise Dest3 to each other, each time increasing the associated hop count received
from the other by 1 and before readvertising the route. Consequently, the metric associated
with Dest3 will continue to increase. Counting to infinity places an upper bound on the
metric beyond which it is considered infinity and the route is declared unusable. For RIP,
this upper bound is 15.
Holddown
Holddown is used to dampen a route’s response action to finding an alternate route when a
primary route is no longer usable. When a router determines that a route is no longer avail-
able, it places the route in holddown state for a duration called the holddown time, during
which it doesn’t select an alternate route, even if available. The route in holddown state
is advertised with a metric or value of infinity in an attempt to purge it from the network.
Purging unusable routes helps reduce the incidence of routing loops.
To illustrate this using Figure 1-10, RT2 places Dest3 in holddown when it invalidates
routes heard from RT3 because of the failure of the connection between them. With Dest3
in holddown state, RT2 does not use the alternate route from RT1; instead, it advertises
Dest3 to RT1 again with a metric. This allows RT1 to withdraw Dest3 from its tables. By
the expiration of the holddown time, both RT1 and RT2 are expected to have removed
Dest3 from their routing tables, thus avoiding a potential routing loop.
22 Chapter 1: Understanding IP Routing
between periodically scheduled updates and triggered changes can result in unpredictable
behavior.
Link-State Protocols
Link-state protocols are relatively more modern and, therefore, incorporate capabilities into
their design to overcome some of the shortcomings of distance vector protocols discussed
previously. Hence, they are more sophisticated and require more memory and processing
resources to operate effectively. By virtue of characteristics such as faster convergence,
incremental updates, and a hierarchical architecture, link-state protocols are more suitable
for deployment in large internetworks. Two popular link-state protocols used in IP networks
are OSPF and IS-IS.
Unlike distance vector protocols, which share best-known routing information, link-state
protocols allow routers to exchange topology (link-state) information that allows them
to draw out the layout of the internetwork’s topology. Routers in a link-state network
converge relatively faster than their distance vector counterparts by responding immediately
to changes in the topology, without the need for loop avoiding or limiting holddowns and
counting to infinity. For example, RIP and IGRP typically feature convergence times in
minutes, whereas OSPF and IS-IS converge in the order of seconds for comparable network
changes.
Link-state protocols support hierarchy for scaling purposes by carving out a network into
areas (see Figure 1-11). Routing within areas fall in the first level of the routing hierarchy.
The areas are interconnected over a backbone area, and routing within the backbone consti-
tutes the second level of the hierarchy.
Area Area
Backbone
RT1 RT6
RT3 RT4
RT5
RT2 RT7
Routers in the same area or the backbone share link-state information that is assembled
into a link-state database. The topology of the area or the backbone is discerned by
running the shortest path first algorithm over the respective databases. This procedure
24 Chapter 1: Understanding IP Routing
also generates the best routes that are used in the IP routing and forwarding tables.
Chapter 8, “Understanding Open Shortest Path First (OSPF),” and Chapter 10, “Under-
standing Intermediate System-to-Intermediate System (IS-IS),” describe the operation
of the link-state routing protocols and their respective protocols in more detail.
tance values are preferred. When multiple protocols supply the same route, only the route
from the source with the lower administrative distance will make it into the routing table.
Table 1-5 lists the default administrative distances of IP routing sources. The distance
command can be used to modify any of the defaults.
Table 1-5 Administrative Distances of IP Routing Protocols
Route Source Administrative Distance
Connected interface 0
Static route out an interface 1
Static route to a next hop 1
EIGRP summary route 5
External BGP 20
Internal EIGRP 90
IGRP 100
OSPF 110
IS-IS 115
RIP-1/RIP-2 120
EGP 140
External EIGRP 170
Internal BGP 200
Unknown 255
Summary
This introductory chapter reviews the concepts underlying IP routing and explains why
routing is relevant for information transfer in a connectionless networking environment.
You learned that protocols such as IP, which provide connectionless delivery of information,
allow data to be transmitted in chunks of information, known as datagrams. IP datagrams
also are referred to as packets. Packets consist of a payload and a header. The headers in
IP packets contain target addresses that allow them to be independently routed over optimal
paths in the network toward their destinations. IP is a network layer protocol; routers, which
process and forward packets, run routing protocols that automate the gathering of routing
information in internetworks.
Classful and classless notions of IP addressing are covered, leading to a discussion on
VLSMs and CIDR. The relevance of CIDR and VLSMs as vehicles for efficient address
allocation and use is covered as well.
The subsequent text of the chapter discusses various classifications of dynamic routing
protocols, categorizing them into unicast versus multicast, classless versus classful, IGP
versus EGP, and, finally, distance vector versus link-state. Key characteristics of distance
vector and link-state protocols are discussed and compared.
Brief coverage of Cisco IOS Software protocol-independent commands led to the discus-
sion of administrative distances associated with routing protocols. Administrative distance
is defined as a mechanism for distinguishing between routing protocol sources and asso-
ciating an IOS default trust factor with various routing protocols.
The final section briefly touches on how the routing information gathered by routing
protocols actually is used in forwarding. It is pointed out that Cisco routers convert the
information in a routing table into optimized data structures for high-speed packet
forwarding.
Review Questions
1 What is connectionless data networking?
2 Why is routing needed in a connectionless networking environment? List two means
by which routers obtain information for routing packets toward their destinations.
3 What is the difference between functionalities of Interior Gateway Protocols (IGPs)
versus exterior gateway protocols (EGPs)?
4 List the two main groups of IP routing protocols based on the method of operation and
routing algorithm. Also, list two examples of each type.
5 Briefly describe the operation of link-state routing protocols.
References 27
6 What is the key difference between classless and classful routing protocols? Give an
example of each.
7 What is the use of routing protocol administrative distances on Cisco routers?
8 What are the values of administrative distance of IS-IS and OSPF, respectively?
9 If a router is running both OSPF and IS-IS protocols and has the same route from each
of them, which protocol's information will be used in the IP routing table?
References
Bates, T., R. Chandra, Y. Rekhter, and D. Katz. “Multi-Protocol Extensions for
BGP4.” RFC 2858, 2000.
Bennett, Geoff. Designing TCP/IP Internetworks. New York, NY: John Wiley & Sons;
1997.
Callon, R. “Use of OSI IS-IS for Routing in TCP/IP and Dual Environments.” RFC
1195. IETF 1990.
Fuller, V., T. Li, J. Yu, and K. Varadhan. “Classless Interdomain Routing (CIDR): An
Address Assignment and Aggregation Strategy.” RFC 1519. IETF 1992.
Hall, Eric A. Internet Core Protocols: The Definitive Guide. Sebastopol, CA: O’Reilly
and Associates, 2000.
Hedrick, C. “Routing Information Protocol.” STD 34, RFC 1058, 1988.
http://www.6bone.net/
http://www.cisco.com/warp/customer/701/3.html. “Understanding IP Addresses.”
http://www.cisco.com/warp/public/103/index.shtml
Huitema, Christian. Routing in the Internet, 2nd Edition. Upper Saddle River, NJ:
Prentice Hall, 2000.
ISO 10589. “Intermediate System-to-Intermediate System Intradomain Routing
Information Exchange Protocol for Use in Conjunction with the Protocol for
Providing the Connectionless-mode Network Service.” (ISO 8473.)
Li, Rekhter. “Border Gateway Protocol Version 4 (BGP 4).” RFC 1771, 1995.
Maufer, Thomas. Deploying IP Multicast in the Internet. Upper Saddle River, NJ:
Prentice Hall, 1997.
Miller, Philip. TCP/IP Explained. Woburn, MA: Digital Press, 1997.
Naugle, Mathew. Network Protocol Handbook. New York, NY: McGraw Hill, 1994.
Perlman, Radia. Interconnections 2nd Edition. Reading, MA: Addison Wesley, 1999.
Reynolds, J. and Postel, J. “Assigned Numbers.” RFC 1700. IETF 1994.
Rekhter, Y., B. Moskowitz, D. Karrenberg, G. J. de Groot, and E. Lear. “Address
Allocation for Private Internets.” RFC 1918. IETF 1996.
This chapter covers the following key topics about Routing Information Protocol (RIP):
• Metric
• Timers
• Split horizon
• Split horizon with poison reverse
• RIP-1 packet format
• RIP behavior
• Why RIP doesn’t support discontiguous networks
• Why RIP doesn’t support variable-length subnet masking (VLSM)
• Default routes and RIP
• Protocol extension to RIP
• Compatibility issues
CHAPTER
2
Understanding Routing
Information Protocol (RIP)
RIP is a distance vector protocol that uses hop count as its metric. This protocol is very
simple and was intended for small networks. RIP is similar to gated, which was distributed
by the FreeBSD version of UNIX. Before the RFC for RIP Version 1 (RIP-1) was written,
several versions of RIP were floating around.
NOTE Hop count refers to the number of routers being traversed. For example, a hop count of 2
means that the destination is two routers away.
RIP is a classful protocol, which means that it doesn’t carry subnet mask information in its
routing update. Because it doesn’t carry any subnet mask information, it is incapable of
supporting variable-length subnet masking (VLSM) and discontiguous networks. RIP
enables devices to exchange information about networks that they are directly connected
to, as well as any other networks that they have learned from other RIP devices.
RIP sends its routing information every 30 seconds, which is the default update timer. This
timer is configurable. The hold-down timer determines how long a router should wait
before flushing the information from the routing table.
RFC 1058 was written to provide a standard for RIP, which uses the Bellman-Ford algo-
rithm to compute its metric.
Metric
The RIP metric is based on hop count and can be between 1 and 15. The metric 16 is used
for infinity, which means that if the route is unreachable, a metric of 16 is displayed. The
question is, why was the metric chosen as 16? Why not 17 or 18? The metric filed in RIP-1
packet format clearly shows that it is 32 bits long. This means that, theoretically, RIP can
support 232 hops. Although this is a large number, the metric of 15 was chosen to avoid a
count to infinity problem. (This is also referred to as a routing loop.) In a large network with
a few hundred routers, a routing loop results in a long time for convergence if the metric for
infinity has a large value. The number 16 was chosen to get a shorter convergence time.
30 Chapter 2: Understanding Routing Information Protocol (RIP)
The 15-hop limit was chosen also because RIP was intentionally designed for small networks.
It was not intended for the large networks that potentially can have more than 15 hops.
Timers
Like any distance vector protocol, RIP periodically sends an update every 30 seconds. This
update consists of a broadcast of the entire routing table. The update timer controls this
30-second period. RIP uses the following timers:
• Update—The time between each update interval. This value is set to 30 seconds, by
default, and is configurable.
• Invalid—The time after which a suspect route becomes invalid. This is set to 180
seconds, by default.
• Hold-down—The time used to suppress the possibility of defective routes being
installed in the routing table. The default time is 180 seconds.
• Flush—The time after which a route is removed from the routing table. This is set to
240 seconds, by default.
Split Horizon
Split horizon is a technique used to avoid routing loops. With split horizon, when a route is
learned on an interface, that route is not advertised back out on the same interface. For ex-
ample, in Figure 2-1, Router 1 receives an update about Network X with a metric of 1 from
the neighboring Router 2. Router 1 will not advertise Network X back to Router 2 if split
horizon is enabled. If split horizon is disabled, however, Router 1 will advertise Network X
with a metric of 2 to Router 2. If Network X fails, Router 2 will think that Router 1 has a
better way to get to X, so it will send the packet destined to Network X toward Router 1,
creating a black hole.
Network X
Router 1 Router 2
receives an update about Network X with a metric of 1 from neighboring Router 2. In the case
of split horizon with poison reverse, Router 1 will advertise Network X back to Router 2, but
with a metric of 16, which indicates infinity.
Split horizon with poison reverse is used only when a link failure occurs. It also can be used
in a normal situation, but it is discouraged because it can potentially increase the size of the
routing table.
0 8 16 31
Command Version Must be zero
IP address
Must be zero
Must be zero
Metric
RIP Behavior
RIP follows certain rules when it sends and receives updates. This section covers the rules
for sending and receiving updates.
The majornet 131.108.0.0 is further divided into two subnets: 131.108.5.0/24 and
131.108.2.0/24, which is actually connected to Router 2.
131.108.5.0/24
137.99.88.0/24
131.108.3.0/24
.2 131.108.2.0/24
.2 .1
.2 .1
S0
S0
Router 1 Router 2
Before Router 1 sends a RIP update to Router 2, it performs the check as shown in Figure 2-4.
Figure 2-4 Flowchart That Explains RIP Rules When Sending Updates
No
No
When RIP sends the update, it checks to see whether the advertised network or subnet is on the
same major network as the interface that is sourcing the RIP packet. If the advertised network
or subnet is on a different major network from the interface sourcing the RIP packet, the net-
work is autosummarized. In other words, RIP sends only the majornet information in its routing
update. For example, in Figure 2-3, when Router 1 sends the RIP update to Router 2, it auto-
summarizes the subnet 137.99.88.0 into 137.99.0.0. If the advertised network or subnet is on the
same major network as the router’s interface sourcing the RIP packet, RIP determines whether
the advertised subnet has the same mask as the interface that is sourcing the RIP update. If it
has the same mask, RIP advertises that network; otherwise, RIP drops that network.
Figure 2-5 Flowchart That Explains RIP Rules When Receiving Updates
Yes No
Figure 2-6 An Example of RIP Behavior When Sending and Receiving Updates
131.108.5.0/24
137.99.88.0/24
131.108.3.0/24
.2 131.108.2.0/24
.2 .1
.2 .1
S0
S0
Router 1 Router 2
In Figure 2-6, when Router 1 sends an update to Router 2, it performs these checks:
1 Is 131.108.5.0/24 part of the same major network as 131.108.2.0/24, which is
sourcing the update?
RIP Behavior 35
2 Yes. Does 131.108.5.0/24 have the same subnet mask 131.108.2.0/24, which is
sourcing the update?
3 Yes. Router 1 advertises the network.
Router 2 in Figure 2-6 performs the following checks to determine what mask to apply on
a received network:
1 Is the received major network 137.99.0.0 the same as 131.108.2.0, which is the
address assigned to the interface that received the update?
2 No. Do any subnets of this major network already exist in the routing table known
from other interfaces?
3 No. Router 2 applies the natural mask (/16) because 137.99.0.0 is a Class B address.
4 Does subnet 131.108.5.0 belong to the same major network as subnet 131.108.2.0,
which is the interface that received the update?
5 Yes. Router 2 applies the mask /24, which is the mask of the interface that received
the update.
36 Chapter 2: Understanding Routing Information Protocol (RIP)
This process results in the networks and masks in Router 2’s routing table, displayed using
the show ip route command (see Example 2-3).
Example 2-3 show ip route Command Output Reveals the Networks and Masks in Router 2’s Routing Table
Router2#show ip route
R 137.99.0.0/16 [120/1] via 131.108.2.2, 00:00:07, Serial0
131.108.0.0/24 is subnetted, 3 subnets
R 131.108.5.0 [120/1] via 131.108.2.2, 00:00:08, Serial0
C 131.108.2.0 is directly connected, Serial0
C 131.108.3.0 is directly connected, Ethernet0
131.108.2.0/24
131.108.5.0/24
137.99.88.0/24
.2
.2 .1 .1
Router 1 Router 2
Router 2 goes through the following steps before accepting the update from Router 1:
1 Is the major network received (131.108.0.0) the same as the major network of
137.99.88.0/24, which is the subnet assigned to the interface that received the update?
2 No. Do any subnets of this major network already exist in the routing table known
from interfaces other than that which received the update?
3 Yes. Router 2 ignores the update.
Again, debug ip rip command output on Router 2 shows the update received by Router 2,
as demonstrated in Example 2-5.
Example 2-5 debug ip rip Command Output Reveals RIP Update Information Received by Router 2 in Figure 2-7
Router2#debug ip rip
RIP: received v1 update from 137.99.88.1 on Serial0
131.108.0.0 in 1 hops
The routing table of Router 2, as demonstrated in the show ip route command output in
Example 2-6, shows that the update was ignored. The only entry for any subnetwork or
network on 131.108.0.0 is the one directly connected to Ethernet0.
Example 2-6 show ip route Command Output Reveals That the Routing Table for Router 2 in Figure 2-7 Does Not
Reflect the Advertised Route Sent by Router 1
137.99.0.0/24 is subnetted, 1 subnets
C 137.99.88.0 is directly connected, Serial0
131.108.0.0/24 is subnetted, 3 subnets
C 131.108.2.0 is directly connected, Ethernet0
To avoid having updates ignored, configure a static route on both routers that points toward
the specific subnets. For example, on Router 1, configure the following:
Router1(config)#ip route 131.108.2.0 255.255.255.0 137.99.88.1
The following example demonstrates this concept. In Figure 2-8, Router 1 has three subnets
with two different masks (/24 and /30).
131.108.7.0/30
131.108.5.0/24
131.108.2.0/30
.2 131.108.6.0/30
.2 .1
.2 .1
S0
S0
Router 1 Router 2
Router 1 goes through the following steps before sending an update to Router 2:
1 Router 1 checks to see if 131.108.5.0/24 is part of the same major network as
131.108.6.0/30, which is the network assigned to the interface that is sourcing the
update.
2 It is part of the same major network, so Router 1 determines whether 131.108.5.0/24
has the same subnet mask as 131.108.6.0/30.
3 Because the subnet masks are not the same, Router 1 drops the network and doesn’t
advertise the route.
4 Router 1 now determines whether 131.108.7.0/30 is part of the same major network
as 131.108.6.0/30, which is the network assigned to the interface that is sourcing the
update.
5 It is part of the same major network, so Router 1 next determines whether
131.108.7.0/30 has the same subnet mask as 131.108.6.0/30.
6 Because the two subnet masks are the same, Router 1 advertises the network.
The preceding procedure determined that Router 1 includes only 131.108.7.0 in its update
that is sent to Router 2. The debug ip rip command in Example 2-7 actually shows the
update sent by Router 1.
Example 2-7 debug ip rip Command Output Reveals RIP Update Information Sent by Router 1 to Router 2, as
Illustrated in Figure 2-8
RIP: sending v1 update to 255.255.255.255 via Serial0 (131.108.6.2)
subnet 131.108.7.0, metric 1
Notice in the output in Example 2-7 that the only subnet included in the update is
131.108.7.0. The subnet 131.108.5.0 is not included because it has a different subnet mask.
Default Routes and RIP 39
This results in the following entry in Router 2’s routing table displayed by the show ip
route command (see Example 2-8).
Example 2-8 show ip route Command Output Reveals That the Subnet 131.108.5.0/25 Is Missing from Router 2’s
Routing Table
Router2#show ip route
131.108.0.0/30 is subnetted, 3 subnets
R 131.108.7.0 [120/1] via 131.108.2.2, 00:00:08, Serial0
C 131.108.6.0 is directly connected, Serial0
C 131.108.2.0 is directly connected, Ethernet0
To avoid eliminating subnets from routing updates, either use the same subnet mask over
the entire RIP network or use static routes for networks with different subnet masks.
131.108.1.0/24
R1 will drop packets for
131.108.3.0/24.
0.0.0.0/0
X
131.108.3.0/24
131.108.2.0/24
40 Chapter 2: Understanding Routing Information Protocol (RIP)
Here, Host X is sending traffic to the 131.108.3.0/24 subnet. Router R1 will discard these
packets because it does not have a route for 131.108.3.0/24. Traffic will not be send to the
default route because of the classful nature of routing.
If R1 enables IP classless routing, R1 will forward traffic to the default route.
Enabling IP classless routing is recommended when default network or default routes are used.
0 8 16 31
Command Version Route tag
IP address
Subnet mask
Next hop
Metric
Route Tag
The Route Tag field is a 2-byte field that allows RIP routes to be assigned with a unique
integer value. The routing table display shows the route tag for each RIP route, if assigned.
This route tag plays an important role during redistribution with RIP. Any route that is
redistributed into RIP gets tagged, to distinguish between internal RIP information and
external RIP information.
Protocol Extension to RIP 41
When redistributed routes in RIP are assigned with route tags, it becomes easier to control
redistribution of tagged routes into other protocols. Instead of matching against each route
when redistributing into other protocols, RIP routes can simply be matched against the tag
that they were assigned.
For example, consider that 10 static routes in a router are redistributed in RIP and are
assigned a tag of 20. These static routes will be advertised in RIP as external routes with a
tag of 20. If in some other router RIP is being redistributed into OSPF and OSPF wants only
those 10 static routes to be redistributed, OSPF can simply match the tag information
instead of listing each static route in its redistribution commands. In addition, if OSPF is
being redistributed back into RIP at some other router, RIP should deny any routes that are
tagged with 20. Matching against tags thus avoids IP routing loops as well.
Subnet Mask
Unlike RIP-1, RIP-2 carries subnet mask information along with the IP network number. If
an IP network is variably subnetted, RIP-2 picks the subnet mask of each subnet and adver-
tises to RIP-2 neighbors. RIP-2 routers in the network install routes with their respective
subnets though a variable length of, say, /8, /15/, /24, and so on.
Support of VLSM also enables RIP-2 to understand discontiguous networks. In a discon-
tiguous network, the IP supernet is divided by another IP block. Because RIP-2 can carry
subnet mask information, each RIP-2 router has a route with the actual mask and routers
can forward traffic properly.
Next Hop
The Next Hop field was added to avoid an extra hop during packet forwarding. For those
familiar with OSPF, the Next Hop field holds nearly the same role as the forwarding address
for OSPF external routes.
In Figure 2-11, OSPF is enabled between Router 2 and Router 5. RIP is enabled on Router 2,
Router 3, and all the other routers behind Router 2 and Router 3. Router 2 is doing redis-
tribution between OSPF and RIP. Now when a packet from Router 1 is destined for OSPF
networks and arrives at Router 2, it is forwarded to Router 5.
When a packet from Router 4 destined to the OSPF network arrives at Router 3, if there is
no next-hop information (in case of RIP-1), Router 3 forwards the packet to the originator,
Router 2. Then Router 2 forwards it to Router 5. This is an extra hop that Router 3 must
take to get to the OSPF network. With the Next Hop field in the RIP packet, when a packet
destined to the OSPF network arrives at Router 3, the RIP route for the destination network
has its next hop set to Router 5 instead of Router 2. As a result, Router 3 does not forward
the packet to Router 2—instead, it forwards the packet straight to Router 5.
42 Chapter 2: Understanding Routing Information Protocol (RIP)
router rip
version 2
redistribute ospf metric 1
OSPF
Router 2
Router 1
OSPF
Router 5
Router 3
Router 4
Multicast Capability
RIP-2 uses multicast when sending an update to all its neighbors. This reduces unnecessary
broadcast flooding on the wire. The multicast address that RIP-2 uses is 224.0.0.9.
All devices on the wire running RIP-2 listen for RIP-2 multicast packets on 224.0.0.9 at a
multicast MAC address (01-00-5E-00-00-09). Devices not running RIP-2 simply discard
RIP-2 messages on the wire, reducing unnecessary load.
Authentication
RIP-2 supports simple password authentication, to validate trusted RIP-2 neighbors. RIP-2
speakers determine whether authentication is used by looking at the address family identi-
fier (AFI) in RIP-2 packet. AFI in RIP-2 header indicates what kind of addresses are present
in the rest of the packet.
If the AFI value is 0xFFFF, this means that the remainder of the entire RIP packet contains
authentication information.
Figure 2-12 shows the packet format when authentication is used.
Compatibility Issues 43
0 8 16 31
Command Version Unused
Authentication
Authentication
Authentication
Authentication
Compatibility Issues
RIP-1 and RIP-2 can be run together in a network. You should be aware of a few things
when running both protocols in your network:
• Autosummarization—RIP-1 and RIP-2 can be run together in a network. RFC 1723
for RIP-2 recommends disabling the autosummarization feature when using both
RIP-1 and RIP-2.
• Subnet advertisement—If a more specific subnet is advertised to a RIP-1 router, the
router might mistakenly take it as a host route update.
• Queries—When a RIP-2 router receives a query request from a RIP-1 router, it
responds with a RIP-1 message. If the router is configured to send only RIP-2
messages, such a query request must be ignored.
• Version field—The Version field in the RIP packet determines how to handle RIP-1
and RIP-2 packets:
— If version = 0 in the RIP packet, the packet is discarded, regardless of what
version the receiving router is running.
— If version = 1 in the RIP packet, all the “must be zero fields” are checked
(refer to Figure 2-9). If the version is nonzero, the packet is discarded,
regardless of what version the receiving router is running.
— If version = 2 in the RIP packet and the receiving router is running RIP-1,
the receiving router should look at only the related information in the
packet. All the “must be zero fields” are ignored.
44 Chapter 2: Understanding Routing Information Protocol (RIP)
Summary
RIP is a distance vector protocol that uses the Bellman-Ford algorithm to compute IP routes
dynamically. RIP is suitable to run in small IP networks because of its hop count limit of 15.
RIP was designed as a simple IP routing protocol that exchanges a complete routing table at
a fixed interval (30 seconds) with other routers running RIP. In larger networks with a large
number of IP routes, sending a complete routing table every 30 seconds is not practical. This
results in extra work for the sender and receiver, and it consumes unnecessary bandwidth and
processing time. Therefore, RIP is used in smaller networks with a hop count of less than 15
and a small number of routes as well.
RIP offers a descent algorithm for loop avoidance by using split horizon and poison reverse.
Split horizon takes care of the loops by not advertising any routes back to the interface
where it learned the routes. Poison reverse causes routes to be advertised with the infinite
RIP metric (16), thus removing RIP routes that might be looped or down.
Because any change in the network takes at least 30 seconds to propagate, the concept of
holddown causes the RIP routing table to wait for three times the advertisement interval.
This implementation is designed for when a RIP route is not advertised because it might
have been down for a little over 30 seconds. The receiving routers should wait for 90
seconds to remove the route from the routing table. If a routes comes back before 90
seconds, it is reinstalled and is advertised throughout the network.
In the early days of IP networking, RIP was the protocol of choice in smaller IP networks.
Since then, a lot of new IP protocols have been developed to be more robust and dynamic
than RIP; they can scale up to a much larger number of routers than 15. The advent of these
new protocols, such as OSPF, IS-IS, and EIGRP, resulted in almost complete phaseout of
RIP from larger networks today. These new protocols have improved upon the limitations
of RIP in terms of convergence and scalability, and they offer the support for VLSM and
discontiguous networks that RIP-1 lacked.
Although RIP-2 improved RIP with new features, such as route tags, queries, subnet masks,
next hops, multicasting, and authentication, larger networks still prefer OSPF, IS-IS, and
EIGRP as IP routing protocols.
Review Questions
1 What is the maximum metric in RIP?
2 Why doesn’t RIP support discontiguous networks?
5 What transport protocol and port number do RIP use for sending updates?
Further Reading 45
Further Reading
Refer to the following RFCs for more information about RIP. You can access all RFCs
online at www.isi.edu/in-notes/rfcxxxx.txt, where xxxx is the number of the RFC that you
want to read.
RFC 1058, “Routing Information Protocol”
RFC 1723, “RIP Version 2”
RFC 2453, “RIP Version 2”
RFC 1582, “Extensions to RIP to Support Demand Circuits”
RFC 2091, “Triggered Extensions to RIP to Support Demand Circuits”
RFC 2082, “RIP-2 MD5 Authentication”
This chapter covers the following key topics:
• Troubleshooting RIP routes installation
• Troubleshooting RIP routes advertisement
• Troubleshooting routes summarization in RIP
• Troubleshooting RIP redistribution problems
• Troubleshooting dial-on-demand (DDR) routing issues in RIP
• Troubleshooting route flapping problem in RIP
CHAPTER
3
Troubleshooting RIP
This chapter discusses some of the common problems in RIP and tells how to resolve those
problems. At this time, no RIP error messages will help troubleshooting RIP problems. As
a result, you will need to rely on debugs, configurations, and useful show commands, which
we’ll provide where necessary in this chapter. The flowcharts that follow document how to
address common problems with RIP with the methodology used in this chapter.
Debugs sometimes can be very CPU-intensive and can cause congestion on your network.
Therefore, we do not recommend turning on these debugs if you have a large network
(that is, more than 100 networks or subnets in RIP). Sometimes, there could be multiple
causes for the same problem—for example, Layer 2 is down, the network statement is
wrong, and the sender is missing the network statement. Bringing up Layer 2 and fixing
the network statement might not fix the network problem because the sender is still
missing the network statement. Therefore, if one scenario doesn’t fix the network prob-
lem, check into other scenarios. The word RIP, in general, refers to both RIP Version 1
(RIP-1) and RIP Version 2 (RIP-2). The problems discussed in this chapter are mostly
related to RIP-1, unless specified as RIP-2.
48 Chapter 3: Troubleshooting RIP
Not sure
Is RIP enabled on the interface? Go to page 53.
Yes
Yes
No
No
No
Is the RIP version compatible with the sender? Not sure Go to page 65.
Yes
No
Not sure
Is this a discontiguous subnet? Go to page 71.
No
Not sure
Is the RIP update coming from a valid source?
Go to page 74.
Yes
Yes
No
Not sure
Is the network more than 15 hops away? Go to page 81.
No
Not sure
Are there more than four possible paths? Go to page 83.
No
Yes
Not sure
Is the outgoing interface up/up? Go to page 89.
Yes
No
Not sure
Is the advertised network interface up/up? Go to page 93.
Yes
Not sure
Is the outgoing interface defined as passive? Go to page 95.
No
Not sure
Is the multicast capability broken? Go to page 96.
No
Yes
Not sure
Is the advertised subnet using VLSM? Go to page 100.
No
No
Not sure
Is the autosummarization feature enabled? Go to page 106.
No
Not sure
Is autosummarization turned off? Go to page 109.
No
Yes
No
No
No
No
Yes
Go to
next
cause.
Refer back to Figure 3-1 and compare it to the configuration for R2 in Example 3-2. You
notice that network 131.108.0.0 is missing from R2’s configurations.
Problem: RIP Routes Not in the Routing Table 55
Example 3-3 shows the output of the show ip protocols command on R2. This output shows
that the routing information source is also not displaying 131.108.1.1 as a gateway.
Example 3-3 show ip protocols Missing Gateway Information for Routing Information Source
R2#show ip protocols
Debug Commands
Example 3-4 shows the debug ip rip output. In this debug, R2 is ignoring the RIP updates
coming from R1 because RIP is not enabled on Ethernet 0. This is because of the lack of a
network statement for 131.108.0.0 under router rip in the router configuration mode.
Example 3-4 debug ip rip Command Output Displays That RIP Updates from Router R1 Are Being Ignored
R2#debug ip rip
RIP protocol debugging is on
R2#
RIP: ignored v1 packet from 131.108.1.1 (not enabled on Ethernet0)
R2#
Solution
Because the network statement is missing on Router 2, as shown in Example 3-2, it ignores
RIP updates arriving on its Ethernet 0 interface, as seen in the debug output in Example 3-4.
This problem can also happen if incorrect network statements are configured. Take a Class C
address, for example. Instead of configuring 209.1.1.0, you configure 209.1.0.0, assuming that
0 will cover anything in the third octet. RIP-1 is a classful protocol, and it assumes the classful
network statements. If a cidr statement is configured instead, RIP will not function properly.
To correct this problem, you must add the network statement in the configurations.
Example 3-5 shows the new configuration for Router R2 that solves this problem.
Example 3-5 New Configuration of R2 That Solves the Problem
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
continues
56 Chapter 3: Troubleshooting RIP
Example 3-6 shows the output of show ip protocols on R2. This output displays the
gateway information now.
Example 3-6 show ip protocols Showing Gateway Set to the R1’s Interface IP Address
R2#show ip protocols
Example 3-7 shows the output of show ip route, which shows that Router R2 is learning
the RIP route after the configuration change.
Example 3-7 show ip route Displays the Route Being Learned After Fixing the Problem
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:11 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:11 ago, via Ethernet0
Route metric is 1, traffic share count is 1
• Bad cable
• Bad transceiver
• Bad port
• Bad interface card
• Layer 2 problem at telco, in case of a WAN link
• Missing clock statement, in case of back-to-back serial connection
Figure 3-3 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-3 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
Yes
Go to
next
cause.
Debugs
Example 3-9 shows the output of debug ip rip. In this debug, R2 is not sending or receiving
any RIP updates because Layer 2 is down.
Example 3-9 debug ip rip Command Output Shows Nothing Is Being Sent
R2#debug ip rip
RIP protocol debugging is on
R2#
58 Chapter 3: Troubleshooting RIP
Solution
RIP runs above Layer 2. RIP cannot send or receive any routes if Layer 2 is down.
The Layer 2 problem must be fixed. Sometimes, the problem could be as simple as loose cables,
or it could be as complex as bad hardware; in which case, the hardware must be replaced.
Example 3-10 shows the output of show interface Ethernet 0 on R2 after the Layer 2
problem is fixed. The output shows that the line protocol is now up.
Example 3-10 show interface Output After Fixing the Layer 1/2 Problem Shows the Interface Ethernet0 Is Now Up
R2#show interface Ethernet0
Ethernet0 is up, line protocol is up
Hardware is Lance, address is 0000.0c70.d41e (bia 0000.0c70.d41e)
Internet address is 131.108.1.2/24
Example 3-11 shows the output of show ip route, which illustrates that the RIP route is
being learned after fixing the Layer 1/2 problem.
Example 3-11 Routing Table Entry After Fixing the Layer 1/2 Problem
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
Figure 3-4 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
Go to
next
cause.
Example 3-12 R2’s Configuration Shows That Network 131.108.0.0 Is Being Blocked with an Implicit deny Under
access-list 1
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
!
router rip
network 131.108.0.0
distribute-list 1 in
!
access-list 1 permit 131.107.0.0 0.0.255.255
Solution
When a distribute list is used, you should always double-check your access list to make sure
that the networks that are supposed to be permitted actually are permitted in the access list.
The access list in Example 3-12 permits only 131.107.0.0 and denies everything else
because there is an implicit deny at the end of each access list. To fix this problem, permit
131.108.0.0 in access-list 1.
Example 3-13 shows the new configuration of Router R2 with the access list to permit
131.108.0.0.
Example 3-13 Correcting the Configuration on R2 to Fix the Problem
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
continues
60 Chapter 3: Troubleshooting RIP
Example 3-14 shows that Router R2 is learning RIP routes after the configuration change.
Example 3-14 R2 Routing Table Is Learning the RIP Routes After the Correction
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
When the access list is applied in a RIP environment, always make sure that it doesn’t
block the source address of the RIP update. In this example, R2 is not installing RIP
routes in the routing table because access-list 1 is not permitting the source address of
RIP updates from R1.
Figure 3-5 shows the flowchart to follow to solve the problem based on this cause.
Figure 3-5 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
No
Go to
next
cause.
Debugs
The output of debug ip rip in Example 3-16 shows that RIP is only sending the updates,
not receiving anything, because the source address 131.108.1.1 is not permitted in the input
access list of R2.
Example 3-16 debug ip rip Output Reveals That R2 Is Not Receiving Any RIP Updates
R2#debug ip rip
RIP: sending v1 update to 255.255.255.255 via Ethernet0 (131.108.1.2)
RIP: build update entries
subnet 131.108.3.0 metric 1
RIP: sending v1 update to 255.255.255.255 via Loopback0 (131.108.3.1)
RIP: build update entries
subnet 131.108.1.0 metric 1RIP: sending v1 update to 255.255.255.255 via
Ethernet0 (131.108.1.2)
RIP: build update entries
subnet 131.108.3.0 metric 1
continues
62 Chapter 3: Troubleshooting RIP
Example 3-16 debug ip rip Output Reveals That R2 Is Not Receiving Any RIP Updates (Continued)
RIP: sending v1 update to 255.255.255.255 via Loopback0 (131.108.3.1)
RIP: build update entries
subnet 131.108.1.0 metric 1
R2#
Solution
The standard access list specifies the source address. In this case, the source address is
131.108.1.1, which is the sending interface address of R1. This source address is not
permitted in the standard access list of R2, so RIP routes will not get installed in the routing
table of R2. To solve this problem, permit the source address in access list 1.
Example 3-17 shows the new configuration change to fix this problem.
Example 3-17 The Modified Access List Permits the Source Address
R2#
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
ip access-group 1 in
!
router rip
network 131.108.0.0
!
access-list 1 permit 131.107.0.0 0.0.255.255
access-list 1 permit 131.108.1.1 0.0.0.0
This problem can also happen when using extended access lists if the RIP source address
is not permitted in the access list. This solution also can be used in the case of an extended
access list. The idea here is to permit the source address of RIP update.
Example 3-18 shows the configuration with an extended access list.
Example 3-18 The Correct Extended Access List Configuration, if Used
R2#
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
ip access-group 100 in
!
router rip
network 131.108.0.0
!
access-list 100 permit ip 131.107.0.0 0.0.255.255 any
access-list 100 permit ip host 131.108.1.1 any
Example 3-19 shows the routing table of Router R2, which shows that it has learning RIP
routes after the configuration change.
Problem: RIP Routes Not in the Routing Table 63
Example 3-19 R2 Is Receiving RIP Routes After Fixing the Access List Configuration
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
Go to
next
cause.
Solution
RIP-1 broadcasts its routing updates on 255.255.255.255. This address must be permitted
in the input access list of the receiving router so that it can receive the RIP updates.
Example 3-21 shows the new configuration for Router R2. access-list 100 is modified so
that it can permit the RIP broadcast address that was being blocked before.
Example 3-21 Configuring Router R2’s Input Access List to Accept RIP-1 Broadcasts
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
ip access-group 100 in
!
router rip
network 131.108.0.0
!
access-list 100 permit ip 131.107.0.0 0.0.255.255 any
access-list 100 permit ip host 131.108.1.1 host 131.108.1.2
access-list 100 permit ip host 131.108.1.1 host 255.255.255.255
In cases of RIP-2, the configuration will change slightly. The multicast address needs to be
permitted instead of the broadcast address, as shown in Example 3-22.
Example 3-22 Configuring Router R2’s Input Access List to Accept RIP-2 Multicast
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
ip access-group 100 in
!
router rip
version 2
network 131.108.0.0
!
access-list 100 permit ip 131.107.0.0 0.0.255.255 any
access-list 100 permit ip host 131.108.1.1 host 131.108.1.2
access-list 100 permit ip host 131.108.1.1 host 224.0.0.9
Problem: RIP Routes Not in the Routing Table 65
Example 3-23 shows the routing table of R2 after correcting the problem.
Example 3-23 R2 Routing Table After Correcting the Access List Shows That the RIP Routes Are Being Learned
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
Go to
next
cause.
Example 3-24 R2 Configuration Shows That It Is Configured for RIP-1, Which Is the Default
R2#
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
!
router rip
network 131.108.0.0
!
Example 3-25 shows the output of the debug ip rip command. This command reveals that
R2 is receiving a RIP packet from R1, which is configured to send Version 2 updates.
Example 3-25 debug ip rip Command Output Shows the Version Incompatible Message on R2
R2#debug ip rip
RIP protocol debugging is on
RIP: ignored v2 packet from 131.108.1.1 (illegal version)
Example 3-26 shows the output of the show ip protocols command, which indicates that
the Ethernet0 interface is sending and receiving RIP-1 packets. This means that if a
Version 2 packet is received on Ethernet 0 of R2, it will be ignored because the interface
can send and receive only Version 1 packets.
Example 3-26 show ip protocols Command Output Reveals the RIP Sends Out and Receives Only RIP
Version 1 Packets on Ethernet0
R2#show ip protocols
Example 3-27 shows the configuration of R1. This shows that sender R1 is configured to
send Version 2 packets. The command version 2 enables a router to send and accept only
RIP-2 packets.
Problem: RIP Routes Not in the Routing Table 67
Example 3-27 R1’s Configuration Reveals That It Is Configured for RIP Version 2 Packets
R1#
router rip
version 2
network 131.108.0.0
Example 3-28 shows the output of the show ip protocols command, which shows that the
sender R1 is sending and receiving only Version 2 packets. This is because of the version 2
command that is configured under router rip.
Example 3-28 show ip protocols Command Output Reveals That R1 Is Sending and Receiving Only RIP Version
2 Packets
R1#show ip protocols
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 13 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is
Incoming update filter list for all interfaces is
Redistributing: rip
Default version control: send version 2, receive version 2
Interface Send Recv Key-chain
Ethernet0/1 2 2
Loopback1 2 2
Routing for Networks:
131.108.0.0
Routing Information Sources:
Gateway Distance Last Update
131.108.1.2 120 00:04:09
Distance: (default is 120)
Solution
If the receiver R2 is configured to receive only RIP Version 1 packets, it will ignore the RIP
Version 2 updates. You must configure Router R1 on the sender’s side so that it will send
both Version 1 and Version 2 packets. When R2 receives the Version 1 packet, it will install the
routes in the routing table. R2 will ignore RIP-2 packets because it is configured for RIP-1.
Example 3-29 shows the new configuration for R1. In this configuration, the sender (R1’s
Ethernet interface) is configured to send and receive both RIP-1 and RIP-2 packets.
Example 3-29 New Configuration of R1 to Send and Receive Version 1 and Version 2 Packets
R1#
interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
ip rip send version 1 2
ip rip receive version 1 2
continues
68 Chapter 3: Troubleshooting RIP
Example 3-29 New Configuration of R1 to Send and Receive Version 1 and Version 2 Packets (Continued)
!
router rip
version 2
network 131.108.0.0
Example 3-30 shows the output of show ip protocols, which indicates that the Ethernet0
interface is sending and receiving Version 1 and Version 2 packets. The advantage of send-
ing both Version 1 and Version 2 updates is that, if any devices on this Ethernet segment are
running Version 1 only or Version 2 only, those devices will be capable of communicating
with R1 on Ethernet.
Example 3-30 show ip protocols Command Output Reveals the RIP Version 1 and 2 Packets Being Sent and
Received by R1’s Ethernet0 Interface
R1#show ip protocols
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 4 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is
Incoming update filter list for all interfaces is
Redistributing: rip
Default version control: send version 2, receive version 2
Interface Send Recv Key-chain
Ethernet0 1 2 1 2
Loopback0 2 2
Routing for Networks:
131.108.0.0
Routing Information Sources:
Gateway Distance Last Update
131.108.1.2 120 00:00:07
Distance: (default is 120)
R1#
Example 3-31 shows R2’s routing table after the configuration change.
Example 3-31 R2 Routing Table After R1 Is Configured to Send and Receive RIP-1 and RIP-2 Packets
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
password is called the authentication key. If this key does not match with the key on the
other side, the RIP-2 updates will be ignored on both sides.
Figure 3-8 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-8 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
If the authentication is
configured, make sure that
Is there an authentication the same key is configured
mismatch between sender Not sure
on both the sender and
and receiver? the receiver. Go to “Debugs
and Verification” section.
No
Go to
next
cause.
continues
70 Chapter 3: Troubleshooting RIP
Example 3-32 Configurations for R1 and R2 Show That Different Authentication Keys Are Configured
on Each Side (Continued)
R1#
interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
ip rip authentication key-chain cisco
!
router rip
version 2
network 131.108.0.0
!
Example 3-33 shows the output from the debug ip rip command on R2 that indicates that
R2 is receiving a RIP packet that has invalid authentication. This means that the authen-
tication key between sender and receiver doesn’t match.
Example 3-33 debug ip rip Command Output Reveals Invalid Authentication for a RIP-2 Packet Received on R2
R2#debug ip rip
RIP protocol debugging is on
RIP: ignored v2 packet from 131.108.1.1 (invalid authentication)
Solution
When using authentication in RIP, make sure that the sender and the receiver are configured
with the same authentication key. Sometimes, adding a space at the end of the key can cause
the invalid authentication problem because a space will be taken as a literal key entry. As
a result, this causes a problem that cannot be corrected just by looking at the configurations.
Debugs will show that there is a problem with the authentication key. To solve this problem,
configure the same keys on both sender and receiver, or retype the authentication key,
making sure that no space is being added at the end.
Example 3-34 shows the new configuration to correct this problem. The authentication key
is reconfigured on Router R2 to match Router the key on R1.
Example 3-34 R2 Configuration with the Corrected Authentication Key
R2#
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
ip rip authentication key-chain cisco
!
router rip
version 2
network 131.108.0.0
!
Problem: RIP Routes Not in the Routing Table 71
Example 3-35 shows the routing table of R2 after the configuration change.
Example 3-35 R2 Routing Table After Reconfiguring the Authentication Key on R2
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
Figure 3-10 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-10 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
If RIP receives a
summarized route for a
discontiguous network,
Is this a discontiguous subnet? Not sure it will not install it in the
routing table. Go to
“Debugs and Verification”
section.
No
Go to
next
cause.
72 Chapter 3: Troubleshooting RIP
R1#
interface Loopback0
ip address 137.99.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
router rip
network 131.108.0.0
network 137.99.0.0
!
Example 3-37 shows the debug ip rip output for routers R1 and R2. Both debugs shows
that the network 137.99.0.0 is being sent across.
Example 3-37 debug ip rip Output Showing That Both Routers Are Sending Summarized Major Network
Addresses Across
R2#debug ip rip
RIP protocol debugging is on
RIP: received v1 update from 131.108.1.1 on Ethernet0
137.99.0.0 in 1 hops
RIP: sending v1 update to 255.255.255.255 via Ethernet0 (131.108.1.2)
RIP: build update entries
network 137.99.0.0 metric 1
R2#
R1#debug ip rip
RIP protocol debugging is on
R1#
RIP: received v1 update from 131.108.1.2 on Ethernet0
137.99.0.0 in 1 hops
RIP: sending v1 update to 255.255.255.255 via Ethernet0 (131.108.1.1)
RIP: build update entries
network 137.99.0.0 metric 1
As a result, both routers will ignore the 137.99.0.0 update from each other. Because R1 and
R2 are already connected to this major network, they will ignore the update.
Problem: RIP Routes Not in the Routing Table 73
Solution
RIP is not installing the route 137.99.0.0 in the routing table because RIP doesn’t support
discontiguous networks, as discussed in the beginning of the chapter. Several solutions to
this problem exist. The quick solution is to configure a static route to the more specific
subnets of 137.99.0.0 on each router. The second solution is to enable Version 2 of RIP.
Another solution is to replace RIP with another IP routing protocol, such as OSPF, IS-IS,
EIGRP, and so on, that supports discontiguous networks.
Example 3-38 shows the configuration change that is required for both Router R1 and
Router R2 to fix the problem. This configuration adds the static route for the discontiguous
subnets. Because you cannot pass the subnet information across in case of discontiguous
networks in RIP-1, the only solution is to patch it with static routes.
Example 3-38 Static Route Configuration Should Solve This Problem
R1#
interface Loopback0
ip address 137.99.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
router rip
network 131.108.0.0
network 137.99.0.0
!
ip route 137.99.3.0 255.255.255.0 131.108.1.2
R2#
interface Loopback0
ip address 137.99.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
!
router rip
network 131.108.0.0
network 137.99.0.0
!
ip route 137.99.2.0 255.255.255.0 131.108.1.1
Example 3-39 shows the alternate solution to fix this problem, in the case of RIP-2. The
solution is to run RIP-2 with no auto-summary configured. With the no-auto summary
command added, RIP-2 will not autosummarize when crossing a major network boundary.
The specific subnet information will be sent across.
Example 3-39 Configuration That Works Under RIP-2 in a Discontiguous Network Environment
router rip
version 2
network 131.108.0.0
network 137.99.0.0
no auto-summary
74 Chapter 3: Troubleshooting RIP
Example 3-40 shows the routing table of R2 after fixing this problem.
Example 3-40 R2 Routing Table Shows That 137.99.2.0/24 Is Learned Through RIP-2 After Configuring the no-
auto summary Command
R2#show ip route 137.99.2.0
Routing entry for 13799.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
S0
Router 1 Router 2
In Figure 3-11, Router 1’s Serial 0 interface is unnumbered to Loopback 0. Router 2’s serial
interface is numbered. When Router 2 receives a RIP update from Router 1, it complains
about the source validity because the source address is not on the same subnet as Router 2’s
Serial 0 interface.
Figure 3-12 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-12 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
Go to
next
cause.
Example 3-41 Configuration of R2 and R1 Showing That R1’s Serial 0 Interface Is Unnumbered and R2’s Isn’t
R2#
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Serial0
ip address 131.108.1.2 255.255.255.0
!
router rip
network 131.108.0.0
!
R1#
interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Serial0
ip unnumbered Loopback0
!
router rip
network 131.108.0.0
!
The debug ip rip output in Example 3-42 shows that R2 is ignoring the RIP update
from R1 because of a source validity check. The RIP update coming from R1 is not on
the same subnet, so R2 will not install any routes in the routing table.
Example 3-42 debug ip rip Message Shows That R2 Is Receiving RIP Updates from a Different Source Address
Than Its Own Interface
R2#debug ip rip
RIP protocol debugging is on
RIP: ignored v1 update from bad source 131.108.2.1 on Serial0
R2#
76 Chapter 3: Troubleshooting RIP
Solution
When one side is numbered and the other side is unnumbered, this check must be turned
off. This is usually the case in a dialup situation when remotes are dialing into an access
router. The access router’s dialup interface is unnumbered, and all remote routers get an IP
address assigned on their dialup interfaces.
Example 3-43 shows the new configuration change on Router R2 to fix this problem.
Example 3-43 Configuration of R2 to Turn Off the Source Validity Check
R2#
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Serial0
ip address 131.108.1.2 255.255.255.0
!
router rip
no validate-update-source
network 131.108.0.0
!
Example 3-44 shows that after changing the configurations of R2, the route gets installed
in the routing table.
Example 3-44 R2 Routing Table After Turning Off Source Validity Check
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 00:00:01 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago
Route metric is 1, traffic share count is 1
131.108.1.0/24
131.108.2.0/24 .1 131.108.3.0/24
.2
Router 1 Router 2
Figure 3-14 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
Go to
next
cause.
continues
78 Chapter 3: Troubleshooting RIP
Example 3-45 debug ip packet Against access-list 100 Shows That R1 Is Sending RIP Updates on the Wire, and
R2 Is Not Receiving It (Continued)
Example 3-46 shows access-list 100, which is used against the debug to look at the RIP
broadcast/multicast specifically.
Example 3-46 access-list 100 Is Used Against the Debugs to Minimize the Traffic
access-list 100 permit ip any host 255.255.255.255
access-list 100 permit ip any host 224.0.0.9
Example 3-47 shows a way to find out if this is the problem when running RIP-2. Ping the
multicast address of 224.0.0.9—if the neighbor doesn’t reply, this can mean that multicast
is broken at Layer 2.
Example 3-47 Multicast Pings Are Failing, Which Means That R2’s Multicast Is Getting Lost at Layer 2
R2#ping 224.0.0.9
Solution
RIP-1 sends an update on a broadcast address of 255.255.255.255. In the case of RIP-2, the
update is sent on a multicast address of 224.0.0.9. If these two addresses get blocked at
Layer 2 or are not being propagated at Layer 2, RIP will not function properly. Layer 2
could be a simple Ethernet switch, a Frame Relay cloud, a bridging cloud, and so on. Fixing
the Layer 2 problem is beyond the scope of this book.
Example 3-48 shows that after fixing the Layer 2 problem, RIP routes get installed in the
routing table.
Example 3-48 R2 Is Installing RIP Routes After Fixing the Layer 2 Problems
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 00:00:01 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago
Route metric is 1, traffic share count is 1
Problem: RIP Routes Not in the Routing Table 79
RIP Routes Not in the Routing Table—Cause: Offset List Has a Large
Metric Defined
Offset lists are used to increase the metric value of RIP updates coming in or going out.
The use of an offset list can directly influence the routing table. This list can be applied
on selected networks that can be defined in an access list. If the offset value is a large
number, such as 14 or 15, the RIP metric will reach infinity when it crosses a couple of
routers. That’s why the offset list value should be kept to a minimum value.
Figure 3-15 shows a network setup that can produce a problem in the case of a
misconfigured offset list.
Figure 3-15 Network Topology Used for Misconfigured Offset Lists Problem Reproduction
131.108.6.0/24
131.108.1.0/24
Example 3-49 shows that the specific router 131.108.6.0 is not in the routing table of R2.
Example 3-49 R2’s Routing Table Missing the Subnet That Is Off R3
R2#show ip route 131.108.6.0
% Subnet not in table
Figure 3-16 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-16 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
Go to
next
cause.
80 Chapter 3: Troubleshooting RIP
This shows that problem is with 131.108.6.0/24, not with RIP in general. The reason is that
R3 is receiving other RIP routes from R1, so the RIP update that is coming from R1 is
working fine.
Example 3-51 shows the routing table of R1, where 131.108.6.0/24 is present in the routing table.
Example 3-51 R1 Sees 131.108.6.0/24 in Its Routing Table
R1#show ip route 131.108.6.0
Routing entry for 131.108.6.0/24
Known via "rip", distance 120, metric 1
So why is R2 not installing 131.108.6.0/24? This could be because of one of the following
reasons:
• R1 is not advertising to R2.
• R1 is advertising, but R2 is not receiving.
• R2 is receiving but is discarding it because of an infinite metric.
The simplest way to troubleshoot such problems is quick configuration examination.
Example 3-52 shows the configuration of Router R1.
Example 3-52 The Offset List Has a Large Value Configured on R1 for 131.108.6.0/24
R1#
router rip
version 2
offset-list 1 out 15 Ethernet0/1
network 131.108.0.0
!
access-list 1 permit 131.108.6.0
The administrator has configured an offset list with a very large metric. The offset list is
used to change the metric of RIP update.
From the configuration, you can surmise that any update that passes access-list 1 will have 15
added in the metric. In Example 3-52, access-list 1 permits 131.108.6.0. This means that the
metric of 131.108.6.0 is 16, which, to RIP, is an infinite metric; upon receiving it, R2 will reject it.
To verify this, run the debug ip rip command, as demonstrated in Example 3-53.
Problem: RIP Routes Not in the Routing Table 81
Example 3-53 debug ip rip on R2 Shows That 131.108.6.0 Is Received with an Infinite Metric
R2#debug ip RIP
Because 16 is the infinite metric for RIP, R2 will reject 131.108.6.0/24 from going in the
routing table.
Solution
Typically, offset lists are not used in RIP networks. When the network has redundant equal-
hop (cost) paths and the administrator wants one route preferred over another, an offset list
can be used.
For example, suppose that two links exist between R1 and R2. One of the links could be
either congested or experiencing delay.
The administrator might want to shift the IP traffic for certain destination subnets to a
noncongested link for a short time, to get better throughput and to alleviate some of the
congestion. An offset list is an easy way to achieve this by making the RIP metric higher
for the subnets on the congested interface.
Example 3-54 shows the new configuration of Router R1.
To fix the problem, configure an offset value so that the hop count won’t reach its limit.
Example 3-54 New Configuration on R1 with Appropriate Offset List Value
R1#
router rip
version 2
offset-list 1 out 1 Ethernet0/1
network 131.108.0.0
!
access-list 1 permit 131.108.6.0
Example 3-55 shows the routing table of Router R2 after fixing the problem.
Example 3-55 R2’s Routing Table Shows the Entry for 131.108.6.0/24 After Configuring the Proper Offset List
R2#show ip route 131.108.6.0
Routing entry for 131.108.6.0/24
Known via "rip", distance 120, metric 1
Figure 3-17 shows a network setup that produces a RIP hop-count limit problem.
Figure 3-17 Network Setup That Can Produce a RIP Hop-Count Limit Problem
131.108.1.0/24
Router 1 Router 2
131.108.6.0/24
R2 is receiving an update for a RIP route, which is several (more than 15) hops away. R2
doesn’t install that route in the routing table, as demonstrated in the output in Example 3-56.
Example 3-56 R2’s Routing Table Is Missing the Route for 131.108.6.0
R2#show ip route 131.108.6.0
% Subnet not in table
No
Go to
next
cause.
Example 3-57 R1’s Routing Table Has 131.108.6.0/24 with a Metric of 15 (Maximum RIP Metric)
R1#show ip route 131.108.6.0
Routing entry for 131.108.6.0/24
Known via "rip", distance 120, metric 15
R1 is receiving the route in question, but with a metric of 15. R1 will add 1 more to 15 when
advertised to R2, which will result in an infinite metric, consequently preventing the route
from being placed in the routing table.
To prove this, in R1, you can run the debug ip rip command to view the process in
real time.
Example 3-58 shows the output of debug ip rip on Router R1.
Example 3-58 debug ip rip Output Shows That R1 Is Advertising 131.108.6.0 with a Metric of 16 (Infinity)
R1#debug ip rip
RIP protocol debugging is on
RIP: sending v2 update to 224.0.0.9 via Ethernet1 (131.108.1.1)
131.108.6.0/24 -> 0.0.0.0, metric 16, tag 0
Example 3-59 shows the output of debug ip rip on Router R2. Router R2 receives this
update and discards it because the metric shows that this network is infinitely far away and,
therefore, unreachable.
Example 3-59 debug ip rip Output on R2 Shows That R2 Is Receiving Routes with an Infinite Metric
R2#debug ip rip
RIP protocol debugging is on
RIP: received v2 update from 131.108.1.1 on Ethernet1
131.108.6.0/24 -> 0.0.0.0 in 16 hops (inaccessible)
Solution
This is a classical RIP problem in which a route passes through more than 15 devices. IP
networks these days usually have more than 15 routers. There is no way to overcome this
behavior other than to pick a routing protocol that does not have a 15-hop limitation. You
should use OSPF, EIGRP, or IS-IS instead.
is not configured properly, it can cause a problem, as discussed in this section. When con-
figured improperly, the maximum-path command allows only one path to the destination,
even though more than one path exists. Configuring the command as maximum-path 1
should be done only when load balancing is not desired.
Figure 3-19 and Example 3-60 provide a network scenario that will be used as the basis for
troubleshooting when the maximum-path command restricts RIP from installing more
than one path, resulting in the omission of all possible equal-cost paths. The sections that
follow carefully dissect how to troubleshoot this problem.
Figure 3-19 shows the network setup that produces the problem of RIP not installing all
possible equal-cost paths.
Figure 3-19 RIP Network Vulnerable to an Equal-Cost Path Problem
Router 1
E1 E2
131.108.1.0/24 131.108.5.0/24
131.108.2.0/24
Router 2 Router 3
Example 3-60 shows the routing table of Router R1. Only one route is being installed in
the routing table. By default, any routing protocol supports equal-cost multipaths (load
balancing). If more than one equal path exists, it must be installed in the routing table.
Example 3-60 R1 Installs Only One Path for 131.108.2.0/24
R1#show ip route rip
131.108.0.0/24 is subnetted, 1 subnets
R 131.108.2.0 [120/1] via 131.108.5.3, 00:00:09, Ethernet2
Figure 3-20 shows the flowchart to follow to solve this problem based on this cause.
Problem: RIP Is Not Installing All Possible Equal-Cost Paths 85
Figure 3-20 Flowchart to Solve Why RIP Routes Don’t Show Up in a Routing Table
No
Go to
next
problem.
Only one route is installed in the routing table. You see only one route in the routing table
instead of two because operator has configured maximum-paths 1 in the configuration.
Example 3-62 shows the current configuration for Router R1.
Example 3-62 R1 Is Configured with maximum-path 1
R1#
router rip
version 2
network 131.108.0.0
maximum-paths 1
Solution
By default, Cisco IOS Software allows up to four equal-cost routes to be installed in the
routing table. This could be increased up to six routes if configured as in Example 3-63.
86 Chapter 3: Troubleshooting RIP
Example 3-63 shows the configuration that installs six equal-cost path routes in the routing
table.
Example 3-63 Allowing the Maximum of Six Paths in the Routing Table
R1#
router rip
maximum-paths 6
This example makes more sense when you have more than four paths and only four
are getting installed in the routing table. Because four equal-cost routes is a default,
maximum-paths needs to be increased to accommodate the fifth and possibly sixth
route.
When the routing information differs from one router to the other, one of two possibilities
could exist:
• Some routers are not advertising the RIP routes.
• Some routers are not receiving the RIP routes.
This section deals with problems in sending RIP routes.
Figure 3-21 provides a network scenario that will be used as the basis for troubleshooting
a majority of following causes of the problem of the sender not advertising RIP routes:
• Missing or incorrect network statement
• Outgoing interface that is down
• distribute-list out blocking the routes
• Advertised network interface that is down
• Outgoing interface defined as passive
• Broken multicast capability (encapsulation failure in Frame Relay)
• Misconfigured neighbor statement
• Advertised subnet is VLSM
• Split horizon enabled
Figure 3-21 shows the network setup in which Router R1 is not sending RIP routes toward R2.
Figure 3-21 Network Setup in Which Router R1 Is Not Sending RIP Routes Toward R2
The sections that follow carefully dissect how to troubleshoot this problem based on
specific causes.
Figure 3-22 Flowchart to Solve Why the Sender Is Not Advertising RIP Routes
Yes
Go to
next
cause.
The network statement is incorrectly configured under router rip in Example 3-64.
Instead of 131.108.0.0, 131.107.0.0 is configured. This will not enable RIP on the interface,
and no updates will be sent.
Solution
Sometimes, a classless statement is configured under router rip, assuming that it will cover
all the networks—for example:
router rip
network 131.0.0.0
The network statement will not cover 131.0.0.0 through 131.255.255.255 because
131.0.0.0 is a classless network and RIP is a classful protocol. Similarly, if you have
multiple Class C addresses, you cannot use one network statement to cover all the
Problem: Sender Is Not Advertising RIP Routes 89
addresses that you own. For example, suppose that you own 200.1.1.0 through 200.1.4.0.
This doesn’t mean that you can use the following command syntax:
router rip
network 200.1.0.0
The network statement here is meaningless for RIP-1 because RIP-1 is a classful
protocol. The correct way to advertise all four networks in RIP is as follows:
router rip
network 200.1.1.0
network 200.1.2.0
network 200.1.3.0
network 200.1.4.0
Example 3-66 shows the routing table of Router R2, showing the learned RIP route.
Example 3-66 R2 Routing Table Shows That the RIP Routes Are Learned After Correcting the network Statement
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:11 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:11 ago, via Ethernet0
Route metric is 1, traffic share count is 1
If the outgoing interface shows any of these symptoms, RIP will not be capable of sending
any updates across the network. The main thing to note here is that, with any of these potential
causes, the line protocol will always show down. This is the most important information to
determine Layer 2 connectivity.
Figure 3-23 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-23 Flowchart to Solve Why the Sender Is Not Advertising RIP Routes
Yes
Go to
next
cause.
Example 3-68 shows the debug ip rip output. In this debug, R1 is not sending or receiving
any RIP updates because Layer 2 is down.
Example 3-68 debug ip rip Output Reveals That Nothing Is Being Sent or Received on R1’s Ethernet0 Interface
R1#debug ip rip
RIP protocol debugging is on
R1#
Solution
RIP runs above Layer 2. RIP cannot send or receive any routes if Layer 2 is down.
To correct this problem, Layer 2 or Layer 1 must be corrected. Sometimes, the problem
could be as simple as loose cables or a bad cable that must be replaced, or it could be as
complex as bad hardware, in which case hardware must be replaced.
Example 3-69 shows the interface Ethernet 0 after fixing the Layer 2 problem.
Example 3-69 R1’s Outgoing Interface Ethernet0 Is Up After Fixing the Layer 2 Issue
R1#
Ethernet0 is up, line protocol is up
Hardware is Lance, address is 0000.0c70.d31e (bia 0000.0c70.d31e)
Internet address is 131.108.1.1/24
Figure 3-24 Flowchart to Solve Why the Sender Is Not Advertising RIP Routes
No
Go to
next
cause.
Solution
When using a distribute list, you should always double-check your access list to make
sure that the networks that are supposed to be permitted are explicitly permitted in the
access list. If not, they will be denied. In the configuration example in Example 3-72,
the access list is permitting only 131.107.0.0. An implicit deny any at the end of each
access list causes the 131.108.0.0 network to be denied. To fix this problem, permit
131.108.0.0 in access-list 1, as shown in Example 3-72.
Example 3-72 Reconfiguring access-list 1 to Permit Network 131.108.0.0
interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
Problem: Sender Is Not Advertising RIP Routes 93
No
Go to
next
cause.
94 Chapter 3: Troubleshooting RIP
When the advertised network’s interface goes down, RIP will detect the down condition.
RIP will no longer advertise that network in the RIP update. In Example 3-74, interface
Ethernet 1 is down, so RIP will no longer advertise 131.108.2.0/24 in its update.
Solution
You must correct this problem at Layer 2 or Layer 1. Sometimes, the problem could be as
simple as loose cables, or it could be as complex as bad hardware, in which case the hardware
must be replaced. After fixing the Layer 2 problem, reissue the show interface command to
view the current status, to verify that it has changed state to up.
Example 3-75 shows that the advertised network interface line protocol is up.
Example 3-75 show interface Output Displays That the Line Protocol of Ethernet1 Is Up After Fixing
the Layer 2 Issue
R1#show interface Ethernet 1
Ethernet1 is up, line protocol is up
Hardware is Lance, address is 0000.0c70.d51e (bia 0000.0c70.d51e)
Internet address is 131.108.2.1/24
When the interface is active again, RIP will begin to advertise that network in its
periodic updates. Example 3-76 shows that the route that was down is back in the
routing table of R2.
Example 3-76 show ip route Output Displays That R2’s Routing Table Indicates the Network Again After the Layer
2 Issue Is Resolved
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
Problem: Sender Is Not Advertising RIP Routes 95
No
Go to
next
cause.
Example 3-77 show ip protocols Output Reveals That the Outgoing Interface on R1 Is Passive (Continued)
Routing Information Sources:
Gateway Distance Last Update
131.108.1.2 120 00:00:26
Distance: (default is 120)
Example 3-78 shows the configuration of Router R1, which shows that the outgoing inter-
face is defined as passive.
Example 3-78 Configuring the passive interface Command in RIP
router rip
passive-interface Ethernet0
network 131.108.0.0
Solution
When an interface is defined as a passive interface under RIP, RIP will receive updates on
that interface but will not send any updates.
In Example 3-78, the interface Ethernet 0 is defined as passive, so R1 is not sending any
updates on Ethernet 0. Sometimes, some networks should be advertised and others should
be filtered. In this type of situation, passive interfaces should not be used. Distribute lists,
used to selectively filter updates, are a better solution in that case.
Assume that passive-interface was configured by mistake. Take this command out of the
configuration to solve this problem using the no form of the command.
Example 3-79 shows the new configuration to solve this problem.
Example 3-79 Correcting the passive-interface Problem
router rip
network 131.108.0.0
Example 3-80 shows the routing table of R2 after fixing the problem.
Example 3-80 R2 Routing Table After Removing the passive-interface Command
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Serial0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Serial0
Route metric is 1, traffic share count is 1
RIP-1 updates are sent at a broadcast address and RIP-2 uses multicast to exchange routes.
No routing information will propagate across the network unless broadcast and multicast
features are enabled on such interfaces. Nonbroadcast multiaccess (NBMA) Frame Relay
is a prime example of a networking environment in which interfaces exhibit this behavior.
Figure 3-27 shows a network setup that is deliberately configured with broken multicast to
illustrate the example of how Frame Relay RIP updates will not go across R1.
In Figure 3-27, Router 1 and Router 2 are connected through Frame Relay. Router 1 is not
advertising RIP routes toward Router 2.
Figure 3-27 NBMA Frame Relay Network Vulnerable to Broken Multicast Capability Problems
131.108.1.0/24
131.108.2.0/24 .1 131.108.3.0/24
.2
Frame Relay
Router 1 Router 2
Figure 3-28 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-28 Flowchart to Solve Why the Sender Is Not Advertising RIP Routes
If a Layer 2 NBMA
network such as Frame
Relay or ISDN is
configured with static
Is the multicast capability Not sure mapping, make sure that
broken? the broadcast keyword is
added in the map
statement. Go to “Debugs
and Verification” section.
No
Go to
next
cause.
Example 3-81 R1’s frame-relay map Statement Lacks the broadcast Keyword
R1#
interface Serial3
ip address 131.108.1.1 255.255.255.0
encapsulation frame-relay
frame-relay map ip 131.108.1.2 16
!
Example 3-83 shows output from debug ip packet. This debug includes only the broadcast
traffic source from R1. As shown in Example 3-82, R1 is configured with access-list 100.
Example 3-82 Configuration in R1 of access-list 100 to Limit debug Output
R1#:
access-list 100 permit ip host 131.108.1.1 host 255.255.255.255
R1 is configured with access-list 100, which permits all packets from source 131.108.1.1
destined to the broadcast address of 255.255.255.255. In Example 3-83, R1 runs debug ip
packet detail with access-list 100 to limit traffic destined to 255.255.255.255 with R1 as
the source. The debug output in Example 3-83 shows that there are encapsulation failures,
indicating that they cannot be placed in the appropriate Layer 2 frame.
Example 3-83 debug ip packet Output on R1 Reveals Encapsulation Failure for RIP Updates
R1#debug ip packet 100 detail
IP packet debugging is on (detailed) for access list 100
R1#
IP: s=131.108.1.1 (local), d=255.255.255.255 (Serial3), len 112, sending broad/
multicast
UDP src=520, dst=520
IP: s=131.108.1.1 (local), d=255.255.255.255 (Serial3), len 112, encapsulation
failed
UDP src=520, dst=520
Solution
When RIP is running in a Frame Relay (NBMA) environment, Layer 2 must be configured to
support broadcast traffic; otherwise, RIP updates will not get across. When static map-ping is
used, make sure to add the broadcast keyword at the end of a frame-relay map statement.
Example 3-84 shows the new configuration of Router R1 with the corrected frame-relay
map statement.
Example 3-84 Corrected Configuration to Enable Broadcast Traffic to Go Across an NBMA Environment
R1#:
interface Serial3
ip address 131.108.1.1 255.255.255.0
encapsulation frame-relay
frame-relay map ip 131.108.1.2 16 broadcast
!
Example 3-85 R2 Routing Table with RIP Routes After the Corrected frame-relay map Statement for Router R1
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Serial0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Serial0
Route metric is 1, traffic share count is 1
In a nonbroadcast
environment, neighbor
statements might be
necessary. They are
Is the neighbor statement configured under the
Not sure
configured properly? router rip configuration
mode and force the router
to unicast RIP updates. Go
to “Debugs and Verification”
Yes section.
Go to
next
cause.
Solution
In Example 3-86, RIP is sending a unicast update to a neighbor address of 131.108.1.3,
which doesn’t exist.
To solve the problem, the neighbor statement must be configured properly.
Example 3-87 shows the corrected configuration of Router R1.
Example 3-87 Router R1 Configuration with the Correct neighbor Statement
R1# router rip
network 131.108.0.0
neighbor 131.108.1.2
Example 3-88 shows the RIP routes installed in R2’s routing table.
Example 3-88 R2 Routing Table Shows the RIP Entry After Correcting the RIP neighbor Statement
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Serial0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Serial0
Route metric is 1, traffic share count is 1
Router 1 Router 2
RIP-1 cannot advertise the mask of a subnet, so it cannot support VLSM and cannot
advertise /25 to an RIP interface whose mask is /24.
Figure 3-31 shows the flowchart to follow to correct this problem.
Problem: Sender Is Not Advertising RIP Routes 101
Figure 3-31 Flowchart to Solve Why the Sender Is Not Advertising RIP Routes
Go to
next
cause.
Solution
RIP-1 is not designed to carry subnet mask information. Therefore, any subnet that is using
a different mask than the interface that will be sourcing the RIP update will not be adver-
tised by RIP. RIP actually performs a check before sending an update, to make sure that the
subnet that will be advertised by RIP has the same subnet mask as the interface that will be
sourcing the RIP update. If the mask is different, RIP actually drops the update and will not
advertise it.
To solve the problem, either change the subnet mask so that it matches the interface that will
be sourcing the RIP update or change the protocol to RIP-2, which does support VLSM.
102 Chapter 3: Troubleshooting RIP
Example 3-90 shows the configuration changes that correct the problem.
Example 3-90 Configuring RIP to Advertise VLSM Routes
R1#:
interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
router rip
version 2
network 131.108.0.0
Example 3-91 shows the routing table of Router R2 after correcting the problem.
Example 3-91 Router R2 Routing Table After Resolving the VLMS Support Problem
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/25
Known via "rip", distance 120, metric 1
Redistributing via rip
Last update from 131.108.1.1 on Ethernet0, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:07 ago, via Ethernet0
Route metric is 1, traffic share count is 1
Figure 3-32 Hub-and-Spoke Frame Relay Network Requiring Disabling Split Horizon
Hub
Frame Relay
131.108.1.0/24
131.108.2.0/24 131.108.3.0/24
Spoke 1 Spoke 2
166.166.166.0/24
.3
Router 3
155.155.155.0/24
.1
131.108.1.0/24
Router 1
.2
Router 2
104 Chapter 3: Troubleshooting RIP
Go to
next
cause.
Example 3-93 shows that the route 166.166.166.0/24 is not in the routing table of Router
R2; however, 155.155.155.0/24 does show up in the routing table.
Example 3-93 R2 Routing Table Does Not Show Route 166.166.166.0/24
R2#show ip route rip
R 155.155.0.0/16 [120/1] via 131.108.1.1, 00:00:07, Ethernet0
Example 3-94 shows the debug ip rip output on Router R1. R1 is advertising only 155.155.0.0/
16, not 166.166.166.0/24. In R2’s routing table, no route exists for 166.166.166.0/24.
Example 3-94 debug ip rip Output Displays 166.166.166.0 Is Not Being Advertised by R1
R1#debug ip rip
RIP protocol debugging is on
Solution
This problem occurs because the next hop of 166.166.166.0/24 is 131.108.1.2. With split
horizon, RIP will suppress this update from going out the same interface that 166.166.166.0/24
is learned. Notice that the route 155.155.155.0/24 was advertised by R1 because the next-hop
address of that route was 10.10.10.4, which is a different interface on R1.
The solution lies in turning off split horizon on the Ethernet 0 interface of R1.
A similar situation would arise if 166.166.166.0/24 was defined as a secondary interface
address on R1, which will not advertise this secondary interface address in its RIP update
unless split horizon is turned off.
Example 3-95 shows the new configuration on Router R1 to solve this problem.
Example 3-95 Disabling Split-Horizon on R1’s Ethernet 0 Interface
R1#
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
no ip split-horizon
Example 3-96 shows that after making the configuration changes, R2 is receiving
166.166.166.0/24 in the RIP updates.
Example 3-96 R2 Routing Table After Split Horizon Has Been Disabled Confirms That RIP Updates Reflect the
166.166.166.0/24 Route
R2#show ip route rip
R 155.155.0.0/16 [120/1] via 131.108.1.1, 00:00:08, Ethernet0
R 166.166.0.0/16 [120/1] via 131.108.1.1, 00:00:08, Ethernet0
This problem can also be seen when interfaces are configured with secondary IP addresses.
Example 3-97 shows the interface configuration with secondary IP address.
Example 3-97 Interface Configuration with Secondary Addresses
R1#
interface Ethernet0
ip address 131.108.2.1 255.255.255.0 secondary
ip address 131.108.1.1 255.255.255.0
If split horizon is enabled, this secondary address will not be advertised on Ethernet0.
Similarly, imagine a situation in which there are three routers—R1, R2, and R3—on the
same Ethernet, as shown in Figure 3-35.
R1 and R3 are running OSPF. R1 and R2 are running RIP, as in the preceding example.
Now, R3 advertises certain routes through OSPF to R1 that R1 must redistribute in RIP.
R1 will not advertise those OSPF routes to R2 because of split horizon. The solution is
again to disable split horizon.
106 Chapter 3: Troubleshooting RIP
166.166.166.0/24 OSPF
.3
Router 3
router rip
redistribute ospf 1 metric 1
OSPF
RIP
.1
131.108.1.0/24
Router 1
RIP
.2
Router 2
Basically, these are the three main reasons for turning off split horizon. Any other situation
might create a routing loop if split horizon is turned off.
155.155.155.1/24
155.155.0.0/16
131.108.2.0/24 .1 131.108.1.0/24 131.108.3.0/24
.2
E0 E0
Router 1 Router 2
Example 3-98 R2’s Routing Table Reflects That the Subnetted Route Is Missing
R2#show ip route 155.155.155.0 255.255.255.0
% Subnet not in table
Figure 3-37 shows the flowchart to fix this problem based on the autosummarization feature
being enabled.
Figure 3-37 Flowchart to Solve Why the Sender Is Not Advertising RIP Routes
No
Go to
next
cause.
108 Chapter 3: Troubleshooting RIP
Example 3-100 shows the routing table in Router R2. Notice that R2 is receiving 155.155.0.0/16,
not 155.155.155.0/24, as configured on R1. Also note that R2 is receiving a /24 route of
131.108.2.0, the route of the same major network as that of interface Ethernet 0, which connects
R1 to R2.
Example 3-100 R2 Routing Display to Show How Subnetted Routes Are Summarized to Classful Boundaries
R2#show ip route RIP
R 155.155.0.0/16 [120/1] via 131.108.1.1, 00:00:22, Ethernet0
131.108.0.0/24 is subnetted, 3 subnets
R 131.108.2.0 [120/1] via 131.108.1.1, 00:00:22, Ethernet0
Solution
In RIP-1, there is no workaround for this problem because RIP-1 is a classful routing
protocol. RIP-1 automatically summarizes any update to a natural class boundary when that
update goes over an interface configured with a different major network.
As indicated by R2’s routing table in Example 3-100, 155.155.155.0/24 is advertised over
an interface configured with 131.108.0.0. This summarizes 155.155.155.0/24 to a Class B
boundary as 155.155.0.0/16.
In RIP-1, this is not a problem because RIP-1 is a classful protocol and the network should
be designed with this understanding. With RIP-2, however, Cisco routers can be configured
to stop the autosummarization process.
For example, R1’s configurations can be changed to run a RIP-2 process rather than a
RIP-1 process.
Example 3-101 shows the configuration that solves this problem for RIP-2.
Problem: RIP-2 Routing Table Is Huge— Cause: Autosummarization Is Off 109
Example 3-102 shows the routing table of Router R2, which indicates that it is now
receiving desired subnetted route 155.155.155.0/24.
Example 3-102 Router R2’s Routing Table Shows That It Is Receiving the Subnetted Route 155.155.155.0/24
R2#show ip route 155.155.0.0
155.155.0.0/24 is subnetted, 1 subnets
R 155.155.155.0 [120/1] via 131.108.1.1, 00:00:21, Ethernet0
131.108.0.0/24 is subnetted, 3 subnets
R 131.108.2.0 [120/1] via 131.108.1.1, 00:00:21, Ethernet0
131.108.1.0/24
131.108.2.0/24
.1 131.108.1.0/24 131.108.3.0/24
.2
Router 1 Router 2
when advertised to a router with no 131.108.X.X addresses on its inter-faces. Disabling the
autosummarization feature increases the size of the routing table. In some situations, this feature
must be turned off (for example, if discontiguous networks exist, as discussed earlier).
Figure 3-39 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-39 Flowchart to Resolve a Large RIP-2 Routing Table
Auto-summarization can
be disabled in RIP-2 if
desired for routing table
entry granularity. This
Is autosummarization Not sure produces more routing
turned off?
table entries. Go to
“Debugs and Verification”
section.
No
Go to
next
cause.
Example 3-104 shows R1’s routing table. This routing table has only four routes, but in a
real network with the configuration in Example 3-103, there could be several hundred
routes. R1 is receiving every subnet of 131.108.0.0/16. In this example, these are only three,
but it can be much, much worse.
Example 3-104 Router R1 Routing Table Shows Subnetted Routes in the Routing Table
R1#show ip route rip
131.108.0.0/24 is subnetted, 3 subnets
R 131.108.3.0 [120/1] via 132.108.1.2, 00:00:24, Serial3
R 131.108.2.0 [120/1] via 132.108.1.2, 00:00:24, Serial3
R 131.108.1.0 [120/1] via 132.108.1.2, 00:00:24, Serial3
R1#
Problem: RIP-2 Routing Table Is Huge— Cause: ip summary-address Is Not Used 111
Solution
Because the autosummarization feature is disabled under the RIP configuration of R2, R1
sees the subnetted routes in the routing table. When this feature is enabled, all the subnetted
routes will go away.
Example 3-105 shows the altered configuration of R2. In this configuration, autosummarization
is on, to reduce the size of the routing table. Because this is the default, you will not see it in the
configuration. The command to enable autosummarization is auto-summary under router rip.
Example 3-105 R2 Uses Autosummarization to Reduce Routing Table Size
R2#
router rip
version 2
network 132.108.0.0
network 131.108.0.0
131.108.1.0/24
131.108.2.0/24
.1 131.108.4.0/24 131.108.3.0/24
.2
Router 1 Router 2
Figure 3-40 shows that R2 is announcing several subnets of 131.108.0.0 network. Notice
that the link between R1 and R2 is also part of the 131.108.0.0 network, so autosummar-
ization cannot play any role to solve the problem of receiving a subnet route that could be
summarized. The autosummarization feature could have worked only if the R1, R2 link was
in a different major network.
Figure 3-41 shows the flowchart to follow to solve this problem based on this cause.
112 Chapter 3: Troubleshooting RIP
Example 3-108 shows the routing table of R1. In this example, there are only three routes.
In a real network, however, the number could be worse based on the configuration in
Example 3-107.
Example 3-108 R1 Routing Table Shows Subnetted Routes
R1#show ip route rip
131.108.0.0/24 is subnetted, 3 subnets
R 131.108.3.0 [120/1] via 131.108.4.2, 00:00:04, Serial3
R 131.108.2.0 [120/1] via 131.108.4.2, 00:00:04, Serial3
R 131.108.1.0 [120/1] via 131.108.4.2, 00:00:04, Serial3
R1#
Solution
In the situation described in the preceding section, autosummary is on but is not helpful
because the whole network is within one major network. Imagine a network with Class B
address space with thousands of subnets. Autosummary cannot play any role here because
Troubleshooting RIP Redistribution Problems 113
Based on the preceding configuration, R2 will summarize the RIP route on the Serial 1 interface.
Any network subnet that falls in the 131.108.0.0 network will be summarized to one 131.108.0.0
major network, and its mask will be 255.255.252.0. This means that R2 will announce only a
single summarize route of 131.108.0.0/22 and will suppress the subnets of 131.108.0.0.
Example 3-110 shows the routing table of Router R1 with a reduced number of entries as
a result of summarization.
Example 3-110 R1’s Routing Table Is Reduced as a Result of Summarization
R1#show ip route rip
R 131.108.0.0/22 [120/1] via 131.108.4.2, 00:00:01, Serial3
R1#
Figure 3-42 shows the network setup that could produce the problem in which redistributed
routes do not get installed in the routing table of the receiver.
Figure 3-42 Network Vulnerable to Redistributed Route Problems
131.108.6.0/24
Router 3
OSPF 131.108.5.0/24
131.108.1.0/24
RIP
Router 1 Router 2
R1 and R3 are running OSPF in Area 0, whereas R1 and R2 are running RIP. R3 is
announcing 131.108.6.0/24 through OSPF to R1. In R1, OSPF routes are being redis-
tributed into RIP, but R2 is not receiving 131.108.6.0/24 through RIP.
Figure 3-43 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-43 Flowchart to Resolve Redistributed Route Problems
Go to
next
problem.
Troubleshooting RIP Redistribution Problems 115
R1 must be configured to redistribute OSPF routes in RIP. Example 3-112 shows that R1 is
redistributing OSPF in RIP.
Example 3-112 Configuring R1 So That OSPF Is Redistributed in RIP
R1#
router rip
version 2
redistribute ospf 1
network 131.108.0.0
There are two basic ways to view this issue. The first is a simple show run on R1. The
second is to run the debug ip rip on R2 command to watch the process.
Example 3-114 shows the output of debug ip rip.
Example 3-114 debug ip rip Output Shows That 131.108.6.0/24 Is Inaccessible
R2#debug ip rip
Solution
In RIP-1 or RIP-2, 16 is considered to be an infinite metric. Any update with a metric
greater than 15 will not be considered for entry into the routing table.
In this example, the OSPF route in R1 for 131.108.6.0/24 has a metric of 20. When OSPF
is redistributed into RIP in R1, OSPF advertised 131.108.6.0/24 with a metric of 20, which
exceeds the maximum metric allowed in RIP. OSPF knows only cost as a metric, whereas
116 Chapter 3: Troubleshooting RIP
RIP utilizes hop count. No metric translation facility exists, so the administrator must
configure a metric to be assigned to redistributed routes.
Without the default metric configuration in R1, R2, upon receiving this update, complains
about the excessive metric and marks it as (inaccessible), as shown in Example 3-114.
To correct this problem, R1 needs to assign a valid metric through configuration when
doing the redistribution, as done for R1 in Example 3-115.
Example 3-115 Assigning a Valid Metric for Successful Redistribution
R1#
router rip
version 2
redistribute ospf 1 metric 1
network 131.108.0.0
In the configuration of Example 3-155, all redistributed routes from OSPF in RIP get a
metric of 1. This metric is treated as hop count by R2.
Example 3-116 shows that R2 is receiving the correct route with a metric of 1.
Example 3-116 debug ip rip Reveals That the New Configuration for R1 Works and That R2 Is Receiving the
Correct Route
R2#debug ip rip
Example 3-117 shows that the route gets installed in the routing table of R2.
Example 3-117 R2 Routing Table Reflects That the Redistribution for Route 131.108.6.0/24 Is Successful
R2#show ip route 131.108.6.0
Routing entry for 131.108.6.0/24
Known via "rip", distance 120, metric 1
The first method is very simple: The command is typed under the dial interface, indicating
that it’s a backup for a primary interface.
The second method requires a floating static route with a higher administrative distance
than RIP (for example, 130 or above). It also requires defining interesting traffic that should
bring up the link. The RIP broadcast address of 255.255.255.255 must be denied in the
dialer list, so it shouldn’t bring up the link unnecessarily.
When running RIP under DDR situations, there are a number of issues to consider. Some
problems are related to the ISDN line or an async line in which RIP updates keep bouncing.
Some problems are related to the configuration. This section talks about the two most
common dialup problems:
• A RIP broadcast is keeping the link up.
• RIP updates are not going across the dialer interface.
.13 .14
ISDN
BRI 3/0 BRI 3/0
Router 1 Router 2
192.168.254.12/30
118 Chapter 3: Troubleshooting RIP
Go to
next
problem.
Example 3-119 shows the output of show dialer, which shows that the reason for the link
coming up is a RIP broadcast.
Example 3-119 show dialer Output Reveals That a RIP Broadcast Is Keeping the ISDN Link Up
R1#show dialer
BRI1/1:1 - dialer type = ISDN
Idle timer (120 secs), Fast idle timer (20 secs)
Wait for carrier (30 secs), Re-enable (2 secs)
Dialer state is data link layer up
Dial reason: ip (s=192.168.254.13, d=255.255.255.255)
Current call connected 00:00:08
Connected to 57654 (R2)
In Example 3-119, Dial reason section 255.255.255.255 is the destination IP address, which
is the address where RIP-1 advertisements will go on BRI1/1:1. Dial reason indicates that
the interesting traffic is RIP, which has caused this ISDN to dial in the first place.
Solution
When running RIP and DDR, define an access list for interesting traffic. In Example 3-118, the
access list is denying only the TCP traffic and permitting all the IP traffic. RIP uses an IP broadcast
address of 255.255.255.255 to send the routing updates. This address must be denied in the access
list so that RIP doesn’t bring up the link every 30 seconds. Denying 255.255.255.255 as a desti-
nation will block all broadcast traffic from bringing up the link. Blocking UDP port 520 will block
RIP-1 and RIP-2 updates specifically. When the link is up, RIP can flow freely across the link.
However, it will not keep the link up because it’s not part of the interesting traffic definition.
Example 3-120 shows the correct configuration change in Router R1. In this configuration,
all traffic destined to 255.255.255.255 address is denied. This covers all broadcast traffic,
so RIP-1 will not bring up the link after this configuration change.
Example 3-120 Correct Configuration for Router R1 in access -list 100 to Deny Traffic from the RIP-1 Broadcast
IP Address
R1#
access-list 100 deny ip any 255.255.255.255
access-list 100 permit ip any any
dialer-list 1 protocol ip list 100
One important thing to know here is that RIP-1 uses the 255.255.255.255 address for
sending RIP updates. RIP-2, on the other hand, uses 224.0.0.9. So, when dealing with
RIP-2, you need to deny traffic from the multicast address of 224.0.0.9 as interesting traffic,
as demonstrated in Example 1-21.
Example 3-121 Configuration for Router R1 in access-list 100 to Deny Traffic from the RIP-2 Broadcast IP Address
R1#
access-list 100 deny ip any 224.0.0.9
access-list 100 permit ip any any
120 Chapter 3: Troubleshooting RIP
Also, in a situation in which both RIP-1 and RIP-2 are running, both of these broadcast
addresses should be denied in the access list, as demonstrated in Example 3-122.
Example 3-122 Configuration for Router R1 in access-list 100 to Deny Traffic from the RIP-1 and RIP-2 Broadcast
IP Addresses
access-list 100 deny ip any 255.255.255.255
access-list 100 deny ip any 224.0.0.9
access-list 100 permit ip any any
Because both RIP-1 and RIP-2 use UDP port 520, it would be most efficient to deny this
port if RIP-1 and RIP-2 are not considered interesting traffic. Example 3-123 demon-
strates this.
Example 3-123 Configuring access-list 100 for R1 to Deny Traffic from the RIP-1 and RIP-2 UDP Port
R1#
access-list 100 deny udp any any eq 520
access-list 100 permit ip any any
Figure 3-46 shows the flowchart to follow to solve this problem based on this cause.
Figure 3-46 Flowchart to Solve the RIP Updates Not Going Across the Dialer Interface Problem
Go to
next
problem.
Example 3-126 shows that RIP is sending the broadcast update toward R2. You can see that it’s
failing because of the encapsulation failed message. Also in Example 3-126, R1 is running
a debug ip packet command with access-list 100 to display only the UDP port 520 output.
RIP-1 and RIP-2 use UDP port 520 to exchange updates with other RIP running routers.
Example 3-126 Discovering Why RIP Routes Are Not Going Across an ISDN Interface
R1#
access-list 100 permit udp any any eq 520
access-list 100 deny ip any any
Solution
The root of the issue is RIP’s use of broadcasts to send its routing updates. In DDR, dialer
map statements are necessary to associate the next-hop protocol address to the phone
number dialed to get to the destination. The broadcast keyword must be used in the dialer
map statements; otherwise, the broadcast will encounter the encapsulation failure message
demonstrated by Example 3-126. To correct this problem, add the broadcast keyword in
the dialer map statement, as demonstrated in Example 3-127 for Router R1.
Example 3-127 Corrected Configuration of R1 to Enable RIP Updates to Go Across the ISDN Interface
interface BRI3/0
ip address 192.168.254.13 255.255.255.252
encapsulation ppp
dialer map ip 192.168.254.14 name R2 broadcast 57654
dialer-group 1
isdn switch-type basic-net3
ppp authentication chap
Hub
Frame Relay
Router 1 Router 2
No
Example 3-128 Routing Table of the Hub Router Showing That the Last RIP Update Was Received 2:08
Minutes Ago
Hub#show ip route rip
R 155.155.0.0/16 [120/1] via 131.108.1.1, 00:02:08, Serial0
R 166.166.0.0/16 [120/1] via 131.108.1.1, 00:02:08, Serial0
124 Chapter 3: Troubleshooting RIP
Example 3-129 shows that there are a large number of broadcast drops on the interface.
Example 3-129 show interfaces serial 0 Output Reveals a Large Number of Broadcast Drops
Hub#show interfaces serial 0
Serial0 is up, line protocol is up
Hardware is MK5025
Description: Charlotte Frame Relay Port DLCI 100
MTU 1500 bytes, BW 1024 Kbit, DLY 20000 usec, rely 255/255, load 44/255
Encapsulation FRAME-RELAY, loopback not set, keepalive set (10 sec)
LMI enq sent 7940, LMI stat recvd 7937, LMI upd recvd 0, DTE LMI up
LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
LMI DLCI 1023 LMI type is CISCO frame relay DTE
Broadcast queue 64/64, broadcasts sent/dropped 1769202/1849660, interface
broadcasts 3579215
Solution
The show interfaces serial 0 command further proves that there is some problem at the
interface level. Too many drops are occurring at the interface level. This is the cause of the
route flapping. In the case of Frame Relay, the Frame Relay broadcast queue must be tuned.
Tuning the Frame Relay broadcast queue is out of the scope of this book; several papers at
Cisco’s Web site discuss how to tune the Frame Relay broadcast queue.
In a non-Frame Relay situation, the input or output hold queue might need to be increased.
Example 3-130 shows that after fixing the interface drop problem, route flapping
disappears.
Example 3-130 Serial Interface Output After Adjusting the Broadcast Queue
Hub#show interfaces serial 0
Serial0 is up, line protocol is up
Hardware is MK5025
Description: Charlotte Frame Relay Port DLCI 100
MTU 1500 bytes, BW 1024 Kbit, DLY 20000 usec, rely 255/255, load 44/255
Encapsulation FRAME-RELAY, loopback not set, keepalive set (10 sec)
LMI enq sent 7940, LMI stat recvd 7937, LMI upd recvd 0, DTE LMI up
LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
LMI DLCI 1023 LMI type is CISCO frame relay DTE
Broadcast queue 0/256, broadcasts sent/dropped 1769202/0, interface broadcasts
3579215
In Example 3-131, the show ip routes output displays that the routes are stable in the
routing table and that the timers are at a value lower than 30 seconds.
Example 3-131 show ip routes Output Reveals Stable RIP Routes
Hub#show ip route rip
R 155.155.0.0/16 [120/1] via 131.108.1.1, 00:00:07, Serial0
R 166.166.0.0/16 [120/1] via 131.108.1.1, 00:00:07, Serial0
This page intentionally left blank
This chapter covers the following key topics about Interior Gateway Routing Protocol (IGRP):
• Metrics
• Timers
• Split horizon
• Split horizon with poison reverse
• IGRP packet format
• IGRP behavior
• Default route and IGRP
• Unequal-cost load balancing in IGRP
CHAPTER
4
Understanding Interior Gateway
Routing Protocol (IGRP)
In the mid-1980s, Cisco developed its own proprietary routing protocol, Interior Gateway
Routing Protocol (IGRP), as a solution to some of the shortcomings of RIP, such as the hop-
count limitation of 15.
Like RIP, IGRP is a distance vector protocol. However, IGRP calculates its composite metric
from a variety of variables, such as bandwidth and delay, and hop count is not considered in
the routing decision. IGRP uses variables such as interface bandwidth and delay, which reflect
a better picture of the network topology. This results in a more efficient method of routing
packets. Other advantages of IGRP over RIP include unequal-cost load sharing; a longer up-
date period than RIP, for better bandwidth usage; and a more efficient packet-update format.
Metrics
IGRP uses an equation to calculate its metrics. Metrics then are used by the router to favor a
particular route. In IGRP, the lower the value of the metric is, the more favorable the route is.
The IGRP metric equation takes into consideration the variables of bandwidth, delay, load, and
reliability of the link to calculate its metric. Equation 4-1 shows the IGRP metric equation.
Equation 4-132 IGRP Metric Equation
( K2 * BW ) K5
IGRP Metric = K1 * BW + -------------------------------- + K3 * Delay * ----------------------------
( 256 – Load ) ( Reli + K4 )
From the equation, the load variable is a value from 1 to 255, in which 255 indicates
100 percent saturation of the link and 1 indicates virtually no traffic. The reli variable
is also a value from 1 to 255, in which 1 indicates an unreliable link and 255 indicates
a 100 percent reliable link.
128 Chapter 4: Understanding Interior Gateway Routing Protocol (IGRP)
Referring to Equation 4-1, the term K5 /(Reli + K4) is used only if K5 is not equal to 0.
If K5 is equal to 0 (as the default), the term K5 /(Reli + K4) is ignored in the equation.
Variables K1 through K5 are constant numbers used in the equation. The default value of the
K values are: K1 = K3 = 1, K2 = K4 = K5 = 0. The IGRP metric equation then reduces to this:
Therefore, by default, IGRP considers only the bandwidth and the delay of the link to
calculate its metrics. The network administrator can change the default K value to other
numbers so that other components of the metric equation, such as load and reliability, can
be used. For example, if the network administrator wants to consider interface reliability as
one factor in routing the packet, the value of K5 would have to be a nonzero number;
however, such a change is highly not recommended.
The bandwidth variable is the minimum bandwidth along the path from the local router to
the destination, in kilobits per second, scaled by 107. The bandwidth associated with an
interface is a static value assigned by the router or a network administrator; it is not a
dynamic value that changes with throughput. The minimum bandwidth is obtained by
comparing the interfaces along the paths to the destination network. For example, a network
that needs to traverse a T1 link and an Ethernet link will have a minimum bandwidth of
1544 kbps. Notice that the bandwidth on a regular serial interface is assumed to be T1 with
a speed of 1544 kbps.
The delay variable is the sum of all delays along the interfaces crossed in the path to the des-
tination, in microseconds, divided by 10. Therefore, the delay variable used in IGRP metric
equation has the unit of tens of microseconds. Like the bandwidth variable, the delay asso-
ciated with each interface is a static value assigned by the router or a network administrator;
it is not a dynamic value that changes with different traffic pattern. Table 4-1 lists router
default bandwidth and delay values for some common interfaces.
Table 4-1 Router Default Bandwidth and Delay Values for Common Interfaces
Media Bandwidth Delay
IGRP metric calculation is illustrated in the following example. Consider the network in
Figure 4-1.
Network X
T1 link
Router 1 Router 2
Now calculate the IGRP metric to Network X from Router 3’s perspective. The lowest
bandwidth to Network X is the T1 link with a total delay of 21,100 microseconds
(100 micro-seconds + 20,000 microseconds + 1000 microseconds). Assume that all the
K constant values are default values. Therefore, only the bandwidth and delay values
are considered in calculating the IGRP metric. BW = 107/1544 = 6476 and Delay =
21,100/10 = 2110. This yields IGRP metric = BW + Delay = 6476 + 2110 = 8586.
Therefore, from Router 3’s perspective, the IGRP metric to Network X is 8586.
Timers
Because IGRP is a distance vector protocol in which routing updates are sent periodically,
the different timers are especially important because they control how fast the routes are
learned and deleted. Ultimately, these timers determine the network convergence time,
which is the time that it takes for all the routers in the network to realize that a certain
network has been added or deleted. The IGRP timers are the same as RIP; they are
discussed in this list:
• Update—IGRP sends updates over the broadcast address of 255.255.255.255, with
IP protocol number 9. The update timer is the periodic timer in which routing updates
are sent; it is the time between each routing update interval. This value is set to 90
seconds, by default, and is configurable. In other words, the router sends its entire
routing updates every 90 seconds, by default.
• Invalid—When the router stops receiving routing updates within the invalid timer, the
routes become invalid. This is set to 270 seconds, by default.
130 Chapter 4: Understanding Interior Gateway Routing Protocol (IGRP)
Split Horizon
Split horizon is a technique used to avoid routing loops. With split horizon, the router does
not advertise a route over the interface in which the route is learned from. For example, in
Figure 4-1, Router 1 receives an update about Network X from Router 2 over the serial
interface. If split horizon is enabled, Router 2 will not advertise the Network X route back
to Router 1 over the same serial interface. If split horizon is disabled, Router 2 will advertise
Network X back to Router 1. When Network X becomes unavailable in Router 2, Router 2
believes that Router 1 still has a valid route to Network X and sends the packet destined to
Network X toward Router 1, which will be dropped.
Network X
Router 1 Router 2
update, it considers the route as invalid. For example, in Figure 4-2, Router 1 receives
an update for Network X from Router 2. With poison reverse, this specific route is ad-
vertised back to Router 2, but with an IGRP metric of 4,294,967,295, which indicates
infinity. Because Router 2 receives the poison update from Router 1, Router 2 does not
consider Router 1 as a valid path to reach Network X, thus preventing the possibility of
a routing loop.
0 8 16 24 31
Version OPCode Edition Autonomous system number
Destination Delay
Delay Bandwidth
Destination Delay
Bandwidth MTU
IGRP Behavior
Distance vector protocols are protocols that solely depend on neighbor routing
advertisements to determine the best path to a destination. The advantage of the
distance vector protocols is their simplicity to implement. However, because of the
long convergence time, IGRP is not suitable for large networks. IGRP and RIP are
132 Chapter 4: Understanding Interior Gateway Routing Protocol (IGRP)
both classical distance vector protocols. Although IGRP and RIP differ in metric
calculation update timers, they exhibit the same behavior when it comes to sending
and receiving updates.
IGRP sends its entire routing update over the broadcast address of 255.255.255.255, with the
IP Protocol field set to 9. IGRP handles discontiguous network and variable-length subnet
masking (VLSM) in exactly the same way that RIP does. IGRP does not support discon-
tiguous networks; in these networks, IGRP autosummarizes over a major network boundary.
Therefore, the subnet information is not advertised to the remote site, causing routing
problems. Because IGRP does not send subnet mask information as part of the routing update,
IGRP does not support VLSM.
192.168.1.x
10.x.x.x
Remote site network
DS3 link
Router 1 Router 2
In Figure 4-4, Router 1 is connected to the remote site through a DS-3 link. Router 1 now
wants to send a default route to Router 2 and to all the routers in the remote site network.
In IGRP, the route to 0.0.0.0 is not recognized as a default route; instead, Router 1 must
configure ip default-network 192.168.1.0 to flag the route 192.168.1.0 as the default route.
Router 1 will send a routing update of 192.168.1.0 and will flag it as a default route. When
Unequal-Cost Load Balancing in IGRP 133
the routers in the remote site network receive the update for 192.168.1.0, they will mark
it as default route and will install the route to 192.168.1.0 as the gateway of last resort.
Router 3
S0 1544 kbps
S0
S1
Router 1 256 kbps S1 Router 2
133.33.0.0
When Router 1 calculates its IGRP metrics to Router 3, the metric going through the
1544 kbps link is as follows:
Without unequal-cost load balancing, IGRP will simply select the 1544 kbps link to
forward packets to Router 3, as shown in the output in Example 4-1.
Example 4-1 Output of Routing Table in Router 1 Without Unequal-Cost Load Balancing
Router_1#show ip route 133.33.0.0
Routing entry for 133.33.0.0/16
Known via "igrp 1", distance 100, metric 8576
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 192.168.6.2 on Serial0, 00:00:20 ago
Routing Descriptor Blocks:
* 192.168.6.2, from 192.168.6.2, 00:00:20 ago, via Serial0
Route metric is 8576, traffic share count is 1
Total delay is 21000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
To use the unequal-cost load balancing feature of IGRP, you use the variance command.
Variance is a multiplier in which a metric might be different from the lowest metric to a
route. The variance value must be of integer value; the default variance value is 1, meaning
that the metrics of multiple routes must be equal to load-balance.
In Example 4-1, the metric through the 256 kbps link is 4.8 times larger than the metric
through the 1544 kbps link. Therefore, for the 256 kbps link to be considered in the routing
table, a variance of 5 must be configured in Router 1. The configuration in Router 1 is
simply variance 5 under the igrp command. The output from the show ip route command
in Example 4-2 displays that Router 1 is installing both links in its routing table.
Example 4-2 Output of show ip route in Router 1 After Implementing Unequal-Cost Load Balancing by Adding
the variance Command
Router_1#show ip route 133.33.0.0
Routing entry for 133.33.0.0/16
Known via "igrp 1", distance 100, metric 8576
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 10.1.1.2 on Serial1, 00:01:02 ago
Routing Descriptor Blocks:
* 192.168.6.2, from 192.168.6.2, 00:01:02 ago, via Serial0
Route metric is 8576, traffic share count is 5
Total delay is 21000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
10.1.1.2, from 10.1.1.2, 00:01:02 ago, via Serial1
Route metric is 41162, traffic share count is 1
Total delay is 21000 microseconds, minimum bandwidth is 256Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Notice in Example 4-2 that the route through Serial 0 has a traffic share count of 5, com-
pared to a traffic share count of 1 through Serial 1. This indicates that the router will send
five packets over Serial 0 for every packet sent over Serial 1.
Review Questions 135
Summary
IGRP is a distance vector routing protocol, like RIP. It was developed as a solution to some
of the disadvantages of RIP, such as its hop-count limitation and frequent update timer.
Unlike RIP, IGRP uses bandwidth and delay as the primary variables in calculating its
metrics. Because IGRP and RIP are considered classical distance vector routing protocols,
some of their behavior is exactly the same. As a result, neither IGRP nor RIP can support
discontiguous networks and VLSM. However, one of the biggest advantages of IGRP over
RIP is the capability to do unequal-cost load balancing.
Review Questions
1 What is the default update timer period for IGRP?
2 What variables does IGRP use to calculate its metrics by default?
3 What are the K values in the IGRP metric equation?
Troubleshooting IGRP
This chapter discusses common problems in IGRP networks and how to solve those
problems. IGRP is a Cisco proprietary protocol. IGRP fixes some of the problems with RIP,
but still it has similar characteristics as RIP. IGRP also does not support discontiguous
networks or VLSM; however, it does have good features, such as variance, and its metric is
based on bandwidth and delay instead of hop count.
Most of the issues in IGRP are very similar to RIP, so those issues are repeated here again
in this chapter from an IGRP perspective. As mentioned in Chapter 3, “Troubleshooting
RIP,” you must be careful with the debugs when dealing with large networks (for example,
more than 100 subnets in a network) because debugging sometimes can have an adversarial
effect on a router. The flowcharts that follow document how to address common problems
with IGRP with the methodology used in this chapter.
138 Chapter 5: Troubleshooting IGRP
Not sure
Is IGRP enabled on the interface? Go to page 143.
Yes
Not sure
Is the interface of the receiving router up/up? Go to page 147.
Yes
Not sure
Is the distribute-list in blocking the routes? Go to page 149.
No
Not sure
Is the access list blocking the IGRP source Go to page 151.
address?
No
Is the access list blocking the IGRP Not sure
broadcast? Go to page 153.
No
Not sure
Is this a discontiguous subnet? Go to page 155.
No
No
Not sure
Is IGRP enabled on the interface? Go to page 169.
Yes
Not sure
Is the outgoing interface up/up? Go to page 171.
Yes
Not sure
Is the distribute-list out blocking the routes? Go to page 173.
No
Not sure
Is the advertised network interface up/up? Go to page 175.
Yes
Not sure
Is the outgoing interface defined as passive? Go to page 176.
No
Not sure
Is the broadcast capability broken? Go to page 178.
No
No
Not sure
Is split horizon enabled on the interface? Go to page 184.
No
Yes
Yes
Go to next problem
flowchart.
No
Go to next problem
flowchart.
Yes
Example 5-1 shows that the routing table entry of R2 does not produce any IGRP routes for
a particular destination of 131.108.2.0.
Example 5-1 R2 Routing Table Shows No IGRP Route for 131.108.2.0
R2#show ip route 131.108.2.0
% Subnet not in table
R2#
Figure 5-1 Example Topology for the “IGRP Routes Not in the Routing Table” Problem
Go to
next
cause.
Example 5-4 shows the debug ip packet 100 detail output. In this debug, R2 is receiving
the IGRP packets but is ignoring them because IGRP is not enabled on E0 interface. Note
that protocol 9 is reserved for IGRP. This is because no network statement for 131.108.0.0
exists under router igrp 1.
Example 5-4 debug ip packet 100 detail Command Output on R2
R2# debug ip packet 100 detail
IP: s=131.108.1.1 (Ethernet0), d=255.255.255.255, len 32, rcvd 2, proto=9
R2#show debug
Generic IP:
IP packet debugging is on (detailed) for access list 100
IP routing:
IGRP protocol debugging is on
IGRP event debugging is on
Solution
When configured, the network statement does two things:
• Enables IGRP on the interface to send and receive IGRP updates
• Advertises that network in IGRP update packets
Because the network statement is missing on Router 2, the router ignores IGRP updates
arriving on the Ethernet0 interface, as seen in the debug output. This problem also can
happen if you incorrectly configure the network statement. For example, instead of con-
figuring 209.1.1.0, you configure 209.1.0.0 assuming that 0 will cover anything in the third
octet. IGRP is a classful protocol and assumes that the network statements are classful as
well. If a classless statement is configured instead, IGRP will not function properly.
To correct this problem, you must add a properly configured network statement in the
configuration.
146 Chapter 5: Troubleshooting IGRP
Example 5-5 shows the new configuration for Router R2 that solves this problem.
Example 5-5 Adding a network Statement to R2 to Populate the Routing Table with IGRP Routes
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
!
router igrp 1
no network 131.107.0.0
network 131.108.0.0
Example 5-6 shows the output of show ip protocols on R2, which displays the gateway
information after inserting the proper network statement.
Example 5-6 show ip protocols Command Output on R2 After Corrected network Statement
R2#show ip protocols
Routing Protocol is "IGRP 1"
Sending updates every 30 seconds, next due in 82 seconds
Invalid after 270 seconds, hold down 280, flushed after 630
Outgoing update filter list for all interfaces is
Incoming update filter list for all interfaces is
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
IGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
IGRP maximum hopcount 100
IGRP maximum metric variance 1
Redistributing: igrp 1
Routing for Networks:
131.108.0.0
Routing Information Sources:
Gateway Distance Last Update
131.108.1.1 100 00:00:09
Distance: (default is 100)
Example 5-7 shows the output of show ip route, which shows that Router R2 is learning
the IGRP route after the configuration change.
Example 5-7 show ip route Command Output Confirms That R2 Is Learning the IGRP Route
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Problem: IGRP Routes Not in the Routing Table 147
Yes
Go to
next
cause.
Example 5-9 shows the output of debug ip igrp events and debug ip igrp transaction. The
output shows that R2 is not sending or receiving any IGRP updates because Layer 2 is down.
Example 5-9 debug ip igrp events and debug ip igrp transaction Command Output Reveals That R2 Is Not
Sending or Receiving IGRP Updates
R2#debug ip igrp events
IGRP event debugging is on
R2#debug ip igrp transaction
IGRP protocol debugging is on
R2#show debug
IP routing:
IGRP protocol debugging is on
IGRP event debugging is on
Solution
IGRP runs above Layer 2. IGRP cannot send or receive any routes if Layer 2 is down.
To correct this problem, you must fix the Layer 2 problem. The problem could be as simple
as loose cables, or it could be as complex as bad hardware, in which case the hardware must
be replaced.
Example 5-10 shows the output of show interfaces ethernet 0 after fixing the Layer 2 problem.
Example 5-10 show interfaces ethernet 0 Command Output After Restoring Layer 2 Connectivity
R2#show interfaces ethernet 0
Ethernet0 is up, line protocol is up
Hardware is Lance, address is 0000.0c70.d41e (bia 0000.0c70.d41e)
Internet address is 131.108.1.2/24
Example 5-11 shows the output of show ip protocols, which also shows that the problem is fixed.
Example 5-11 show ip protocols Command Output Verifies That the Gateway Is Restored After Fixing Layer 2
Connectivity
R2#show ip protocols
Routing Protocol is "IGRP 1"
Sending updates every 30 seconds, next due in 82 seconds
Invalid after 270 seconds, hold down 280, flushed after 630
Outgoing update filter list for all interfaces is
Incoming update filter list for all interfaces is
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
IGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
IGRP maximum hopcount 100
IGRP maximum metric variance 1
Redistributing: igrp 1
Routing for Networks:
131.108.0.0
Routing Information Sources:
Gateway Distance Last Update
131.108.1.1 100 00:00:09
Distance: (default is 100)
Problem: IGRP Routes Not in the Routing Table 149
Example 5-12 shows the output of show ip route, which shows that the IGRP route is being
learned.
Example 5-12 show ip route Command Output Verifies That the IGRP Route Is Being Learned
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
No
Go to
next
cause.
150 Chapter 5: Troubleshooting IGRP
Solution
When using a distribute list, you should always double-check your access list to make sure
that the networks that are supposed to be permitted actually are permitted in the access list
definition. In Example 5-13, the access list is permitting only routes from 131.107.0.0. All
other routes are denied by the implicit deny at the end of each access list. To fix this prob-
lem, explicitly permit 131.108.0.0 in access-list 1.
Example 5-14 shows the new configuration of Router R2 with the correct access list.
Example 5-14 Reconfiguring access-list 1 to Permit Routes from Network 131.108.0.0
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
!
router igrp 1
network 131.108.0.0
distribute-list 1 in
!
no access-list 1 permit 131.107.0.0 0.0.255.255
access-list 1 permit 131.108.0.0 0.0.255.255
Example 5-15 shows that Router R2 is learning IGRP routes after the configuration change.
Example 5-15 show ip route Command Output Reveals That the Change to access-list 1 Was Successful
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Problem: IGRP Routes Not in the Routing Table 151
Example 5-15 show ip route Command Output Reveals That the Change to access-list 1 Was Successful
Routing Descriptor Blocks:
131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Go to
next
cause.
in the access list is 131.107.0.0, the source address of RIP, 131.108.0.0, will be implicitly
denied.
Example 5-16 Current Configuration of Router R2
R2#
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
ip access-group 1 in
!
router igrp 1
network 131.108.0.0
!
access-list 1 permit 131.107.0.0 0.0.255.255
Example 5-17 shows the output of debug ip igrp events and debug ip igrp transaction.
In this debug, IGRP is only sending the updates and is not receiving anything because the
source address, 131.108.1.1, is not permitted in the input access list of R2. This is also
shown in the debug ip packet 100 detail output, where access-list 100 specifically looks
at the source address of 131.108.1.1
Example 5-17 debug Command Output Showing That IGRP Updates Are Sent and Not Received
R2#debug ip packet 100 detail
IP: s=131.108.1.1 (Ethernet0), d=255.255.255.255, len 46, access denied, proto=9
R2#
R2#show debug
Generic IP:
IP packet debugging is on (detailed) for access list
100
IP routing:
IGRP protocol debugging is on
IGRP event debugging is on
Solution
The standard access list specifies the source address. In this case, the source address is
131.108.1.1. This source address is not permitted in the standard access list, so IGRP routes
will not get installed in the routing table of R2. To solve this problem, permit the source
address in access-list 1.
Problem: IGRP Routes Not in the Routing Table 153
After changing the access list, standard or extended, and permitting the source address of
the neighbor that is sending the IGRP routing updates, R2 will start accepting and installing
the IGRP updates.
Example 5-20 shows the routing table entry of Router R2, which shows that it is learning
IGRP routes after the configuration change of the access list.
Example 5-20 R2’s Routing Table Verifies That R2 Receives IGRP Routes After Fixing the Access Lists
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
If this broadcast address is not permitted in the access list that is applied on the interface
inbound, IGRP will not install any routes in the routing table learned on that interface.
Figure 5-6 shows the flowchart to follow to solve this problem.
Go to
next
cause.
Solution
IGRP broadcasts its routing updates on 255.255.255.255. This address must be permitted
in the input access list of the receiving router.
Example 5-22 shows the new configuration for Router R2.
Example 5-22 Reconfiguring Router R2 to Permit the IGRP Broadcast Address
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
ip access-group 1 in
!
router igrp 1
network 131.108.0.0
!
access-list 100 permit ip 131.107.0.0 0.0.255.255 any
access-list 100 permit ip host 131.108.1.1 host 131.108.1.2
access-list 100 permit ip host 131.108.1.1 host 255.255.255.255
Example 5-23 shows the routing table entry of R2 after correcting the problem.
Example 5-23 R2’s Routing Table Shows That the IGRP Broadcast Address Is Now Permitted
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
If IGRP receives a
summarized route for a
discontiguous network, it
Is the a discontiguous subnet? Not sure will not install it in the
routing table. Go to
Debugs and Verification
section.
No
Go to
next
cause.
R1#
interface Loopback0
ip address 137.99.2.1 255.255.255.0
!
Problem: IGRP Routes Not in the Routing Table 157
Example 5-24 R1 and R2 Configurations Indicate That IGRP Is Enabled on the Ethernet Interfaces (Continued)
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
router igrp 1
network 131.108.0.0
network 137.99.0.0
!
Example 5-25 shows the debug ip igrp transaction output for Routers R1 and R2. Both
debugs show that the network 137.99.0.0 is being sent across.
Example 5-25 debug ip igrp transaction Command Output for R1 and R2 Indicates That Updates for Network
137.99.0.0 Are Being Sent
R2#debug ip igrp transaction
IGRP protocol debugging is on
R2#
IGRP: sending update to 255.255.255.255 via Loopback0 (137.99.3.2)
network 131.108.0.0, metric=8476
IGRP: sending update to 255.255.255.255 via Ethernet0 (131.108.1.2)
network 137.99.0.0, metric=501
IGRP: received update from 131.108.1.1 on Ethernet0
network 137.99.0.0, metric 8976 (neighbor 501)
R2#
Solution
IGRP is not installing the route 137.99.0.0 in the routing table because IGRP does not support
discontiguous networks. As discussed in Chapter 4, there are several solutions to this problem.
The quick solution is to configure a static route to the more specific subnets of 137.99.0.0 on
each router. This provides each router the routes about the specific subnets of a discontiguous
majornet. Other solutions are as follows:
• Change the address on the link between R1 and R2 to be a part of 137.99.0.0. In other
words, assign another subnet on this link, which is a part of 137.99.0.0.
• If the address cannot be changed, run a GRE tunnel between R1 and R2, and put a separate
subnet address with the same mask on the tunnel interface, as demonstrated:
158 Chapter 5: Troubleshooting IGRP
R1#
interface tunnel 0
ip address 137.99.1.1 255.255.255.0
tunnel source Ethernet 0
tunnel destination 131.108.1.2
R2#
interface tunnel 0
ip address 137.99.1.2 255.255.255.0
tunnel source Ethernet 0
tunnel destination 131.108.1.1
• Replace IGRP with any other IP routing protocol that supports discontiguous
networks—for example OSPF, ISIS, EIGRP, RIP-2, and so on.
Discontiguous subnets are discouraged and should be avoided even if a protocol supports
it. They destroy the summarization capabilities.
Example 5-26 shows the configuration change that is required for both Routers R1 and R2 to fix
the problem. In the configurations, a static route has been added for the discontiguous subnets.
Example 5-26 Adding a Static Route as a Solution for Discontiguous Subnets
R1#
interface Loopback0
ip address 137.99.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
router igrp 1
network 131.108.0.0
network 137.99.0.0
!
ip route 137.99.3.0 255.255.255.0 131.108.1.2
R2#
interface Loopback0
ip address 137.99.3.2 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.2 255.255.255.0
!
router igrp 1
network 131.108.0.0
network 137.99.0.0
!
ip route 137.99.2.0 255.255.255.0 131.108.1.1
Example 5-27 shows the routing table entry of R2 after fixing this problem.
Example 5-27 Verifying That the IGRP Routing Update Problem Caused by Discontiguous Networks Has Been
Resolved
R2#show ip route 137.99.2.0
Routing entry for 137.99.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Problem: IGRP Routes Not in the Routing Table 159
Example 5-27 Verifying That the IGRP Routing Update Problem Caused by Discontiguous Networks Has Been
Resolved (Continued)
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
131.108.2.0/24 131.108.3.0/24
unnumbered loop 0
131.108.1.2/24
S0
Router 1 Router 2
As Figure 5-9 illustrates, Router 1’s Serial0 interface is unnumbered to Loopback0. Router 2’s
serial interface is numbered. When Router 2 receives an IGRP update from Router 1, it
complains about the source validity.
Figure 5-10 shows the flowchart to follow to solve this problem.
Go to
next
cause.
160 Chapter 5: Troubleshooting IGRP
R1#
interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Serial0
ip unnumbered Loopback0
!
router igrp 1
network 131.108.0.0
!
Example 5-29 shows the debug ip igrp transaction output, which reveals that R2 is
ignoring IGRP updates from R1 because of the source validity check failure.
Example 5-29 debug ip igrp transaction Command Output Reveals That R2 Is Ignoring IGRP Update from R1
R2#debug ip igrp transaction
IGRP protocol debugging is on
IGRP: received update from invalid source 131.108.2.1 on Serial0
R2#
Solution
When IGRP tells the routing table to install the route, it performs a source validity check.
If the source is not on the same subnet on which it received the update, it ignores the update.
In cases when one side is numbered and the other side is unnumbered, this check must be
turned off. This is usually the case in dial backup situations in which remote routers dial
into an access router. The access router’s dialup interface is unnumbered, and all remote
routers get an IP address assigned on their dialup interfaces.
Example 5-30 shows the new configuration change on Router R2 to fix this problem.
Example 5-30 Disabling the Source Validity Check on R2
R2#interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
Problem: IGRP Routes Not in the Routing Table 161
Example 5-31 shows that after changing the configurations of R2, the route gets installed
in the routing table.
Example 5-31 show ip route Command Output Verifies That R2 Is Now Receiving the IGRP Update from R1’s
Unnumbered Interface
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Serial0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Serial0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
131.108.1.0/24
131.108.2.0/24 .1 131.108.3.0/24
.2
Router 1 Router 2
In Figure 5-11, Router 1 and Router 2 are connected by Frame Relay. (Although, this could
be any Layer 2 medium—X.25, Ethernet, FDDI, and so forth.)
162 Chapter 5: Troubleshooting IGRP
Go to
next
cause.
Solution
IGRP sends updates on a broadcast address of 255.255.255.255. If this address gets blocked
at Layer 2, IGRP will not function properly. The root of the Layer 2 problem could result
Problem: IGRP Routes Not in the Routing Table 163
from a simple Ethernet switch, Frame Relay cloud, bridging cloud, and so on. Fixing the
Layer 2 problem is beyond the scope of this book. We will leave this up to you, but here are
some tips:
• In cases of Frame Relay
— Check for the broadcast keyword missing in the frame-relay map
statement.
— Call your telco and make sure that it is propagating broadcast traffic
across.
• In cases of a bridging cloud
— Make sure that any bridge in the middle is not dropping the broadcast
packets.
— If the middle medium is Token Ring to Ethernet, make sure that the
translational bridging is working properly.
Example 5-33 shows that after fixing the Layer 2 problem, IGRP routes get installed in the
routing table.
Example 5-33 Verifying IGRP Routes Show Up in the Routing Table After Resolving the Layer 2 Problem
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Go to
next
cause.
R1#
interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Serial0
ip address 131.108.1.1 255.255.255.0
!
router igrp 1
network 131.108.0.0
!
Example 5-35 shows the output of debug ip igrp transaction and debug ip packet 100
detail on R1 and R2. Both routers are sending the IGRP update, but the update never
reaches the other side. Both routers show that the IGRP packets are being received, but
Problem: IGRP Routes Not in the Routing Table 165
IGRP is ignoring these updates because of the AS number mismatch. Unfortunately, the
debug does not show the mismatch message; however, it does show that IGRP is not
displaying the update received message in the debugs.
Example 5-35 debug ip igrp transaction Command Output on R1 and R2 Reveals the Status of IGRP Updates
R1#show debug
Generic IP:
IP packet debugging is on (detailed)
IP routing:
IGRP protocol debugging is on
IGRP event debugging is on
R1#
R1#show access-list 100
access-list 100 permit ip any host 255.255.255.255
Solution
In this example, the sender is sending AS 1 in the update. When R2 receives it, it ignores
this update because R2 is running IGRP under AS 2.
To fix this problem, change the IGRP configurations so that R1 and R2 both agree on one
AS number.
Example 5-36 shows the new configuration on R2 that fixes this problem.
Example 5-36 Configuring R2 to Have the Same AS Number as R1
R2#
interface Loopback0
ip address 131.108.3.2 255.255.255.0
!
interface Serial0
ip address 131.108.1.2 255.255.255.0
!
no router igrp 2
!
router igrp 1
network 131.108.0.0
!
166 Chapter 5: Troubleshooting IGRP
Example 5-37 shows that after fixing the AS problem, IGRP routes get installed in the
routing table.
Example 5-37 show ip route Command Output Reveals That the AS Problem Preventing IGRP Route Installation
Is Resolved
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Serial0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Serial0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Figure 5-14 Network Setup Vulnerable to Equal-Cost-Path Routes Not Being Installed by IGRP
Router 1
E1 E2
131.108.1.0/24 131.108.5.0/24
131.108.2.0/24
Router 2 Router 3
Problem: IGRP Is Not Installing All Possible Equal-Cost Paths 167
Example 5-38 shows the routing table entry of Router R1. Only one route is being installed
in the routing table.
Example 5-38 Routing Table for R1 in Figure 5-14
R1#show ip route igrp
131.108.0.0/24 is subnetted, 1 subnets
I 131.108.2.0 [100/8976] via 131.108.5.3, 00:00:09, Ethernet2
Go to
next
cause.
Only one route is installed in the routing table. You see only one route in the routing table
instead of two because the operator has configured maximum-paths 1 in the configuration.
168 Chapter 5: Troubleshooting IGRP
Example 5-40 shows the current configuration for Router R1. The maximum-path setting
is set to 1, which prevents IGRP from installing more than one path in the routing table. By
default, maximum-path is set to 4.
Example 5-40 Current R1 Configuration
router igrp 1
network 131.108.0.0
maximum-paths 1
Solution
By default, Cisco IOS Software allows up to four equal-cost routes to be installed into the
routing table. This can be increased up to six routes if configured properly. If there is a
desire to do a load balancing over six links, use this command.
Example 5-41 shows the configuration that installs six equal-cost route paths in the routing table.
Example 5-41 Configuring R1 to Accept Up to Six Equal-Cost Route Paths in the Routing Table
R1#router igrp 1
maximum-paths 6
This example makes more sense when you have more than four paths and only four are
getting installed in the routing table. Because four equal-cost routes is a default, you must
configure maximum-paths to accommodate the fifth and (possibly sixth) route.
Figure 5-16 Network Setup to Illustrate IGRP Routes Not Being Advertised
In Figure 5-16, Router 1 (the sender) is not advertising routes to Router 2. If a network
statement is missing from Router 1’s configurations, it will not advertise any IGRP routes.
interface upon which IGRP should be enabled. If the network statement is misconfigured
or is not configured, IGRP will not be enabled on that interface and IGRP routes will not
be advertised out on that interface.
Figure 5-17 shows the flowchart to follow to fix this problem.
Yes
Go to
next
cause.
Solution
The network statement is incorrectly configured under router igrp 1. Instead of
131.108.0.0, 131.107.0.0 is configured. This will not enable IGRP on the interface, and
no updates will be sent.
Sometimes, a classless network statement is configured under router IGRP, assuming that
it will cover all the networks—for example:
router igrp 1
network 131.0.0.0
Problem: Sender Is Not Advertising IGRP Routes 171
This network statement is meaningless for IGRP because IGRP is a classful protocol. The
correct way to advertise all four networks in IGRP is this:
router igrp 1
network 200.1.1.0
network 200.1.2.0
network 200.1.3.0
network 200.1.4.0
Example 5-44 shows the routing table entry of Router R2, with the learned IGRP route.
Example 5-44 R1 Routing Table Shows That Routes Were Properly Advertised by R2 After Correcting the
Configuration
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Serial0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Serial0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Go to
next
cause.
Solution
IGRP runs above Layer 2. IGRP cannot send or receive any routes if Layer 2 is down.
To correct this problem, you must fix the Layer 2 problem. The problem might be as simple
as loose cables or a bad cable; in which case, the cable must be replaced. Alter-natively, the
problem could be as complex as bad hardware; in which case, the hardware must be replaced.
Some of the tips on resolving the Layer 2 issue already were addressed in the “Trouble-
shooting IGRP Route Installation” section, where the cause is Layer 1/2 being down.
Problem: Sender Is Not Advertising IGRP Routes 173
Example 5-46 shows the interface Ethernet 0 after fixing the Layer 2 problem.
Example 5-46 Verifying That the Layer 2 Problem Has Been Resolved
R1#show interface ethernet 0
Ethernet0 is up, line protocol is up
Hardware is Lance, address is 0000.0c70.d31e (bia 0000.0c70.d31e)
Internet address is 131.108.1.1/24
Example 5-47 shows the routing table entry of R2 after fixing the problem.
Example 5-47 Verifying That R2 Is Receiving the Routes After Fixing the Layer 2 Problem
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Serial0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Serial0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Go to
next
cause.
174 Chapter 5: Troubleshooting IGRP
Solution
When using a distribute list, you should always double-check your access list to make sure
that the networks that are supposed to be permitted actually are explicitly permitted in the
access list. The access list configuration in Example 5-48 is permitting only 131.107.0.0
and is denying everything else because there is an implicit deny at the end of each access
list. To fix this problem, add a permit statement allowing 131.108.0.0 in access-list 1.
Example 5-49 shows the new configuration change on Router R1.
Example 5-49 Access List Configuration on R1 to Permit the 131.108.0.0 Network
R1#interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
router igrp 1
network 131.108.0.0
distribute-list 1 out
!
no access-list 1 permit 131.107.0.0 0.0.255.255
access-list 1 permit 131.108.0.0 0.0.255.255
Example 5-50 shows the routing table entry of Router R2 after fixing the problem.
Example 5-50 R2 Routing Table Verifies That R2 Receives IGRP Routes After Fixing the Access List in R2
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Problem: Sender Is Not Advertising IGRP Routes 175
Example 5-50 R2 Routing Table Verifies That R2 Receives IGRP Routes After Fixing the Access List in R2
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Go to
next
cause.
Solution
When the advertised network’s interface goes down, IGRP will detect that because Layer 2
notifies the upper layer that the interface or the subnet is down. IGRP will no longer adver-
tise that network in the IGRP updates. As Example 5-52 shows, Ethernet 1 is down, so
IGRP no longer advertise 131.108.2.0/24 in its update.
To correct this problem, you must fix the Layer 1/2 problem. The problem could be as
simple as loose cables, or it could be as complex as bad hardware, in which case the
hardware must be replaced. Refer back to the “Troubleshooting IGRP Route Installation”
section for tips on fixing Layer 1/2 issues.
Example 5-52 shows that the advertised network interface is up after fixing the Layer 2
problem.
Example 5-52 Verifying That the Advertised Network Interface Is Up
Ethernet1 is up, line protocol is up
Hardware is Lance, address is 0000.0c70.d51e (bia 0000.0c70.d51e)
Internet address is 131.108.2.1/24
Example 5-53 shows that the route that was down is back in the routing table of R2.
Example 5-53 R2 Routing Table Verifies That R2 Starts Receiving IGRP Routes After Fixing the Layer 1/2 Issue
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
A passive interface is
Is the outgoing interface incapable of sending any
Not sure IGRP updates. Go to
defined as passive?
Debugs and Verification
section.
No
Go to
next
cause.
Example 5-55 shows the configuration of Router R1, which shows that the outgoing
interface is defined as passive.
Example 5-55 R1 Configuration Shows a Passive Interface
R1#router igrp 1
passive-interface Ethernet 0
network 131.108.0.0
178 Chapter 5: Troubleshooting IGRP
Solution
Example 5-54 and 5-55 confirm that the interface Ethernet 0 is defined as passive, so R1 is
not sending any updates on Ethernet 0. Sometimes, it is desirable for some networks to be
advertised out and others to be filtered. In this situation, you should not use passive
interfaces—distribute-list out is a better solution.
Assuming that passive-interface was configured by mistake, take this command out of the
configuration to solve this problem.
Example 5-56 shows the new configuration to solve this problem.
Example 5-56 Removing the Passive Interface
R1#router igrp 1
network 131.108.0.0
no passive-interface Ethernet 0
Example 5-57 shows the routing table entry of R2 after fixing the problem.
Example 5-57 R2’s Routing Table Verifies That Removal of the Passive Interface Fixed Routes Advertisement
Problem on R1
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Ethernet0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Ethernet0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Figure 5-22 Network Setup Incompatible with Frame Relay Broadcasting Without broadcast Keyword in map
Statement
131.108.1.0/24
131.108.2.0/24 .1 131.108.3.0/24
.2
Frame Relay
Router 1 Router 2
Go to
next
cause.
Example 5-59 shows output from the debug ip packet command, which includes the
broadcast traffic source from R1. The debug shows that there are encapsulation failures.
Example 5-59 debug ip packet Command Output Indicates Encapsulation Failures
R1#show access-list 100
Extended IP access list 100
permit ip host 131.108.1.1 host 255.255.255.255 (8 matches)
continues
180 Chapter 5: Troubleshooting IGRP
Example 5-59 debug ip packet Command Output Indicates Encapsulation Failures (Continued)
R1#debug ip packet 100 detail
IP packet debugging is on (detailed) for access list 100
R1#
IP: s=131.108.1.1 (local), d=255.255.255.255 (Serial3), len 88, sending broad/
multicast, proto=9
IP: s=131.108.1.1 (local), d=255.255.255.255 (Serial3), len 88, encapsulation failed,
proto=9
Solution
To solve this problem, add the broadcast keyword in the frame-relay map statement.
Example 5-60 shows the new configuration of Router R1 with the correct frame-relay map
statement.
Example 5-60 Configuring R1 with the frame-relay map Statement, Including the broadcast Keyword
interface Serial3
ip address 131.108.1.1 255.255.255.0
no ip directed-broadcast
encapsulation frame-relay
no keepalive
frame-relay map ip 131.108.1.2 16 broadcast
!
Example 5-61 shows the routing table entry of R2 with IGRP routes.
Example 5-61 R2 Routing Table Verifies That R2 Is Receiving IGRP Routes After Broadcasting Is Enabled on R2’s
frame-relay map Statement
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Serial0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Serial0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
If an NBMA environment,
neighbor statements must
be configured under the
Is the neighbor statement Not sure router igrp configuration
configured properly? to unicast IGRP updates.
Go to Debugs and
Verification section.
Yes
Go to
next
cause.
Solution
In Example 5-62, IGRP is sending a unicast update to 131.108.1.3, a bogus neighbor that
does not exist.
To resolve this problem, you must properly configure the neighbor statement.
Example 5-63 shows the correct configuration of Router R1.
Example 5-63 Configuring R1 with the Proper neighbor Statement
R1#router igrp 1
network 131.108.0.0
no neighbor 131.108.1.3
neighbor 131.108.1.2
Example 5-64 shows the IGRP routes installed in R2’s routing table.
182 Chapter 5: Troubleshooting IGRP
Example 5-64 R2’s Routing Table Verifies That the neighbor Statement Has Been Properly Configured on R1, so
R2 Starts Receiving IGRP Routes
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Serial0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Serial0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Figure 5-25 Network Setup Conducive to Advertised Subnet Problems Because of VLSM
Router 1 Router 2
Go to
next
cause.
Solution
To solve the problem, you need to either change the subnet mask so that it matches the
interface that will be sourcing the IGRP update or change the protocol to EIGRP that does
support VLSM. Changing the protocol to EIGRP means that every router in the network
must be changed to EIGRP, so this is a long-term solution.
184 Chapter 5: Troubleshooting IGRP
Example 5-66 shows the configuration changes that correct the problem.
Example 5-66 Correcting the Mismatched Subnet Mask Problem
R1#
interface Loopback0
ip address 131.108.2.1 255.255.255.0
!
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
router igrp 1
network 131.108.0.0
Example 5-67 shows the routing table entry of Router R2 after correcting the problem.
Example 5-67 R2’s Routing Table Verifies That the Mismatched Subnet Mask Problem Has Been Resolved
R2#show ip route 131.108.2.0
Routing entry for 131.108.2.0/24
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.1.1 on Serial0, 00:00:12 ago
Routing Descriptor Blocks:
* 131.108.1.1, from 131.108.1.1, 00:00:12 ago, via Serial0
Route metric is 8976, traffic share count is 1
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Figure 5-27 Hub-and-Spoke Topology in Which Spokes Do Not Have Any Circuits Between Them
Hub
Frame Relay
131.108.1.0/24
131.108.2.0/24 131.108.3.0/24
Spoke 1 Spoke 2
Figure 5-28 Network Setup Conducive to Route Advertisement Problems Because of Split Horizon
166.166.166.0/24
.3
Router 3
155.155.155.0/24
.1
131.108.1.0/24
Router 1
.2
Router 2
186 Chapter 5: Troubleshooting IGRP
Go to
next
problem.
Example 5-69 shows that the route 166.166.166.0/24 is not in the routing table of Router R2.
Example 5-69 R2’s Route Table Indicates That the 166.166.166.0/24 Route Is Missing
R2#show ip route igrp
I 155.155.0.0/16 [100/8496] via 131.108.1.1, 00:00:07, Ethernet0
Example 5-70 shows the debug ip igrp transaction output on Router R1, which is advertising
155.155.0.0/16 but not 166.166.166.0/24. In R2’s routing table, no route exists for
166.166.166.0/24.
Problem: Sender Is Not Advertising IGRP Routes 187
Example 5-70 debug ip igrp transaction Command Output Shows That 166.166.166.0/24 Is Not Being Advertised
R1#debug ip igrp transaction
IGRP protocol debugging is on
IGRP: sending update to 255.255.255.255 via Ethernet0 (131.108.1.1)
network 155.155.0.0, metric=501
Solution
This problem happens because the next hop of 166.166.166.0/24 is 131.108.1.3. Under split
horizon, IGRP will suppress this update on the interface where 166.166.166.0/24 is learned.
Because of this, IGRP will not advertise 166.166.166/24 out the same interface where it is
learned.
The solution lies in turning off split horizon on R1’s Ethernet 0 interface.
Example 5-71 shows the corrected configuration on Router R1 to solve this problem.
Example 5-71 Disabling Split Horizon on R1 Ethernet 0 Interface
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
no ip split-horizon
Example 5-72 shows that, after making the configuration changes, R2 is receiving
166.166.0.0/16 in the IGRP updates. Note that, because it is crossing the major network
boundary, R1 will autosummarize it and send 166.166.0.0. This is why the routing table
shows 166.166.0.0 instead of 166.166.166.0.
Example 5-72 R2’s Routing Table Indicates That Disabling Split Horizon on R1 Has Enabled the Advertisement of
166.166.166.0/24
R2#show ip route igrp
I 155.155.0.0/16 [100/8496] via 131.108.1.1, 00:00:08, Ethernet0
I 166.166.0.0/16 [100/8496] via 131.108.1.1, 00:00:08, Ethernet0
This problem also can occur when interfaces are configured with secondary IP addresses.
Example 5-73 shows the interface configuration with a secondary IP address.
Example 5-73 R1’s Ethernet 0 Interface Configured with a Secondary IP Address
R1#
interface Ethernet0
ip address 131.108.2.1 255.255.255.0 secondary
ip address 131.108.1.1 255.255.255.0
If split horizon is enabled, this secondary address will not be advertised on Ethernet 0.
Similarly, imagine a situation in which there are three routers—R1, R2, and R3—on the
same Ethernet, as shown in Figure 5-30.
188 Chapter 5: Troubleshooting IGRP
Figure 5-30 Network with Three Routers on the Same Ethernet Network
OSPF
166.166.166.0/24
.3
Router 3
router igrp1
redistribute ospf2
OSPF
IGRP
.1
131.108.1.0/24
Router 1
IGRP
.2
Router 2
R1 and R3 are running OSPF. R1 and R2 are running IGRP. Now R3 advertises certain
routes through OSPF to R1 that R1 has to redistribute into IGRP. R1 will not advertise those
OSPF routes to R2 because of split horizon. Again, the solution is to disable split horizon.
Basically, these are the three main reasons for turning off the split horizon. Any other
situation might create a routing loop if split horizon is turned off.
In any routing protocol except IGRP, the way to set the gateway of last resort is to define a
static route 0.0.0.0 with the mask of 0.0.0.0 and a next-hop address, as shown in Example
5-75; however, IGRP cannot understand 0.0.0.0, so there is a separate way to set the gate-
way of last resort in IGRP.
Example 5-75 Configuring a Default Route to Set the Gateway of Last Resort
R1(config-term)#ip route 0.0.0.0 0 0.0.0.0 131.108.1.1
Yes
Go to
next
problem.
Example 5-76 R1’s Configuration Reveals That a Candidate Default Route Has Not Been Configured (Continued)
interface Ethernet0
ip address 131.108.1.1 255.255.255.0
!
router igrp 1
network 131.108.0.0
network 155.155.0.0
Example 5-77 shows the routing table in Router R2, which R2 is receiving 155.155.0.0/16,
but it is not a candidate for default because it is not configured as a candidate for default route.
Example 5-77 R2’s Routing Table
R2#show ip route igrp
I 155.155.0.0/24 [100/8976] via 131.108.1.1, 00:00:22, Serial0
131.108.0.0/24 is subnetted, 3 subnets
I 131.108.2.0 [100/8976] via 131.108.1.1, 00:00:22, Serial0
Solution
IGRP is incapable of carrying the 0.0.0.0/0 (also known as default route), as explained in
the problem section. Instead, it follows the default-network command to mark a network
as a candidate for default.
In this example, R1 is sending 155.155.0.0/16, and it is desirable to make R1 a candidate
for default. To do that, change the configuration on R1 and establish the 155.155.0.0
network as the default network. Upon doing this, IGRP automatically starts treating
155.155.0.0/16 as the candidate for default and will set the gateway of last resort on R2.
Example 5-78 shows the configuration for default-network on R1. This default-network
statement must always point toward a major network, not a subnet; otherwise, it will not set
the gateway of last resort.
Example 5-78 Configuring 155.155.0.0 as the Default Network
R1(config-term)#ip default-network 155.155.0.0
Example 5-79 illustrates that after the configuration change on R1, the debug ip igrp
transaction output shows IGRP treating 155.155.0.0/16 route as an exterior route because
it is marked as a candidate for default route.
Example 5-79 IGRP Treats 155.155.0.0 as an Exterior Route
IGRP: received update from 131.108.1.1 on Serial1
subnet 131.108.3.0, metric 8976 (neighbor 501)
subnet 131.108.1.0, metric 10476 (neighbor 8476)
exterior network 155.155.0.0, metric 8976 (neighbor 501)
Problem: Redistributed Routes Are Not Getting Installed in the Routing Table 191
Example 5-80 now shows that the gateway of last resort is set and that 155.155.0.0/16 is
marked as a candidate for default. Also, the * next to the I in the routing table entry means
that this entry is a candidate for a default route.
Example 5-80 R2’s Routing Table Indicates the Candidate for Default and Shows That the Gateway of Last Resort
Is Set to 155.155.0.0
R2#show ip route
Figure 5-32 Network Setup Conducive to Redistributed Routes Not Being Installed in the Routing Table
131.108.6.0/24
Router 3
OSPF 131.108.5.0/24
131.108.1.0/24
IGRP
Router 1
Router 2
Go to
next
problem.
Example 5-83 shows that in R2, 131.108.6.0/24 is not present in the IGRP routing table.
Example 5-83 R2’s Routing Table Is Missing the Redistributed Route
R2#show ip route 131.108.6.0
% Subnet not in table
Solution
To solve this problem, R1 needs to put a metric command under the router igrp statement
so that it can calculate the OSPF metric properly.
Example 5-84 shows the new configuration for R1. OSPF is redistributed into IGRP with
metric values of bandwidth, delay, load, reliability, and MTU. Setting low bandwidth and
high delay yields to a high metric for redistributed routes.
Example 5-84 Configuring R1 to Calculate OSPF Metrics
R1#router igrp 1
redistribute ospf 1 metric 1 10000 255 1 1500
network 131.108.0.0
Another way to fix this problem is to define a default metric under the router igrp state-
ment. The difference between using a default metric and defining a metric as shown in
Example 5-84 is that a default metric will be used for all the redistribution. For example,
if the router igrp statement has multiple redistribution commands, all the redistributed
routes will have a default metric value defined under the router igrp command.
Example 5-85 shows the syntax for default-metric command under the router igrp state-
ment when redistributing into IGRP. The metric values are based on bandwidth, delay, load,
reliability, and MTU. So, in this case, all the static and OSPF routes will be redistributed
with the default metric configured here.
Example 5-85 Configuring a Default Metric
R1#router igrp 1
redistribute ospf 1
redistribute static
default-metric 1 10000 255 1 1500
network 131.108.0.0
194 Chapter 5: Troubleshooting IGRP
Example 5-86 shows that the route gets installed in the routing table.
Example 5-86 R2’s Routing Table Verifies That the New Configuration for R1 Has Corrected the Problem
R2#show ip route 131.108.6.0
Routing entry for 131.108.6.0/24
Known via "igrp", distance 100, metric 8976
typically want data traffic to be considered as interesting traffic, to bring up and keep up the
ISDN link. IGRP or other routing protocol updates should not be defined as interesting
traffic. If this is not done, the ISDN link comes up and stays up as long as routing updates
(IGRP, in this case) are taking place on a regular basis. That is not the desired behavior
because ISDN provides low-speed connectivity and because some data actually could go
over the slow link even though the primary faster link is available.
Figure 5-34 shows the network setup susceptible to dial backup issues.
.13 .14
ISDN
BRI 3/0 BRI 3/0
Router 1 Router 2
192.168.254.12/30
No
Go to
next
problem.
allows any IP traffic to go through besides TCP, IGRP broadcast traffic will be considered
interesting traffic.
Example 5-87 R1 Configuration in Which IGRP Broadcasts Are Not Denied
R1#
interface BRI3/0
ip address 192.168.254.13 255.255.255.252
encapsulation ppp
dialer map ip 192.168.254.14 name R2 broadcast 57654
dialer-group 1
isdn switch-type basic-net3
ppp authentication chap
Example 5-88 shows the output of show dialer, which indicates that the reason for the link
coming up is IGRP broadcast.
Example 5-88 show dialer Output Indicates the Last Time the Link Was Up Was Because of IGRP Broadcast
R1#show dialer
BRI1/1:1 - dialer type = ISDN
Idle timer (120 secs), Fast idle timer (20 secs)
Wait for carrier (30 secs), Re-enable (2 secs)
Dialer state is data link layer up
Dial reason: ip (s=192.168.254.13, d=255.255.255.255)
Current call connected 00:00:08
Connected to 57654 (R2)
Solution
When running IGRP and DDR, define the access list to define the interesting traffic. In
Example 5-87, the access list is denying only the TCP traffic and is permitting all the IP
traffic. IGRP uses an IP broadcast address of 255.255.255.255 to send the routing updates.
This address must be denied in the access list so that IGRP does not bring up the link every
90 seconds.
Example 5-89 shows the correct configuration change in Router R1. In this configuration,
all traffic destined to the 255.255.255.255 address is denied. This covers IGRP broadcast,
so IGRP will not bring up the link after this configuration change.
Example 5-89 Configuring R1’s Access List to Deny IGRP Broadcast Traffic
R1#
access-list 100 deny tcp any any
access-list 100 deny ip any 255.255.255.255
access-list 100 permit ip any any
dialer-list 1 protocol ip list 100
Problem: IGRP Updates Are Not Going Across the Dialer Interface 197
Go to
next
problem.
Example 5-90 R1 Configuration Preventing IGRP Updates Across Dialer Interface (Continued)
dialer map ip 192.168.254.14 name R2 57654
dialer-group 1
isdn switch-type basic-net3
ppp authentication chap
Example 5-91 shows that IGRP is sending the broadcast update toward R2, but because of
an encapsulation failure, it is not getting on the other side.
Example 5-91 Confirming an Encapsulation Failure
R1#show access-list 100
access-list 100 permit ip any host 255.255.255.255
R1#debug ip packet 100 detail
IP: s=192.168.254.13 (local), d=255.255.255.255 (BRI3/0), len 46, sending broad/
multicast, proto=9
IP: s=192.168.254.13 (local), d=255.255.255.255 (BRI3/0), len 72, encapsulation
failed, proto=9
Solution
This problem occurs because IGRP uses broadcasts to send its routing updates. When using
dialer map statements, you must include the broadcast keyword; otherwise, the broadcast
will not be allowed to cross the circuit and the encapsulation failures occur. To correct this
problem, add the broadcast keyword in the dialer map statement.
Example 5-92 shows the new configuration change on Router R1.
Example 5-92 Configuring R1 to Allow Broadcasts Across the Dialer Interface
interface BRI3/0
ip address 192.168.254.13 255.255.255.252
encapsulation ppp
dialer map ip 192.168.254.14 name R2 broadcast 57654
dialer-group 1
isdn switch-type basic-net3
ppp authentication chap
The example in this section considers Frame Relay because it is the most common
medium in which this problem occurs. The packet loss can be verified through the
interface statistics by looking at the number of packet drops and seeing if it is con-
stantly incrementing.
Hub
Frame Relay
Router 1 Router 2
Go to
next
problem.
The output in Example 5-93 shows that no IGRP update has been received since 3 minutes
and 8 seconds. This means that two IGRP updates have been missed.
Example 5-94 shows that there are a large number of broadcast drops on the interface. The
broadcast queue size also is 64, which is the default, and it must be increased.
Example 5-94 Serial Interface Shows That the Broadcast Queue Is Dropping a Large Number of Packets
Hub#show interface serial 0
Serial0 is up, line protocol is up
Hardware is MK5025
Description: Charlotte Frame Relay Port DLCI 100
MTU 1500 bytes, BW 1024 Kbit, DLY 20000 usec, rely 255/255, load 44/255
Encapsulation FRAME-RELAY, loopback not set, keepalive set (10 sec)
Troubleshooting Variance Problem 201
Example 5-94 Serial Interface Shows That the Broadcast Queue Is Dropping a Large Number of Packets (Continued)
LMI enq sent 7940, LMI stat recvd 7937, LMI upd recvd 0, DTE
LMI up
LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
LMI DLCI 1023 LMI type is CISCO frame relay DTE
Solution
The output in Example 5-94 further proves that there is some problem at the interface level.
Too many drops are occurring at the interface level. This is causing the route flapping. To
correct this problem, you must tune the Frame Relay broadcast queue accordingly. Tuning
the Frame Relay broadcast queue is beyond the scope of this book. Several papers on the
Cisco web site discuss how to tune the Frame Relay broadcast queue:
www.cisco.com/warp/partner/synchronicd/cc/techno/media/wan/
frame/prodlit/256_pb.htm
www.cisco.com/warp/public/125/20.html
Example 5-95 shows that after fixing the interface drop problem, route flapping disappears.
The broadcast queue size is changed from 64 to 256. The correct number can be determined
after reading the URL mentioned earlier for tuning the broadcast queue.
Example 5-95 Verifying That the Serial Interface Is Not Dropping Any Broadcast Traffic in the Broadcast Queue
Hub#show interface serial 0
Serial0 is up, line protocol is up
Hardware is MK5025
Description: Charlotte Frame Relay Port DLCI 100
MTU 1500 bytes, BW 1024 Kbit, DLY 20000 usec, rely 255/255, load 44/255
Encapsulation FRAME-RELAY, loopback not set, keepalive set (10 sec)
LMI enq sent 7940, LMI stat recvd 7937, LMI upd recvd 0, DTE LMI up
LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
LMI DLCI 1023 LMI type is CISCO frame relay DTE
Broadcast queue 0/256, broadcasts sent/dropped 1769202/0, interface broadcasts
3579215
Example 5-96 shows that the show ip routes output verifies that the routes are stable in the
routing table.
Example 5-96 Verifying Stable Routes
Hub#show ip route igrp
I 155.155.0.0/16 [100/8242] via 131.108.1.1, 00:00:07, Serial0
I 166.166.0.0/16 [100/8242] via 131.108.1.1, 00:00:07, Serial0
All routing protocols support equal-cost-path load balancing, but only IGRP and EIGRP
support unequal-cost-path load balancing, which is configured using a variance command.
Configuration of variance is easy, as long as you know the concept behind it.
The variance command instructs the router to include routes with a metric smaller than
n times the minimum metric route for that destination, where n is the number specified
by the variance command.
Delay 20000
155.155.0.0/16
Delay 40000
Router 1 Router 2
Yes
Problem: IGRP Not Using Unequal-Cost Path for Load Balancing 203
Example 5-98 shows the interface configuration on both Serial2 and Serial3. Band-
widths are equal in this example, but they could have different values in different
scenarios.
Example 5-98 R1’s Serial2 and Serial3 Interface Configurations
R1#show interface serial2
Serial2 is up, line protocol is up
Hardware is HD64570
Internet address is 131.108.6.1/24
MTU 1500 bytes, BW 1544 Kbit, DLY 400000 usec, rely 255/255, load 1/255
Example 5-99 shows the IGRP configuration on R1. The variance command is configured,
but the multiplier has the wrong value. The metric from Serial3 is more than five times
larger, which is why the variance is not working. If you multiply the metric value of Serial2
(which is 8976) by 5, you get 44,880, which is still not enough because the metric for
Serial3 is 46,976.
Example 5-99 Improperly Configured Variance Value
R1#
!
router igrp 1
variance 5
network 131.108.0.0
204 Chapter 5: Troubleshooting IGRP
Solution
To solve this problem, choose a variance factor that yields a metric that is higher then the
one being used by another unequal-cost path. For example, when you multiply the current
metric of 8796 by 6 instead of 5, you get a value of 52,776. So, any link that has a metric
value of less than 52,776 will be used in this unequal-cost-path load balancing. In this
example, Serial3 has a metric value of 46,976. Because this number is less than 52,776, it
is used for load balancing.
In Example 5-99, the second link metric is more than five times larger than the current
metric. Example 5-100 shows that by changing the variance value to 6, IGRP starts
including the second path.
Example 5-100 Correcting the Variance So That IGRP Uses Both Paths
R1#!
router igrp 1
variance 6
network 131.108.0.0
Example 5-101 shows that R1 is installing both paths in the routing table, but with the
traffic share count ratio equal to 5.
Example 5-101 R1 Routing Table Shows the Traffic Share Count Ratio
R1#show ip route 155.155.0.0
Routing entry for 155.155.0.0/16
Known via "igrp 1", distance 100, metric 8976
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 131.108.7.2 on Serial3, 00:00:07 ago
Routing Descriptor Blocks:
* 131.108.6.2, from 131.108.6.2, 00:00:07 ago, via Serial2
Route metric is 8976, traffic share count is 5
Total delay is 25000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
131.108.7.2, from 131.108.7.2, 00:00:07 ago, via Serial3
Route metric is 46976, traffic share count is 1
Total delay is 405000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
The traffic share count ratio is calculated by dividing the worst metric by the metric of a
path. In this case, the path from Serial3 is worse and has a value of 46,976.
46,976/46,976 = 1 for Serial3
46,976/8976 = 5 for Serial2 (The result is always rounded off to the lowest integer.)
So, in this example, the ratio is 5:1. After every five packets forwarded on Serial2, Serial3
will be used for one packet.
This page intentionally left blank
This chapter covers the following key topics about Enhanced IGRP (EIGRP):
• Metrics
• EIGRP neighbor relationships
• The Diffusing Update Algorithm (DUAL)
• DUAL finite-state machine
• EIGRP reliable transport protocol
• EIGRP packet format
• EIGRP behavior
• EIGRP summarization
• EIGRP query process
• Default routes and EIGRP
• Unequal-cost load balancing in EIGRP
CHAPTER
6
Understanding Enhanced
Interior Gateway Routing
Protocol (EIGRP)
As the size of network grows larger, you can see that the classical distance vector routing
protocols such as IGRP and RIP won’t scale to the needs of the network. Some of the
biggest scalability problems of IGRP and RIP are as follows:
• Full periodic routing updates that consume bandwidth—RIP sends out its
entire routing table every 30 seconds; IGRP sends out its entire routing table every
90 seconds. This consumes significant bandwidth.
• RIP hop-count limitation of 15 hops—This limitation makes RIP protocol a non-
scalable routing protocol in today’s networks because most medium-sized networks
have more than 15 routers.
• No support of VLSM and discontiguous networks—This also hinders the capability
to scale large networks for RIP and IGRP. Because of this factor, router summarization
is not supported.
• Slow convergence time—Because RIP and IGRP send periodic routing updates, a
network that is not available in one part of the network could take minutes for the
other part of the network to discover that it’s no longer available.
• Not 100 percent loop-free—RIP and IGRP do not keep topology tables, so there is
no mechanism for them to ensure a 100 percent loop-free routing table.
Because of these shortcomings of IGRP and RIP, Cisco developed an enhanced version of
IGRP that not only fixed all the problems of IGRP and RIP but also developed a routing
protocol robust enough to scale to today’s network growth. This enhanced version is called
Enhanced Interior Gateway Routing Protocol (EIGRP).
EIGRP is neither a classic distance vector routing protocol nor a link-state protocol—it is
a hybrid of these two classes of routing protocol. Like a distance vector protocol, EIGRP
gets its update from its neighbors. Like a link-state protocol, it keeps a topology table of the
advertised routes and uses the Diffusing Update Algorithm (DUAL) to select a loop-free
path. The convergence time in a network is the time that it takes for all the routers in the
network to agree on a network change. The shorter the convergence time is, the quicker a
router can adapt to a network topology change. Unlike a traditional distance vector protocol,
EIGRP has fast convergence time and does not send full periodic routing updates. Unlike a
link-state protocol, EIGRP does not know what the entire network looks like; it depends
only on its neighbor’s advertisement. Because EIGRP has characteristics of both distance
208 Chapter 6: Understanding Enhanced Interior Gateway Routing Protocol (EIGRP)
vector and link-state protocols, Cisco has classified EIGRP as an advanced distance vector
routing protocol.
Advantages of EIGRP include the following:
• 100% loop-free—EIGRP is guaranteed to have a 100 percent loop-free forwarding
table if all the networks are contained within one autonomous system.
• Easy configuration—Configuration of EIGRP is extremely easy and is the same as
IGRP and RIP at the basic level.
• Fast convergence—Convergence time for EIGRP is much faster than that for RIP and
IGRP.
• Incremental update—In an EIGRP network, no routing update is exchanged except
for a network change. Also, only the change is updated, not the entire routing table.
This saves CPU power and is more efficient.
• Use of multicast address—IGRP and RIP use the broadcast address of
255.255.255.255 to send their packets. This means that every device on the same
network segment receives the updates. EIGRP sends its packet over the multicast
address of 224.0.0.10, which ensures that only the EIGRP-enabled devices receive the
EIGRP packets.
• Better utilization of bandwidth—EIGRP obtains the bandwidth parameter from the
interface in which EIGRP packets will be sent out. It is a parameter in which its values
are assigned to a particular interface. For example, by default, all serial interfaces have
a bandwidth of 1544 kbps; however, this bandwidth parameter is configurable. EIGRP
can use up to 50 percent of the interface bandwidth to carry EIGRP packets. This
ensures that EIGRP packets will not starve the routed data packet during a major
network convergence event. RIP and IGRP do not have this feature, so potentially
large amounts of RIP or IGRP updates would prevent regular data packets from going
through.
• Support for VLSM and discontiguous networks—Unlike RIP and IGRP, EIGRP
supports VLSM and discontiguous networks. This enables EIGRP to be implemented
in the modern network and lends itself to better network scalability.
Metrics
EIGRP and IGRP use the same equation to calculate their metrics; however, the EIGRP
metric is obtained by multiplying the IGRP metric by 256. In other words:
By default, the K values of K1 and K3 are 0; therefore, the EIGRP metric simplifies to this:
EIGRP is different than IGRP metric by a factor of 256 because of the Metric field: IGRP
uses only 24 bits in its update packet for the Metric field, whereas EIGRP uses 32 bits in its
update packet for the Metric field. The difference of 8 bits requires the IGRP metric to be
multiplied by 256 to obtain the EIGRP metric. For example, if the IGRP metric to a desti-
nation network is 8586, the EIGRP metric would be 8586 ⫻ 256 = 2,198,016.
times. Certain conditions must be met before EIGRP routers consider establishing a
neighbor relationship:
• The receiving router compares the source address of the hello packet with the IP
address of the interface where the packet was received, to ensure that they belong to
the same subnet.
• The receiving router compares the K constant values of the source router to its own,
to make sure that they match.
• The receiving router must be within the same autonomous system number as the
source router.
Example 6-1 shows the output of the show ip eigrp neighbor command when the neighbor
relationship is fully established.
Example 6-1 show ip eigrp neighbor Command Output
Router_1#show ip eigrp neighbor
IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 5.5.5.4 Et0 11 00:00:22 1 4500 0 3
0 192.168.9.5 Et1 10 00:00:23 372 2232 0 2
Network 7
(20) (10)
(100) H G
(1)
B FDDI C
A (100)
(100) (10)
D E F
(100) (20)
Network 7
(20) (10)
(100) H G
(1)
B FDDI C
A (100)
(100) (10)
D E F
(100) (20)
Network 7
(20) (10)
(100) H G
(1)
B FDDI C
A (100)
(100) (10)
D E F
(100) (20) Router A’s
Routing table
Destination FD RD Neighbor
Topology 7 130 30 H 7 121 B
Table
7 121 21 B
7 240 140 D
Router B is chosen as the successor because Router B has the lowest feasible distance
(metric = 121) to Network 7 among all of Router A’s neighbors. To select a feasible
successor, Router A sees which neighbor has a reported distance (RD) that is less than
the feasible distance of its successor. In this case, Router H has a reported distance of
30, which is less than the feasible distance of its successor, which is 121. Therefore,
Router H is chosen as the feasible successor. Router D is neither a successor nor a
feasible successor because its reported distance is 140, which is larger than 121 and
thus does not satisfies the feasibility condition.
• Passive route—A passive route in EIGRP indicates that the router has a valid
successor to a destination and EIGRP has no complaints.
• Active route—An active route in EIGRP indicates that the router has lost its succes-
sor, it doesn’t have any feasible successor available, and the router is currently actively
searching for alternate routes to converge.
To sum up the operation of DUAL, DUAL selects a successor as the primary path and also
selects a feasible successor as its backup path based on the feasibility condition. If the
successor becomes unavailable, the feasible successor is used as the primary route. If
the feasible successor is not present, the router queries all its neighbors and computes a new
successor based on the replies to the queries. Therefore, in an EIGRP network, the query
mechanism is the only means to achieve fast convergence.
Chapter 8 of the Cisco Press book Routing TCP/IP, Volume 1, by Jeff Doyle, provides an
excellent, detailed description of the operation of the EIGRP DUAL algorithm.
multicast packet. If one or more EIGRP neighbors in a multiaccess LAN network are slow
or fail to acknowledge the EIGRP packet, all the other neighbors will suffer from this.
For example, if there are three routers on an Ethernet segment and Router 1 sends a
multicast EIGRP update, it won’t send another multicast EIGRP packet on the Ethernet
until it receives an acknowledgment from the other two routers. Now assume that
Router 2 successfully sends an acknowledgment packet to Router 1, but Router 3 has a
problem sending the acknowledgment packet. Router 1 could potentially stop sending
any more EIGRP packets, and Router 2 would be affected even though the problem lies
on Router 3. EIGRP RTP avoids this problem by retransmitting the unacknowledged
EIGRP packet as a unicast packet to the neighbor that has not acknowledged the pre-
vious EIGRP packet, and it continues to send EIGRP multicast packets to the neigh-
bor that has already acknowledged the EIGRP packet. The router retransmits the
unacknowledged EIGRP packet as a unicast 16 times to a neighbor. If the neighbor still
has not acknowledged the EIGRP packet after 16 retries, EIGRP resets the neighbor
relationship and the whole process starts over. The 16-retry timeout period usually runs
from 50 to 80 seconds.
0 8 16 24 31
Version OPCode Checksum
Flags
Sequence
Acknowledgment
TLVs
216 Chapter 6: Understanding Enhanced Interior Gateway Routing Protocol (EIGRP)
0 8 16 24 31
Type = 0x0001 Length
K1 K2 K3 K4
Figure 6-6 and Figure 6-7 show two other common EIGRP TLVs—the IP internal route
TLV and the IP external route TLV, respectively. The EIGRP internal routes are routes
originated from the same EIGRP autonomous system number as the receiving router. The
EIGRP external routes are routes that are being redistributed into the EIGRP autonomous
systems.
The EIGRP IP internal route TLV contains this information:
• Next hop—IP address of the next hop to which packets should be forwarded.
• Delay—Delay parameter of the route metric. The delay value is the sum of all the
delay parameters on the interface across the path to the destination network.
EIGRP Packet Format 217
0 8 16 24 31
Type = 0x0102 Length
Next Hop
Delay
Bandwidth
TLVs
0 8 16 24 31
Type = 0x0103 Length
Next Hop
Originating Router
Arbitrary Tag
Delay
Bandwidth
EIGRP Behavior
Unlike IGRP, EIGRP is an advanced distance vector protocol that carries the subnet mask
information when an update is sent out. Therefore, EIGRP supports discontiguous network
and variable-length subnet masking (VLSM). For more explanation about discontiguous
networks and VLSM, refer to Chapter 2, “Understanding Routing Information Protocol
(RIP).” Figure 6-8 shows the network diagram that illustrates EIGRP’s support for
discontiguous networks.
Figure 6-8 Example of EIGRP Support for Discontiguous Networks
.1 10.1.1.0/24 .2
Router A Router B
192.168.8.1/25 192.168.8.129/25
Figure 6-8 shows two routers connected through a serial port. Router B has the network
192.168.8.128/25 that needs to advertise to Router A across the network 10.1.1.0/24. By
default, EIGRP is a classful routing protocol; Router B will autosummarize the route
EIGRP Summarization 219
across the major network boundary. Therefore, Router B will advertise 192.168.8.0/24 to
Router A, which will ignore this route advertisement. To make EIGRP support discontig-
uous networks, you must configure the no auto-summary command under the command
router eigrp. With the no auto-summary command in place in Router B, Router B will
advertise the 192.168.8.128/25 route to Router A, and Router A will have a routing entry
for the route. The problem with discontiguous network then will be solved.
EIGRP Summarization
Two types of summarization take place in EIGRP—autosummarization and manual sum-
marization. Autosummarization is the default behavior for EIGRP, just as it is for RIP and
IGRP. Basically, when the router sends out a routing update, it automatically summarizes
the route to its natural major network when the route is advertised across a major network
boundary. Figure 6-9 shows an example of autosummarization. In Figure 6-9, Router R1
needs to send an update about the network 132.168.1.0 to R2 across a major network of
192.168.2.0. R1 then autosummarizes the update to its classful network of 132.168.0.0 and
sends it to R2. The problem of autosummarization is that the design of the network cannot
be discontiguous.
Figure 6-9 Example of Autosummarization
132.168.1.0 192.168.2.0
R1 R2
132.168.0.0
192.168.9.X AS 1
192.168.8.0/22
192.168.8.X
S0
R1
192.168.10.X
10.x.x.x
In Figure 6-11, Router 1 is connected to the remote site through a DS-3 link. Router 1 now
wants to send a default route to Router 2 and to all the routers in the remote site network.
In IGRP, the route to 0.0.0.0 is not recognized as a default route; instead, Router 1 must
configure ip default-network 192.168.1.0 to flag the route 192.168.1.0 as the default route.
Router 1 will send out routing update of 192.168.1.0 and will flag it as a default route. When
the routers in the remote site network receive the update for 192.168.1.0, they will mark it
as default route and will install the route to 192.168.1.0 as the gateway of last resort.
S0 1544 kbps
S0 Router 3
S1 S1 Router 2
Router 1 256 kbps 133.33.0.0
Without unequal-cost load balancing, EIGRP will simply select the 1544 kbps link to
forward packets to Router 3, as shown in the output in Example 6-3.
Example 6-3 show ip route Output Shows Router 1 Choosing a Suboptimal Route Without Unequal-Cost Load
Balancing
Router_1#show ip route 133.33.0.0
Routing entry for 133.33.0.0/16
Known via "eigrp 1", distance 90, metric 2195456
Redistributing via eigrp 1
Advertised by eigrp 1 (self originated)
Last update from 192.168.6.2 on Serial0, 00:00:20 ago
Routing Descriptor Blocks:
* 192.168.6.2, from 192.168.6.2, 00:00:20 ago, via Serial0
Route metric is2195456, traffic share count is 1
Total delay is 21000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Summary 223
To use the unequal-cost load-balancing feature of EIGRP, you use the variance com-
mand. Variance is a multiplier in which a metric may be different from the lowest metric
to a route. The variance value must be of integer value; the default variance value is 1,
meaning that the metrics of multiple routes must be equal to load-balance.
In Example 6-3, the metric through the 256 kbps link is 4.8 times larger than the metric
through the 1544 kbps link. Therefore, for the 256 kbps link to be considered in the
routing table, a variance of 5 must be configured in Router 1. The configuration in
Router 1 is simply variance 5 under the router eigrp command. The output from the
show ip route command in Example 6-4 displays that Router 1 is installing both links
in its routing table.
Example 6-4 Example Output of Unequal-Cost Load Balancing in EIGRP
Router_1#show ip route 133.33.0.0
Routing entry for 133.33.0.0/16
Known via "eigrp 1", distance90, metric 2195456
Redistributing via eigrp 1
Advertised by eigrp 1 (self originated)
Last update from 10.1.1.2 on Serial1, 00:01:02 ago
Routing Descriptor Blocks:
* 192.168.6.2, from 192.168.6.2, 00:01:02 ago, via Serial0
Route metric is2195456, traffic share count is 5
Total delay is 21000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
10.1.1.2, from 10.1.1.2, 00:01:02 ago, via Serial1
Route metric is10537472, traffic share count is 1
Total delay is 21000 microseconds, minimum bandwidth is 256Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
In Example 6-4, the route through Serial 0 has a traffic share count of 5, compared to a
traffic share count of 1 through Serial 1. This indicates that the router will send five packets
over Serial 0 for every packet sent over Serial 1.
Summary
EIGRP and IGRP are similar in some ways, but they differ in other ways. EIGRP and IGRP
use the same equation to calculate metrics to the destination network. EIGRP and IGRP also
use the same technique in doing unequal-cost load balancing. However, EIGRP keeps a topol-
ogy table of the network and uses the DUAL algorithm to select a loop-free path. EIGRP uses
the notions of successor and feasible successor and the query process to achieve fast conver-
gence. EIGRP also carries the subnet mask information when sending out routing update.
This enables EIGRP to support discontiguous networks and VLSM, which makes EIGRP a
scalable routing protocol capable of fitting today’s network requirements. Table 6-1 shows the
summary comparison between IGRP versus EIGRP.
224 Chapter 6: Understanding Enhanced Interior Gateway Routing Protocol (EIGRP)
Does not support VLSM and discontiguous networks Supports VLSM and discontiguous networks
Does not retransmit lost IGRP update packets Has a reliable transport mechanism to
retransmit lost EIGRP packets
Does not support manual summarization and classless route Supports manual summarization and
aggregation classless route aggregation
Does not understand 0.0.0.0/0 as default route Understands 0.0.0.0/0 as default route
Review Questions
1 What is the difference between metric calculations in IGRP versus EIGRP?
2 What is an EIGRP query, and what is it used for?
Troubleshooting EIGRP
This chapter discusses some of the common problems in EIGRP and how to resolve those
problems. Debugs, configurations, and useful show commands are also given where
necessary.
NOTE Debugs can be CPU-intensive and can adversely affect your network. Therefore, debugs are
not recommended on a production network unless being instructed by Cisco’s Technical
Assistance Center (TAC).
Sometimes, there might be multiple causes for the same problem. Therefore, if one scenario
doesn’t fix the network problem, always check into other scenarios.
Possible causes:
-Layer 2 problem
-Unidirectional link
Perform show ip eigrp -Access list
neighbor. Is the neighbor up? No -Uncommon subnet
-K value mismatch
-AS number mismatch
Refer to the appropriate
Yes book section for further
explanation.
Look at the log. Note the reason for the neighbor reset.
Refer to book section for explanation of the reason.
Table 7-1 documents the neighbor changes that you can find in the EIGRP log, along with
the meaning and required action to fix the problem based on the log message.
Troubleshooting EIGRP Neighbor Relationships 229
Figure 7-2 Flowchart for Troubleshooting EIGRP Neighbor Relationship When Getting Neighbor Log Message
HOLD TIME EXPIRED
Yes
Yes
High CPU utilization on router
Check incorrect interface access list
or
Ping interface with small Layer 1, Layer 2 problem:
(100 byte) packets and then with large -Check switch between the link.
No -Check interface errors.
(1400-1500 byte) packet. Success?
-Check with WAN connection
provider.
-Bad Interface, change
hardware.
Yes
Yes
Figure 7-3 Flowchart for Troubleshooting EIGRP Neighbor Relationship When Getting Neighbor Log RETRY
LIMIT EXCEEDED
Yes
Yes
Figure 7-4 Network Topology Vulnerable to an EIGRP Neighbor Problem Because of a Unidirectional Link
WAN Cloud
RTR A RTR B
X
In Figure 7-4, Routers RTR A and RTR B are connected by a WAN connection. The circuit
from RTR A to RTR B is fine, but the circuit from RTR B to RTR A is broken. The results from
the show ip eigrp neighbor command on RTR A will not show anything because RTR B’s
EIGRP hello packet can’t make it to RTR A. Example 7-1 shows the output from show ip eigrp
neighbor on RTR B.
232 Chapter 7: Troubleshooting EIGRP
RTR B shows RTR A as a neighbor because RTR A’s EIGRP hello packet has no problem
reaching RTR B. From the output of the show command, the SRTT is at 0 ms, the
retransmission timeout (RTO) timer is at 5000 ms, and the Q count is at 4 and is not
decrementing. These three numbers give the biggest clue that this is a unidirectional link
problem. The following is the meaning of SRTT, RTO, and Q count:
• Smooth round-trip time (SRTT)—The number of milliseconds it takes for an
EIGRP packet to be sent to this neighbor and for the local router to receive an
acknowledgment of that packet
• Retransmission timeout (RTO), in milliseconds—The amount of time that the
software waits before retransmitting a packet from the retransmission queue to a
neighbor
• Q count—The number of EIGRP packets (Update, Query, and Reply) that the
software is waiting to send
Referring to Example 7-1, the fact that the SRTT timer is 0 indicates that no acknowledge-
ment packets are being received. The Q count is not decrementing, which indicates that the
router is trying to send EIGRP packets but no acknowledgement is being received. RTR B will
retry 16 times to resend the packet; eventually, RTR B will reset the neighbor relationship
with the log indicating RETRY LIMIT EXCEEDED, and the process starts again. Also, keep
in mind that the 16 times retransmission of the same packet is done using unicast, not
multicast. Therefore, the RETRY LIMIT EXCEEDED message indicates a problem with
transmitting unicast packets over the link, and this is most likely a Layer 1 or Layer 2 problem.
The solution to this problem is to troubleshoot from a Layer 2 perspective. In this example,
a call to the WAN provider is needed to find out why the circuit from RTR B to RTR A is
broken. After the link between RTR B to RTR A is fixed, the problem will be resolved.
Output from show ip eigrp neighbors in Example 7-2 shows that the neighbor relationship
after the WAN link has been fixed.
Example 7-2 show ip eigrp neighbors Command Output Confirms Problem Resolution
RtrB#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 10.88.18.2 S0 14 01:26:30 149 894 0 291
Notice that the Q count column is 0 and that the SRTT and RTO have valid values now.
Troubleshooting EIGRP Neighbor Relationships 233
Figure 7-5 shows the flowchart for troubleshooting the problem when the “Neighbor not on
common subnet” error appears on the router.
Double-check interface
configuration. Misconfigured IP Correct the IP address
Yes
address on interface on local configuration on interface.
and neighboring router?
No
Yes
No
According to the troubleshooting flowchart in Figure 7-5, the three causes of getting the
“EIGRP neighbor not on common subnet” error message are the following:
• The IP address has been misconfigured on interfaces.
• The primary and secondary IP addresses of the neighboring interface don’t match.
• A switch or hub between the EIGRP neighbor connection is misconfigured or is
leaking multicast packet to other ports.
Figure 7-6 Network Topology Vulnerable to EIGRP Neighbor Problems Because of Primary and Secondary
IP Address Mismatch
Router A Router B
Primary: 10.1.1.1/24
Primary: 10.1.1.2/24
Secondary: 50.1.1.1/24 Secondary: 50.1.1.2/24
Router C
Troubleshooting EIGRP Neighbor Relationships 235
In Figure 7-6, Router A and Router B have a primary address in the 10.1.1.0/24 network
range, while Router C has an address range of 50.1.1.0/24 configured. When Router A or
Router B sends out the EIGRP hello packet, the source of the hello packet will be either
10.1.1.1 or 10.1.1.2, depending on which router sends out the hello. When Router C
receives the hello packet from Router A or Router B, it notices that the source is from the
10.1.1.0 network. Because Router C has an IP address of 50.1.1.3 configured on the
interface, Router C will not process the hello packet from Router A or Router B because
they are from a different network. Therefore, no neighbor relationship is formed from
Router C to either Router A or Router B.
The solution for this example is to match all the IP addresses on the segment to the
primary address space. For the network in Figure 7-6, you need to configure Router C to
be in the primary address space of 10.1.1.0/24.
Figure 7-7 Network Topology Vulnerable to EIGRP Neighbor Problems Because of Mismatched Masks
Router A
10.1.1.2/25 10.1.3.1/24
10.1.1.1/24 10.1.3.2/24
Router B Router C
10.1.2.1/24 10.1.2.2/24
Notice the mismatched mask on the serial interface of Router A and Router B. Router A has
a mask of 255.255.255.128, while Router B has a mask of 255.255.255.0 on Serial 0.
Initially, EIGRP has no problem forming the neighbor between Router A and Router B
because 10.1.1.1 and 10.1.1.2 are in the same subnet. The problem occurs when a neighbor
relationship is established and Router A and Router B begin to exchange EIGRP topology
tables and install routes based on the EIGRP topology table, as demonstrated in Example 7-4.
Troubleshooting EIGRP Neighbor Relationships 237
When Router B sends Router A an EIGRP update, Router A responds to the update with an
EIGRP acknowledgement packet with a destination address of 10.1.1.1 to Router B. When
Router B receives the packet, it forwards the ACK packet to Router C instead of processing
it because Router B has a more specific route from Router C. Router B has a more specific
route of 10.1.1.0/25 with the next hop to 10.1.2.2. This /25 route overrides the /24 route
because /25 is more specific than /24. When Router C receives the ACK packet from Router
B, it looks at its routing table for the 10.1.1.1 entry, and the routing table points to Router
A. Router C then forwards the ACK