Presentation is loading. Please wait.

Presentation is loading. Please wait.

Border Gateway Protocol

Similar presentations


Presentation on theme: "Border Gateway Protocol"— Presentation transcript:

1 Border Gateway Protocol
Autonomous Systems and Interdomain Routing (Exterior Gateway Protocol EGP)

2 Internet Infrastructure

3 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and that has a unified routing policy Each autonomous system is assigned an Autonomous System Number (ASN). Each ASN is 32bits ASN assigned by Regional Internet Registries Some are reserved for private use and never appear on the Internet Example ASNs Uof T’s campus network (AS239) Sprint (AS1239, AS1240, AS 6211, …)

4 Number of Autonomous Systems

5 Interdomain and Intradomain Routing
Routing protocols used inside an AS, referred to as intradomain routing, are called interior gateway protocols (IGP) Objective: shortest path, only operate within an AS Routing protocols used between ASs, referred to as interdomain routing, are called exterior gateway protocols (EGP) Objective: satisfy policy of the ASs, not always shortest path

6 EGP and IGP Interior Gateway Protocol (IGP)
1 Interior Gateway Protocol (IGP) Routing is done based on metrics Routing domain is one autonomous system Exterior Gateway Protocol (EGP) Routing is done based on policies Routing domain is the entire Internet

7 Routing Protocols Interdomain routing is based on connectivity between autonomous systems (ASs) Interdomain routing can ignore many details of intra domain router interconnection (not interested in internals of an AS)

8 Multiple Routing Protocols
Multiple routing protocols can run on the same router If a router is an exterior gateway router then usually one IGP and one EGP Each routing protocol updates the routing table accordingly

9 Autonomous Systems Terminology
local traffic: traffic with source and destination in AS transit traffic: traffic that passes through the AS Stub AS: has connection to only one AS, only carries local traffic Multihomed Stub AS: has connection to >1 AS, but does not carry transit traffic Transit AS: has connection to >1 AS and carries transit traffic

10 Stub and Transit Networks
Settings: AS 1 is a multi-homed stub network AS 3 and AS 4 are transit networks AS 2 and AS 5 are stub networks

11 Selective Transit Example:
AS 3 carries traffic between AS 1 and AS 4 and between AS 2 and AS 4 But AS 3 does not carry traffic between AS 1 and AS 2 The example shows a routing policy.

12 Customer/Provider and Peers
A stub network typically obtains access to the Internet through a Transit network. AS7 – AS5 – AS 8 A Transit network that is a provider may be a customer for another network – AS4 is a customer of AS2. Customer pays provider for service

13 Customer/Provider and Peers
Transit networks can have a peer relationship Peers provide transit between their respective customers Peers do not provide transit between peers AS1 – AS2 – AS3 Peers normally do not pay each other for service X

14 Border Gate Protocol (BGP)
Border Gateway Protocol is the interdomain routing protocol for the Internet for routing between autonomous systems Currently in version 4 (1995) Network administrators can specify routing policies BGP is a path vector protocol (Like distance vector, but routing messages in BGP contain complete routes) Uses TCP to transmit routing messages

15 Border Gate Protocol (BGP)
An autonomous system uses BGP to advertise its network address(es) to other AS’s BGP helps an AS to: Learn about reachable networks from neighboring AS’s Distribute the information about reachable networks to routers inside the AS Select a route if there are multiple routes to reach the same network

16 Key C/C’s of BGP Provides inter-autonomous system communication
Propagates reachability information Follows next-hop paradigm Provides support for policies Sends path information Permits incremental updates Allows route aggregation Allows authentication Uses reliable transport (i.e., TCP) – Unusual: most routing update protocols use connectionless transport (e.g., UDP) Sends keep alive messages so other end knows connection is valid (even if no new routing information is needed). Similar to OSPF neighbors

17 BGP Message Types Each advertised route is specified as a network prefix with attribute values

