16
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S. Navy SPAWAR under contract N66001-11-

Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Embed Size (px)

Citation preview

Page 1: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Slick: A control plane for middleboxes

Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford

Supported by DARPA through the U.S. Navy SPAWAR under contract N66001-11-C-4017

Page 2: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Network Policies• Reachability– Alice can not send packets to Bob

• Application classification– Place Skype traffic in the gold queue

Page 3: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Limitations of SDN Data Plane10.2.3.4:10.2.3.3 Fwd Port 1

A2:e3:f1:ba:ea:23:* Drop

Match Action

• Limited actions and matching– Match: Ethernet, IP, TCP/UDP port numbers– Action: forward, drop, rewrite header, etc.

Page 4: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Extending SDN’s Data Plane• Expand the OpenFlow standards– Requires hardware support

• Implement richer data plane in controller– Introduces additional latency to packets

• Add new devices (Middleboxes)

Page 5: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Example: Detecting Network Attacks• Inspect all DNS traffic with a DPI device• If suspicious lookup takes place, send to traffic scrubber

Page 6: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Example: Detecting Network Attacks• Inspect all DNS traffic with a DPI device• If suspicious lookup takes place, send to traffic scrubber

Page 7: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Example: Detecting Network Attacks• Inspect all DNS traffic with a DPI device• If suspicious lookup takes place, send to traffic scrubber

Page 8: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Example: Detecting Network Attacks• Inspect all DNS traffic with a DPI device• If suspicious lookup takes place, send to traffic scrubber

Page 9: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Challenges • Specify network policies across middleboxes

– Difficult to automatically react to middlebox events

• Dynamically place sophisticated middleboxes– Difficult to determine efficient placement– Difficult to adjust placement to traffic patterns

• Support for arbitrary middlebox functionality– Difficult to capture hardware requirements

Page 10: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Slick Contributions• Abstraction for programming middleboxes

– Simplifies the development of network policies– Separates specification of intent from implementation

• Dynamic placement of middlebox functionality– Online resource allocation algorithm

• Support for heterogeneous devices– Maintains performance profiles of middlebox

Page 11: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Slick Architecture

Slick Controller

MiddleboxElement

MiddleboxElement

Application• Encodes network policy• Provides handlers for

triggers

• Piece of code encapsulating middlebox functions

Your network operator

3rd party elementdevelopers

Programmable device: NetFPGA, x86 server

Virtual Switch

Triggers from elements

Page 12: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Slick Architecture

Slick ControllerApplication

• Runs applications• Runs resource allocation algo.

• Places middlebox elements• Steers traffic through middleboxes

• Configures switches

• Installs/uninstalls middlebox functions

DeployMiddlebox code

MiddleboxElement

MiddleboxElement

Programmable device: NetFPGA, x86 server

Virtual Switch

Page 13: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Resource Allocation Heuristic

Resource allocation heuristic

Traffic SteeringOpenFlow Controller

Placement Decisions

Traffic matrixAnd topology

Network policies inapplications

Middlebox perfprofile

Hardwareconstraints

Programmable device

Virtual Switch

Programmable device

Virtual Switch

Objective: minimize latency (path lengths)

Page 14: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Current Status• Slick is implemented in python– Slick controller as a module on NoX 0.5.0– Developed 2 applications and 3 middlebox elements

Page 15: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Conclusion and Open Questions• Slick: control plane for middleboxes– Presented an initial architecture– Discussed algorithmic challenge

• Open questions– How can developers help guide placement?– What is the optimal solution for resource allocation?

Page 16: Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S

Questions?