Software Defined Networking COMS 6998-8, Fall 2013 Instructor: Li Erran Li 6998-8SDNFall2013/

Slides:



Advertisements
Similar presentations
zUpdate: Updating Data Center Networks with Zero Loss
Advertisements

Jennifer Rexford Princeton University MW 11:00am-12:20pm Logically-Centralized Control COS 597E: Software Defined Networking.
Incremental Update for a Compositional SDN Hypervisor Xin Jin Jennifer Rexford, David Walker.
SDN Controller Challenges
Software-defined networking: Change is hard Ratul Mahajan with Chi-Yao Hong, Rohan Gandhi, Xin Jin, Harry Liu, Vijay Gill, Srikanth Kandula, Mohan Nanduri,
Dynamic Scheduling of Network Updates Xin Jin Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer Rexford, Roger Wattenhofer.
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
SIMPLE-fying Middlebox Policy Enforcement Using SDN
SDN Applications Jennifer Rexford Princeton University.
Models and techniques for verification of Software Defined Networks
Dynamic Scheduling of Network Updates Based on the slides by Xin Jin Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer.
CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
Composing Software Defined Networks
Nanxi Kang Princeton University
Jennifer Rexford Princeton University
Incremental Consistent Updates Naga Praveen Katta Jennifer Rexford, David Walker Princeton University.
VeriCon: Towards Verifying Controller Programs in SDNs (PLDI 2014) Thomas Ball, Nikolaj Bjorner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly.
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Towards Virtual Routers as a Service 6th GI/ITG KuVS Workshop on “Future Internet” November 22, 2010 Hannover Zdravko Bozakov.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
Shadow Configurations: A Network Management Primitive Richard Alimi, Ye Wang, Y. Richard Yang Laboratory of Networked Systems Yale University.
Hardness of Approximation and Greedy Algorithms for the Adaptation Problem in Virtual Environments Ananth I. Sundararaj, Manan Sanghi, John R. Lange and.
Rethinking Internet Traffic Management: From Multiple Decompositions to a Practical Protocol Jiayue He Princeton University Joint work with Martin Suchara,
Software-Defined Networking
Data Plane Verification. Background: What are network policies Alice can talk to Bob Skype traffic must go through a VoIP transcoder All traffic must.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
A Scalable, Commodity Data Center Network Architecture.
SMUCSE 8344 Constraint-Based Routing in MPLS. SMUCSE 8344 Constraint Based Routing (CBR) What is CBR –Each link a collection of attributes (performance,
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
Not All Microseconds are Equal: Fine-Grained Per-Flow Measurements with Reference Latency Interpolation Myungjin Lee †, Nick Duffield‡, Ramana Rao Kompella†
SIMPLE-fying Middlebox Policy Enforcement Using SDN Zafar Ayyub Qazi Cheng-Chun Tu Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
Formal checkings in networks James Hongyi Zeng with Peyman Kazemian, George Varghese, Nick McKeown.
Composing Software Defined Networks Jennifer Rexford Princeton University With Joshua Reich, Chris Monsanto, Nate Foster, and.
Towards a Logic for Wide- Area Internet Routing Nick Feamster Hari Balakrishnan.
Lecture 15. IGP and MPLS D. Moltchanov, TUT, Spring 2008 D. Moltchanov, TUT, Spring 2015.
Frenetic: A Programming Language for Software Defined Networks Jennifer Rexford Princeton University Joint work with Nate.
Software-Defined Networks Jennifer Rexford Princeton University.
Formal Modeling of an Openflow Switch using Alloy Natali Ruchansky and Davide Proserpio.
VeriFlow: Verifying Network-Wide Invariants in Real Time
Higher-Level Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
DARD: Distributed Adaptive Routing for Datacenter Networks Xin Wu, Xiaowei Yang.
Copyright 2013 Open Networking User Group. All Rights Reserved Confidential Not For Distribution Programming Abstractions for Software-Defined Networks.
Michael Schapira Yale and UC Berkeley Joint work with P. Brighten Godfrey, Aviv Zohar and Scott Shenker.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
High-Level Abstractions for Programming Software Defined Networks Joint with Nate Foster, David Walker, Arjun Guha, Rob Harrison, Chris Monsanto, Joshua.
An Efficient Gigabit Ethernet Switch Model for Large-Scale Simulation Dong (Kevin) Jin.
Slide 1 Simple, Flexible Programming of Data Movement Paths using Algorithmic Policies PIs: Y. Richard Yang, Robert Bjornson, Andrew Sherman Architect:
SIMPLE-fying Middlebox Policy Enforcement Using SDN
Header Space Analysis: Static Checking for Networks Broadband Network Technology Integrated M.S. and Ph.D. Eun-Do Kim Network Standards Research Section.
Authors: Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, David Walker Presenter: Byungkwon Choi Abstractions for Network Update INA.
Logically Centralized? State Distribution Trade-offs in Software Defined Networks.
Xin Li, Chen Qian University of Kentucky
SDN challenges Deployment challenges
SDN Network Updates Minimum updates within a single switch
Programming SDN Newer proposals Frenetic (ICFP’11) Maple (SIGCOMM’13)
The DPIaaS Controller Prototype
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
Hydra: Leveraging Functional Slicing for Efficient Distributed SDN Controllers Yiyang Chang, Ashkan Rezaei, Balajee Vamanan, Jahangir Hasan, Sanjay Rao.
of Dynamic NFV-Policies
Dynamic Scheduling of Network Updates
Dingming Wu+, Yiting Xia+*, Xiaoye Steven Sun+,
Languages for Software-Defined Networks
2018/12/10 Energy Efficient SDN Commodity Switch based Practical Flow Forwarding Method Author: Amer AlGhadhban and Basem Shihada Publisher: 2016 IEEE/IFIP.
Programmable Networks
Backbone Traffic Engineering
Lecture 10, Computer Networks (198:552)
Control-Data Plane Separation
Presentation transcript:

Software Defined Networking COMS , Fall 2013 Instructor: Li Erran Li SDNFall2013/ 10/8/2013: SDN Update

Outline Review of Previous Lecture – SDN Programming Language – SDN Verification SDN Update – Consistent Update – Congestion-Free Update – Network Partition 10/8/13 Software Defined Networking (COMS ) 2

Review of Previous Lecture SDN programming language Maple is imperative, supports: – Function in a general purpose language that describes how a packet should be routed, not how flow tables are configured. – Conceptually invoked on every packet entering the network; may also access network environment state. NetKAT/NetCore/Pyretic domain specific languages are declarative: – Formal semantics expresses packet forwarding – Support parallel and sequential composition 10/8/13 Software Defined Networking (COMS ) 3 Source: Andreas Voellmy, Yale

Review of Previous Lecture (Cont’d) Composition To compose monitoring and routing, what composition operator to use? To compose load balancing and routing, what composition operator to use? 10/8/13 Software Defined Networking (COMS ) 4 Source: Andreas Voellmy, Yale

Review of Previous Lecture (Cont’d) Controller Platform MonitorRoute PatternActions dstip= Fwd 1 dstip= Fwd 2 PatternActions srcip= Count + PatternActions srcip= , dstip= Fwd 1, Count srcip= , dstip= Fwd 2, Count srcip= Count dstip= Fwd 1 dstip= Fwd 2 10/8/13 Software Defined Networking (COMS ) 5 Source: Nate Foster, Cornell

Review of Previous Lecture (Cont’d) Controller Platform Load BalanceRoute PatternActions dstip= Fwd 1 dstip= Fwd 2 PatternActions srcip=*0dstip:= srcip=*1dstip:= ; PatternActions srcip=*0dstip:= , Fwd 1 srcip=*1dstip:= , Fwd 2 10/8/13 Software Defined Networking (COMS ) 6 Source: Nate Foster, Cornell

Review of Previous Lecture (Cont’d) 7 Controller App NetPlumber SDN verification NetPlumber: the System for real time verification of data plane properties State updates Logically centralized location to observe the state changes SNMP Trap 10/8/13 Software Defined Networking (COMS )Source: P. Kazemian, Stanford

Review of Previous Lecture (Cont’d) NetPlumber graph: – Creates a dependency graph of all forwarding rules in the network and uses it to verify policy – Nodes: forwarding rules in the network – Directed Edges: next hop dependency of rules 8 R1 R2R2 R2R2 Switch 1 Switch 2 10/8/13 Software Defined Networking (COMS )

Review of Previous Lecture (Cont’d) 9 S S S S 0 1 X X 10/8/13 Software Defined Networking (COMS )Source: P. Kazemian, Stanford X X Example NetPlumber graph Where is the missing edge?

Review of Previous Lecture (Cont’d) 10 S S S S 0 1 X X 10/8/13 Software Defined Networking (COMS )Source: P. Kazemian, Stanford X X Example NetPlumber graph

Outline Review of Previous Lecture – SDN Programming Language – SDN Verification SDN Update – Consistent Update – Congestion-Free Update – Network Partition 10/8/13 Software Defined Networking (COMS ) 11

12 Updates Happen Desired Invariants No black-holes No loops No security violations Network Updates Maintenance Failures ACL Updates 10/8/13 Software Defined Networking (COMS ) 12

PriorityPredicateAction PriorityPredicateAction 10SSHDrop 5dst_ip = H1Fwd 1 5dst_ip = H2Fwd 2 PriorityPredicateAction 5dst_ip = H1Fwd 1 PriorityPredicateAction 5dst_ip = H1Fwd 1 5dst_ip = H2Fwd 2 update re-ordering PriorityPredicateAction 10SSHDrop PriorityPredicateAction 10SSHDrop 5dst_ip = H1Fwd 1 ⊆ ⊆ ⊆ Distributed Programming : non-atomic table updates Update one Switch 10/8/13 Software Defined Networking (COMS ) 13 Source: Nate Foster, Cornell

Update one Switch (Cont’d) Solution: insert barrier messages to enforce partial ordering of rule updates 10/8/13 Software Defined Networking (COMS ) 14

15 Network Updates Are Hard 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 15

16 Goal Tools for whole network update Approach Develop update abstractions Endow them with strong semantics Engineer efficient implementations Network Update Abstractions 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 16

17 Security Policy SrcTrafficAction WebAllow Non-webDrop AnyAllow Example: Distributed Access Control Traffic F1 F2 F3 I 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 17

18 Security Policy SrcTrafficAction WebAllow Non-webDrop AnyAllow Naive Update Traffic F1 F2 F3 I F1 F2 F3 I Order 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 18

19 Use an Abstraction! UPDATE Security Policy ✓ ✓ ✓ 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 19

20 Atomic Update? Traffic F1 F2 F3 Security Policy SrcTrafficAction WebAllow Non-webDrop AnyAllow I 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 20

21 Security Policy SrcTrafficAction WebAllow Non-webDrop AnyAllow Per-Packet Consistent Updates Obeys policy: Per-Packet Consistent Update Each packet processed with old or new configuration, but not a mixture of the two. 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 21

22 Universal Property Preservation Trace Property Any property of a single packet ’ s path through the network. Theorem: Per-packet consistent updates preserve all trace properties. Examples of Trace Properties: Loop freedom, access control, waypointing... Trace Property Verification Tools: NetPlumber, ConfigChecker... 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 22

23 Formal Verification Corollary: To check an invariant, verify the old and new configurations. ✓ Analyzer ✓ Security Policy Verification Tools Anteater [SIGCOMM ’ 11] NetPlumber [SIGCOMM ’ 13] ConfigChecker [ICNP ’ 09] 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 23

24 Mechanisms 10/8/13 Software Defined Networking (COMS ) 24

25 2-Phase Update Overview Runtime instruments configurations Edge rules stamp packets with version Forwarding rules match on version Algorithm (2-Phase Update) 1.Install new rules on internal switches, leave old configuration in place 2.Install edge rules that stamp with the new version number update(config,topo) Calculate rules, generate messsages 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 25

26 2-Phase Update in Action Traffic F1 F2 F3 I 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 26

27 Optimized Mechanisms Optimizations Extension: strictly adds paths Retraction: strictly removes paths Subset: affects small # of paths Topological: affects small # of switches Runtime Automatically optimizes Power of using abstraction update(config,topo) Calculate rules, generate messsages 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 27

28 Subset Optimization Traffic F1 F2 F3 I 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 28

29 Correctness Example: 2-Phase Update 1.Install new rules on internal switches, leave old configuration in place 2.Install edge rules that stamp with the new version number } Unobservable One-touch } Theorem: Unobservable + one-touch = per-packet. Question: How do we convince ourselves these mechanisms are correct? Solution: built an operational semantics, formalized our mechanisms and proved them correct 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 29