18 BGP Message Header Marker is an agreed upon value (synchronization pattern) between two peers. Usually all one’s, but can be used for authentication. Used to synchronize the two ends. Length gives total message length in octets Type contains one of the message types shown in previous slide

19 BGP Open Message

20 Opening a connection After TCP Connection is established, peers send an OPEN msg to declare the AS number and other attributes. Hold Time indicates the max. elapsed time between two msgs that a receiver should wait. If nothing received from a peer prior to timeout, peer considered to be down. It is reset with every msg reception. KeepAlive msgs sent every 1/3 hold time value if no other msg sent. An OPEN msg is Acked with a KeepAlive msg. A unique BGP Identifier is used for all communications from this peer. It is one of the BGP router IP addresses. Parm.Len indicates the length in octets of optional parameters. If none, it is zero octets. Each Opt. Parameter is preceded by 2 octets specifying the type of parameter and the length of the parameter.

21

22 BGP Update Message Note that any field labeled “variable”, can be omitted if there is no information for a parameter

23 Advertise New and Delete Old
After Open msgs, peers use UPDATE to send path information to peers. Withdraw Length field (2 octets) specifies number of Destinations being deleted. Path Attr Length specifies the Path attributes that are associated with a new Destination being advertised.

24 Path Attributes If advertised destinations have different attributes, they are sent in separate Update msgs. All Destinations in an Update msg have similar path attributes. Each attribute consists of a triple: (type, length, value)

25 BGP Path Attributes

26 BGP Attribute Type Codes

27 Ipv4 Addresses in BGP msgs
The LEN field identifies the number of octets in the IPv4 address covered by mask The LEN field is a binary number representing the value of the prefix E.G., Mask value of 8 or less will only have one address octet, will have 3.

28

29 BGP Notification Msg Once BGP detects a problem (error) it shuts down the connection to the peer. Data field includes any diagnosis information that is related to the error. Not all NOTIFICATION messages include a value in the Data field.

30 Error Codes

31 Error Sub Codes

32 BGP Message Examples

33 Flow between Multiple ASes
For net N1 in AS1 to send traffic to net N16 in AS16: AS16 must originate and announce N16 to AS8. AS8 must accept N16 from AS16. AS8 must announce N16 to AS1 or AS34. AS1 must accept N16 from AS8 or AS34. For two-way packet flow, similar policies must exist for N1. AS34 AS16 N16 AS1 N1 AS8

34 BGP interactions The networks that are advertised are network IP addresses with a prefix, E.g., /16 Network Prefixes reachable from AS 1 Network Prefixes reachable from AS 3

35 BGP interactions BGP is executed between two routers BGP session
BGP peers or BGP speakers Procedure: Establishes TCP connection (port 175) to BGP peer Exchange all BGP routes As long as connection is alive: Periodically send incremental updates Note: Not all autonomous systems need to run BGP. On many stub networks, the route to the provider can be statically configured

36 BGP interactions BGP peers advertise reachability of IP networks
A advertises a path to a network (e.g., /24) to B only if it is willing to forward traffic going to that network Path-Vector: A advertises the complete path AS A, …., AS B  this avoids loops

37 BGP Sessions External BGP session (eBGP): Peers are in different ASs
Internal BGP session (iBGP) Peers are in the same AS, but each peer connects to a different peer in another AS Note that iBGP sessions use routes constructed by an intradomain routing protocol to exchange messages!

38 iBGP sessions All iBGP peers in the same AS are (virtually) fully meshed Peer announces routes received via eBGP to iBGP peers

39 Route Reflectors Full mesh of iBGP routers is difficult to maintain
Router Reflectors (RR) present an alternative All iBGP routers peer with the RR RR acts as a master Other iBGP routers become slaves

40 Content of Advertisements
A BGP router route advertisement is sent in a BGP UPDATE message A route is announced as a Network Prefix and Attributes Attributes specify details about a route: Mandatory attributes: ORIGIN AS_PATH NEXT_HOP many other attributes

