860 likes | 1.17k Vues
Participatory Networking: An API for Application Control of SDNs. Andrew Ferguson, Arjun Guha, Chen Liang, Rodrigo Fonseca, and Shriram Krishnamurth i. Cornell. Participatory Networking. 1. SSHGuard. 2. Ekiga. 3. ZooKeeper. 4. Hadoop. Motivation. 1. SSHGuard.
E N D
Participatory Networking:An API for Application Control of SDNs • Andrew Ferguson, Arjun Guha, Chen Liang, • Rodrigo Fonseca, and Shriram Krishnamurthi Cornell
1. SSHGuard 2. Ekiga 3. ZooKeeper 4. Hadoop Motivation
1. SSHGuard blocks hosts in response to login attempts 2. Ekiga uses knowledge from host OS 3. ZooKeeper prefers to deny traffic close to source 4. Hadoop SSHGuard SSHGuard SSHGuard SSHGuard SSHGuard SSHGuard SSHGuard
1. SSHGuard open source VOIP client 2. Ekiga network needs dictated by end-user 3. ZooKeeper prefers to reserve bandwidth 4. Hadoop Ekiga Ekiga
1. SSHGuard Paxos-like coordination service 2. Ekiga network needs dictated by placement 3. ZooKeeper prefers high-priority switch queues 4. Hadoop ZooKeeper ZooKeeper ZooKeeper
1. SSHGuard open source data processing platform 2. Ekiga network weights known by scheduler 3. ZooKeeper prefers to reserve bandwidth 4. Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop
SDN Controllers SSHGuard Ekiga ZooKeeper Hadoop SSHGuard Ekiga SSHGuard
1. decompose control and visibility 2. resolve conflicts between requests Challenges
Participatory Networking
1. Requests 2. Hints 3. Queries PANE Participatory Networking
Participatory Networking • End-user API for SDNs • Exposes existing mechanisms • No effect on unmodified applications
Hadoop Shares
bandwidth 100Mbps root bandwidth 50Mbps root adf Share Tree
PANE This traffic will be short and bursty Reserve 2 Mbps from now to +5min? Yes OK How much web traffic in the last hour? 67,560 bytes
PANE Current: 80 Mbps Current: 0 Mbps bandwidth 100Mbps ShareA ShareB bandwidth 100Mbps bandwidth 100Mbps No Reserve 50 Mbps? Current: 0 Mbps Current: 80 Mbps Current: 0 Mbps Yes Reserve 80 Mbps?
bandwidth 100Mbps root bandwidth 50Mbps root adf Share Tree
(dstPort = 22, Deny) (dstIP=10.0.0.2, GMB=30) (srcIP=10.0.0.2, GMB=20) (dstPort=80, GMB=10) (srcIP=10.0.0.1, Allow) Policy Trees
Packet: src 10.0.0.1 dst 10.0.0.2:80 (dstPort = 22, Deny) (dstIP=10.0.0.2, GMB=30) (srcIP=10.0.0.2, GMB=20) (dstPort=80, GMB=10) (srcIP=10.0.0.1, Allow) Policy Trees
Hierarchical Flow Tables +P 0 GMB=30 GMB=30 Allow GMB=10 GMB=10 Packet: src 10.0.0.1 dst 10.0.0.2:80 (dstPort = 22, Deny) ? +S +D (dstIP=10.0.0.2, GMB=30) (srcIP=10.0.0.1, GMB=20) (dstPort=80, GMB=10) (srcIP=10.0.0.1, Allow) Packet Evaluation
Hierarchical Flow Tables GMB=30 +P GMB=30 GMB=10 +D (dstIP=10.0.0.2, GMB=30) +S (srcIP=10.0.0.1, GMB=20) GMB=10 Allow (dstPort=80, GMB=10) (srcIP=10.0.0.1, Allow) Only Requirements: Associative, 0-identity Conflict Resolution
D and S identical. Deny overrides Allow. GMB combines as max Rate-limit combines as min +D In node +S Sibling Child overrides Parent for Access Control GMB combines as max Rate-limit combines as min +P Parent-Sibling PANE’s Conflict Resolution Operators
(dstPort = 22, Deny) (dstPort = 22, Deny) (dstPort = 22, Deny) (dstPort = 22, Deny) (dstPort = 22, Deny) (dstIP=10.0.0.2, GMB=30) (dstIP=10.0.0.2, GMB=30) (dstIP=10.0.0.2, GMB=30) (dstIP=10.0.0.2, GMB=30) (dstIP=10.0.0.2, GMB=30) (dstPort=80, GMB=10) (dstPort=80, GMB=10) (dstPort=80, GMB=10) (dstPort=80, GMB=10) (dstPort=80, GMB=10) (srcIP=10.0.0.1, Allow) (srcIP=10.0.0.1, Allow) (srcIP=10.0.0.1, Allow) (srcIP=10.0.0.1, Allow) (srcIP=10.0.0.1, Allow) PANE
(dstPort = 22, Deny) (dstIP=10.0.0.2, GMB=30) (dstPort=80, GMB=10) (srcIP=10.0.0.1, Allow) (srcIP=10.0.0.2, GMB=20)
24Mbps 24Mbps 5Mbps 8Mbps PANE
24Mbps PANE
PANE 0.6
1. SSHGuard access control 2. Ekiga bandwidth reservations 3. ZooKeeper queues for low latency 4. Hadoop centralized traffic weights Evaluation
PANE 22 Hosts • Three equal-sized sort jobs: • Two Low Priority with 25% weight • One High Priority with 50% weight Dynamically apply QoS to High Priority flows using PANE.
PANE 22 Hosts Hadoop’s OpenFlow rules
For applications that know what they want from the network • Allows these applications to co-exist Conclusion
pane.cs.brown.edu Andrew Ferguson adf@cs.brown.edu
Arjun Guha • Chen Liang • Rodrigo Fonseca • Shriram Krishnamurthi Co-authors Brown ↦ Cornell ↦ UMass Amherst Brown ↦ Duke Brown Brown pane.cs.brown.edu Andrew Ferguson adf@cs.brown.edu
Backup Slides
GMB=30 GMB=30 Allow GMB=10 GMB=10 (dstPort = 22, Deny) +S +P (dstIP=10.0.0.2, GMB=30) (dstPort=80, GMB=10) (srcIP=10.0.0.1, Allow) Packet: src 10.0.0.1 dst 10.0.0.2:80 Hierarchical Flow Tables
compile Packet: src 10.0.0.1 dst 10.0.0.2:80 GMB 30 Theorem