Data-Driven Network Connectivity Junda Liu, Scott Shenker, Baohua Yang and Michael Schapira

advertisement
Data-Driven
Network Connectivity
Junda Liu, Scott Shenker, Baohua Yang
and Michael Schapira
junda@google.com
Control Plane
?
Data Plane
Control
Plane
Require Remote State
Slower timescales
Data Plane
Only Local State
Packet timescales
Data-Driven Connectivity
•
A data plane mechanism
o Only local state
•
Ensures connectivity without control plane
o Simple state transitions
o No message exchange
o No packet labeling
•
Intra-domain
Data-Driven Connectivity
Traffic Engineering
Optimize Routes
Maintain Connectivity
...
Traffic Engineering
Optimize Routes
...
Forward Packets
...
Maintain Connectivity
Forward Packets
...
Traditional Model
DDC Model
The Difference
Shortest Path
Multi Path
DDC
Control
Plane
Control
Plane
Control
Plane
Data Plane
Data Plane
Data Plane
Invoke Control Plane
Invoke Control Plane
To Begin With
•
•
•
•
Destination-based forwarding
Initially for every router, a link
is either outgoing or incoming
Essentially a DAG (Directed
Acyclic Graph)
DDC will preserve the DAG
property
The Idea
•
•
•
•
Send packet out when you can
Bounce packet back when no
choice
Bounce-back packet is the
implicit signal
Inspired by Gafni-Bertsekas link
reversal routing in 1981
Local Port States
•
2 bits per port:
o 1 bit for Incoming or Outgoing
o 1 bit for Normal or Reversed
•
I
O
RI
RO
Normal Action:
I
Recv Pkt
Send to O port
State Transition
Always have a port to send the packet!
State Transition
Always have a port to send the packet!
What's left on Control Plane
•
Route optimization
o Local healing
o Clear the reversed bit
•
Load distribution
o Avoid link congestion
Measurement: Locality of DDC
AS1239
DDC has significantly smaller scope.
Measurement: Load Distribution
Load distributing has close to optimal result
Conclusion
•
Connectivity ensured by data plane
•
Load distribution by simple control plane
•
Future work
o
Handle the distributed nature of modern router
architecture
Backup
Routing Along DAGs
•
Build per-destination DAG (Directed Acyclic
Graph)
•
Detect disconnection
•
Optimize routes continuously
•
Avoid congestion distributedly
Download