41 ORIGIN attribute Originating domain sends a route with ORIGIN attribute (AS number) Network Prefix /24, ORIGIN {1} /24, ORIGIN {1} /24, ORIGIN {1} /24, ORIGIN {1}

42 AS-PATH attributes Each AS that propagates a route prepends its own AS number AS-PATH collects a path to reach the network prefix Path information prevents routing loops from occurring Path information also provides information on the length of a path (By default, a shorter route is preferred) Note: BGP aggregates routes according to CIDR rules /24, AS-PATH {4,2,1} /24, AS-PATH {1} /24, AS-PATH {2,1} /24, AS-PATH {3,1}

43 NEXT-HOP attributes Each router that sends a route advertisement, includes its own IP address of the forwarding port in a NEXT-HOP attribute The attribute provides information for the routing table of the receiving router. /24, NEXT-HOP { } /24, NEXT-HOP { }

44 Connecting NEXT-HOP with IGP information
At R1: IGP Routing table Combined Routing table Dest. Next hop /24 Dest. Next hop /24 /24 BGP info Dest. Next hop /24

45 Route Selection An AS may get more than one route to an address
Needs to select a route 5 Route Selection Criteria (in order of preference) Highest Local Preference Shortest AS-Path Lowest MED (multi-exit discriminator) ( called “metric” in BGP) Prefer iBGP over eBGP routes Lowest IGP cost to leave AS (“hot potato”) Lowest router ID ( used as tie breaker)

46 Local Preference Local to an AS – Default is 100
Used to influence path selection – determines best outbound path If there are multiple exit points from the AS, the local preference attribute is used to select the best exit point for a specific route Path with highest local preference wins Local Preference is used only for iBGP sessions (not passed to routers in other AS

47 Hot Potato Routing Router R3 in AS A receives two advertisements to X
Which route should it pick? Hot Potato Rule: Select the iBGP peer that has the shortest IGP route Analogy: Get the packet out of one’s own AS as quickly as possible, i.e., on the shortest path

48 Hot Potato Routing Finding the cheapest IGP route:
Compare the cost of the two paths R3 R1 R3 R2 according to the IGP protocol Here: R1 has the shortest path Add a routing table entry for destination X via R1

49 Hot Potato Routing can backfire!
AS1 would serve its customer (source) better by not picking the shortest (lowest cost) route to AS 2. Here it is “5” but that will take you via a route in AS 2 that has a cost of 25. So total cost = 5+25 = 30 instead of 20+4 = 24 Cost 4 Cost 25

50 Processing in BGP Best entry is entered in IP routing table
Based on attributes BGP updates arrive BGP updates depart

51 Importing and Exporting Routes
An AS may not accept all routes that are advertised An AS may not advertise certain routes Route policies determine which routes are filtered If an AS wants to have less inbound traffic it should adapt its export rules If an AS wants to control its outbound traffic, it adapts its import rules

52 Routing Policies Customer Provider Since AS 5 is a stub network, it should not advertise routes to networks other than networks in AS 5 When AS 3 learns about the path {AS1, AS4}, it should not advertise the route {AS3, AS1, AS4} to AS 2.

53 Traffic Often Follows ASPATH
In many cases, packets are routed according to the AS-PATH However, in some cases this is not true (Here: AS 2 filters routes with a long prefix) Traffic Flow Traffic Flow

54 Short AS-PATH does not mean that route is short
From AS 6’s perspective Path {AS2, AS1} is short Path {AS5, AS4, AS3, AS1} is long But the number of traversed routers is larger when using the shorter AS-PATH (as IGP routing in AS2 has longer route)

55 BGP Issues BGP is a simple protocol but it is very difficult to configure Path vectors are used to avoid cycles It is not optimum, designed to work with policies


Download ppt "Border Gateway Protocol"

Similar presentations


Ads by Google