i-4 routing scalability taekyoung kwon some slides are from geoff huston, michalis faloutsos, paul...
TRANSCRIPT
i-4 routing scalability
Taekyoung Kwon
Some slides are from Geoff Huston, Michalis Faloutsos, Paul Barford, Jim Kurose, Paul Francis, and Jennifer Rexford
outline
• What is routing?• Current Internet routing
– Focus on BGP
• Routing scalability• A case study in IP routing: ViAggre• What is the design space?
One example• Connectionless forwarding
– Each router (switch) makes a LOCAL deci-sion to forward the packet towards B
A B
R1 R4
R2
R3
R6
R7
R5
R8
Routing is…
• How does each router know the cor-rect local forwarding decision for any possible destination address?– Through info of the network topology– This info is maintained by a routing pro-
tocol
• Information– Table size * update rate
Routing taxonomy
• Distributed* vs. centralized• Static vs. dynamic*
– # of hops vs. traffic load
• Intra-domain vs. inter-domain
Goals of internet routing
• Inter-connection• Fault-tolerant• Scalability• performance• ….
Current Internet routing
Internet routing: two levels
• Autonomous system (AS) level– Inter-domain– BGP
• Router level– Intra-domain– RIP, OSPF,…
Internet structure
Original idea
Backbone service provider
Large corporation
Smallcorporation “Consumer ” ISP
“Consumer” ISP“ Consumer” ISP
“Consumer ” ISP
Smallcorporation
Smallcorporation
Smallcorporation
Internet structure• And many tiers
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
Internet routing• Prefix is advertised across ASs
1
2
3
4
5
67
Client
SNU147.46.0.0/16
Path: 6, 5, 4, 3, 2, 1
Inter-AS routing: BGP
• BGP (Border Gateway Protocol): the de facto standard
• BGP provides each AS a means to:1.Obtain subnet reachability information from
neighboring ASs.2.Propagate reachability information to all AS-
internal routers.3.Determine “good” routes to subnets based
on reachability information and policy.• allows subnet to advertise its existence
to rest of Internet: “I am here”
BGP basics• pairs of routers (BGP peers) exchange routing
info over semi-permanent TCP connections: BGP sessions
• when AS1 advertises a prefix of AS2 to AS3:– AS1 promises it will forward datagrams towards
that prefix.– AS1 can aggregate prefixes in its advertisement
3b
1d
3a
1c2aAS3
AS1
AS21a
2c
2b
1b
3ceBGP session
iBGP session
2.3.4.0/24
2.0.0.0/8
2.3.0.0/16
Distributing reachability info
• using eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1.– 1c can then use iBGP do distribute new pre-
fix info to all routers in AS1– 1b can then re-advertise new reachability
info to AS2 over 1b-to-2a eBGP session• when router learns of new prefix, it cre-
ates entry for prefix in its forwarding ta-ble.
3b
1d
3a
1c2aAS3
AS1
AS21a
2c
2b
1b
3ceBGP session
iBGP session
Path attributes & BGP routes• advertised prefix includes BGP attributes.
– prefix + attributes = “route”• two important attributes:
– AS-PATH: contains ASs through which prefix advertise-ment has passed: e.g. AS 6431, AS 7018
– NEXT-HOP: indicates specific internal-AS router to next-hop AS. (may be multiple links from current AS to next-hop-AS)
• when gateway router receives route advertise-ment, uses import policy to accept/decline.
Network Layer 4-17
BGP route selection
• router may learn about more than 1 route to some prefix. Router must se-lect a route.
• elimination rules:1. local preference value attribute: policy de-
cision2. shortest AS-PATH 3. closest NEXT-HOP router: hot potato rout-
ing4. additional criteria
Network Layer 4-18
BGP messages
• BGP messages exchanged using TCP.• BGP messages:
– OPEN: opens TCP connection to peer and au-thenticates sender
– UPDATE: advertises new path (or withdraws old)
– KEEPALIVE keeps connection alive in absence of UPDATES; also ACKs OPEN request
– NOTIFICATION: reports errors in previous msg; also used to close connection
Network Layer 4-19
BGP routing policy (1/2)
A,B,C are provider networks X,W,Y are customers (of provider networks) X is dual-homed: attached to two networks
X does not want to route from B via X to C .. so X will not advertise to B a route to C
A
B
C
W X
Y
legend:
customer network:
provider network
Network Layer 4-20
BGP routing policy (2/2)
A advertises path AW to B B advertises path BAW to X Should B advertise path BAW to C?
No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers
B wants to force C to route to w via A B wants to route only to/from its customers!
A
B
C
W X
Y
legend:
customer network:
provider network
Network Layer 4-21
Why Intra- and Inter-AS routing different? Policy: • Inter-AS: admin wants control over how its traffic
routed, who routes through its net. • Intra-AS: single admin, so no policy decisions
needed
Scale:• hierarchical routing saves table size, reduced up-
date trafficPerformance: • Intra-AS: can focus on performance• Inter-AS: policy may dominate over performance
Routing table (RT) growth• Multi-homing• Traffic engineering• Non-aggregatable prefix allocation
Routing scalability
now
• We will consider general routing de-sign space– IP is just one of the possibilities– But IP networking environments had
better be considered as much as possi-ble
Design Space
Design goal of routing
1. Scalability (memory): e.g. sublinear RT size scaling2. Quality (stretch): the length of a chosen path by a
routing scheme compared to shortest path3. Reliability: fast convergence upon topology changes
while minimizing communication costs to maintain coherent non-local knowledge about network topol-ogy
4. Name-independent routing: accommodate node addresses/labels assigned independently of the topology (otherwise need to split locator and ID parts in addressing architecture)
5. Message overhead
Issue 1: Addressing and routing• Rekhter’s Law: “Addressing can follow
topology or topology can follow address-ing. Choose one.”
00 01 02 03
10 11 12 13
202221 23
3031 32 33
2 10 5 15
613 8 1
316 12 9
14
11 4 7
Name-dependent routing Name-independent routing
Issue 2: state vs. stretch
routingdebate
We want small state!!
We want small stretch!!
• State: the routing table size describing the network topology
• Stretch:
path length found by the routing algorithm
optimal path length≥1