30 Implementation Runtime – NOX Library – OpenFlow 1.0 – 2.5k lines of Python – update(config, topology) – Uses VLAN tags for versions – Automatically applies optimizations Verification Tool – Checks OpenFlow configurations – CTL specification language – Uses NuSMV model checker update(config,topo) 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 30

31 Evaluation Setup – Mininet VM Applications – Routing and Multicast Scenarios – Adding/removing hosts – Adding/removing links – Both at the same time Fattree Small-world Waxman Question: How much extra rule space is required? Topologies 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 31

32 Results: Routing Application Fattree Small-world Waxman 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 32

33 Conclusion Update abstractions – Per-packet – Per-flow Mechanisms – 2-Phase Update – Optimizations Formal model – Network operational semantics – Universal property preservation 10/8/13 Software Defined Networking (COMS )Source: M. Reitblatt, Cornell 33

Outline Review of Previous Lecture – SDN Programming Language – SDN Verification SDN Update – Consistent Update – Congestion-Free Update (zUpdate) – Network Partition 10/8/13 Software Defined Networking (COMS ) 34

DCN is constantly in flux Upgrade  Reboot Traffic Flows New Switch 35 10/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

DCN is constantly in flux Virtual Machines Traffic Flows 3610/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Network updates are painful for operators Bob: An operator Two weeks before update, Bob has to: Coordinate with application owners Prepare a detailed update plan Review and revise the plan with colleagues At the night of update, Bob executes plan by hands, but Application alerts are triggered unexpectedly Switch failures force him to backpedal several times. Eight hours later, Bob is still stuck with update: No sleep over night Numerous application complaints No quick fix in sight 37 Complex Planning Unexpected Performance Degradation Laborious Process Switch Upgrade 10/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Congestion-free DCN update is the key Applications want network updates to be seamless – Reachability – Low network latency (propagation, queuing) – No packet drops Congestion-free updates are hard – Many switches are involved – Multi-step plan – Different scenarios have distinct requirements – Interactions between network and traffic demand changes 38 Congestion 10/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

