T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 1 COMP/ELEC 429/556 Introduction to Computer Networks Inter-domain routing Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang
Jan 07, 2016
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 1
COMP/ELEC 429/556Introduction to Computer Networks
Inter-domain routing
Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 2
Autonomous Systems (AS)
• Internet is not a single network!
• The Internet is a collection of networks, each controlled by a different administration
• An autonomous system (AS) is a network under a single administrative control
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 3
Example
AS-1
AS-2
AS-3
Interior router
Border router
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 4
Implications
• ASs want to choose own local routing algorithm– AS takes care of getting packets to/from their own hosts– Intradomain routing: shortest path, load balance, etc.
• ASs want to choose own non-local routing policy– Interdomain routing must accommodate this to a degree
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 5
Previous focus: Intra-Domain Routing
AS-1
AS-2
AS-3
Interior router
Border router
Intra-domain routing protocol aka Interior Gateway Protocol (IGP)
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 6
Today’s focus: Inter-Domain Routing
AS-2
Interior router
Border router
AS-1
AS-3
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 7
Inter-Domain Routing Considerations
• Global connectivity is at stake• Inevitably leads to one single protocol that everyone must speak
– Unlike many choices in intra-domain routing
• What are the requirements?– Scalability
– Flexibility in choosing routes
• If you were to choose, link state based or distance vector based?
• Border Gateway Protocol (BGP)– A hybrid between link state and distance vector
– “Path vector”
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 8
Border Gateway Protocol Part I: E-BGP
border router interior router
E-BGPAS1
AS2
Two types of routers
Border router, Interior router
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 9
BGP Operations (Simplified)
Establish session on TCP port 179
Exchange all active routes
Exchange incremental updates
AS1
AS2
While connection is ALIVE exchangeroute UPDATE messages
BGP session
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 10
BGP Update Messages
• Update : Announcing new routes or withdrawing previously
announced routes.
Update=
Destination IP address prefix + attributes values(e.g. a routing path)
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 11
Part I: E-BGP, Share connectivity information across ASs
E-BGP
A
AS1
AS2
you can reach netprefix A via addr and
the path is “AS2”
BGP table at R1:dest network prefix AS path next hop A AS2 addr
R1
addr
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 12
E-BGP update
I-BGP updates
• I-BGP used to disseminate learned routes to all routers in AS
Part II: I-BGP, Carrying Info within an AS
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 13
Part II: I-BGP, Carrying Info within an AS
AS1
B
AS3
A
AS2
you can reach netB via addr1 and the
path is “AS3”
E-BGP
you can reach netB via addr2 and
the path is “AS3 AS2”
E-BGP
addr2
addr1
I-BGP
you can reach netB via addr1 and the
path is “AS3”
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 14
Attributes are Used to Select Best Routes
192.0.2.0/24pick me!
192.0.2.0/24pick me!
192.0.2.0/24pick me!
192.0.2.0/24pick me!
Given multipleroutes to the sameprefix, a BGP speakermust pick at mostone best route
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 15
Example: Multiple AS Paths
AS701
AS73
AS7018
AS1239
AS9 128.2/16
128.2/169 701
128.2/169 7018 1239
Default choice: Pick shortest path
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 16
Shorter Doesn’t Always Mean better
AS 4
AS 3
AS 2
AS 1
Is path 4 1 better than path 3 2 1?
AS can use custom policies other than shortest path
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 17
Benefits of BGP Design
• Path Vector style routing– Distance vector algorithm with extra information– For each route, store the complete path (ASs)
• Advantages:– can make policy choices (choose among many possible
learned paths) based on set of ASs in path– can easily avoid loops
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 18
Announcing and Choosing Routes
• BGP may learn many different paths for a destination network
• Learns only reachability information, no performance metrics– Not about optimizing anything– All about policy (business and politics)
• What a BGP speaker announces or not announces to a neighbor determines what routes may get used by that neighbor
• Router chooses among paths based on policy
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 19
Nontransit vs. Transit ASes
ISP 1ISP 2
Nontransit ASmight be a corporateor campus network.
NET ATraffic NEVER flows from ISP 1through NET A to ISP 2(At least not intentionally!)
IP traffic
Internet Serviceproviders (often)are transit networks
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 20
Selective Transit
NET BNET C
NET A provides transitbetween NET B and NET Cand between NET D and NET C NET A
NET D
NET A DOES NOTprovide transitBetween NET D and NET B
Most transit networks transit in a selective manner…
IP traffic
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 21
Customers and Providers
Customer pays provider for access to the Internet
provider
customerIP traffic
provider customer
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 22
The Peering Relationship
peer peer
customerprovider
Peers provide transit between their respective customers
Peers do not provide transit between peers
Peers (often) do not exchange $$$trafficallowed
traffic NOTallowed
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 23
Peering Provides Shortcuts
Peering also allows connectivity betweenthe customers of “Tier 1” providers.
peer peer
customerprovider
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 24
Import Routes
Frompeer
Frompeer
Fromprovider
Fromprovider
From customer
From customer
provider route customer routepeer route ISP route
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 25
Export Routes
Topeer
Topeer
Tocustomer
Tocustomer
Toprovider
From provider
provider route customer routepeer route ISP route
filtersblock
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 26
How can routes be marked as “provider”, “peer”, “customer”, “isp” ?
A community attribute is 32 bits
By convention, first 16 bits is ASN indicating who is giving itan interpretation
communitynumber
Very flexible BECAUSE it has no predefinedmeaning
Used for signalingwithin and betweenASs
Use “Community Attribute” in route announcement
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 27
BGP Issues
• BGP designed for policy not performance
• Susceptible to router misconfiguration– Blackholes: announce a route you cannot reach
• Slow convergence time– Rate limiting and route flap dampening
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 28
Combining IGP and BGP
Forwarding Table
OS kernel
IGP Process
IGP Routing tables
BGP Process
BGP Routing tables
Forwarding Table Manager
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 29
Combine BGP and IGP Tables to Create Forwarding Table
AS 1 AS 2192.0.2.1
135.207.0.0/16
10.10.10.10
I-BGP: 135.207.0.0/16Next Hop = 192.0.2.1
192.0.2.0/30
Forwarding Table
135.207.0.0/16
destination next hop
10.10.10.10
192.0.2.0/30 10.10.10.10
BGP
192.0.2.1135.207.0.0/16
destination next hop
+
IGP
10.10.10.10192.0.2.0/30
destination next hop
E-BGP