1.15k likes | 1.87k Views
Border Gateway Protocol (BGP4). Border Gateway Protocol (BGP) . Routing/Forwarding basics Building blocks Exercises BGP protocol basics Exercises BGP path attributes Best path computation Exercises. Border Gateway Protocol (BGP)... . Typical BGP topologies Routing Policy Exercises
E N D
Border Gateway Protocol (BGP) • Routing/Forwarding basics • Building blocks • Exercises • BGP protocol basics • Exercises • BGP path attributes • Best path computation • Exercises
Border Gateway Protocol (BGP)... • Typical BGP topologies • Routing Policy • Exercises • Redundancy/Load sharing • Best current practices
IP route lookup:Longest match routing Packet: Destination IP address: 10.1.1.1 R1 10/8 -> R3 10.1/16 -> R4 20/8 -> R5 30/8 -> R6 ….. R2’s IP routing table R3 All 10/8 except 10.1/16 R4 R2 10.1/16
IP route lookup: Longest match routing Packet: Destination IP address: 10.1.1.1 R1 10/8 -> R3 10.1/16 -> R4 20/8 -> R5 ….. R2’s IP routing table R3 All 10/8 except 10.1/16 R4 R2 10.1/16 10.1.1.1 & FF.0.0.0 is equal to 10.0.0.0 & FF.0.0.0 Match!
IP route lookup: Longest match routing Packet: Destination IP address: 10.1.1.1 R1 10/8 -> R3 10.1/16 -> R4 20/8 -> R5 ….. R2’s IP routing table R3 All 10/8 except 10.1/16 R4 R2 10.1/16 10.1.1.1 & FF.FF.0.0 is equal to 10.1.0.0 & FF.FF.0.0 Match as well!
IP route lookup: Longest match routing Packet: Destination IP address: 10.1.1.1 R1 10/8 -> R3 10.1/16 -> R4 20/8 -> R5 ….. R2’s IP routing table R3 All 10/8 except 10.1/16 R4 R2 10.1/16 10.1.1.1 & FF.0.0.0 is equal to 20.0.0.0 & FF.0.0.0 Does not match!
IP route lookup: Longest match routing R1 10/8 -> R3 10.1/16 -> R4 20/8 -> R5 ….. R2’s IP routing table R3 All 10/8 except 10.1/16 Packet: Destination IP address: 10.1.1.1 R4 R2 10.1/16 Longest match, 16 bit netmask
IP route lookup: Longest match routing • default is 0.0.0.0/0 • can handle it using the normal longest match algorithm • matches everything. Always the shortest match.
Forwarding • Uses the routing table built by routing protocols • Performs the lookup to find next-hop and outgoing interface • Switches the packet with new encapsulation as per the outgoing interface
Building Blocks • Autonomous System (AS) • Types of Routes • IGP/EGP • DMZ • Policy • Egress • Ingress
Autonomous System (AS) • Collection of networks with same policy • Single routing protocol • Usually under single administrative control • IGP to provide internal connectivity AS 100
Autonomous System(AS)... • Identified by ‘AS number’ • Public & Private AS numbers • Examples: • Service provider • Multi-homed customers • Anyone needing policy discrimination
Routing flow and packet flow packet flow egress announce accept AS2 AS 1 Routingflow announce accept ingress For networks in AS1 and AS2 to communicate: AS1 must announce routes to AS2 AS2 must accept routes from AS1 AS2 must announce routes to AS1 AS1 must accept routes from AS2 packet flow
Egress Traffic • Packets exiting the network • Based on • Route availability (what others send you) • Route acceptance (what you accept from others) • Policy and tuning (what you do with routes from others) • Peering and transit agreements
Ingress Traffic • Packets entering your network • Ingress traffic depends on: • What information you send and to who • Based on your addressing and ASes • Based on others’ policy (what they accept from you and what they do with it)
Types of Routes • Static Routes • configured manually • Connected Routes • created automatically when an interface is ‘up’ • Interior Routes • Routes within an AS • Exterior Routes • Routes exterior to AS
What Is an IGP? • Interior Gateway Protocol • Within an Autonomous System • Carries information about internal prefixes • Examples—OSPF, ISIS, EIGRP…
What Is an EGP? • Exterior Gateway Protocol • Used to convey routing information between ASes • De-coupled from the IGP • Current EGP is BGP4
Why Do We Need an EGP? • Scaling to large network • Hierarchy • Limit scope of failure • Define administrative boundary • Policy • Control reachability to prefixes
Interior vs. Exterior Routing Protocols • Interior • Automatic discovery • Generally trust your IGP routers • Routes go to all IGP routers • Exterior • Specifically configured peers • Connecting with outside networks • Set administrative boundaries
Hierarchy of Routing Protocols Other ISP’s BGP4 / OSPF BGP4 BGP4/Static Local NAP FDDI Customers BGP4
Demilitarized Zone (DMZ) • Shared network between ASes A C DMZ Network AS 100 AS 101 B D E AS 102
Addressing - ISP • Need to reserve address space for its network. • Need to allocate address blocks to its customers. • Need to take “growth” into consideration • Upstream link address is allocated by upstream provider
BGP Basics • Terminology • Protocol Basics • Messages • General Operation • Peering relationships (EBGP/IBGP) • Originating routes
Terminology • Neighbor • Configured BGP peer • NLRI/Prefix • NLRI - network layer reachability information • Reachability information for a IP address & mask • Router-ID • Highest IP address configured on the router • Route/Path • NLRI advertised by a neighbor
Protocol Basics Peering • Routing protocol used between ASes • if you aren’t connected to multiple ASes, you don’t need BGP :) • Runs over TCP • Path vector protocol • Incremental update A C AS 100 AS 101 B D E AS 102
BGP Basics ... • Each AS originates a set of NLRI • NLRI is exchanged between BGP peers • Can have multiple paths for a given prefix • Picks the best path and installs in the IP forwarding table • Policies applied (through attributes) influences BGP path selection
BGP Peers A C B D E eBGP TCP/IP Peer Connection AS 101 AS 100 220.220.16.0/24 220.220.8.0/24 BGP speakers are called peers AS 102 Peers in different AS’sare called External Peers 220.220.32.0/24 Note: eBGP Peers normally should be directly connected.
BGP Peers B D E iBGP TCP/IP Peer Connection A C AS 101 AS 100 220.220.16.0/24 220.220.8.0/24 BGP speakers are called peers AS 102 Peers in the same ASare called Internal Peers 220.220.32.0/24 Note: iBGP Peers don’t have to be directly connected.
BGP Peers B D E BGP Update Messages A C AS 101 AS 100 220.220.16.0/24 220.220.8.0/24 BGP Peers exchange Update messages containing Network Layer Reachability Information (NLRI) AS 102 220.220.32.0/24
Configuring BGP Peers eBGP TCP Connection B A C D interface Serial 0 ip address 222.222.10.2 255.255.255.252 router bgp 100 network 220.220.8.0 mask 255.255.255.0 neighbor 222.222.10.1 remote-as 101 interface Serial 0 ip address 222.222.10.1 255.255.255.252 router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 222.222.10.2 remote-as 100 AS 101 AS 100 222.222.10.0/30 220.220.8.0/24 220.220.16.0/24 .2 .1 .2 .1 .2 .1 • BGP Peering sessions are established using the BGP “neighbor” configuration command • External (eBGP) is configured when AS numbers are different
Configuring BGP Peers iBGP TCP Connection B A D C interface Serial 1 ip address 222.220.16.1 255.255.255.252 router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 220.220.16.2 remote-as 101 interface Serial 1 ip address 220.220.16.2 255.255.255.252 router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 220.220.16.1 remote-as 101 AS 101 AS 100 222.222.10.0/30 220.220.8.0/24 220.220.16.0/24 .2 .1 .2 .1 .2 .1 • BGP Peering sessions are established using the BGP “neighbor” configuration command • External (eBGP) is configured when AS numbers are different • Internal (iBGP) is configured when AS numbers are same
Configuring BGP Peers B A C iBGP TCP/IP Peer Connection AS 100 • Each iBGP speaker must peer with every other iBGP speaker in the AS
Configuring BGP Peers 215.10.7.2 215.10.7.1 B A 215.10.7.3 C iBGP TCP/IP Peer Connection AS 100 • Loopback interface are normally used aspeer connection end-points
Configuring BGP Peers 215.10.7.2 215.10.7.1 B A 215.10.7.3 interface loopback 0 ip address 215.10.7.1 255.255.255.255 router bgp 100 network 220.220.1.0 neighbor 215.10.7.2 remote-as 100 neighbor 215.10.7.2 update-source loopback0 neighbor 215.10.7.3 remote-as 100 neighbor 215.10.7.3 update-source loopback0 C iBGP TCP/IP Peer Connection AS 100 A
Configuring BGP Peers 215.10.7.2 215.10.7.1 B A 215.10.7.3 interface loopback 0 ip address 215.10.7.2 255.255.255.255 router bgp 100 network 220.220.5.0 neighbor 215.10.7.1 remote-as 100 neighbor 215.10.7.1 update-source loopback0 neighbor 215.10.7.3 remote-as 100 neighbor 215.10.7.3 update-source loopback0 C iBGP TCP/IP Peer Connection AS 100 A
Configuring BGP Peers 215.10.7.2 215.10.7.1 B A 215.10.7.3 C interface loopback 0 ip address 215.10.7.3 255.255.255.255 router bgp 100 network 220.220.1.0 neighbor 215.10.7.1 remote-as 100 neighbor 215.10.7.1 update-source loopback0 neighbor 215.10.7.2 remote-as 100 neighbor 215.10.7.2 update-source loopback0 iBGP TCP/IP Peer Connection AS 100 A
BGP Updates — NLRI • Network Layer Reachability Information • Used to advertise feasible routes • Composed of: • Network Prefix • Mask Length
BGP Updates — Attributes • Used to convey information associated with NLRI • AS path • Next hop • Local preference • Multi-Exit Discriminator (MED) • Community • Origin • Aggregator
Sequence of ASes a route has traversed Loop detection Apply policy AS-Path Attribute AS 200 AS 100 170.10.0.0/16 180.10.0.0/16 Network Path 180.10.0.0/16 300 200 100 170.10.0.0/16 300 200 AS 300 AS 400 150.10.0.0/16 Network Path 180.10.0.0/16 300 200 100 170.10.0.0/16 300 200 150.10.0.0/16 300 400 AS 500
Next Hop Attribute A C B D E Network Next-Hop Path 160.10.0.0/16 192.20.2.1 100 BGP Update Messages AS 300 AS 200 140.10.0.0/16 192.10.1.0/30 150.10.0.0/16 .1 .2 .2 192.20.2.0/30 .1 • Next hop to reach a network • Usually a local network is the next hop in eBGP session AS 100 160.10.0.0/16
Next hop to reach a network Usually a local network is the next hop in eBGP session Next Hop Attribute A C B D E Network Next-Hop Path 150.10.0.0/16 192.10.1.1 200 160.10.0.0/16 192.10.1.1 200 100 BGP Update Messages AS 300 AS 200 140.10.0.0/16 192.10.1.0/30 150.10.0.0/16 .1 .2 .2 192.20.2.0/30 .1 AS 100 160.10.0.0/16 • Next Hop updated betweeneBGP Peers
Next hop not changedbetween iBGP peers Next Hop Attribute A B C D E Network Next-Hop Path 150.10.0.0/16 192.10.1.1 200 160.10.0.0/16 192.10.1.1 200 100 BGP Update Messages AS 300 AS 200 140.10.0.0/16 192.10.1.0/30 150.10.0.0/16 .1 .2 .2 192.20.2.0/30 .1 AS 100 160.10.0.0/16
Next Hop Attribute (more) • IGP should carry route to next hops • Recursive route look-up • Unlinks BGP from actual physical topology • Allows IGP to make intelligent forwarding decision
BGP Updates — Withdrawn Routes • Used to “withdraw” network reachability • Each Withdrawn Route is composed of: • Network Prefix • Mask Length
BGP Updates — Withdrawn Routes BGP Update Message Withdraw Routes 192.192.25.0/24 Connectivity lost Network Next-Hop Path 150.10.0.0/16 192.168.10.2 321 200 192.192.25.0/24 192.168.10.2 321 AS 321 AS 123 192.168.10.0/24 .1 .2 x 192.192.25.0/24
BGP Routing Information Base router bgp 100 network 160.10.0.0 255.255.0.0 no auto-summary BGP RIB Network Next-Hop Path *>i160.10.1.0/24 192.20.2.2 i *>i160.10.3.0/24 192.20.2.2 i D 10.1.2.0/24 D 160.10.1.0/24 D 160.10.3.0/24 R 153.22.0.0/16 S 192.1.1.0/24 BGP ‘network’ commands are normally used to populate the BGP RIB with routes from the Route Table Route Table
BGP Routing Information Base BGP RIB Network Next-Hop Path *> 160.10.0.0/16 0.0.0.0 i * i 192.20.2.2 i s> 160.10.1.0/24 192.20.2.2 i s> 160.10.3.0/24 192.20.2.2 i router bgp 100 network 160.10.0.0 255.255.0.0 aggregate-address 160.10.0.0 255.255.0.0 summary-only no auto-summary D 10.1.2.0/24 D 160.10.1.0/24 D 160.10.3.0/24 R 153.22.0.0/16 S 192.1.1.0/24 BGP ‘aggregate-address’ commands may be used to install summary routes in the BGP RIB Route Table