A clos network with ECMP 300 Link capacity: = All switches: Equal-Cost Multi-Path (ECMP) 10/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

+ 150 Switch upgrade: a naïve solution triggers congestion Link capacity: 1000 Drain AGG = 1070 = /8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Switch upgrade: a smarter solution seems to be working Link capacity: 1000 Drain AGG = = Weighted ECMP 10/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Traffic distribution transition Initial Traffic Distribution Congestion-free Final Traffic Distribution Congestion-free ? Asynchronous Switch Updates Transition Simple? NO! 4210/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Asynchronous changes can cause transient congestion Drain AGG1 Link capacity: = 1070 Not Yet When ToR1 is changed but ToR5 is not yet: 4310/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Solution: introducing an intermediate step Initial Final Intermediate Congestion-free regardless the asynchronizations ? Transition 4410/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

How zUpdate performs congestion- free update Data Center Network zUpdate Current Traffic Distribution Target Traffic Distribution Routing Weights Reconfigurations Update Scenario Update requirements Operator Intermediate Traffic Distribution Intermediate Traffic Distribution 4510/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Key technical issues Describing traffic distribution Representing update requirements Defining conditions for congestion-free transition Computing an update plan Implementing an update plan 4610/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Describing traffic distribution =150 =300 10/8/13 Software Defined Networking (COMS ) : flow f’s load on link v, u Source: J. Liu, Yale

