trident
play

Trident Toward a Unified SDN Programming Framework with Automatic - PowerPoint PPT Presentation

Trident Toward a Unified SDN Programming Framework with Automatic Updates Kai Gao 1 Taishi Nojima 2 Y. Richard Yang 2, 3 August 23, 2018 @ Budapest, Hungary 1 Tsinghua University 2 Yale University 3 Tongji University Software-Defined Networking


  1. Trident Toward a Unified SDN Programming Framework with Automatic Updates Kai Gao 1 Taishi Nojima 2 Y. Richard Yang 2, 3 August 23, 2018 @ Budapest, Hungary 1 Tsinghua University 2 Yale University 3 Tongji University

  2. Software-Defined Networking 1

  3. Software-Defined Networking SDN simplifies network management with logically centralized network control. 1

  4. Network Functions 2

  5. Network Functions Network functions provide L7 information by extracting “state”. 2

  6. Putting Them Together Integrating the information extracted by network functions into SDN programming enables adaptive , cross-layer network control. • adaptive: react dynamically to traffic • cross-layer: control traffic based on L2-L7 information 3

  7. Putting Them Together Integrating the information extracted by network functions into SDN programming enables adaptive , cross-layer network control. • adaptive: react dynamically to traffic • cross-layer: control traffic based on L2-L7 information Unified SDN Programming 3

  8. What are the design challenges of a unified SDN programming framework? & Why are existing SDN programming frameworks not sufficient? 4

  9. • Network function states are L7 which are NOT contained in packet header fields. They can be unknown and constantly updated by finite state machines . C1: Integrating Network Function State into SDN Programming • State-of-the-art SDN programming languages support L2-L4 programming naturally as all L2-L4 information is contained in every single packet. Examples from NetKAT (Anderson et al.), Frenetic (Foster et al.), Maple (Voellmy et al.) and Merlin (Soulé et al.) 5

  10. C1: Integrating Network Function State into SDN Programming • State-of-the-art SDN programming languages support L2-L4 programming naturally as all L2-L4 information is contained in every single packet. • Network function states are L7 which are NOT contained in packet header fields. They can be unknown Examples from Kinetic (Kim et al.) and Resonance (Kim and constantly updated by finite et al.) state machines . 5

  11. C1: Integrating Network Function State into SDN Programming • State-of-the-art SDN programming languages support L2-L4 programming naturally as all L2-L4 information is contained in every single packet. • Network function states are L7 which are NOT contained in packet header fields. They can be unknown Examples from Kinetic (Kim et al.) and Resonance (Kim and constantly updated by finite et al.) state machines . We need a simple abstraction to encode L7 information in SDN programming. 5

  12. C2: Constructing Consistent, Correlated Routes Requirement Case 1: The return path be the inverse of the forward path (i.e., symmetry). DPI1 • Route constructions may be Forward Shortest Path Internet required to be correlated : routes S1 S2 Return Shortest Path H1 cannot be calculated independently. Link weight: 1 Link weight: 2 DPI2 If the forward and return paths are computed independently using shortest path, the requirement will not be satisfied. 6

  13. C2: Constructing Consistent, Correlated Routes Requirement Case 1: The return path be the inverse of the forward path (i.e., symmetry). DPI1 • Route constructions may be Forward Shortest Path Internet required to be correlated : routes S1 S2 Return Shortest Path H1 cannot be calculated independently. Link weight: 1 Link weight: 2 DPI2 If the forward and return paths are computed independently using shortest path, the requirement will not be satisfied. We need to systematically construct consistent, correlated routes. 6

  14. High-level Programming Abstractions in Trident Binding Route Specification Packet Selector C2: Systematically Construct C1: Encode L7 Information Consistent Correlated Routes To address the aforementioned challenges 7

  15. High-level Programming Abstractions in Trident Binding Route Specification Packet Selector Stream Attributes & Route Sets & 3-Way/Fallback Branch Algebraic Operations To address the aforementioned challenges, Trident introduces • stream attribute , to encode a network function state as if it is a header field so that programmers can select packets based on network function states, • route algebra , a simple yet flexible abstraction to systematically construct consistent, correlated routes. 7

  16. High-level Programming Abstractions in Trident Binding Route Specification Packet Selector Stream Attributes & Route Sets & 3-Way/Fallback Branch Algebraic Operations C3: Handling Dynamicity Network function states are dynamic • When the state of a finite state machine for a network function changes, the corresponding route should be updated to be consistent. • Handling dynamicity manually is complex and error-prone. 7

  17. High-level Programming Abstractions in Trident Binding Route Specification Packet Selector Stream Attributes & Route Sets & 3-Way/Fallback Branch Algebraic Operations C3: Handling Dynamicity Network function states are dynamic • When the state of a finite state machine for a network function changes, the corresponding route should be updated to be consistent. • Handling dynamicity manually is complex and error-prone. We need to automatically handle consistent updates! 7

  18. High-level Programming Abstractions in Trident Binding Route Specification Packet Selector Stream Attributes & Route Sets & 3-Way/Fallback Branch Algebraic Operations Live Variable 3-Valued Logic, Automatic Dependency Management & Consistent Updates Trident introduces live variable abstraction 7

  19. High-level Programming Abstractions in Trident Binding Route Specification Packet Selector Stream Attributes & Route Sets & 3-Way/Fallback Branch Algebraic Operations Live Variable 3-Valued Logic, Automatic Dependency Management & Consistent Updates Trident introduces live variable abstraction to handle dynamicity of both stream attributes and route algebra. 7

  20. Workflow of Trident 1 Network States / 3 Configuration States Data SDN Program Schema Program Evaluation 4 4 5 Binding 1 Network operator & Controller Live Variable Plugin System Reconstruction 5 programmer specifies data 6 Glitch-free Consistent Change Propagation schema for network Trident Runtime System function states. OpenFlow Rules NF NF Application Application 4 NF Server NF Server 2 Packet Streams NF Server Network RESTful API 5 5 8

  21. Workflow of Trident 1 Network States / 3 Configuration States Data SDN Program Schema Program Evaluation 4 4 5 Binding Controller Live Variable Plugin System Reconstruction 2 Network functions 5 6 Glitch-free Consistent Change Propagation implement the schema. Trident Runtime System OpenFlow Rules NF NF Application Application 4 NF Server NF Server 2 Packet Streams NF Server Network RESTful API 5 5 8

  22. Workflow of Trident 1 Network States / 3 Configuration States Data SDN Program Schema Program Evaluation 4 4 5 Binding Controller Live Variable Plugin System Reconstruction 3 Network operator submits 5 6 Glitch-free Consistent Change Propagation the program to Trident. Trident Runtime System OpenFlow Rules NF NF Application Application 4 NF Server NF Server 2 Packet Streams NF Server Network RESTful API 5 5 8

  23. Workflow of Trident 1 Network States / 3 Configuration States Data SDN Program Schema Program Evaluation 4 4 5 Binding Controller Live Variable 4 Trident evaluates the Plugin System Reconstruction 5 6 program and calculates the Glitch-free Consistent Change Propagation Trident Runtime System corresponding routes. OpenFlow Rules NF NF Application Application 4 NF Server NF Server 2 Packet Streams NF Server Network RESTful API 5 5 8

  24. Workflow of Trident 1 Network States / 3 Configuration States Data SDN Program Schema Program 5 A change comes: a network Evaluation 4 4 function updates its state, a 5 Binding Controller Live Variable network state changes (e.g., Plugin System Reconstruction 5 6 a link fails), or a Glitch-free Consistent Change Propagation Trident Runtime System configuration is changed OpenFlow (e.g., a change to an access Rules NF NF control list). Application Application 4 NF Server NF Server 2 Packet Streams NF Server Network RESTful API 5 5 8

  25. Workflow of Trident 1 Network States / 3 Configuration States Data SDN Program Schema Program Evaluation 6 4 5 Binding Controller Live Variable 6 Trident automatically Plugin System Reconstruction 5 6 updates the routes for any Glitch-free Consistent Change Propagation Trident Runtime System change. OpenFlow Rules NF NF Application Application 6 NF Server NF Server 2 Packet Streams NF Server Network RESTful API 5 5 8

  26. Stream Attribute: Detail Observation : Different network function states are computed from different sets of packets. Example For example: • HTTP URI: Computed from packets of the same TCP connection defined by TCP 5-tuple (e.g., <10.0.0.2, 10.0.1.2, 1234, 80, tcp> ) • Heavy hitter (source): Computed from packets with the same source IP address (e.g., 10.0.0.2 ). 9

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend