Document

GENI Summer Camp Project
Resilient Networks with DAG
Hesham Mekky
Cheng Jin
Agenda
•
•
•
•
•
Background
DAG-resilient algorithm
GENI resource
Implementation
Future work
Background
• Link failures cause packets loss.
• Goals
– Demonstrate understanding of GENI
terminology, tools, and resources.
– Reduce packet loss.
E. M. Gafni and D. P. Bertsekas. Distributed algorithms for generating loop-free
routes in networks with frequently changing topology. IEEE Transactions on
Communications, 1981
DAG-resilient
• Boot-strapping (create DAG)
– Generate a random directed acyclic graph
(DAG)
– Make the random DAG as destination
oriented DAG
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
Boot-strapping
SW0
SW1
SW2
SW4
SW3
DAG-resilient
• Guarantee resilience (link failures
happen)
– If another outgoing link exists, take it.
– If no outgoing link, reverse all incoming
links.
Resilience: another outgoing
link exists
SW0
SW1
SW2
SW4
SW3
Resilience: another outgoing
link exists
SW0
SW1
SW2
SW4
SW3
Resilience: another outgoing
link exists
SW0
SW1
SW2
SW4
SW3
Resilience: another outgoing
link exists
SW0
SW1
SW2
SW4
SW3
Resilience: no other outgoing
link exists
SW0
SW1
SW2
SW4
SW3
Resilience: no other outgoing
link exists
SW0
SW1
SW2
SW4
SW3
Resilience: no other outgoing
link exists
SW0
SW1
SW2
SW4
SW3
Resilience: no other outgoing
link exists
SW0
SW1
SW2
SW4
SW3
GENI Resources
• Aggregates: Utah ProtoGENI
• OpenFlow Switches
– Five raw PCs running OpenvSwitch
• OpenFlow Controller
– Raw PC running POX
GENI Resources
Implementation
• Controller discovers the topology.
• Controller generates a random DAG.
• Given a destination, controller
generates a destination oriented DAG.
• Install flows
Demo
Future Work
• Continue to work on resilience.
– Single link fails and another outgoing link
exists.
– Single link fails and no more outgoing link
exists.
– Multiple links fail (i.e. node failure).
Thanks!