Representing update requirements Drain s2 When s2 recovers 48 Constraint: no flow to s2 Constraint: ECMP equal split 10/8/13 Software Defined Networking (COMS ) Source: J. Liu, Yale

Switch asynchronization exponentially inflates the possible load values Asynchronous updates can result in 2^5 possible load values on link (7,8) during transition. f ingress egress f In large networks, it is impossible to check if the load value exceeds link capacity. Transition from old traffic distribution to new traffic distribution /8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Two-phase commit reduces the possible load values to two With two-phase commit, f’s load on link (7,8) only has two possible values throughout a transition f version flip ingress egress f Transition from old traffic distribution to new traffic distribution /8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Flow asynchronization exponentially inflates the possible load values f1 f Asynchronous updates to N independent flows can result in 2^N possible load values on link (7,8) f1 + f2 5110/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Handling flow asynchronization The load on link switch 7 to 8 has four potential values, but it is no more than the sum of f1’s maximum potential value and f2’s maximum potential value. f1 f /8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Computing congestion-free transition plan Constant: Current Traffic Distribution Constant: Current Traffic Distribution Variable: Target Traffic Distribution Variable: Target Traffic Distribution Variable: Intermediate Traffic Distribution Variable: Intermediate Traffic Distribution Constraint: Congestion-free Constraint: Update Requirements Constraint: Deliver all traffic Flow conservation Variable: Intermediate Traffic Distribution Variable: Intermediate Traffic Distribution Linear Programming 5310/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Implementing an update plan Computation time Switch table size limit Update overhead Failure during transition Traffic demand variation 54 Other Flows Critical Flows Weighted-ECMP ECMP Flows traversing bottleneck links 10/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Evaluations Testbed experiments Large-scale trace-driven simulations 5510/8/13 Software Defined Networking (COMS )

