About this book
The
intent of this book is to explain various design models for Overlay Network and
Underlay Network used in VXLAN Fabric with BGP EVPN Control-Plane. The first
two chapters are focusing on the Underlay Network solution. The OSPF is
introduced first. Among other things, the book explains how OSPF flooding can
be minimized with area design. After OSPF there is a chapter about BGP in the Underlay
network. Both OSPF and BGP are covered deeply and things like convergence are
discussed. After the Underlay Network part, the book focuses on BGP design. It
explains the following models: (a) BGP Multi-AS with OSPF Underlay, this
chapter discusses two design models – Shared Spine ASN and Unique Spien ASN,
(b) BGP-Only Multi-ASN where both direct and loopback overlay BGP peering
models are explained, (c) Single-ASN with OSPF Underlay, (d) Hybrid-ASN with
OSPF Underlay – Pod-specific shared ASN connected via Super-Spine layer using
eBGP peering, (e) Dual-ASN model where leafs share the same ASN, and spines
share their ASN. Each of the design model chapters includes a “Complexity Map”
that should help readers to understand the complexity of each solution. This
book also explains BGP ECMP and related to ECMP, the book also covers ESI
Multihoming. The last chapter introduces how two Pods, can also be geographically
dispersed DCs, can be connected using Layer 3 only DCI with MPLS.
I am
using 5-stage Clos topology throughout the book. Some solutions are though explained
by using only three switches for the sake of simplicity. I am also using
IP-Only Underlay Network with Ingress-Replication, so this book does not cover
Underlay Network Multicast solution. Besides, I am not covering DCI using Layer
2 Border Gateway (BGW) or Overlay Tenant Routing Multicast solution in this
book because those, among the Underlay Multicast solutions, are covered in my first
book “Virtual Extensible LAN – VXLAN: A Practical Guide to VXLAN solution” that
is available at Amazon and Leanpub.
I
wanted to keep the focus of the book fairly narrow and concentrate on the
Control-Plane design and functionality. Please be aware that this book does not
give any recommendation to which solution is the best and which is not. It is
the readers' responsibility to find that out and selects the best solution for
their needs. The book includes 66 full-color images, 260 configuration/show
command examples, and 32 packet captures.
Table of Contents viii
Chapter 1: Underlay Network with OSPF 1
Introduction 1
Infrastructure AS Numbering and IP Addressing Scheme 1
OSPF Neighbor Process 2
OSPF Neighbor Process: Init 3
OSPF Neighbor Process: ExStart 7
OSPF Neighbor Process: Exchange and Full 9
Shortest-Path First (SPF)/Dijkstra Algorithm 18
SPF Run – Phase I: Building a Shortest-Path Tree 19
First iteration round 20
Second iteration round 21
Third iteration round 24
SPF Run – Phase II: Adding Leafs to Shortest-Path Tree 25
Convergence 26
Flood reduction with multiple OSPF Areas 30
OSPF summarization in ABR 40
Removing OSPF Router from the Datapath 43
LSA and SPF timers 47
LSA Throttling Timer 47
Flood Pacing Timer 49
LSA Group Pacing Timer 50
Summary 51
References 52
Chapter 2: Underlay Network with BGP 53
Introduction 53
Infrastructure AS Numbering and IP Addressing Scheme 54
BGP Configuration 55
Leaf Switches 55
Spine Switches 56
Super-Spine Switches 56
BGP Neighbor Process 57
Idle 57
Connect 57
Active 57
Finalizing negotiation of the TCP connection 58
OpenSent and OpenConfirm 61
Established 61
BGP NLRI Update Process 65
RIB to Adj-RIB-Out (Pre-Policy) 65
Adj-RIB-Out (Pre) to Adj-RIB-Out (Post) 65
Adj-RIB-In (Post) to Adj-RIB-In (Pre) 66
Adj-RIB-In (Pre) to Loc-RIB 66
Loc-RIB to RIB 66
BGP Update: Unreachable Destination 70
MRAI Timer 71
BGP AS-Path Prepend 71
OSPF and BGP Comparison 75
References 78
Chapter 3: BGP Multi-AS with OSPF Underlay 79
Introduction 79
Inter-Switch Link IP addressing 80
Underlay Network Routing with OSPF 81
Overlay Network BGP L2VPN EVPN Peering 83
Adding L2VN segment 86
Routing comparison: Spine Sharing ASN vs. Unique ASN 88
Spine Switches Sharing ASN 88
All Switches in Unique ASN 94
BGP convergence: Group of Spines in the same AS 101
BGP convergence: All switches in unique AS 106
Complexity Chart of Multi-ASN Design with OSPF Underlay 113
Spines in shared ASN – OSPF Underlay 113
All switches in unique ASN - OSPF Underlay 114
References 115
Chapter 4: BGP Only Multi-ASN Design 117
Introduction 117
Underlay: Direct Peering – Overlay: Loopback 117
Underlay: Direct Peering – Overlay: Direct Peering 125
Complexity Chart Multi-ASN Design with eBGP Underlay 132
Direct Underlay Peering – Loopback Overlay Peering 132
Direct Underlay Peering – Direct Overlay Peering 133
Chapter 5: Single AS Model with OSPF Underlay 135
Introduction 135
Configuration 136
BGP Policy and BGP Update Configuration 136
Leaf Switches 136
Spine Switches 137
Super-Spine Switches 138
Verification 140
BGP L2VPN EVPN Peering 140
BGP Table Verification 140
Inconsistency Problem with Received Route Count 142
Fixing the Problem 148
Re-checking of BGP Tables 151
NVE Peering 154
MAC Address Table and L2RIB 156
Data-Plane Testing 158
Complexity Chart 159
Single-AS Design with OSPF Underlay 159
Chapter 6: Hybrid AS Model with OSPF Underlay 161
Introduction 161
Configuration 162
Leaf – BGP Policy and BGP Update settings 162
Spine - BGP Adjacency and BGP Update settings 163
SuperSpine - BGP Adjacency and BGP Update settings 166
Verification 170
Complexity Chart of Hybrid-ASN Design 186
Direct Underlay Peering – Loopback Overlay Peering 186
Chapter 7: Dual-AS Model with OSPF Underlay 188
Introduction 188
Configuration 189
BGP Adjacency Policy 189
BGP Update Message Modification 189
BGP Loop Prevention Adjustment 190
Verification 192
BGP peering 192
BGP table 192
L2RIB 195
MAC Address Table 196
Complexity Chart of Hybrid-ASN Design with OSPF Underlay 197
Chapter 8: ESI Multi-Homing 198
Introduction 198
ESI Multihoming Configuration 199
Designated Forwarder fo L2BUM 201
Mass-Withdraw 205
Load-Balancing 213
References 216
Chapter 9: ECMP process 217
ECMP process 217
Chapter 10: L3-Only Inter-Pod Connection 227
Introduction 227
MPLS Core Underlay Routing with IS-IS. 228
IS-IS Configuration 229
IS-IS Verification 229
MPLS Label Distribution with LDP 231
MPLS LDP Configuration 233
MPLS Verification 233
MPLS Control-Plane Operation - LDP 235
MPLS Data-Plane Operation – Label Switching 236
BGP VPNv4 Peering 238
BGP VPNv4 Configuration 238
BGP VPNv4 Peering Verification 239
BGP L2VPN EVPN Peering 240
BGP VPNv4 Configuration 240
BGP L2VPN EVPN Peering Verification 241
Adding Tenant to Border Leafs 242
Tenant Configuration 242
Verification 244
Control-Plane: End-to-End Route Propagation 244
Data-Plane: Label Switching Path 249
Data-Plane: ICMP Request 251
Appendix A: Chapter 10 device configurations 253
Dear Toni,
ReplyDeleteplease upload this new book to leanpub, I cannot wait reading it myself.
Regards
Michael
Hi Michael, its already available at leanpub.com :)
Deletegot it Toni.
Deleteone more question, I realize you have a deep understanding on BGP.
How did you make it? are you able to recommend any book for us to read about bgp.
Michael
Hi Michael,
DeleteThese are BGP books I have in my bookshelf:
- Internet Routing Architectures by Sam Halabi
- Routing TCP/IP, Volume II by Jeff Doyle and Jennifer DeHaven Carroll
- Troubleshooting BGP by Vinit Jai and Brad Edgeworth.
These RFCs are also good learning source:
- RFC 4271: A Border Gateway Protocol 4 (BGP-4)
- RFC 4760: Multiprotocol Extensions for BGP-4
- RFC 7854: BGP Monitoring Protocol (BMP)
I have also done several large scale BGP designs and implementations. Naturally, I have done countless hours of testing BGP in the lab environment to figure out how it works. And there is still a lot to learn…
Cheers - Toni
Many thanks Toni,
DeleteI have start reading these books and find they are helpful.
One issue I wish you are able to clarify for me if you have time.
I am using simulator to conduct tests in the same time reading your book,
I am able to make ingress replication work and multicast works for me as well for BUM.
However, if I set up multicast for bum first and then change it to ingress replication, problem occurs. the NVE tunnel is still up, but bum is not working as normal.
I tried to clear bgp session making it rebuild the tcp connection again, i am thinking the bgp open message negotiates the ingress replication ability, but no luck.
the only think can make it work is to reboot the router, I am suspecting there is a table maintaining the multicast session, even though I have remove multicast and make it ingress replication.
Or is it just the stimulator causing this problem>
Regards
Michael
Hi Michael, the problem might actually to be related to NX-OSv code. I have faced the same kind of odd behavior with some other things.
DeleteThis is a grreat blog
ReplyDelete