Muutke küpsiste eelistusi

IP Routing Protocols: Two-Volume Set [Multiple-component retail product]

  • Formaat: Multiple-component retail product, 768 pages, kõrgus x laius: 234x156 mm, kaal: 1580 g, 6 Tables, black and white; 84 Line drawings, black and white; 146 Halftones, black and white; 230 Illustrations, black and white, Contains 2 hardbacks
  • Ilmumisaeg: 26-May-2021
  • Kirjastus: CRC Press
  • ISBN-10: 0367710404
  • ISBN-13: 9780367710408
  • Formaat: Multiple-component retail product, 768 pages, kõrgus x laius: 234x156 mm, kaal: 1580 g, 6 Tables, black and white; 84 Line drawings, black and white; 146 Halftones, black and white; 230 Illustrations, black and white, Contains 2 hardbacks
  • Ilmumisaeg: 26-May-2021
  • Kirjastus: CRC Press
  • ISBN-10: 0367710404
  • ISBN-13: 9780367710408
This two-volume book describes the most common IP routing protocols used today, explaining the underlying concepts of each protocol and how the protocol components and processes fit within the typical router. Unlike other books, this title is not vendor focused. Volume 1 discusses fundamental concepts of IP routing and distance-vector routing protocols (RIPv2 and EIGRP). Volume 2 focuses on link-state routing protocols (OSPF and IS-IS) and the only path-vector routing protocol in use today (BGP). The volumes explain the types of databases each routing protocol uses, how the databases are constructed and managed, and how the various protocol components and processes, relate and interact with the databases. They also describe the routing protocols from a systems perspective, recognizing the most important routing and packet forwarding components and functions of a router. An illustrated description of IP routing protocols is given using real-world network examples. The books are presented from a practicing engineer’s perspective, linking theory and fundamental concepts to common practices and real-world examples. The discussion is presented in a simple style to make it comprehensible and appealing to undergraduate and graduate level students, research and practicing engineers, scientists, IT personnel, and network engineers.
IP Routing Protocols: Fundamentals and Distance-Vector Routing Protocols
Preface
xv
Author
xxi
Chapter 1 Introduction to IP Routing Protocols
1(24)
1.1 Why We Need Routing Protocols
1(1)
1.2 Routing Methods
1(10)
1.2.1 Directly Connected Interface
2(1)
1.2.2 Static Routing
3(1)
1.2.3 Default Routing
4(1)
1.2.3.1 Default Route for an IP Host
4(1)
1.2.3.2 Default Route in a Router
4(1)
1.2.4 Dynamic Routing Protocols
5(6)
1.2.4.1 Routing Updates
8(1)
1.2.4.2 Periodic versus Triggered Routing Updates
8(1)
1.2.4.3 Routing Information Authentication
9(1)
1.2.4.4 Routing Information and Network Convergence
10(1)
1.3 Autonomous System
11(4)
1.3.1 What Is a Network Prefix and a Route?
11(1)
1.3.2 Autonomous System Numbers (ASNs)
12(1)
1.3.3 Multiple Routing Domains in an Autonomous System
13(1)
1.3.4 Types of Autonomous Systems
14(1)
1.4 Routing Metrics and Costs
15(5)
1.4.1 Hop Count
15(2)
1.4.1.1 Network Diameter: Maximum Hop Count
16(1)
1.4.1.2 "Infinity" Hop Count as a Signaling Mechanism for Network Failures
17(1)
1.4.1.3 Limitations of the Hop Count as a Routing Metric
17(1)
1.4.2 Bandwidth
17(1)
1.4.3 Delay
18(1)
1.4.4 Traffic Load
18(1)
1.4.5 Reliability
18(1)
1.4.6 Cost
19(1)
1.4.6.1 Example: OSPF Cost
19(1)
1.4.6.2 Cost Based on Interface Bandwidth
19(1)
1.5 Classification of Routing Protocols
20(2)
1.5.1 Interior versus Exterior Routing Protocols
21(1)
1.6 Least-Cost Routing
22(2)
Review Questions
24(1)
References
24(1)
Chapter 2 Types of Dynamic Routing Protocols
25(52)
2.1 Introduction
25(1)
2.2 Distance-Vector Routing Protocols
25(19)
2.2.1 Basic Characteristics of Distance-Vector Routing Protocols
25(5)
2.2.2 Distance-Vector Routing Protocol Operations
30(1)
2.2.3 What Is a Rooting Loop?
31(1)
2.2.4 Routing Loops and Workarounds - Enhancing the Performance of Distance-Vector Routing Protocols
32(12)
2.2.4.1 Initial Full Routing Table Update and Periodic Updates
33(1)
2.2.4.2 Route Maintenance and Invalidation Timers
34(2)
2.2.4.3 Holddown Timers
36(2)
2.2.4.4 Triggered Updates
38(1)
2.2.4.5 Count-to-Infinity (Maximum Hop Count)
39(2)
2.2.4.6 Poison Reverse
41(1)
2.2.4.7 Split Horizon
42(2)
2.3 Link-State Routing Protocols
44(13)
2.3.1 OSPF versus IS-IS Metrics
45(1)
2.3.2 Basic Characteristics of Link-State Routing Protocols
46(1)
2.3.3 Link-State Routing Protocol Operations
47(10)
2.3.3.1 Neighbor Discovery
48(2)
2.3.3.2 Link-State Flooding
50(1)
2.3.3.3 Link-State Database
51(1)
2.3.3.4 Link-State Routing Process
52(1)
2.3.3.5 Calculating the Shortest Paths and Constructing the Routing Table
53(3)
2.3.3.6 Areas
56(1)
2.4 Path-Vector Routing Protocols
57(11)
2.4.1 Why an IGP Is Not Recommended for Routing between Routing Domains or Autonomous Systems
58(2)
2.4.2 Using an EGP between Routing Domains: Path-Vector Routing Protocol
60(2)
2.4.3 BGP: A Path-Vector Routing Protocol
62(4)
2.4.3.1 Internal and External BGP Peering
63(1)
2.4.3.2 Basic Characteristics of BGP Routes
63(2)
2.4.3.3 BGP Autonomous System Path Advertisement
65(1)
2.4.3.4 Loop-Free Paths within an Autonomous System
65(1)
2.4.3.5 Manually Configured BGP Connections over TCP
65(1)
2.4.4 BGP and Path Attributes
66(2)
2.5 The IP Routing Table and Selection of Best Paths
68(5)
2.5.1 Path Metrics and Routing Protocols
68(1)
2.5.1.1 Equal-Cost Multipath (ECMP) Routing
69(1)
2.5.2 Administrative Distance and Route Selection
69(2)
2.5.2.1 Administrative Distance Use Case Example
70(1)
2.5.3 Prefix Length and Longest Prefix Matching Lookup
71(2)
Review Questions
73(1)
References
74(3)
Chapter 3 Routing and Forwarding Tables in Routing Devices
77(22)
3.1 Introduction
77(1)
3.2 Functional Components of an IP Router
77(3)
3.2.1 IP Control Engine (or Route Processor)
77(2)
3.2.2 IP Forwarding Engine
79(1)
3.3 High-Level Router Architectures
80(5)
3.3.1 Router Architectures with Centralized Forwarding Engine
80(1)
3.3.2 Router Architecture with Multiple Centralized Forwarding Engines
81(1)
3.3.3 Router Architecture with Distributed Forwarding Engines
82(2)
3.3.4 Control Plane Redundancy
84(1)
3.4 IP Routing and Forwarding Tables
85(7)
3.4.1 Routing Table
85(6)
3.4.1.1 Routing Table Entries
85(3)
3.4.1.2 Routing Tables in a Router with Multiple Protocols
88(2)
3.4.1.3 Types of Unicast Routing Tables
90(1)
3.4.1.4 Aggregate or Summary Routes in the Routing Table
91(1)
3.4.2 Forwarding Table
91(1)
3.5 A Note on Layer
2. Adjacency Table
92(1)
3.6 IP Forwarding Operations
92(3)
3.6.1 Handling Special Addresses During Packet Forwarding
94(1)
3.7 Redistributing Routing Information and Routing Metric Translation
95(2)
3.7.1 The Need for Route Redistribution
95(1)
3.7.2 Filtering Inbound and Outbound Routing Information
95(1)
3.7.3 The Need for Routing Metric Translation
96(1)
Review Questions
97(1)
References
98(1)
Chapter 4 Static Routes in the Routing Table
99(16)
4.1 Introduction
99(1)
4.2 Benefits of Dynamic Routing Protocols
99(1)
4.3 Benefits of Static Routing
100(3)
4.4 Configuring Dynamic Routing versus Static Routing
103(1)
4.5 Standard Static Route
104(2)
4.5.1 Concept of Qualified Next Hop
105(1)
4.6 Default Static Route
106(2)
4.7 Summary Static Route
108(3)
4.8 Floating Static Route
111(2)
Review Questions
113(1)
References
113(2)
Chapter 5 Routing Information Protocol (RIP)
115(32)
5.1 Introduction
115(1)
5.2 Routing Protocols and Their Databases
115(2)
5.3 RIP Overview
117(1)
5.4 RIPv2 Message Format and Other Characteristics
117(5)
5.4.1 RIPv2 Message Format
118(1)
5.4.2 Interpreting the Address Family Identifier (AFI) Field in RIPv2
119(1)
5.4.3 RIPv2 Routing Table
120(1)
5.4.4 RIPv2 Timers
120(1)
5.4.5 RIPv2 Request Message
120(1)
5.4.6 RIPv2 Response Messages
121(1)
5.4.7 Sending and Receiving RIPv2 Request and Response Messages
122(1)
5.5 RIPv2 Authentication
122(6)
5.5.1 Plaintext Authentication
123(1)
5.5.2 Cryptographic Authentication
124(4)
5.5.2.1 RIPv2 Authentication Message Generation
126(1)
5.5.2.2 RIPv2 Authentication Message Reception
127(1)
5.6 High-Level RIP Router Architecture, Processes, and Databases
128(12)
5.6.1 The RIP Process
129(1)
5.6.2 The Management Process
129(8)
5.6.2.1 The Route Store Process
131(1)
5.6.2.2 The Interface Manager
132(2)
5.6.2.3 The Sockets Manager
134(3)
5.6.2.4 The Redistribution Manager
137(1)
5.6.3 The Routing Table Manager Process
137(3)
5.7 Filtering Routing Updates in RIP
140(2)
5.7.1 Configuration of Passive Interface to Prevent or Restrict Routing Updates
140(1)
5.7.2 Filtering Routes in Incoming and Outgoing Routing Updates
141(8)
5.7.2.1 Distribute-list In
141(1)
5.7.2.2 Distribute-list Out
142(1)
5.8 Summary of RIPv2 Features
142(2)
Review Questions
144(1)
References
144(3)
Chapter 6 Enhanced Interior Gateway Routing Protocol (EIGRP)
147(62)
6.1 Introduction
147(1)
6.2 EIGRP Overview
147(2)
6.3 EIGRP Concepts
149(6)
6.3.1 Reliable Transport Protocol
149(2)
6.3.2 Main EIGRP Databases
151(3)
6.3.2.1 Neighbor Table
151(1)
6.3.2.2 Topology Table
152(1)
6.3.2.3 Routing Table
153(1)
6.3.2.4 Other EIGRP Concepts
154(1)
6.3.3 Neighbor Formation
154(1)
6.4 EIGRP Message Types
155(10)
6.4.1 HELLO Packets
157(2)
6.4.2 UPDATE Packets
159(1)
6.4.3 QUERY Packets
159(1)
6.4.4 REPLY Packets
160(1)
6.4.5 REQUEST Packets
161(1)
6.4.6 EIGRP TLVs
161(2)
6.4.7 EIGRP Flags Field
163(2)
6.5 EIGRP Metrics
165(2)
6.6 Feasible and Reported Distance
167(1)
6.6.1 Feasible Distance
167(1)
6.6.2 Reported (or Advertised) Distance
167(1)
6.7 Successor and Feasible Successor
168(4)
6.7.1 Successor
168(2)
6.7.2 Feasible Successor
170(2)
6.8 Route States: ACTIVE and PASSIVE States
172(3)
6.8.1 PASSIVE State
172(1)
6.8.2 ACTIVE State
173(1)
6.8.3 Comments on Feasible Successors when a Route Is in the PASSIVE or ACTIVE State
174(1)
6.9 Feasibility Condition
175(1)
6.10 EIGRP Diffusing Update Algorithm (DUAL)
176(5)
6.10.1 High-Level Description of DUAL
176(1)
6.10.2 Message Types Used by DUAL
177(1)
6.10.3 Some Behaviors of DUAL
178(1)
6.10.4 Stuck-In-Active (SIA) and the Use of SIA-QUERY and SIA-REPLY Messages
179(2)
6.10.4.1 Stuck-In-Active (SIA)
179(1)
6.10.4.2 SIA-QUERY
180(1)
6.10.4.3 SIA-REPLY
181(1)
6.11 EIGRP Neighbor Discovery and Maintenance
181(3)
6.11.1 Neighbor Hold Time
182(1)
6.11.2 Use of HELLO Packets
182(1)
6.11.3 Use of UPDATE Packets
183(1)
6.11.4 Use of QUERY Packets
183(1)
6.12 Building the EIGRP Topology Table
184(3)
6.12.1 Route Management
184(2)
6.12.1.1 Internal Routes
184(1)
6.12.1.2 External Routes
185(1)
6.12.2 Use of Split Horizon and Poison Reverse
186(1)
6.13 Initial Neighbor and Route Discovery
187(2)
6.14 EIGRP Load Balancing
189(2)
6.15 EIGRP Route Redistribution
191(2)
6.16 EIGRP Route Summarization
193(1)
6.16.1 Auto-summarization
193(1)
6.16.2 Manual Summarization
194(1)
6.17 EIGRP Authentication
194(3)
6.17.1 Simple Password Authentication
195(1)
6.17.2 MD5 Authentication
195(2)
6.18 High-Level EIGRP Router Architecture, Processes, and Databases
197(9)
6.18.1 Neighbor Table
198(1)
6.18.2 Topology Table
198(1)
6.18.3 Routing Table
199(1)
6.18.4 Determining Successors and Feasible Successors
200(1)
6.18.5 Populating and Maintaining the Neighbor Table
201(2)
6.18.5.1 Understanding the SRTT, RTO, and Q Cnt Parameters
202(1)
6.18.6 Populating and Maintaining the Routing Table
203(1)
6.18.7 Handling the Loss of a Route to a Network Destination
204(1)
6.18.8 Handling Queries for a Route to a Network Destination
204(1)
6.18.9 Note on Route States, Successors, and Feasible Successors
205(1)
6.19 Summary of EIGRP Features
206(1)
Review Questions.
207(1)
References
207(2)
Chapter 7 Network Path Control and Factors That Affect Routing Table Properties
209(90)
7.1 Introduction
209(1)
7.2 Running Multiple Routing Protocols
209(3)
7.2.1 Running Multiple Overlapping Routing Protocols
210(1)
7.2.2 Running Multiple Non-Overlapping Routing Protocols
210(2)
7.3 The Need for Network Path Control Tools
212(7)
7.3.1 What Is a Routing Policy?
212(3)
7.3.2 Implementing Routing Policies
215(4)
7.3.2.1 Routing Policy Control Points
217(1)
7.3.2.2 Packet Filter Policy Control Points
218(1)
7.3.3 Routing Policies and BGP Attribute Manipulation
219(1)
7.4 What Is Policy-Based Routing (PBR)?
219(2)
7.5 Route Summarization
221(5)
7.5.1 Using of VLSM and CIDR
221(1)
7.5.2 RIP Route Summarization
222(1)
7.5.3 EIGRP Route Summarization
223(1)
7.5.4 OSPF Route Summarization
224(1)
7.5.5 IS-IS Route Summarization
224(1)
7.5.6 Static Route Summarization
225(1)
7.6 Route Redistribution
226(8)
7.6.1 One-Point Route Redistribution
229(2)
7.6.2 Multipoint Route Redistribution
231(3)
7.7 Path Control Tools
234(40)
7.7.1 The Need for Path Control Tools
235(1)
7.7.2 Route Redistribution Configuration Tools
236(4)
7.7.2.1 Redistributing Routes into RIP
236(1)
7.7.2.2 Redistributing Routes into OSPF
237(1)
7.7.2.3 Default Metric for RIP, OSPF, or BGP
238(1)
7.7.2.4 Redistributing Routes into EIGRP
238(1)
7.7.2.5 Default Metric for EIGRP
239(1)
7.7.2.6 Redistributing Routes into BGP
239(1)
7.7.2.7 Redistributing Directly Connected Networks and Static Routes into a Routing Protocol
240(1)
7.7.3 Route Metric: Route Redistribution and the Seed Metric
240(3)
7.7.3.1 Configuring Seed Metrics
240(3)
7.7.4 Administrative Distance and Path Control
243(3)
7.7.4.1 Administrative Distance as a Path Control Tool
243(3)
7.7.5 Route Tagging
246(2)
7.7.6 Passive Interfaces
248(1)
7.7.7 Static Routes
249(3)
7.7.8 Default Routes
252(4)
7.7.8.1 Setting Default Routes Dynamically
252(1)
7.7.8.2 Setting Default Routes Statically
252(1)
7.7.8.3 Configuring Default Routes
253(1)
7.7.8.4 Generating Default Routes in RIP
254(1)
7.7.8.5 Generating Default Routes in EIGRP
254(1)
7.7.8.6 Generating Default Routes in OSPF
254(1)
7.7.8.7 Generating Default Routes in IS-IS
255(1)
7.7.8.8 Generating Default Routes in BGP
256(1)
7.7.9 Route Maps
256(5)
7.7.9.1 Route Map Applications
256(2)
7.7.9.2 Defining a Route Map
258(3)
7.7.10 Distribute Lists
261(2)
7.7.10.1 Filtering Incoming Routing Updates
261(1)
7.7.10.2 Filtering Outgoing Routing Updates
262(1)
7.7.11 Prefix Lists
263(2)
7.7.12 Using Policy Based Routing (PBR) for Path Control
265(2)
7.7.13 Offset Lists
267(1)
7.7.14 IP Service Level Agreement (SLA) Probes
268(6)
7.7.14.1 When to Use Cisco IOS IP SLA Probes
269(1)
7.7.14.2 Workings of Cisco IOS IP SLA Probes
270(4)
7.8 Special Focus: Path Control Tools in BGP
274(16)
7.8.1 BGP Route Filtering and Path Attribute Manipulation
274(2)
7.8.1.1 Identifying BGP Routes
275(1)
7.8.1.2 Accepting/Rejecting BGP Routes
275(1)
7.8.1.3 BGP Path Attribute Manipulation
275(1)
7.8.2 BGP Route Filtering
276(2)
7.8.2.1 BGP AS-Path Filter Lists
276(1)
7.8.2.2 BGP Prefix Lists
277(1)
7.8.2.3 BGP Distribute Lists
278(1)
7.8.2.4 BGP Route Maps
278(1)
7.8.3 Injecting Routing Information into BGP
278(3)
7.8.3.1 Injecting Routes Statically into BGP
279(1)
7.8.3.2 Injecting Routes Dynamically into BGP
280(1)
7.8.3.3 Route Injection and the BGP ORIGIN Attribute
281(1)
7.8.4 BGP AS-Path Prepending: AS-Path Attribute Manipulation Using Dummy Entries
281(2)
7.8.5 Route Aggregation in BGP
283(6)
7.8.5.1 Performing BGP Route Aggregation
284(2)
7.8.5.2 Route Aggregation without AS_SET
286(1)
7.8.5.3 Route Aggregation with AS_SET
286(1)
7.8.5.4 Changing the BGP Attributes of an Aggregate Route
287(1)
7.8.5.5 Advertising the Aggregate Route Only, while Suppressing the More-Specific Routes
288(1)
7.8.5.6 Advertising the Aggregate Route Plus All of the More-Specific Routes
288(1)
7.8.5.7 Advertising the Aggregate Route Plus a Subset of the More-Specific Routes
288(1)
7.8.6 Default Routes in BGP
289(1)
7.8.7 IGP Routes versus BGP Routes: Looking at Backdoors Routes
290(1)
7.9 Unnumbered Interfaces
290(4)
7.9.1 Conserving IP Addresses with Unnumbered Interfaces
290(2)
7.9.2 Configuring IP Unnumbered Interfaces
292(1)
7.9.3 Limitations of IP Unnumbered Interfaces
293(1)
7.9.4 Receiving Routing Updates over IP Unnumbered Interfaces
293(1)
7.9.5 Forwarding IP Packets over IP Unnumbered Interfaces
294(1)
7.10 Routing Protocol Timers
294(2)
Review Questions
296(1)
References
296(3)
Index
299
IP Routing Protocols: Link-State and Path-Vector Routing Protocols
Preface
xvii
Author
xxi
Chapter 1 Open Shortest Path Routing (OSPF) Protocol
1(124)
1.1 Introduction
1(1)
1.2 Overview of OSPF
1(1)
1.3 OSPF Concepts
2(3)
1.4 OSPF Areas and Hierarchical Routing
5(12)
1.4.1 Backbone Area
7(1)
1.4.2 Stub Area, Not-So-Stubby Area and Totally Stubby Area
8(9)
1.4.2.1 Stub Area
9(4)
1.4.2.2 Totally Stubby Area
13(1)
1.4.2.3 Not-So-Stubby Area (NSSA)
14(2)
1.4.2.4 Totally NSSA
16(1)
1.4.3 Transit Area
17(1)
1.5 OSPF Router Types
17(3)
1.5.1 Internal Router
18(1)
1.5.2 Area Border Router (ABR)
18(1)
1.5.3 Backbone Router
19(1)
1.5.4 Autonomous System Boundary Router (ASBR)
19(1)
1.6 OSPF Message Types
20(30)
1.6.1 Well-Known OSPF IPv4 Addresses
21(1)
1.6.2 OSPF Hello Packet
22(4)
1.6.2.1 Communicating Key Parameters
23(1)
1.6.2.2 The Network Mask Field
23(1)
1.6.2.3 The Neighbor Field
23(1)
1.6.2.4 The Hello Interval and Router Dead Interval Fields
23(1)
1.6.2.5 The Options Field
24(1)
1.6.2.6 The Router Priority, Designated Router, and Backup Designated Router Fields
24(1)
1.6.2.7 Sending Hello Packets on Broadcast and Non-Broadcast Network Segments
25(1)
1.6.3 OSPF Database Description Packet
26(5)
1.6.3.1 Rationale Behind the Use of Database Description Packets
26(2)
1.6.3.2 Database Exchange Process and the Master/Slave Relationship
28(2)
1.6.3.3 The Options Field
30(1)
1.6.3.4 The Interface MTU Field
30(1)
1.6.4 OSPF Link-State Request Packet
31(1)
1.6.5 OSPF Link-State Update Packet
32(1)
1.6.6 OSPF Link-State Acknowledgment Packet
33(2)
1.6.7 LSA Formats
35(15)
1.6.7.1 Type 1 LSA: Router-LSA
39(1)
1.6.7.2 Type 2 LSA: Network-LSA
40(2)
1.6.7.3 Type 3 LSA: Summary-LSA
42(3)
1.6.7.4 Type 4 LSA: ASBR-Summary-LSA
45(1)
1.6.7.5 Type 5 LSA: AS-External-LSA
46(2)
1.6.7.6 Type 7 LSA: Not-So-Stubby Area LSA
48(1)
1.6.7.7 Other LSA Types
49(1)
1.7 Sending and Receiving LSAs
50(10)
1.7.1 Originating OSPF LSAs
50(1)
1.7.2 The LSA Flooding Procedure
51(4)
1.7.2.1 First Part of the LSA Flooding Process
51(3)
1.7.2.2 Second Part of the LSA Flooding Process
54(1)
1.7.3 Determining Which LSA Is More Recent
55(1)
1.7.4 When a Router Receives LSAs It Has Originated
56(1)
1.7.5 Retransmitting LSAs and the Use of Link-State Retransmission Lists
57(1)
1.7.6 Installing LSAs in the LSDB
57(2)
1.7.7 Aging the LSDB
59(1)
1.7.8 Premature Aging of LSAs
59(1)
1.8 OSPF Router Identifier
60(2)
1.9 OSPF Network Types
62(3)
1.9.1 Point-to-Point (P2P)
62(1)
1.9.2 Broadcast
63(1)
1.9.3 Non-Broadcast Multiple Access (NBMA)
63(1)
1.9.4 Point-to-Multipoint (P2MP)
64(1)
1.10 OSPF Packet Processing
65(4)
1.10.1 Sending OSPF Packets
65(1)
1.10.2 Receiving OSPF Packets
66(3)
1.11 Neighbor Discovery and Maintenance
69(10)
1.11.1 OSPF Neighbor States
69(3)
1.11.2 OSPF Neighbor Adjacency Formation
72(2)
1.11.3 Formation of OSPF Adjacencies on Broadcast Multiaccess Networks
74(2)
1.11.4 Election of the Designated Router (DR) and Backup Designated Router (BDR)
76(1)
1.11.5 OSPF Adjacencies on Non-Broadcast Multiple Access (NBMA) Networks
77(2)
1.12 OSPF Link-State Database Synchronization
79(2)
1.13 LSDB Synchronization on Multiaccess Networks
81(1)
1.14 Advertising LSDB Changes and OSPF "Paranoid" Updates
82(1)
1.15 OSPF Shortest Path Computations and the IP Routing Table
83(2)
1.16 OSPF Routing Metrics
85(4)
1.16.1 OSPF Metric Types and Routes
86(1)
1.16.2 OSPF Cost Calculation
87(1)
1.16.3 Cost of Intra-Area Routes
88(1)
1.16.4 Cost of Inter-Area Routes
88(1)
1.16.5 Cost of a Default Route in an OSPF Stub Area
89(1)
1.17 OSPF Route Summarization
89(3)
1.17.1 Benefits of OSPF Route Summarization
89(2)
1.17.2 Types of OSPF Route Summarization
91(1)
1.18 OSPF Virtual Links
92(2)
1.18.1 Connecting a Non-Backbone Area to the Backbone Area through a Virtual Link
93(1)
1.18.2 Interconnecting a Split Backbone through a Virtual Link
94(1)
1.19 OSPF Authentication
94(6)
1.19.1 Null Authentication
95(1)
1.19.1.1 Generating Null Authentication Messages
95(1)
1.19.1.2 Verifying Null Authentication Messages
95(1)
1.19.2 Simple Password Authentication
96(1)
1.19.2.1 Generating Simple Password Authentication Messages
96(1)
1.19.2.2 Verifying Simple Password Authentication Messages
97(1)
1.19.3 Cryptographic Authentication
97(3)
1.19.3.1 Generating Cryptographic Authentication Messages
99(1)
1.19.3.2 Verifying Cryptographic Authentication Messages
99(1)
1.20 OSPF Protocol Data Structures and Parameters
100(9)
1.20.1 Global Parameters
100(1)
1.20.2 Area Data Structure and Parameters
101(1)
1.20.3 Interface Data Structure and Parameters
102(1)
1.20.4 Neighbor Data Structure and Parameters
102(1)
1.20.5 List of External Routes
103(1)
1.20.6 Virtual Link Parameters
103(2)
1.20.7 NBMA Network Parameters
105(1)
1.20.8 Point-to-MultiPoint (P2MP) Network Parameters
105(1)
1.20.9 Host Route Parameters
106(1)
1.20.10 The Routing Table Structure
106(3)
1.21 High-Level OSPF Router Architecture, Processes, and Databases
109(10)
1.21.1 The OSPF Process
109(3)
1.21.2 The Routing Table Manager Process
112(1)
1.21.3 Understanding the Link-State Routing Process
112(3)
1.21.3.1 Link and Link-State
113(1)
1.21.3.2 Exchange of Hello Packets and Neighbor Discovery
113(1)
1.21.3.3 Building the Link-State Advertisements
113(1)
1.21.3.4 Flooding the LSAs
114(1)
1.21.3.5 Building the Link-State Database
114(1)
1.21.3.6 Building the Shortest Path Tree (SPT)
115(1)
1.21.3.7 Adding OSPF Best Routes to the Routing Table
115(1)
1.21.4 The CSPF Calculator Process
115(14)
1.21.4.1 Traffic Engineering Protocols
116(1)
1.21.4.2 Traffic Engineering Database (TED)
117(1)
1.21.4.3 Constrained Shortest Path First (CSPF)
117(2)
1.22 Summary of OSPF Features
119(2)
Review Questions
121(1)
References
122(3)
Chapter 2 Intermediate System-to-Intermediate System (IS-IS) Protocol
125(140)
2.1 Introduction
125(1)
2.2 Overview of IS-IS
125(2)
2.3 Basic OSI Terminology and OSI Network Layer Protocols
127(2)
2.4 OSI Routing Hierarchies
129(3)
2.4.1 OSI Routing Levels
129(2)
2.4.1.1 Level 0 Routing
129(1)
2.4.1.2 Level 1 Routing
130(1)
2.4.1.3 Level 2 Routing
130(1)
2.4.1.4 Level 3 Routing
130(1)
2.4.2 OSI Intradomain Routing
131(1)
2.5 IS-IS Hierarchical Routing
132(9)
2.5.1 What Is Integrated IS-IS?
133(1)
2.5.2 IS-IS Areas
133(2)
2.5.3 Level 1 Router
135(1)
2.5.4 Level 2 Router
136(1)
2.5.5 Level 1/Level 2 (or Level 1-2) Router
137(1)
2.5.6 Characteristics of IS-IS Areas
138(1)
2.5.7 OSPF Areas Versus IS-IS Areas
138(3)
2.6 NSAP Addresses
141(6)
2.6.1 NSAP Addressing Format
141(1)
2.6.2 Initial Domain Part (IDP) and Domain Specific Part (DSP)
142(1)
2.6.3 NSEL Field in NSAP Addressing
143(2)
2.6.4 System Identification in IS-IS
145(2)
2.7 IS-IS Routing Metrics
147(3)
2.7.1 Original IS-IS Metrics
148(1)
2.7.2 Extended or Wide Metrics
149(1)
2.7.3 Maintaining Per-Metric LSDBs in an IS-IS Router
149(1)
2.8 IS-IS Message Types
150(26)
2.8.1 IS-IS Hello PDUs
152(9)
2.8.1.1 IS-IS Router Manual Area Addresses
155(1)
2.8.1.2 Variable-Length Fields in IS-IS Hello PDUs
156(2)
2.8.1.3 IS-IS Hello Messages and Adjacency Formations
158(1)
2.8.1.4 OSI End System and Intermediate System Hello Messages
159(1)
2.8.1.5 IS-IS Hello PDUs Related Timers and Parameters
160(1)
2.8.2 IS-IS Link-State PDUs
161(12)
2.8.2.1 The Remaining Lifetime Field
163(1)
2.8.2.2 The LSP ID Field
164(1)
2.8.2.3 The Sequence Number Field
165(1)
2.8.2.4 The LSP Checksum Field
166(1)
2.8.2.5 The LSP Database Overload (LSPDBOL) Bit
167(1)
2.8.2.6 Variable-Length Fields in IS-IS Link-State PDUs
167(4)
2.8.2.7 LSP Related Timers and Parameters
171(2)
2.8.3 IS-IS Complete Sequence Numbers PDUs
173(2)
2.8.3.1 Variable-Length Fields in IS-IS Sequence Numbers PDUs
174(1)
2.8.3.2 CSNP Related Timers and Parameters
175(1)
2.8.4 IS-IS Partial Sequence Numbers PDUs
175(1)
2.8.4.1 PSNP Related Timers and Parameters
176(1)
2.9 Network Types and Adjacencies
176(9)
2.9.1 IS-IS Adjacency Formation
176(3)
2.9.2 Three-way Handshake for Forming IS-IS LAN Adjacencies
179(2)
2.9.3 Three-way Handshake for Forming IS-IS Point-to-Point Adjacencies
181(3)
2.9.3.1 Original IS-IS Point-to-Point Adjacency Formation Process
181(1)
2.9.3.2 Extensions for Reliable IS-IS Point-to-Point Adjacency Formation
182(2)
2.9.4 ES-IS Adjacencies
184(1)
2.10 Designated Intermediate System (DIS) and Pseudonodes
185(6)
2.10.1 IS-IS Pseudonode Concept
185(1)
2.10.2 Functions of the DIS
186(2)
2.10.3 Election of the DIS
188(3)
2.10.3.1 IS-IS DIS Election
189(1)
2.10.3.2 OSPF Designated Router (DR) and Backup DR (BDR) Election
190(1)
2.11 Handling IP Routing with Integrated IS-IS
191(17)
2.11.1 Routing Characteristics of Integrated IS-IS
191(2)
2.11.1.1 Router Types
191(1)
2.11.1.2 Routing Domain Types
192(1)
2.11.1.3 Area Types in a Dual Routing Domain
192(1)
2.11.2 Area and Domain Requirements and Restrictions
193(1)
2.11.3 Level 1 and Level 2 IP Routing
194(1)
2.11.4 Integrated IS-IS TLV Extensions
194(5)
2.11.4.1 IP-Specific TLVs in LAN and Point-to-Point IS-IS Hello PDUs
195(1)
2.11.4.2 IP-Specific TLVs in ISO 9542 IS Hello PDUs
196(1)
2.11.4.3 IP-Specific TLVs in LSPs
196(3)
2.11.4.4 IP-Specific TLVs in Sequence Number PDUs
199(1)
2.11.5 Addressing Routers in IS-IS PDUs
199(1)
2.11.6 Routing Based on IS-IS Routing Metric Type
200(1)
2.11.7 Route Preference Order and the SPF Algorithm Computation
200(4)
2.11.7.1 Level 1 Routing Order of Route Preference
201(1)
2.11.7.2 Level 2 Routing Order of Route Preference
202(2)
2.11.8 Multiaccess Broadcast LANs, Designated Intermediate System, and Pseudonode
204(1)
2.11.9 Maintaining Router Adjacencies in Integrated IS-IS
204(1)
2.11.10 Route Summarization in Integrated IS-IS
205(2)
2.11.11 Route Redistribution in Integrated IS-IS
207(1)
2.12 Extensions for Domain-Wide IP Prefix Distribution with Integrated IS-IS
208(2)
2.13 Newer IS-IS TLV Extensions
210(16)
2.13.1 IS-IS Traffic Engineering and MPLS TLVs
210(5)
2.13.1.1 The Extended IS Reachability TLV (Code 22)
210(2)
2.13.1.2 The Extended IP Reachability TLV (Code 135)
212(1)
2.13.1.3 The Traffic Engineering Router ID TLV (Code 134)
213(1)
2.13.1.4 Shared Risk Link Group TLV (Code 138)
213(2)
2.13.2 IS-IS Dynamic Hostname TLV
215(1)
2.13.3 IPv6-Specific IS-IS TLVs
216(2)
2.13.3.1 IPv6 Reachability TLV (Code 236)
216(1)
2.13.3.2 IPv6 Interface Address TLV (Code 232)
217(1)
2.13.3.3 IPv6 Network Layer Protocol ID (NLPID)
217(1)
2.13.4 Multi-Topology IS-IS TLVs
218(8)
2.13.4.1 Single-Topology IS-IS Support for IPv6
218(1)
2.13.4.2 Multi-Topology IS-IS Support for IPv6
219(1)
2.13.4.3 TLVs for Multi-Topology IS-IS
219(3)
2.13.4.4 Multi-Topology Adjacencies
222(1)
2.13.4.5 Advertising MT Reachable Intermediate Systems in LSPs
223(1)
2.13.4.6 Multi-Topologies and Overload, Partition, and Attached Bits
223(1)
2.13.4.7 Multi-Topology SPF Computation
224(1)
2.13.4.8 IP Forwarding Considerations in Multi-Topology IS-IS
224(1)
2.13.4.9 Multi-Topology Network Management Considerations
225(1)
2.13.5 IS-IS Router Capability TLV
226(1)
2.14 IS-IS Link-State Database Synchronization
226(6)
2.14.1 IS-IS Reliable Flooding
227(1)
2.14.2 LSDB Update Process
227(4)
2.14.2.1 LSDB Update Process on Multiaccess Broadcast Network Segments
228(1)
2.14.2.2 LSDB Update Process on Point-to-Points Links
229(2)
2.14.3 Handling LSPs
231(1)
2.14.3.1 Handling Newer LSPs
231(1)
2.14.3.2 Handling Older LSPs
232(1)
2.14.3.3 Handling Duplicate LSPs
232(1)
2.15 Shortest-Path First and the Link-State Database
232(3)
2.15.1 SPF Algorithm Highlights
234(1)
2.16 OSI Routing and Suboptimal Inter-Area Routing
235(6)
2.16.1 IS-IS Suboptimal Inter-Area Routing
236(2)
2.16.2 Avoiding Suboptimal Routing using IS-IS Route Leaking
238(1)
2.16.3 Configuring Default Routes using the "default information originate" Command
239(1)
2.16.4 Other Drivers for IS-IS Route Leaking
240(1)
2.16.5 Some Pitfalls of IS-IS Route Leaking
241(1)
2.17 IS-IS Authentication
241(8)
2.17.1 IS-IS Simple Password Authentication
242(2)
2.17.1.1 Interface Password
243(1)
2.17.1.2 LSP Authentication (Area- or Domain-Wide)
243(1)
2.17.1.3 Limitations of Simple Password Authentication
244(1)
2.17.2 IS-IS HMAC-MD5 Cryptographic Authentication
244(1)
2.17.3 IS-IS Generic Authentication
245(4)
2.17.3.1 Authentication TLV and IS-IS Security Association
245(2)
2.17.3.2 Authentication Process
247(2)
2.18 Subnetwork Independent Functions of an IS-IS Router and Data Flow
249(3)
2.18.1 Receive Process
249(1)
2.18.2 Update Process
250(1)
2.18.3 Decision Process
251(1)
2.18.4 Forwarding Process
252(1)
2.19 High-Level IS-IS Router Architecture, Processes, and Databases
252(8)
2.19.1 IS-IS Protocol Process
253(1)
2.19.2 IS-IS Subnetwork Dependent Process
254(1)
2.19.3 IS-IS Router Databases
255(1)
2.19.4 Routing Table Manager
256(1)
2.19.5 The IP Routing Table
256(1)
2.19.6 IS-IS Traffic Engineering
257(10)
2.19.6.1 Path Computation and Selection
257(1)
2.19.6.2 CSPF Calculator Process
258(1)
2.19.6.3 Signaling and Distributing MPLS Labels
258(2)
2.20 Summary of IS-IS Features
260(1)
Review Questions
260(2)
References
262(3)
Chapter 3 Border Gateway Protocol (BGP)
265(152)
3.1 Introduction
265(1)
3.2 Interior versus Exterior Routing
266(1)
3.3 Using BGP
267(5)
3.3.1 Stub Autonomous System
268(1)
3.3.2 Multihomed Autonomous System
269(1)
3.3.3 Using BGP to Provide Transit Connectivity within an Autonomous System
270(2)
3.4 BGP Peering
272(8)
3.4.1 Internal and External Peering
272(2)
3.4.2 Interaction Between IGPs and BGP
274(2)
3.4.3 BGP Peering over Physical versus Logical Connections and Multihop eBGP
276(1)
3.4.4 BGP Peering Using IP Loopback Addresses
277(2)
3.4.5 BGP Transport
279(1)
3.5 BGP Message Types
280(17)
3.5.1 BGP OPEN Message
280(3)
3.5.2 BGP UPDATE Message
283(6)
3.5.2.1 Using the BGP UPDATE Message
283(2)
3.5.2.2 Withdrawn Route Field and Handling BGP Route Withdrawals
285(1)
3.5.2.3 UPDATE Message Path Attribute Field
286(1)
3.5.2.4 Network Layer Reachability Information (NLRI) Field
287(1)
3.5.2.5 Frequency of UPDATE Messages
288(1)
3.5.3 BGP NOTIFICATION Message
289(6)
3.5.3.1 Handling Message Header Error
291(1)
3.5.3.2 Handling OPEN Message Error
291(1)
3.5.3.3 Handling UPDATE Message Error
292(1)
3.5.3.4 Handling NOTIFICATION Message Error
293(1)
3.5.3.5 Handling Hold Timer Expired Error
294(1)
3.5.3.6 Handling BGP Finite State Machine Error
294(1)
3.5.3.7 Sending the Error Code Cease
294(1)
3.5.3.8 BGP Connection Collision Detection
294(1)
3.5.4 BGP KEEPALIVE Message
295(1)
3.5.5 BGP ROUTE-REFRESH Message
296(1)
3.6 BGP Session States and Finite State Machine
297(19)
3.6.1 Idle State
299(1)
3.6.2 Connect State
300(4)
3.6.3 Active State
304(3)
3.6.4 OpenSent State
307(3)
3.6.5 OpenConfirm State
310(3)
3.6.6 Established State
313(3)
3.7 BGP Version Negotiation
316(1)
3.8 BGP Path Attributes
316(24)
3.8.1 Categories of BGP Path Attributes
317(2)
3.8.1.1 Handling Unrecognized Optional BGP Path Attributes
318(1)
3.8.2 Origin Attribute (ORIGIN)
319(1)
3.8.3 AS-Path Attribute (AS_PATH)
319(3)
3.8.3.1 Using the AS-Path Attribute
320(1)
3.8.3.2 Originating a BGP Route
321(1)
3.8.3.3 Propagating a BGP Route
321(1)
3.8.4 Next-Hop Attribute (NEXT_HOP)
322(4)
3.8.4.1 Advertising a Route to an Internal BGP Peer
322(2)
3.8.4.2 Advertising a Route to an External BGP Peer One Hop Away
324(1)
3.8.4.3 Advertising a Route to an External BGP Peer Multiple Hops Away
325(1)
3.8.4.4 Other Rules Governing the Advertisement of a Route
326(1)
3.8.5 Multiple Exit Discriminator (MED) Attribute (MULTI_EXIT_DISC)
326(2)
3.8.6 Local Preference Attribute (LOCAL_PREF)
328(2)
3.8.7 Communities Attribute (COMMUNITIES)
330(7)
3.8.7.1 BGP Communities Attribute
330(3)
3.8.7.2 BGP Extended Communities Attribute
333(4)
3.8.8 Atomic Aggregate Attribute (ATOMIC_ AGGREGATE)
337(1)
3.8.9 Aggregator Attribute (AGGREGATOR)
338(1)
3.8.10 Weight Attribute (WEIGHT)
339(1)
3.9 Understanding the iBGP Full Mesh Requirement
340(1)
3.10 Autonomous System Numbers (ASNs)
341(3)
3.10.1 Original 16-bit ASN Space
341(1)
3.10.2 Newer 32-Bit ASN Space
342(2)
3.10.2.1 Extensions for Carrying 32-bit ASNs in BGP
342(2)
3.11 BGP Path Attributes and Route Aggregation
344(2)
3.11.1 Route Aggregation Rules
344(1)
3.11.2 AS_PATH Attribute and Route Aggregation
345(1)
3.12 Considering IGP Cost When Deciding the Best Exit Point of an Autonomous System
346(1)
3.13 Understanding the Role of the BGP Routing Table and IP Routing Table in BGP
347(1)
3.14 Alternatives to the iBGP Full Mesh Requirement
348(2)
3.15 BGP Confederations
350(6)
3.15.1 Rationale Behind BGP Confederations
350(2)
3.15.2 BGP Confederation Parameters
352(2)
3.15.3 Operation
354(1)
3.15.4 AS_PATH Modification Rules
354(2)
3.15.4.1 Originating a BGP Route
354(1)
3.15.4.2 Propagating a BGP Route
355(1)
3.16 BGP Route Reflection
356(9)
3.16.1 Concept of Route Reflection
356(3)
3.16.2 Route Reflection with Redundancy
359(1)
3.16.3 Preventing Routing Information Loops During Route Reflection
360(1)
3.16.4 Route Reflection with Multiple Clusters
361(4)
3.17 BGP Route Server
365(4)
3.17.1 BGP Route Server Behaviors
367(2)
3.17.1.1 BGP Attribute Transparency
368(1)
3.17.1.2 NEXT_HOP Attribute
368(1)
3.17.1.3 AS_PATH Attribute
368(1)
3.17.1.4 MED (MULTI_EXIT_DISC) Attribute
368(1)
3.17.1.5 BGP Communities Attributes
369(1)
3.18 BGP Best Path Selection Process
369(11)
3.18.1 Phase 1: Calculating the Degree of Route Preference
370(1)
3.18.2 Phase 2: Best Path Selection
371(7)
3.18.2.1 BGP Route Resolvability Condition
372(1)
3.18.2.2 A Note on BGP Recursive Route Lookup
373(1)
3.18.2.3 Deep Dive into BGP Recursive Lookup
374(2)
3.18.2.4 BGP Best Path Selection Algorithm (with Tie Breakers)
376(2)
3.18.3 Phase 3: BGP Route Dissemination
378(2)
3.18.3.1 BGP Update-Send Process
379(1)
3.18.3.2 Originating BGP Routes
379(1)
3.19 BGP Session Security
380(10)
3.19.1 TCP MD5 Signature Option
380(1)
3.19.2 TCP Authentication Option (TCP-AO)
381(9)
3.19.2.1 Format of the TCP Authentication Option
382(1)
3.19.2.2 TCP-AO Keys and Their Properties
383(2)
3.19.2.3 Per-Connection TCP-AO Parameters
385(1)
3.19.2.4 Cryptographic Algorithms
386(2)
3.19.2.5 Sending TCP Segments with TCP-AO
388(1)
3.19.2.6 Receiving TCP Segments with TCP-AO
389(1)
3.20 Factors Affecting BGP Device and Network Convergence
390(5)
3.20.1 Number of BGP Peers
390(1)
3.20.2 Number of Routes per BGP Peer
391(1)
3.20.3 Routing Policy Processing/Reconfiguration
391(1)
3.20.4 Interactions with Other Routing Protocols
391(1)
3.20.5 BGP Route Flap Damping
391(2)
3.20.6 Handling BGP Control Plane Traffic
393(1)
3.20.7 Handling BGP Data Plane Traffic
394(1)
3.20.8 BGP Timers
394(1)
3.20.9 BGP Authentication
394(1)
3.21 High-Level BGP Router Architecture, Processes, and Databases
395(10)
3.21.1 BGP RIB Manager Process
396(5)
3.21.2 Neighbor Manager Process
401(1)
3.21.3 Policy Manager Process
401(2)
3.21.3.1 Input Policy Engine
402(1)
3.21.3.2 Output Policy Engine
402(1)
3.21.4 Routing Table Manager Process
403(1)
3.21.5 BGP Sessions and Operational Events
403(1)
3.21.6 Processing of BGP UPDATE Messages: Sending and Receiving
404(1)
3.22 BGP Link-State Distribution
405(5)
3.22.1 Need for Link-State Distribution and Traffic Engineering Across Internetworks
406(1)
3.22.2 Example Deployment Scenario of BGP-LS
407(1)
3.22.3 Example Link-State Distribution Architecture
408(2)
3.23 Summary of BGP Features
410(1)
Review Questions
411(1)
References
412(5)
Index
417
James Aweya, PhD, is a chief research scientist at the Etisalat British Telecom Innovation Center (EBTIC), Khalifa University, Abu Dhabi, UAE. He has authored four books including this book and is a Senior Member of the Institute of Electrical and Electronics Engineers (IEEE).