360 likes | 647 Views
Routing: Exterior Gateway Protocols and Autonomous Systems. Border Gateway Protocol (BGP) Reference D. E. Comer, Internetworking with TCP/IP, ISBN 1-13-018380-6, 4 th Ed., Vol. 1, Ch. 15. Autonomous System (AS).
E N D
Routing: Exterior Gateway Protocols and Autonomous Systems • Border Gateway Protocol (BGP) Reference D. E. Comer, Internetworking with TCP/IP, ISBN 1-13-018380-6, 4th Ed., Vol. 1, Ch. 15. Network Architecture and Design
Autonomous System (AS) • AS = collection of networks under a single technical administration & sharing the same routing policy • AS# can be 1 to 65535 (64512 – 65535 private) • Internal Gateway Protocols (IGPs) operate within an AS to ensure IP connectivity within it • Exterior Gateway Protocols (EGPs) run between ASs to enable routing policies between them Network Architecture and Design
BGP Necessity Q: how will the traffic between AS1 and AS20 flow Q: will AS 2 allow this traffic Q: how would you solve this problem with OSPF or EIGRP Network Architecture and Design
BGP Characteristics • Distance-vector protocol with enhancements: • Reliable updates (TCP port 179) • Incremental, triggered updates only • Full BGP tables exchanged after conn. setup • Only changes (delta) sent afterwards • Rich metrics (called path attributes) • Periodic keepalives to verify TCP connectivity • Designed to scale to huge internetworks • Full Internet Routing Table (FIRT) = 100.000 routes, 7000 ASs, 40MB approx. Network Architecture and Design
BGP Characteristics • BGP session = TCP connection port 179 • Two routers with BGP session established are called peers or neighbors • No periodic updates • Triggered updates are batched and rate-limited (every 5 seconds for internal peer, every 30 seconds for external peer) • Needs an IGP to provide TCP connectivity between BGP peers Network Architecture and Design
BGP Table and Routing Table Routing Table BGP Table • BGP has its own table, in addition to the IP routing table • Information can be exchanged between the two IGP/Static BGP Network Architecture and Design
Sample BGP configurations • Customer connected to Internet Service Provider (ISP) • Customer connected to several Service Providers (multi-homed) • Service Provider networks (transit autonomous systems) • Service Providers exchanging traffic at an exchange point (e.g. AIX, MAE-East,…) • Backbone of large enterprise networks Network Architecture and Design
Configuration #1 Large customer or small ISP connecting to the Internet Network Architecture and Design
Configuration #2 Customer connecting to several service-providers (multi-homed customer) • BGP is mandatory in this case • Public AS# needed for the customer • Provider-independent address space for the customer Network Architecture and Design
Configuration #3 Service providers exchanging traffic at exchange points (*IX) Network Architecture and Design
Configuration #4 Transit AS (carrying traffic from other AS’es) Network Architecture and Design
BGP Message Types • OPEN • Initialize communication • UPDATE • Advertise or withdraw routes • NOTIFICATION • Response to an incorrect message • KEEPALIVE • Actively test peer connectivity Network Architecture and Design
BGP Path Attributes • BGP metrics are called path attributes • Part of the BGP Update Packet • Implemented as TLVs (Type-Length-Value) • Used by BGP peers as route selection criteria • Well-known vs Optional attributes Network Architecture and Design
Well-known Attributes • Well-known attributes • must be recognized by all compliant implementations • Well-known mandatory attributes • must be present in all update messages • Well-known discretionary attributes • could be present in update messages • All well-known attributes are propagated to other neighbors Network Architecture and Design
Optional Attributes • Optional attributes • recognized by some implementations (could be private), expected not to be recognized by everyone • Optional transitive attributes • propagated to other neighbors if not recognized • Optional non-transitive attributes • discarded if not recognized • Recognized optional attributes are propagated to other neighbors based on their meaning (not constrained by transitive bit) Network Architecture and Design
Well-known Mandatory Attributes • Origin Code • Specifies the origin of a BGP route • IGP = route originated in an IGP (network command) • EGP = route originated in an EGP (and redistributed) • Incomplete (?) = route redistributed into BGP from IGP/static • AS_Path • sequence of AS numbers through which the network is accessible • Next_Hop • IP address of the next-hop router Network Architecture and Design
Well-known Discretionary Attributes • Local preference • Used for consistent routing policy within AS • Atomic aggregate • informs the neighbor AS that the originating router aggregated routes Network Architecture and Design
AS-Path Attribute • The AS-path attribute is empty when a local route is inserted in the BGP table • The sender’s AS number is prepended to the AS-path attribute when the routing update crosses AS boundary • The receiver of BGP routing information can use the AS-path to determine through which AS the information has passed • An AS that receives routing information with its own AS number in the AS-path silently ignores the information Network Architecture and Design
AS-Path Attribute Network Architecture and Design
Next Hop Attribute • Next-hop attribute indicates the next-hop IP address used for packet forwarding • Usually set to the IP address of the sending BGP router • Can be set to a third-party IP address to optimize routing Network Architecture and Design
Next Hop Processing in Shared Media • If the receiving BGP router is in the same subnet as the current next-hop, the next-hop address is not changed to optimize packet forwarding Network Architecture and Design
Next Hop Processing in NBMA • BGP next-hop processing can break connectivity with improper network designs over partially-meshed WAN networks • Correct use of subinterfaces and subnets alleviates the problem Network Architecture and Design
BGP Session Establishment • BGP does not auto-discover Neighbors - they must be configured manually • Configuration must be done on both sides of the connection • Both routers will attempt to connect to the other with a TCP session on port number 179 • Only one session will remain if both connection attempts succeed • Source IP address of incoming connection attempts is verified against a list of configured neighbors Network Architecture and Design
Example Network Network Architecture and Design
BGP Neighbors – Idle State Initially all BGP sessions to the neighbors are idle as123>show ip bgp sum BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State 2.3.4.5 4 21 0 0 0 0 0 never Idle 3.4.5.6 4 37 0 0 0 0 0 never Idle Network Architecture and Design
BGP Neighbors – Steady State All neighbors shall be up (no state info) Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State 2.3.4.5 4 21 17 22 10 0 0 0:01:47 3.4.5.6 4 37 11 17 10 0 0 0:07:07 Network Architecture and Design
External BGP - EBGP • BGP neighbors in different AS Router B: router bgp 110 network 150.10.0.0 neighbor 131.108.10.1 remote-as 109 Router A: router bgp 109 network 131.108.0.0 neighbor 131.108.10.2 remote-as 110 AS 109 131.108.0.0 A .1 131.108.10.0 .2 B 150.10.0.0 AS 110 Network Architecture and Design
External BGP - EBGP Network Architecture and Design
Internal BGP - IBGP AS 109 • BGP Neighbors in same AS Router B: router bgp 109 network 131.108.0.0 neighbor 131.108.30.1 remote-as 109 neighbor 131.108.30.1 update-source lo0 Router A: router bgp 109 neighbor 131.108.10.2 remote-as 109 neighbor 131.108.30.2 update-source lo0 • Update source is loopback0 to make sessions insensitive to topology changes within the AS A 131.108.30.1 B 131.108.30.2 Network Architecture and Design
Internal BGP - IBGP Network Architecture and Design
BGP Attributes – AS Path • AS-Path • Contains the list of AS’s traversed by the update • Sending router updates AS with its own AS • Used for loop detection: • if a router receives an update containing its own AS, then it discards it Network Architecture and Design
BGP Attributes – AS Path 1983 192.2.0.0/24 • AS-Path • Ordered list of AS’s traversed by route update • AS-Set • Route update traversed one or more members of a set 1981 192.2.1.0/24 1980 192.2.2.0/24 1982 192.2.3.0/24 192.2.0.0/24, 1980 1983 192.2.1.0/24, 1980 1981 192.2.2.0/24, 1980 192.2.3.0/24, 1980 1982 192.2.0.0/22 {1980, 1981, 1982, 1983} Network Architecture and Design
BGP Attributes – AS Path • AS-Path – Loop detection 1. Router A sends update for 146.124.54.0/24 with AS_PATH: 1560 B 670 2. Router B sends update for 146.124.54.0/24 with AS_PATH: 670 1560 (pre-pends its AS path) 1560 A 146.124.54.0/24 4. Router A detects its own AS in the update’s AS_PATH and discards it 210 3. Router C sends update for 146.124.54.0/24 with AS_PATH: 210 670 1560 (pre-pends its AS path) C Network Architecture and Design
BGP Attributes – Local Preference • Local Preference • Is sent only to routers in the same AS • Path with highest local-preference is preferred • Default is 100 65500 65002 65001 A Local Pref 120 Need to go to 65500 65003 65000 B Network Architecture and Design
End of Fifth Lecture Network Architecture and Design