grafting routers to accommodate change
DESCRIPTION
Grafting Routers to Accommodate Change . Eric Keller Princeton University Oct12, 2010. Jennifer Rexford, Jacobus van der Merwe , Michael Schapira. Dealing with Change. Networks need to be highly reliable To avoid service disruptions Operators need to deal with change - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/1.jpg)
Grafting Routers to Accommodate Change
Eric Keller
Princeton University
Oct12, 2010Jennifer Rexford, Jacobus van der Merwe, Michael Schapira
![Page 2: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/2.jpg)
2
Dealing with Change• Networks need to be highly reliable
– To avoid service disruptions
• Operators need to deal with change– Install, maintain, upgrade, or decommission equipment– Deploy new services– Manage resource usage (CPU, bandwidth)
• But… change causes disruption– Forcing a tradeoff
![Page 3: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/3.jpg)
3
Why is Change so Hard?• Root cause is the monolithic view of a router
(Hardware, software, and links as one entity)
![Page 4: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/4.jpg)
4
Why is Change so Hard?• Root cause is the monolithic view of a router
(Hardware, software, and links as one entity)
Revisit the design to make dealing with change easier
![Page 5: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/5.jpg)
5
Our Approach: Grafting• In nature: take from one, merge into another
– Plants, skin, tissue
• Router Grafting– To break the monolithic view– Focus on moving link (and corresponding BGP session)
![Page 6: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/6.jpg)
6
Why Move Links?
![Page 7: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/7.jpg)
7
Planned Maintenance• Shut down router to…
– Replace power supply– Upgrade to new model– Contract network
• Add router to…– Expand network
![Page 8: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/8.jpg)
8
Planned Maintenance• Could migrate links to other routers
– Away from router being shutdown, or– To router being added (or brought back up)
![Page 9: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/9.jpg)
9
Customer Requests a FeatureNetwork has mixture of routers from different vendors* Rehome customer to router with needed feature
![Page 10: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/10.jpg)
10
Traffic Management
Typical traffic engineering: * adjust routing protocol parameters based on traffic
Congested link
![Page 11: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/11.jpg)
11
Traffic Management
Instead…* Rehome customer to change traffic matrix
![Page 12: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/12.jpg)
12
Shutting Down a Router (today)How a route is propagated
F
C
G
D
A128.0.0.0/8 (E)
E128.0.0.0/8 (D, E)
128.0.0.0/8 (C, D, E)
128.0.0.0/8 (F, G, D, E)
128.0.0.0/8 (A, C, D, E)
B
![Page 13: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/13.jpg)
13
Shutting Down a Router (today)Neighbors detect router downChoose new best route (if available)Send out updates
F G
D
A
E
128.0.0.0/8 (A, F, G, D, E)
B
C
Downtime best case – settle on new path (seconds)Downtime worst case – wait for router to be up (minutes)
Both cases: lots of updates propagated
![Page 14: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/14.jpg)
14
Moving a Link (today)
F
C
G
D
A
E
BReconfigure D, E
Remove Link
![Page 15: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/15.jpg)
15
Moving a Link (today)
F
C
G
D
A
E
B No route to E
withdraw
![Page 16: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/16.jpg)
16
Moving a Link (today)
F
C
G
D
A
E
B
Add LinkConfigure E, G
128.0.0.0/8 (E)
128.0.0.0/8 (G, E)
Downtime best case – settle on new path (seconds)Downtime worst case – wait for link to be up (minutes)
Both cases: lots of updates propagated
![Page 17: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/17.jpg)
17
Router Grafting: Breaking up the router
Send state
Move link
![Page 18: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/18.jpg)
18
Router Grafting: Breaking up the router
Router Grafting enables this breaking apart a router (splitting/merging).
![Page 19: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/19.jpg)
19
Not Just State Transfer
Migrate session
AS100AS200 AS400
AS300
![Page 20: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/20.jpg)
20
Not Just State Transfer
Migrate session
AS100AS200 AS400
AS300
The topology changes(Need to re-run decision processes)
![Page 21: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/21.jpg)
21
Goals• Routing and forwarding should not be disrupted
– Data packets are not dropped– Routing protocol adjacencies do not go down– All route announcements are received
• Change should be transparent– Neighboring routers/operators should not be involved– Redesign the routers not the protocols
![Page 22: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/22.jpg)
22
Challenge: Protocol Layers
BGP
TCP
IP
BGP
TCP
IP
MigrateLink
MigrateState
Exchange routes
Deliver reliable stream
Send packets
Physical Link
A B
C
![Page 23: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/23.jpg)
23
Physical Link
BGP
TCP
IP
BGP
TCP
IP
MigrateLink
MigrateState
Exchange routes
Deliver reliable stream
Send packets
Physical Link
A B
C
![Page 24: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/24.jpg)
24
• Unplugging cable would be disruptive
Remote end-point
Migrate-from
Migrate-to
Physical Link
![Page 25: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/25.jpg)
25
mi
• Unplugging cable would be disruptive• Links are not physical wires
– Switchover in nanoseconds
Remote end-point
Migrate-from
Migrate-to
Physical Link
![Page 26: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/26.jpg)
26
IP
BGP
TCP
IP
BGP
TCP
IP
MigrateLink
MigrateState
Exchange routes
Deliver reliable stream
Send packets
Physical Link
A B
C
![Page 27: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/27.jpg)
27
• IP address is an identifier in BGP• Changing it would require neighbor to reconfigure
– Not transparent– Also has impact on TCP (later)
Changing IP Address
mi
Remote end-point
Migrate-from
Migrate-to
1.1.1.11.1.1.2
![Page 28: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/28.jpg)
28
• IP address not used for global reachability– Can move with BGP session– Neighbor doesn’t have to reconfigure
Re-assign IP Address
mi
Remote end-point
Migrate-from
Migrate-to
1.1.1.1
1.1.1.2
![Page 29: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/29.jpg)
29
TCP
BGP
TCP
IP
BGP
TCP
IP
MigrateLink
MigrateState
Exchange routes
Deliver reliable stream
Send packets
Physical Link
A B
C
![Page 30: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/30.jpg)
30
Dealing with TCP• TCP sessions are long running in BGP
– Killing it implicitly signals the router is down
• BGP and TCP extensions as a workaround(not supported on all routers)
![Page 31: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/31.jpg)
31
Migrating TCP Transparently• Capitalize on IP address not changing
– To keep it completely transparent
• Transfer the TCP session state– Sequence numbers– Packet input/output queue (packets not read/ack’d)
TCP(data, seq, …)
send()
ack
TCP(data’, seq’)
recv()app
OS
![Page 32: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/32.jpg)
32
BGP
BGP
TCP
IP
BGP
TCP
IP
MigrateLink
MigrateState
Exchange routes
Deliver reliable stream
Send packets
Physical Link
A B
C
![Page 33: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/33.jpg)
33
BGP: What (not) to Migrate• Requirements
– Want data packets to be delivered– Want routing adjacencies to remain up
• Need– Configuration– Routing information
• Do not need (but can have)– State machine– Statistics– Timers
• Keeps code modifications to a minimum
![Page 34: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/34.jpg)
34
Routing Information
mi
• Could involve remote end-point– Similar exchange as with a new BGP session– Migrate-to router sends entire state to remote end-point– Ask remote-end point to re-send all routes it advertised
• Disruptive – Makes remote end-point do significant work
Remote end-point
Exchange Routes
Migrate-from
Migrate-to
![Page 35: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/35.jpg)
35
Routing Information (optimization)
mi
Migrate-from router send the migrate-to router:• The routes it learned
– Instead of making remote end-point re-announce
• The routes it advertised– So able to send just an incremental update
Remote end-point
Migrate-from
Migrate-to
IncrementalUpdate
Send routes advertised/learned
![Page 36: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/36.jpg)
36
Migration in The Background
RemoteEnd-point
Migrate-to
Migrate-from
• Migration takes a while– A lot of routing state to transfer– A lot of processing is needed
• Routing changes can happen at any time• Disruptive if not done in the background
![Page 37: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/37.jpg)
37
While exporting routing state
In-memory:p1, p2, p3, p4
Dump:p1, p2
RemoteEnd-point
Migrate-to
Migrate-from
BGP is incremental, append update
![Page 38: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/38.jpg)
38
While moving TCP session and link
RemoteEnd-point
Migrate-to
Migrate-from
TCP will retransmit
![Page 39: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/39.jpg)
39
While importing routing state
RemoteEnd-point
Migrate-to
Migrate-from
In-memory:p1, p2
Dump:p1, p2, p3, p4
BGP is incremental, ignore dump file
![Page 40: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/40.jpg)
40
Special Case: Cluster Router
SwitchingFabric
Blade
Line card
Line card
Line card
Line card
A
B
C
D
BladeA B C D
• Don’t need to re-run decision processes• Links ‘migrated’ internally
![Page 41: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/41.jpg)
41
Prototype• Added grafting into Quagga
– Import/export routes, new ‘inactive’ state– Routing data and decision process well separated
• Graft daemon to control process• SockMi for TCP migration
ModifiedQuagga
graftdaemon
Linux kernel 2.6.19.7
SockMi.ko
Graftable Router
HandlerComm
Linux kernel 2.6.19.7-click
click.ko
Emulatedlink migration
Quagga
Unmod.Router
Linux kernel 2.6.19.7
![Page 42: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/42.jpg)
42
Evaluation• Impact on migrating routers• Disruption to network operation• Overhead on rest of the network
![Page 43: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/43.jpg)
43
Evaluation• Impact on migrating routers• Disruption to network operation• Overhead on rest of the network
![Page 44: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/44.jpg)
44
Impact on Migrating Routers• How long migration takes
– Includes export, transmit, import, lookup, decision– CPU Utilization roughly 25%
0 50000 100000 150000 200000 2500000
1
2
3
4
5
6
7
8
RIB size (# prefixes)
Mig
ratio
n T
ime
(sec
onds
)
Between Routers0.9s (20k) 6.9s (200k)
Between Blades0.3s (20k) 3.1s (200k)
![Page 45: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/45.jpg)
45
Disruption to Network Operation• Data traffic affected by not having a link
– nanoseconds
• Routing protocols affected by unresponsiveness– Set old router to “inactive”, migrate link, migrate TCP, set
new router to “active”– milliseconds
![Page 46: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/46.jpg)
46
Conclusion• Enables moving a single link/session with…
– Minimal code change– No impact on data traffic– No visible impact on routing protocol adjacencies– Minimal overhead on rest of network
• Future work– Explore applications– Generalize grafting
(multiple sessions, different protocols, other resources)
![Page 47: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/47.jpg)
47
Traffic Engineering with Router Grafting
(or migration in general)
![Page 48: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/48.jpg)
48
Recall: Traffic Management
Typical traffic engineering: * adjust routing protocol parameters based on traffic
Congested link
![Page 49: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/49.jpg)
49
Recall: Traffic Management
Instead…* Rehome customer to change traffic matrix
![Page 50: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/50.jpg)
50
Recall: Traffic Management
Instead…* Rehome customer to change traffic matrix
Is it that simple?What to graft, and where to graft it?
![Page 51: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/51.jpg)
51
Traffic Engineering Today• Traffic (Demand) Matrix
– A->B, A->C, A->D, A->E, B->A, B->C…
A
BC
DE
![Page 52: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/52.jpg)
52
Multi-commodity Flow• Traffic between routers (e.g., A and B) are Flows
– MCF assigns flows to paths
• Capacity constraint– Links are limited by their bandwidth
• Flow conservation– Traffic that enters a router, must exit the router
• Demand Satisfaction– Traffic reaches destination
• Minimize network utilization – There are different variants
![Page 53: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/53.jpg)
53
Traffic Engineering Today• Traffic (Demand) Matrix
– A->B, A->C, A->D, A->E, B->A, B->C…
A
BC
DE
![Page 54: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/54.jpg)
54
Traffic Engineering w/ Grafting• Traffic (Demand) Matrix:
– Customer to Customer– Set of potential links
AB
C D E
F
G
H
![Page 55: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/55.jpg)
55
Heuristic 1: Virtual Node Heuristic– Include potential links in graph– Run MCF– Choose a link (most utilized)
AB
C D E
F
GH
![Page 56: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/56.jpg)
56
Heuristic 2: Cluster Heuristic– Group customers– Run MCF– Assign customers to routers– Mimics fractional result of MCF
AB
Cluster_(C,D)E
F
GH
![Page 57: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/57.jpg)
57
Evaluation• Setup
– Internet2 topology– Traffic data (via netflow)
![Page 58: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/58.jpg)
58
Virtual Node Heuristic
![Page 59: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/59.jpg)
59
Misc. Discussion• Omitted
– Theoretical Framework– Evaluation from Cluster Heuristic
Takes some explanation
• Migration in Datacenters
![Page 60: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/60.jpg)
60
Class discussion• VROOM• ShadowNet
![Page 61: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/61.jpg)
61
![Page 62: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/62.jpg)
62
Backup
![Page 63: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/63.jpg)
63
VROOM: Virtual Routers on the Move
[SIGCOMM 2008]
![Page 64: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/64.jpg)
The Two Notions of “Router”
The IP-layer logical functionality, and the physical equipment
64
Logical(IP layer)
Physical
![Page 65: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/65.jpg)
The Tight Coupling of Physical & Logical
Root of many network-management challenges (and “point solutions”)
65
Logical(IP layer)
Physical
![Page 66: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/66.jpg)
VROOM: Breaking the Coupling
Re-mapping the logical node to another physical node
66
Logical(IP layer)
Physical
VROOM enables this re-mapping of logical to physical through virtual router migration.
![Page 67: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/67.jpg)
67
Enabling Technology: Virtualization• Routers becoming virtual
SwitchingFabric
data plane
control plane
![Page 68: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/68.jpg)
Case 1: Planned Maintenance
• NO reconfiguration of VRs, NO reconvergence
68
A
B
VR-1
![Page 69: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/69.jpg)
Case 1: Planned Maintenance
• NO reconfiguration of VRs, NO reconvergence
69
A
B
VR-1
![Page 70: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/70.jpg)
Case 1: Planned Maintenance
• NO reconfiguration of VRs, NO reconvergence
70
A
B
VR-1
![Page 71: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/71.jpg)
Case 2: Power Savings
71
• $ Hundreds of millions/year of electricity bills
![Page 72: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/72.jpg)
72
Case 2: Power Savings
• Contract and expand the physical network according to the traffic volume
![Page 73: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/73.jpg)
73
Case 2: Power Savings
• Contract and expand the physical network according to the traffic volume
![Page 74: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/74.jpg)
74
Case 2: Power Savings
• Contract and expand the physical network according to the traffic volume
![Page 75: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/75.jpg)
75
1. Migrate an entire virtual router instance• All control plane & data plane processes / states
Virtual Router Migration: the Challenges
SwitchingFabric
data plane
control plane
![Page 76: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/76.jpg)
76
1. Migrate an entire virtual router instance2. Minimize disruption
• Data plane: millions of packets/second on a 10Gbps link• Control plane: less strict (with routing message retransmission)
Virtual Router Migration: the Challenges
![Page 77: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/77.jpg)
77
1. Migrate an entire virtual router instance2. Minimize disruption3. Link migration
Virtual Router Migration: the Challenges
![Page 78: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/78.jpg)
78
Virtual Router Migration: the Challenges
1. Migrate an entire virtual router instance2. Minimize disruption3. Link migration
![Page 79: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/79.jpg)
79
VROOM Architecture
Dynamic Interface Binding
Data-Plane Hypervisor
![Page 80: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/80.jpg)
80
• Key idea: separate the migration of control and data planes
1. Migrate the control plane
2. Clone the data plane
3. Migrate the links
VROOM’s Migration Process
![Page 81: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/81.jpg)
81
• Leverage virtual server migration techniques• Router image
– Binaries, configuration files, running processes, etc.
Control-Plane Migration
![Page 82: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/82.jpg)
82
• Leverage virtual server migration techniques• Router image
– Binaries, configuration files, running processes, etc.
Control-Plane Migration
Physical router A
Physical router B
DP
CP
![Page 83: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/83.jpg)
83
• Clone the data plane by repopulation– Enables traffic to be forwarded during migration– Enables migration across different data planes
Data-Plane Cloning
Physical router A
Physical router BCP
DP-old
DP-newDP-new
![Page 84: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/84.jpg)
84
Remote Control Plane
Physical router A
Physical router BCP
DP-old
DP-new
• Data-plane cloning takes time– Installing 250k routes takes over 20 seconds*
• The control & old data planes need to be kept “online”• Solution: redirect routing messages through tunnels
*: P. Francios, et. al., Achieving sub-second IGP convergence in large IP networks, ACM SIGCOMM CCR, no. 3, 2005.
![Page 85: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/85.jpg)
85
• Data-plane cloning takes time– Installing 250k routes takes over 20 seconds*
• The control & old data planes need to be kept “online”• Solution: redirect routing messages through tunnels
Remote Control Plane
*: P. Francios, et. al., Achieving sub-second IGP convergence in large IP networks, ACM SIGCOMM CCR, no. 3, 2005.
Physical router A
Physical router BCP
DP-old
DP-new
![Page 86: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/86.jpg)
86
• At the end of data-plane cloning, both data planes are ready to forward traffic
Double Data Planes
CP
DP-old
DP-new
![Page 87: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/87.jpg)
87
• With the double data planes, links can be migrated independently
Asynchronous Link Migration
A
CP
DP-old
DP-new
B
![Page 88: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/88.jpg)
88
Prototype: Quagga + OpenVZ
Old router New router
![Page 89: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/89.jpg)
• Performance of individual migration steps• Impact on data traffic• Impact on routing protocols
• Experiments on Emulab
89
Evaluation
![Page 90: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/90.jpg)
• Performance of individual migration steps• Impact on data traffic• Impact on routing protocols
• Experiments on Emulab
90
Evaluation
![Page 91: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/91.jpg)
• The diamond testbed
91
Impact on Data Traffic
n0
n1
n2
n3
VR
No delay increase or packet loss
![Page 92: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/92.jpg)
• The Abilene-topology testbed
92
Impact on Routing Protocols
![Page 93: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/93.jpg)
• Average control-plane downtime: 3.56 seconds• OSPF and BGP adjacencies stay up• At most 1 missed advertisement retransmitted• Default timer values
– OSPF hello interval: 10 seconds– OSPF RouterDeadInterval: 4x hello interval– OSPF retransmission interval: 5 seconds– BGP keep-alive interval: 60 seconds – BGP hold time interval: 3x keep-alive interval
93
Edge Router Migration: OSPF + BGP
![Page 94: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/94.jpg)
94
VROOM Summary• Simple abstraction• No modifications to router software
(other than virtualization)• No impact on data traffic• No visible impact on routing protocols
![Page 95: Grafting Routers to Accommodate Change](https://reader036.vdocument.in/reader036/viewer/2022062521/56816764550346895ddc43a5/html5/thumbnails/95.jpg)
95
Migrating and Grafting Together• Router Grafting can do everything VROOM can
– By migrating each link individually
• But VROOM is more efficient when…– Want to move all sessions– Moving between compatible routers
(same virtualization technology)– Want to preserve “router” semantics
• VROOM requires no code changes– Can run a grafting router inside of virtual machine
(e.g., VROOM + Grafting)– Each useful for different tasks