� � � � � � � � � ✁ ✁ � � ✁ � � � ✁ ✂ � � 28 May, The Lecture Outline Inter Domain Routing Motivation BGP Overview/Big Picture Border Gateway Protocol 4 The BGP4 Protocol The BGP4 Operations Presented by Tomas Winkler and Innocenty Sukhov BGP4 Extensions Experience with BGP4 Future Work Exhaustion of Class B Space The Internet Scaling Problem 10 Network (14 bits) Host (16 bits) Exponential growth of the Internet The three bears and Goldylocks problem Exhaustion of the class B network address space Most organizations are larger then class C (254) Growth of routing tables beyond the ability of but significantly smaller than class B (64K) current hardware/software to manage (typically about 1000...5000 hosts) Exhaustion of the 32-bit IP address space Class B fits, with waste of 60K IP addresses Would be nice to give them few consecutive C class networks But this exacerbates the routing table explosion problem Routing Table Explosion Classless InterDomain Routing Client Networks A tool to deal with exhaustion of B class address 209.185.8.0 space 209.185.8.0 The Global 209.185.9.0 209.185.9.0 ... ISP Network prefix of arbitrary length Internet mesh ...... 209.185.15.0 Provides a basis for slowing down the growth of 209.185.15.0 routing tables aggregation Despite all the client networks have common prefix 209.185 they are Class C addresses and Eases temporarily the problem of IP address the provider has to announce each network space exhaustion while progress is made on a individually long term solution
✂ � � ✂ � ✁ � � � � � ✁ � ✁ � � � � ✁ ✂ � ✂ ✁ � � ✂ � 28 May, Aggregation with CIDR BGP4: CIDR Oriented EGP Client Networks CIDR is only a tool to enforce scalability 209.185.8.0 Global EGP must take advantage of CIDR to achieve scalability 209.185.9.0 The Global BGP4 is an extension of BGP3 that provides ISP 209.185.8/21 ... Internet mesh support for routing info aggregation based on CIDR 209.185.15.0 The Internet as collection of AS’s Motivation Autonomous System (AS) BGP Overview/Big Picture The Internet as a Collection of AS’ s The BGP4 Protocol IGPs within AS The BGP4 Operations EGP between AS’s Need to Deploy Policy Routing BGP4 Extensions money Experience with BGP4 security Future Work laws BGP4: The Big Picture History of EGP Protocols EGP2 AS 1 EGP Area 0 unjustified topology restriction AS 2 loop-free tree IGP (OSPF) lack of loop preventing mechanism unreliable transport periodical updates high bandwidth / CPU requirements classful routing non scalable
✁ � ✁ ✁ � ✁ ✂ � ✂ � � � � ✂ ✂ ✂ ✂ � � � � ✁ ✄ ✁ � ✄ ✂ � ✁ ✂ � ✂ � � � ✁ � � � ✁ ✁ ✁ � � � � 28 May, History of EGP Protocols II Why a new Protocol ? BGP1 - BGP2 - BGP3 - BGP4 Policy making support reliable transport (TCP) Special concern in scalability no periodical updates arbitrary topologies explicit loop detection mechanism Most important BGP4 features: CIDR support built-in aggregation BGP Key Features Path Attributes Inter-AS routing protocol for IPv4 internetworks Provide flexibility and expandability No assumptions about underlying IGPs Well-known vs Optional No constraints on underlying topology Path of ASs towards a destination Info exchanged by BGP peers suffices loop suppression to detect routing loops policy routing support to enforce routing policy decisions aggregation support Key BGP4 Features: Next hops path attributes Various metrics specifying degrees of preference for the aggregation route Basic Routing Algorithms BGP Algorithm Distance Vector (DV) Path Vector Algorithm A router advertises whole routing table to its neighbors Carrying a complete AS path makes it similar to LS Bad scaling (slow convergence) Exchanging only currently used routes between the Counting to infinity problem (loops) peers makes it similar to DV Same metric has to be used in each router Initial exchange of complete RT how to apply a policy? Link State (LS) Incremental updates Link State Packets are flooded in the network Route announcements Packets are smaller then a routing table Route withdrawals Each router holds a map of entire network (LSDB) Route aggregation No loops, but LSDB can be huge
✄ � � ✁ � ✁ � � � � � � � � � ✂ � ✂ � ✂ ✁ ✂ ✁ � � � � � � � � � � � � � 28 May, The BGP Protocol Motivation BGP Overview/Big Picture Bringing up a BGP session The BGP4 Protocol Message Types The BGP4 Operations Standard Path Attributes BGP4 Extensions Internal BGP vs. External BGP Experience with BGP4 Path Selection Future Work BGP Session BGP4 Message Types BGP peers Common Header Establishing a TCP connection Message Types Bringing up a BGP session OPEN Initial exchange of complete RT UPDATE Incremental updates NOTIFICATION KEEPALIVE Keep alive BGP session break down OPEN Common Header My BGP version Precedes every BGP message My ASN: unique AS identifier Marker (16 octets) Marker Hold Time: maximum length of time that one endpoint will synchronization and security wait to hear something from the other endpoint. Length Type depends on the message being sent and the type of BGP speaker Identifier (4 octets) - unique router ID security used (if any) (usually IP address of the router’s virtual interface ) ✁ may be predicted/verified by the other side Optional Parameters ✄ Message length in bytes (2 octets) Authentication mechanism ✄ Message type (1 octet) Multiprotocol Capabilities � Additional octets following the common header are interpreted according to the Message Type field
✁ ✂ � � � � � ✂ � � � � � � � ✂ � � ✁ � ✁ � ✂ ✂ ✂ � � ✂ � � � ✂ 28 May, UPDATE Path Attributes Primary message to exchange info between two BGP Most Important Feature speakers flexibility and expandability Prefix advertising and withdrawal Well-Known vs Optional Withdrawn Routes: list of IP prefixes for which the well-known attributes must be recognized by all BGP sender no longer wishes to forward packets implementations Path Attributes: list of BGP attributes associated with well-known: mandatory vs discretionary the prefixes in the NLRI field Transitive: whether the attribute is passed to the other Network Layer Routing Information (NLRI) list of peers prefixes for which the sender wishes to forward Partial: whether all BGP speakers on the way packets understood an optional transitive attribute Each attribute in the Path Attributes applies to Type + Length + Value (Types are assigned by IANA) every prefix. NOTIFICATION & KEEPALIVE Conceptual Model of Operation NOTIFICATION Adj-RIBs-In (one per a peer) BGP speaker sends NOTIFICATION message to Prefixes learned from a particular peer signal an error before the TCP connection is closed Loc-RIB (one per a system) Error Code field identifies the type of error Prefixes selected for use (forwarding) KEEPALIVE Adj-RIBs-Out (one per a peer) BGP neighbors send a KEEPALIVE message to Prefixes advertised to a particular peer each other to confirm that the connection is still active. Some data (UPDATE or KEEPALIVE message) has to be sent before the hold timer expires. Base Standard Path Attributes Route Accepting/Advertising Adj-RIB-Out A Policy ORIGIN Adj-RIB-In A DB Policy A Policy AS-PATH A DB DB NEXT-HOP Adj-RIB-Out B Adj-RIB-In B Decision Policy MULTI-EXIT-DISCRIMINATOR Policy B Loc-RIB B DB Process DB LOCAL-PREF Adj-RIB-Out C Adj-RIB-In C ATOMIC-AGGREGATE Policy Policy C C Choosing best Routes DB DB AGGREGATOR Route Accepting Route Advertising
Recommend
More recommend