Testbed setup Drain AGG1 ToR5: 6Gbps ToR8: 6Gbps ToR6,7: 6.2Gbps 5610/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

zUpdate achieves congestion-free switch upgrade Initial Final Intermediate 3Gbps 0 6Gbps 5Gbps1Gbps 2Gbps 4Gbps 4.5Gbps 1.5Gbps 5710/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

One-step update causes transient congestion Initial 3Gbps Final 0 6Gbps 5Gbps1Gbps 5810/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Large-scale trace-driven simulations A production DCN topology Test flows (1%) Flows 5910/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

zUpdate beats alternative solutions zUpdate zUpdate-OneStep ECMP-OneStep ECMP-Planned Post-transition Loss Rate Transition Loss Rate #step Loss Rate (%) 6010/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Conclusion Switch and flow asynchronization can cause severe congestion during DCN updates zUpdate provides congestion-free DCN updates – Novel algorithms to compute update plan – Practical implementation on commodity switches – Evaluations in real DCN topology and update scenarios 6110/8/13 Software Defined Networking (COMS )Source: J. Liu, Yale

Outline Review of Previous Lecture – SDN Programming Language – SDN Verification SDN Update – Consistent Update – Congestion-Free Update (zUpdate) – Network Partition 10/8/13 Software Defined Networking (COMS ) 62

Network Partition Out-of-band control network Routing and forwarding based on addresses Policy specification using end-host names Controller only aware of local name-address bindings 10/8/13 Software Defined Networking (COMS ) 63

Network Partition Consider policy isolating A from B. A control network partition occurs. Only possible choices – Let all packets through (including from A to B) (Correctness) – Drop all packets (including from A to D) (Availability) 10/8/13 Software Defined Networking (COMS ) 64

Solution to Network Partition Network can label packets with sender’s identity – Route based on identity instead of address Inband control 10/8/13 Software Defined Networking (COMS ) 65

Questions? 10/8/13 Software Defined Networking (COMS ) 66