1 / 28

CS672: MPLS Architecture, Applications and Fault-Tolerance

CS672: MPLS Architecture, Applications and Fault-Tolerance. Stub-AS Routing Options. Provider may use one of the following options to learn about customer routes: Static routing IGP BGP Customer may use one of the following options: Default routing IGP BGP. Multihomed Stub AS Routing.

verne
Download Presentation

CS672: MPLS Architecture, Applications and Fault-Tolerance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS672: MPLS Architecture, Applications and Fault-Tolerance

  2. Stub-AS Routing Options • Provider may use one of the following options to learn about customer routes: • Static routing • IGP • BGP • Customer may use one of the following options: • Default routing • IGP • BGP

  3. Multihomed Stub AS Routing • Provider may use one of the following options to learn about customer routes: • IGP • BGP (preferable for better load balancing) • Customer may use one of the following options: • IGP • BGP (preferable for better load balancing)

  4. Transit AS Routing • In addition to advertising its own routes, a transit AS also advertises routes learned from other AS’s. • Upon learning routes advertised by a transit AS, other AS’s direct traffic toward transit AS for certain routes. • A transit AS uses BGP-4 for routing between other AS’s

  5. Transit AS destinations (d7,d8,d9) AS 3 (d4,d5,d6) BGP (d1,d2,d3) BGP (d1,d2,d3,…, d8,d9) destinations (d1,d2,d3) destinations (d4,d5,d6) AS 1 AS 2

  6. Guidelines for BGP Usage • The Internet may be considered as an interconnection of transit, multihomed (non-transit), and stub AS’s. • Single- and Multihomed Stub Autonomous Systems • may use protocols other than BGP (e.g., EGP, IGP, static routes) • however, use of BGP for advertising reachability information is recommended • Transit Autonomous Systems • use BGP-4 for distributing routing information between multiple transit AS’s. • Using BGP inside an AS • BGP is mainly used for exchanging routing information between autonomous systems (inter-AS) • However, BGP can be used to carry routing information across inside the AS

  7. Introduction to BGP-4 • Border Gateway Protocol (BGP) is an an exterior gateway protocol • main function of BGP is to allow exchange of routing information between BGP peers in different AS’s. • routers that run BGP are known as BGP speakers. • BGP version 4 (BGP-4) is the de-facto standard for inter-AS routing • BGP-4 obsoletes the earlier versions 1-3 • BGP can also be used inside of an AS (e.g., as a pipe) to carry external routing information across the AS. • Use of BGP inside an AS protects non-BGP speakers from potentially large number of external routing information. • Provides better control in selecting the exit and entrance points for the AS’s traffic.

  8. Motivations for BGP-4 • Existing IGP (e.g., OSPF, IS-IS, RIP) protocols are not designed for routing in large global networks. Some of the factors include: • Lack of mechanism to partition large networks into politically independent technical administrations (e.g., governments, institutions etc.) • Count to infinity limitation of distance vectors protocols such as RIP • Excessive control traffic generated by periodic updates of entire routing table (e.g., RIP).

  9. Motivations for BGP-4 • Lack of mechanism to suppress excessive control traffic generated due unstable links flaps (i.e., up/down events) in link state protocols (e.g., OSPF) • The processing and path recompilations due to excessive control traffic can easily overload control processor in the router • Lack of support for route aggregation and CIDR • Growth of table size becomes unmanageable in large networks • Lack of effective mechanism to enforce policies (e.g., selection of routes,control of route redistribution)

  10. BGP Routing Model • BGP is a path vector protocol because it exchanges complete AS path information between peers. • A BGP speaker can constructs a graph of autonomous systems interconnection based on the exchanged routing information • The use of full path information enables: • Detection of BGP speaker routing loops • Elimination of count-to-infinity problems associated with distance vector protocols • Enforcement of policies based on configurations • Provides effective mechanisms for route selection and controlling redistribution of routing information. • BGP supports CIDR and aggregation of routing information • Reduction of table size • Scalability

  11. AS Topology Graph Path AS2 AS1 AS4 Route – (AS1, AS2, AS3) AS3 Routing Flow Traffic flow Vertex – represents an AS Path (or edge) – represents interconnection between two AS. Route – collection of path information form a route.

  12. BGP Session • BGP uses TCP for reliable delivery of its messages • For establishing connection with neighbors, BGP uses TCP port 179 • Before any routing exchange can take place, a TCP connection must be established between two BGP peers • To establish TCP connection, BGP uses TCP port 179 • After TCP connection establishment, BGP session parameters are negotiated. • After BGP session parameters have been negotiated: • during the initial update the complete entire routing table information is exchanged between neighbors • afterwards, only incremental updates take place.

  13. External BGP Session • BGP speakers may reside in the same AS or different AS’s • A BGP session between two speakers in different AS’s is known as external BGP (eBGP) session. • An eBGP session requires that the two BGP peers be directly connected (e.g., shared data between two AS’s) • Cisco routers have removed the requirement of physical connectivity for eBGP session.

  14. Internal BGP Session • A session between two speakers in the same AS is known as internal BGP (iBGP) session. • An eBGP session can be established between directly or indirectly connected BGP speakers.

  15. eBGP and iBGP Sessions • How does a BGP speaker know whether a BGP session internal or external? • During BGP session establishment, BGP peers exchange AS numbers. • Therefore, determination of a BGP session as iBGP or eBGP is based on comparison of AS numbers. • If the AS numbers are same, the session is iBGP. • Otherwise, eBGP.

  16. R2 R1 R3 iBGP peers AS 300 eBGP peers R4 iBGP peers iBGP peers R5 R6 R7 AS 200

  17. BGP Messages • Each BGP message has a fixed size header that contains following fields: • Marker • Length • Type (i.e., BGP message type) • BGP defines following message types: • Open • KeepAlive • Notification • Update

  18. 0 7 15 23 31 Marker (16 byte) Length (2 byte) Type (1 byte) BGP Message Fixed Header Total size of the fixed header = 16+2+1 = 19 Byte

  19. BGP Open Message • After establishing TCP connection, each speaker sends a BGP Open message • BGP Open contains fields such as: • Version • My Autonomous System • Hold Time • BGP Identifier • Optional Parameters • If the values of the parameters are acceptable, the receiving side sends back KeepAlive message as an acknowledgement. • Upon receipt of KeepAlive, other messages (e.g., Update, KeepAlive etc.) are exchanged.

  20. Version (1 byte) 0 7 15 23 31 My Autonomous System (2 byte) BGP Identifier (4 byte) Op Parameter Len (1 byte) TLV Encoded Optional Parameters BGP Open Message

  21. BGP KeepAlive Message • BGP peers send periodic KeepAlive messages to avoid Hold timer expiration • For example, every 1/3 of Hold Timer period a KeepAlive message is sent • The two BGP peers may negotiate to not send any KeepAlive. For example, • If Hold Time = 0, KeepAlive is never sent. • KeepAlive message only contains fixed length header (19 bytes)

  22. BGP Notification Message • Whenever an error condition is encountered, BGP sends a Notification message. • Following transmission of a notification message, the associated TCP connections is immediately closed. • In addition to the fixed sized header, Notification message contains following fields: • Error Code (e.g., 1= Message Hdr Error, 2=Open Msg Error, …) • Error Subcode • Data to help troubleshooting the error.

  23. Idle 2-8,10,13(see note) 2-8,10,12,13 1 2,4,6,8-13 1,9 2,4,6,8-13 OpenConfirm 1,5 Active Connect 7 5 2,3,5-13 3 3 11 4 1,7 OpenSent Established 10 BGP Events: 1- BGP Start 8- Hold Timer Expired 2- BGP Stop 9- Keep Alive Timer Expired 3- BGP Transport Connection Open 10- Receive Open Message 4- BGP Transport Connection Closed 11- Receive Keep Alive Message 5- BGP Transport Connection Failed 12- Receive Update Message 6- BGP Transport Connection Fatal Error 13-Receive Notification Message 7- Connect Retry Timer Expired Note: Whenever BGP transitions Established to Idle state, it closed the TCP connection and withdraws all routes learned on that connection. 1,9,11,12 1

  24. BGP Update Message • Update is the most important BGP message because it is used for exchanging routing information between BGP peers. • Based on routing information exchanged via Update messages, BGP speakers construct graph of the AS’s topology. In short, BGP Update contains all the required information that enables BGP speakers to perform loop-free-routing. • In addition to mandatory fixed-sized header, BGP Update may contain one or more of the following optional fields: • Network Layer Reachability Information (NLRI) • Withdrawn Routes • Path Attributes

  25. Unfeasible Routes Length (2 bytes) Withdrawn Routes (variable length) Unfeasible Routes Length (1 byte) Prefix (1 byte) <length, prefix> Total Path Attribute Length (2 bytes) Path Attributes Path Attributes (a variable length sequence of path attributes such as AS_PATH, NEXT_HOP etc. Length (1 byte) Prefix (1 byte) <length, prefix> NLRI

  26. BGP Update Message • In order to be able to exchange Update message, BGP session must be in established state • Update message may simultaneously • Advertise single feasible route • But withdraw multiple routes • What is a route? • A route is an association of the path attributes with one or more IP destination prefixes contained in the NLRI. • It is important to realize that all path attributes (carried in the Path Attribute field) apply to all IP destination prefixes listed in the NLRI field. • This means, Update message cannot advertise more than one route

  27. BGP Update Message • How come more than one routes can be withdrawn in a single message? • A BGP speaker receiving an Update message can unambiguously can identify a route to be withdrawn based on an IP destination address listed in the withdrawn field. • As a result , it is possible to withdraw multiple routes simultaneously.

  28. AS Topology Graph Path AS2 AS1 AS4 Route – (AS1, AS2, AS3) AS3 Routing Flow Traffic flow Vertex – represents an AS Path (or edge) – represents interconnection between two AS. Route – collection of path information form a route.

More Related