Network Layer Interdomain Routing Based partly on lecture notes by Rob Sherwood David Mazières Phil Levis John Jannotti Rodrigo Fonseca Today Last time IntraDomain Routing IGP RIP distance vector ID: 167590
Download Presentation The PPT/PDF document "CSCI-1680" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
CSCI-1680Network Layer:Inter-domain Routing
Based partly on lecture notes by Rob Sherwood, David Mazières, Phil Levis, John Jannotti
Rodrigo FonsecaSlide2
TodayLast time: Intra-Domain Routing (IGP)RIP distance vector
OSPF link stateInter-Domain Routing (EGP)Border Gateway ProtocolPath-vector routing protocolSlide3
Why Inter vs. IntraWhy not just use OSPF everywhere?E.g., hierarchies of OSPF areas?
Hint: scaling is not the only limitationBGP is a policy control and information hiding protocolintra == trusted, inter == untrustedDifferent policies by different ASsDifferent costs by different
ASsSlide4
Types of ASsLocal Traffic – source or destination in local AS
Transit Traffic – passes through an ASStub ASConnects to only a single other ASMultihomed ASConnects to multiple ASsCarries no transit traffic
Transit AS
Connects to multiple
ASs
and carries transit trafficSlide5
AS RelationshipsHow to prevent X from forwarding transit between B and C?
How to avoid transit between CBA ?B: BAZ -> XB: BAZ -> C ? (=> Y: CBAZ and Y:CAZ)
B
A
C
X
Y
Z
Example from Kurose and Ross, 5
th
EdSlide6
Choice of Routing AlgorithmConstraints
ScalingAutonomy (policy and privacy)Link-state?Requires sharing of complete informationInformation exchange does not scaleCan’t express policyDistance Vector?Scales and retains privacy
Can’t implement policy
Can’t avoid loops if shortest path not taken
Count-to-infinitySlide7
Path Vector ProtocolDistance vector algorithm with extra informationFor each route, store the complete path (
ASs)No extra computation, just extra storage (and traffic)AdvantagesCan make policy choices based on set of ASs in pathCan easily avoid loopsSlide8
BGP - High LevelSingle EGP protocol in use today
Abstract each AS to a single nodeDestinations are CIDR prefixesExchange prefix reachability with all neighborsE.g., “I can reach prefix 128.148.0.0/16 through ASes 44444 3356 14325 11078”
Select a single path by routing
policy
Critical: learn many paths, propagate one
Add your ASN to advertised pathSlide9
Why study BGP?Critical protocol: makes the Internet runOnly widely deployed EGPActive area of problems!
EfficiencyCogent vs. Level3: Internet PartitionSpammers use prefix hijackingPakistan accidentally took down YouTubeEgypt disconnected for 5 daysSlide10
BGP ExampleSlide11
BGP ExampleSlide12
BGP ExampleSlide13
BGP ExampleSlide14
BGP ExampleSlide15
BGP Protocol DetailsSeparate roles of speakers
and gatewaysSpeakers talk BGP with other ASsGateways are routes that border other AssCan have more gateways than speakersSpeakers know how to reach gateways
Speakers connect over TCP on port 179
Bidirectional exchange over long-lived connectionSlide16
BGP ImplicationsExplicit AS Path == Loop free
Except under churn, IGP/EGP mismatchReachability not guaranteedDecentralized combination of policiesNot all ASs know all pathsAS abstraction -> loss of efficiencyScaling
37K
ASs
350K+ prefixes
ASs
with one prefix: 15664
Most prefixes by one AS: 3686 (AS6389, BellSouth)Slide17
BGP Table Growth
Source: bgp.potaroo.netSlide18
Integrating EGP and IGPStub ASs
Border router clear choice for default routeInject into IGP: “any unknown route to border router”Inject specific prefixes in IGPE.g., Provider injects routes to customer prefixBackbone networksToo many prefixes for IGP
Run internal version of BGP,
iBGP
All routers learn mappings: Prefix -> Border Router
Use IGP to learn: Border Router -> Next HopSlide19
iBGPSlide20
iBGPSlide21
BGP MessagesBase protocol has four message types
OPEN – Initialize connection. Identifies peers and must be first message in each direction UPDATE – Announce routing changes (most important message)
NOTIFICATION
– Announce error when closing connection
KEEPALIVE
– Make sure peer is alive
Extensions can define more message types
E.g., ROUTE-REFRESH [RFC 2918]Slide22
Anatomy of an UPDATEWithdrawn routes: list of withdrawn IP prefixes
Network Layer Reachability Information (NLRI)List of prefixes to which path attributes applyPath attributesORIGIN, AS_PATH, NEXT_HOP, MULTI-EXIT-DISC, LOCAL_PREF, ATOMIC_AGGREGATE, AGGREGATOR, …Each attribute has 1-byte type, 1-byte flags, length, content
Can introduce new types of path attribute – e.g., AS4_PATH for 32-bit AS numbersSlide23
ExampleNLRI: 128.148.0.0/16AS Path: ASN 44444 3356 14325 11078
Next Hop IP: same as in RIPv2Knobs for traffic engineering:Metric, weight, LocalPath, MED, CommunitiesLots of voodooSlide24
BGP StateBGP speaker conceptually maintains 3 sets of stateAdj
-RIB-In“Adjacent Routing Information Base, Incoming”Unprocessed routes learned from other BGP speakersLoc-RIBContains routes from Adj-RIB-In selected by policy
First hop of route must be reachable by IGP or static route
Adj
-RIB-Out
Subset of Loc-RIB to be advertised to peer speakersSlide25
DemoRoute views project: http://www.routeviews.org
telnet route-views.linx.routeviews.orgshow ip bgp 128.148.0.0/16 longer-prefixesAll paths are learned internally (
iBGP
)
Not a production deviceSlide26
Next classBGP Policy Routing and Security