SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
In this book, a leading expert on Cisco routing offers in-depth coverage of four key intra-domain protocols -- RIP, IGRP, OSPF, and EIGRP. Unlike other books on Cisco protocols, Alex Zinin shows you exactly what's happening inside your routers when you use these protocols -- so you can maximize your control over them, and leverage their full power. Cisco IP Routing demystifies even the most complex internals of Cisco IP routing with clear explanations, extensive visuals, and many real-world examples, configurations, and network designs. The heart of the book is its coverage of dynamic routing, starting with theory and then moving to the practical details of effective configuration. Alex Zinin also presents in-depth coverage of controlling routing by altering update flow, redistribution, and policy routing. For all network administrators, other Cisco networking professionals, and anyone preparing for Cisco's top-of-the-line CCIE exam.
Routing and Forwarding Processes
Click below for Sample Chapter related to this title:
zininch3.pdf
Preface.
1. Overview of Cisco Routers.
Description of a Cisco Router.
Interfacing With Routers.
Router Configuration.
Monitoring and Troubleshooting Tools.
The Test Lab.
References.
IP Addressing.
Subnetting.
Special Addressing Rules.
Classful and Classless Addressing.
Variable Length Subnet Masks.
IP Addressing Details In Cisco Routers.
Frequently Asked Questions.
References.
Packet-Switched Technologies.
Router Operation Overview.
Routing Information Sources.
Static Routing.
Dynamic Routing.
Default Routing.
Basic Forwarding Algorithm.
Classful Routing Operations.
Classless Routing Operations.
Routing Information Sources.
Routing Table Maintenance.
Summary.
Frequently Asked Questions.
Overview of IP Forwarding.
Packet Input.
Forwarding Engine.
Packet Delivery.
Forwarding Methods in Cisco IOS.
Load Sharing in Cisco IOS.
Summary.
Frequently Asked Questions.
References.
Static Routes in Cisco Routers.
Backup Static Routes.
Using Static Routes in NBMA and Dialup Environments.
Default Routes.
Routing Loops and Discard Routes.
Implementation Scenarios.
Frequently Asked Questions.
Common Functionality of Dynamic Routing Protocols.
Routing Protocol Configuration.
Routing Protocol Data Structures.
Route Redistribution.
Events Processed by Routing Protocols.
Summary.
Frequently Asked Questions.
References.
Distance-Vector Principles.
Routing Information Protocol.
Interior Gateway Routing Protocol.
References.
Introduction to Link-State Routing.
Open Shortest Path First (OSPF).
References.
Basic Description and History.
Theoretical Basis.
Subsystems and Data Structures.
Message Format.
Input Processing.
Internal Event Processing.
Sending EIGRP Packets.
Shortest Path Calculation.
Default Route Support.
Route Aggregation.
EIGRP Stub Router Extension.
EIGRP Configuration.
Configuration Examples.
The role of the Internet today cannot be overestimated. It has become a part of our culture. Children learn how to use the Internet at school. Millions of people start their day by checking the e-mail messages. Internet connectivity is not considered as something extraordinary anymore. People use the Internet every day, as they have been using cars or TV sets for decades. More and more devices become connected to the Internet. These are not limited to servers and personal computers anymore. Electronic organizers, cellular phones, TV sets, and many other types of equipment come with the Internet applications. Digital video cameras and phones are connected to the Internet to instantly cast data to remote users around the globe.
The value of the Internet is definitely not in its just being a global network, but in the resources available through this network. Resources are provided and used by the end devices (for example, servers and personal computers)--the largest part of the Internet. The other part of it is the intermediate network devices or routers. The role of the routers is to provide connectivity between the end devices by properly forwarding the packets of the Internet Protocol (IP) that end devices send to each other in order to exchange data such as e-mail messages or the contents of the web pages. In order to deliver IP packets to their destinations successfully, routers communicate the network reachability information to each other using routing protocols. The information provided by the routing protocols allows the routers to calculate the paths to remote networks. All routing protocols are divided into two groups--intra-domain and inter-domain. Intra-domain routing protocols (for exampl! e, RIP or OSPF) are used for routing within an elementary block of the Internet architecture (an autonomous system or domain), while inter-domain protocols (the Internet is using BGPv4 today) are used to exchange routing information among these blocks.
Cisco routers are the most widely spread network devices in the Internet today. They are used to provide connectivity to the end users, aggregate traffic from multiple access devices, and perform routing in the Internet backbone. This book describes very deep details of Cisco routers functionality with the emphasis on packet forwarding and intra-domain dynamic routing protocols.
Quite a few very high quality books on IP, IP routing, IP network design, and configuration of Cisco routers have recently become available. However, it is still hard to find detailed explanation of the processes happening inside the routers. Nevertheless, this knowledge is vital for network professionals to be able to properly configure and efficiently troubleshoot Cisco routers.
This book does not teach how to build networks. It also does not teach the basics of the IP protocol or Cisco routers. Instead, it is written to thoroughly explain a very limited set of questions--IP routing and IP forwarding inside Cisco routers. The goal of this book is to give the reader a very deep understanding of the routing and forwarding technologies in general and in connection with their implementation in Cisco routers. The contents are intended to make sure the reader feels the details instead of just memorizing them. The book also clarifies a great number of very common misunderstandings about IP routing technologies and Cisco routers in particular.
An important condition that applies to the readers of this book is the presence of at least basic knowledge of IP and Cisco routers. Even though the book provides some introduction to these topics, the reader is assumed to have spent some time in the lab with Cisco routers and be familiar with such notions as TCP/IP, ARP, or Ethernet.
Except for this reservation, the book is addressed to a wide range of readers. This includes IP network architects, engineers and operators that would like to know more details on IP routing technologies and processes inside Cisco routers, network engineers preparing for the Cisco certified internetworking engineer (CCIE) examination, network support and consulting engineers, and so on.
The book consists of ten chapters. The first three chapters refresh the knowledge of Cisco routers, IP addressing and routing technologies that is required for the rest of the book. Remain chapters guide the reader through a thorough explanation of the generic routing and forwarding mechanisms inside Cisco routers and intra-domain IP routing protocols. Brief description of each chapter of the book follows.
Chapter 1--Introduction. Chapter 1 provides brief overview of Cisco routers including basic information on routers' hardware and software, configuration and monitoring. This chapter clarifies some points important for other chapters and describes the lab network used in the illustrations.
Chapter 2--IP addressing review. This part of the book explains topics that are important for the routing discussion--classful IP addressing and subnetting, classless IP addressing, and variable length subnet masks.
Chapter 3--Routing and forwarding processes. This chapter sets required background for a detailed discussion on specific routing technologies. The reader is familiarized with the fundamental networking concepts and router operation algorithms. The difference between routing and forwarding processes is explained. It is followed by a description of the sources of routing information and more detailed discussions on each source and the principles of default routing. The chapter also explains the basic forwarding algorithm and the differences between classful and classless routing operations.
Chapter 4--Routing table maintenance. Chapter 4 provides a very detailed discussion on how routing information is organized and maintained in Cisco routers. The chapter starts with a thorough explanation of each source of routing information. The second part of the chapter is dedicated to the routing table maintenance process. This includes processing of connected, static and dynamic routes, as well as the default route selection algorithm.
Chapter 5--Packet forwarding. Chapter 5 describes in detail the IP packet forwarding process--the module that actually uses information in the routing table to move packets from one interface to another. The chapter starts with the forwarding process overview, followed by a systematic explanation of each stage. Packet switching mechanisms available in Cisco IOS, including fast, optimum, distributed, NetFlow switching and Cisco Express Forwarding are described in the following section. The chapter ends with a discussion on the load sharing techniques available in Cisco routers.
Chapter 6--Static routes. This chapter provides a complete description of static routes in Cisco IOS. This includes the details on recursive static routes, static routes via interfaces, backup (floating), default and discard static routes. The chapter also includes implementation scenarios that help the reader understand the issues and tradeoffs involved into managing of a network using static routes.
Chapter 7--Dynamic routing protocols in Cisco IOS. Chapter 7 provides information about generic mechanisms used by the dynamic routing protocols. This includes basic routing protocol configuration, data structures, routes redistribution and event processing.
Chapter 8--Distance vector routing protocols. This chapter begins with a discussion on principles of distance-vector routing and, specifically, the Bellman-Ford algorithm. Very detailed descriptions of two distance-vector IP routing protocols--Routing Information Protocol (RIP) and Interior Gateway Routing Protocol (IGRP)-are provided. Each protocol description includes information on protocol packet formats, input message and event processing, outbound message generation, as well as the configuration commands and examples.
Chapter 9--Link-state routing protocols. Chapter 9 describes the mechanisms of link-state routing in general and a link-state routing protocol-Open Shortest Path First (OSPF). The first part of the chapter gives a very detailed explanation of the link-state routing concepts, including the Dijkstra algorithm, link-state database synchronization and flooding. An overview of the two link-state routing protocols (integrated IS-IS, and OSPF) currently used in IP world is given as well. The second part of the chapter provides a complete guide to the OSPF protocol and details of Cisco's OSPF implementation. Practically every aspect of the protocol is explained very thoroughly in this section. The chapter is completed with information on OSPF configuration commands and configuration examples.
Chapter 10--Enhanced IGRP. This chapter gives a detailed explanation of enhanced IGRP (EIGRP)--a Cisco's proprietary routing protocol, based on the diffusing update calculation algorithm. The chapter introduces the concepts of EIGRP by showing how the protocol solves real-life problems in the distance-vector protocols. As in the previous chapters, full description of EIGRP packets, message and event processing, as well as update generation is included. The chapter also discusses the topics of the default route support and route aggregation in EIGRP, followed by a description of the EIGRP stub router extension. Sections on EIGRP configuration and configuration examples conclude the chapter.
When this book was being written, the emphasis was made on explaining why certain things work in a specific way, not just how they work. This is why practically every chapter in the book contains a theoretical introduction to the topic. The core of every chapter is the actual explanation of specific mechanisms inside the router. In most of the cases, discussions on specific topics are given in the context of Cisco's implementation of the algorithms and mechanisms, illustrated with logs from real Cisco routers.
The book contains description of many algorithms. All of them are described in human language, and for some of them a pseudocode definition is given for better understanding.
Chapters 4 through 10 also contain sections that answer the most frequently asked questions about a specific technology.
The author would like to note that pseudocode used in this book is not a recompilation of the Cisco IOS source code and any similarity between the two is accidental.
dynamic changes, 6, 6l, 78
see also debug commands; ping command; show commands; Traceroute toolunicast Reverse-Path Forwarding (RPF) check, 35
see also VLSMand default routes, 62-63
example, 63-64, 64frouting table lookup algorithm, 64, 237-238
examples, 152-155types of addresses
major network, 149-150
subnet, 148-149
Ethernet segment connection example, 69, 69f, 70l
example of IOS route install, 68l-69l
full-mesh, 296, 296f, 297ltriggered updates, 306-307
partial mesh, 297, 297f, 298f
configuration commands, 76-78events processed, 290-291
and metrics, 85
no packet forwarding, 66
basic commands, 587-592default route support, 578
in CIDR environment, 592-596
manual route summarization, 605-607
route redistribution/filtering/and route maps, 607-611, 612l
topology, 586-587, 586f
variance parameters, 596-597
examples, 597-604DUAL algorithm/module, 551, 552-553
events, 558, 559tfeasible successor concept, 554
route states, 559t
and update processing, 573-574
parameters/combinations, 558, 559tgeneral characteristics, 552t
body see TLVsmultiple routes/metrics, 85, 292, 554
header fields, 565-566
and administrative control, 581and neighbors, 572, 613
example, 555-558
FD (feasible distance), 554protocol-specific modules, 560
RD (reported distance), 554
cooperation, 561fqueries/replies, 574
Hellos, 576shortest-path calculation, 577-578
replies, 577
updates/queries, 576-577
modifications to regular EIGRP behavior, 580-581timers, 582
SIA (stuck-in-active), 557, 558l, 579topology database, 554, 561, 564l, 613
fields/information, 564-565, 589ltransport module, 560, 562
link-state update package and processing steps, 473-476, 474frequirements, 415
LSA distribution, 477-478
LSA installation and SPF scheduling, 476-477
new information sources, 473
special cases, 478-479
address mask, 49, 157data structures (packet), 48
IP address, 49
IP status, 49
IP unnumbered flag, 49
state, 48
type, 48
default candidate, 49initiation of packet-delivery procedure, 50
network prefix, 49
paths (intermediate address), 49
paths (outbound interface), 49
see also Packet-delivery processoutline of router function, 49-50
cloud, 183
static routes, 247-248
error, 242-243
and dynamic neighbor discovery, 449
incoming (processing), 451-452
packet formats, 448-449, 448f
rules per media, 450-451
tasks, 447
basic configuration, 389l-390lconsiderations, 402-403
basic configuration/route details, 392l
basic configuration/routing tables, 391l
default routing, 395, 396l-397l
redistribution, 397l-398l
selecting routes with more available bandwidth, 392l-393l
subnet mask change, 399l-401l
unequal cost load-sharing, 393-395
header, 383-385, 383l, 384fmessage types
source and destination address setting, 383
request, 384-385multiple routes/metrics, 85, 379, 380, 382
update, 385
alternatives, 31
address class/ranges, 17-18, 17f, 18t
address mask, 16-17, 17l
addressing conventions, 20-21
destination address, 15, 48
source address, 15
TOS byte, 225
see also Classful addressing; Classless addressing
address ranges, 19-20, 20t-21t
see also VLSM
ForIf/interface message creation steps, 341, 342l-343l
age-check algorithm, 416-417Dijkstra algorithm, 408-413
asynchronous distribution, 415
see also Flooding algorithm
leaf entries, 408, 408fsee also IS-IS; LSAs; OSPF
shortest-path tree (SPT), 407-408
(AS-external-LSAs), 493-495group pacing, 508-509
formats, 495-496, 496f, 502f
rules, 496-497
and link records, 469-470router steps, 471-472
link records, 470-471
lists, 198loopback, 184
packet delivery, 196-201
sample configuration, 200
packet delivery, 203-204multilink, 184
packet delivery, 204-205subinterface, 184-185, 185l, 186f
configuration, 202-203virtual-access, 184
packet delivery, 201-202
procedures, 456-458external routing information areas, 493-495, 504
normal, 423fragmentation issues, 445
not-so-stubby (NSSA), 424, 500, 501f, 502-504, 503f
stub, 423, 499-500
area data structure, 429-430implementation details, 508
information block, 428-429
LSA group pacing, 508-509interface data structure, 431-433
packet pacing, 508
events, 453-454, 455t, 456fintra-area functionality, 436-437
subprocesses, 437, 438floopback states, 443
see also LSAs
alternatives, 441neighbor data structures, 433
and Hello subprotocol, 449
fields, 434-435neighbor FSM, 461, 462t-463t, 465, 467f
events, 460-461network types, 439
distance-vector approach, 492route calculation/partial calculation, 509
external, 498-499
inter-area, 486-487
preference rules, 506
via network topology, 46, 427-428, 470-480
external, 425Router-ID, 482
inter-area, 425, 427, 536l
intra-area, 425, 436
area border routers (ABRs), 423, 490-493, 492f, 504, 536l-537lsession stages, 461
autonomous system boundary routers (ASBRs), 423, 495, 497-498
flow of information, 483-485, 484f
adjacency establishment, 420transport protocol and packet formats, 443
LSA flooding and LSDB maintenance, 423, 437-438
LSA origination and flushing, 420
routing table calculation, 423
see also Hello subprotocol
header fields, 443-444, 443fvirtual links, 442, 485, 488-490, 490f, 491f, 493
hub and spoke, 532-533general parameters, 510-514
multiple areas, 533-538
NSSA, 544-547
over Frame Relay Cloud, 529f, 530-531
route redistribution and stub areas, 540-544
single-area configuration, 525-528
virtual links/backbone interface, 538-540
examples, 179-181see also IpPolicyRoute() function
see also Administrative distance; Route source selectionparallel, 89l-90l, 159
algorithm, 285resolvability, 115-118
case example, 281-282
paths for directly connected routes, 285-286
redistribute router configuration command, 282, 282l-283l, 283
see also Route maps
dynamic propagation, 46, 48fdomain, 45
sources, 38f, 41-42, 65updates, 45
see also Routing table structure (Cisco routers)
basic configuration, 357l-358lconfiguration parameters, 311-315, 352
basic configuration/routing table entries, 358, 358l-360l, 360
route redistribution from dynamic routing protocols, 367, 367f, 368l-371l
static routing connection, 365l-366l
test lab, 356-357, 356f
uniform offset list for every serial interface/all routers, 362, 362l-365l
version 2 routing tables, 360l-362l
information database, 315database, 352
interface information block parameters, 311-312
route redistribution, 355-356
setting split-horizon flag, 312, 312l, 353
timers, 315, 354-355
version, 353
alternative routes, 351-352event processing (external), 335
presumption of reachability, 351
interface state change (up/down), 336-337event processing (internal)
IPRIPIntEventHandler(), 335l-336l
redistributed route, 337-338
garbage collection route timer expiration, 332-333general characteristics, 313t
holddown route timer expiration, 331-332
invalid route timer expiration, 330
IPRIPUpdate() function, 329, 338, 338l-340l
logic, 336t
periodic/triggered update or general request response, 329, 335
algorithm function, 318-319message format, 315, 315l-316l
reply processing routine, 320, 321l
request processing routine, 319-320
sanity check, 319
address family identifier (AFI), 317message processing, 322-323, 373f
general vs. specific request, 317-318
header, 317
v1, 316f
adding an entry, 346-347message types, 317
IPRIPComposeRoute() function, 325-326, 325l
IPRIPGetMask() function, 324l-325l, 325
IPRIPSanityEntry() function, 323l-324l, 324
timers, 328-329
update steps, 327-328
for demand circuits, 351neighbor and network discovery, 270, 374
logic, 340-341state machine, 333, 334f
using IPRIPUpdate() function, 338, 338l-340l
events, 333-335v1/v2, 45, 310
authentication subheader, 349f
input processing changes, 348-349
message entry format, 348f
message sending changes, 349-350
usage, 279events processed, 290-291
see also Interface data structures; Protocol descriptors
algorithm, 113sample, 65l-66l
deletion consequences, 113
interface going up/down, 111, 118-121, 119l, 120l, 121l
IP processing enabled/disabled on an interface, 112, 121-122
Route installation/deletion requested, 112, 124, 124l-125l
Route marked as default candidate/deleted, 112-113
route selection, 101-103, 102f
Secondary IP address added/deleted to an interface, 112, 123-124
Distributed Services method, 219
and contents of TNetworkInfo record, 86lshow running, 26, 27l
EIGRP route examples, 588l, 599l-600l, 611l
and path descriptors, 90-91, 90l
and routing table hierarchy, 82, 83f, 84l
central and branch offices (partial mesh), 259-265, 260fin NBMA and dial-up environments, 247-248, 248f
ISP and one customer, 255-259, 256f
loops, 246, 250, 251f, 252-253
adding/deleting, 126-127resolution of intermediate network address, 79-80
delete unresolvable routes, 128, 128l-129l
deletion examples, 132-133
installation examples, 130-132
objectives, 133
of pending static routes, 129-130
scheduling, 128
and classful routing table lookup, 139-143routing protocol, 41, 42-44, 43f
both interfaces and next-hop addresses, 242
interfaces only reference, 242
intermediate network addresses only, 243-244, 244f
adjacency table, 223-224Fast switching, 205, 208-209, 208f, 214
characteristics, 220-221
configuration, 225
cooperation with switching-methods code, 221-222, 221f
enabling, 239
FIB (Forwarding Information Base), 220, 222-223
load sharing, 234-237
administrative display, 212-214NetFlow switching, 206
dynamic cache, 211-212
half-fast switched features, 211
invalidation timers, 212
per destination load sharing, 232-233
and route cache entries, 209-211
configuration, 227Optimum switching, 206, 215-216
and data export, 228
display, 227l-228l
flow cache entries, 226-227
objectives, 225
and packet processing, 226
datagram networks, 33, 34-35process switching, 205, 208f
IP networks, 39
virtual-circuits (VC), 33-34
and load sharing, 230-232Tag switching, 206
performance considerations, 206-208
and Frame Relay Cloud, 529, 529fRIP configuration examples, 356-357, 356f
hub and spoke, 532
multiple areas, 535f
static routes, 247-248and packet-delivery process, 51-52