software defined networking
play

software defined networking CS 6410 Fall 2017 Eric Campbell and - PowerPoint PPT Presentation

software defined networking CS 6410 Fall 2017 Eric Campbell and Rolph Recto software defined networking software defined networking (OpenFlow, originally) Stanford computer scientist Nick McKeown and colleagues developed a standard called


  1. software defined networking CS 6410 Fall 2017 Eric Campbell and Rolph Recto

  2. software defined networking

  3. software defined networking (OpenFlow, originally)

  4. “Stanford computer scientist Nick McKeown and colleagues developed a standard called OpenFlow that essentially opens up the Internet to researchers, allowing them to define data flows using software–a sort of ‘ software-defined networking .’ Installing a small piece of OpenFlow firmware (software embedded in hardware) gives engineers access to flow tables, rules that tell switches and routers how to direct network traffic.”

  5. control plane data plane routing packet forwarding isolation packet scheduling traffic engineering

  6. traditional networking

  7. SDN

  8. software defined networking (programmable)

  9. Active Networks Separating the Data and Control Planes OpenFlow SDN Today

  10. Tennenhouse & Wetherall Smart Packets NetScript ANTS 1995 2000 2005 2010 2015

  11. network ossification use pulls technology pushes desire for unified middlebox interface

  12. lower compute costs use pulls advances in programming languages technology pushes DARPA Active Networks

  13. programmable switches

  14. sniff.java

  15. srcIP count with sniff.java installed, switch maintains table of packet counts by source IP

  16. srcIP count 10.0.0.1 1 ...

  17. srcIP count 10.0.0.1 1 10.0.0.2 1 ...

  18. capsules

  19. packet contains instructions to Tiny Packet Programs Jeyakumar et al, 2014 push switch info at every hop In-Band Network Telemetry Kim et al, 2016 ...

  20. switch ID egress time 2 1510765743 ...

  21. switch ID egress time 3 1510765745 2 1510765743 ...

  22. whither active networks?

  23. whither active networks? performance and security concerns “The misconception that packets would necessarily carry Java code written by end users made it no “killer app” possible to dismiss active network research as too far removed from real networks and inherently unsafe.” no practical deployment plan “The Road to SDN,” Feamster et al 2014

  24. whither active networks? performance and security concerns “The misconception that packets would necessarily carry Java code written by end users made it no “killer app” possible to dismiss active network research as too far removed from real networks and inherently unsafe.” no practical deployment plan “The Road to SDN,” Feamster et al 2014

  25. Tennenhouse & Wetherall Whippersnapper Smart Packets P4FPGA SIGCOMM 2014 In-Band Network NetScript Telemetry ANTS Tiny Packet Programs 1995 2000 2005 2010 2015

  26. Active Networks Separating the Data and Control Planes OpenFlow SDN Today

  27. PCE 4D SoftRouter Tempest Ethane ForCES protocol RCP IRSCP 1995 2000 2005 2010 2015

  28. PCE 4D SoftRouter Tempest Ethane ForCES protocol RCP IRSCP 1995 2000 2005 2010 2015

  29. burgeoning network speeds use pulls insufficient network reliability technology pushes specialized services (VPNs)

  30. use pulls open interface between control and data planes technology pushes logically centralized control

  31. Open Shortest Path First (OSPF) ... 1μs

  32. OSPF 20μs 1μs 2μs 3μs 1μs 2μs 1μs 10μs 5μs

  33. OSPF ... 20μs 1μs 2μs 3μs 1μs 2μs 1μs 10μs 5μs ...

  34. OSPF ... ... 20μs ... 1μs 2μs ... 3μs 1μs 2μs 1μs 10μs 5μs

  35. SoftRouter Network Entity (NE) Control Element (CE) ForCES Forwarding Entity (FE)

  36. SoftRouter

  37. SoftRouter Network Entity (NE) Control Element (CE) 20μs 1μs 2μs 3μs 1μs Forwarding 2μs 1μs Entity (FE) 10μs 5μs

  38. Shortest Path Routing 20μs 1μs 2μs 3μs 1μs A B 2μs 1μs 10μs 5μs

  39. whither SoftRouter (and others)? vendors didn’t adopt ForCES (and others) not general enough no practical deployment plan

  40. Active Networks Separating the Data and Control Planes OpenFlow SDN Today

  41. OpenFlow Ethane NOX 1995 2000 2005 2010 2015

  42. OpenFlow: enabling innovation in campus networks Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, Jonathan Turner SIGCOMM 2008

  43. Nick McKeown Jennifer Rexford Stanford Princeton Scott Shenker Berkeley

  44. Nick McKeown Jennifer Rexford Stanford Princeton Scott Shenker Martín Casado Berkeley Stanford

  45. networking research use pulls market factors technology pushes datacenter networks

  46. backwards compatible use pulls general packet processing technology pushes (more fields to match on)

  47. OpenFlow protocol fields counter action flow srcIp=10.0.0.*, ipProto=TCP 10 pt = 2 table dstPort=80 0 drop

  48. learning switch 1 3 2

  49. MAC port controller maintains hash table of MAC to port number mappings 1 3 2

  50. MAC port src: spongebob dst: patrick msg: I’M READY ... 1 3 2

  51. MAC port ... packet_in 1 3 2

  52. MAC port spongebob 1 ... packet_in 1 3 2

  53. MAC port spongebob 1 packet_out ... 1 3 2

  54. MAC port spongebob 1 ... 1 3 2 ...

  55. MAC port install rule: forward packets for spongebob to port 1 spongebob 1 flow_mod 1 3 2

  56. MAC port src: patrick dst: spongebob spongebob 1 msg: i’m patrick 1 3 2 ...

  57. MAC port no flooding required! spongebob 1 ... 1 3 2

  58. firewall 1 3 2

  59. install rule: drop packets destined for squidward flow_mod 1 3 2

  60. src: spongebob dst: squidward msg: hello ... 1 3 2

  61. Active Networks Separating the Data and Control Planes OpenFlow/SDN SDN Today

  62. Abstractions for Frenetic Network Update NetKAT Propane 1995 2000 2005 2010 2015

  63. Abstractions for Frenetic Network Update NetKAT Propane 1995 2000 2005 2010 2015

  64. NetKAT Forwarding Policy (F) if sw==A then (if pt==1 then pt=2 elif pt==2 then pt=1) elif sw==B then Network Behavior (if pt==1 then p=2 elif pt=2 then pt=1) run( F ; T ) else drop Topology (T) if sw==A and pt==2 then (sw=B; pt=1) elif sw==B and pt==1 then (sw=A; pt=2) else drop A B 1 2 1 2 H1 H2

  65. NetKAT Intuition: These are functions from packets Forwarding Policy (F) to sets of packets if sw==A then (if pt==1 then pt=2 elif pt==2 then pt=1) elif sw==B then Network Behavior (if pt==1 then p=2 elif pt=2 then pt=1) run( F ; T ) else drop Topology (T) if sw==A and pt==2 then (sw=B; pt=1) elif sw==B and pt==1 then (sw=A; pt=2) else drop A B 1 2 1 2 H1 H2

  66. Want to show: Invariant true when SSH packets sent from H1 get to H2 P1 is equivalent to P2 . if typ==SSH and @h1 if typ==SSH and @h1 P1 P2 then run( F ; T ); then run( F ; T ) eventually(@h2) let @h1 be sw==A and pt==1 let @h2 be sw==B and pt==2 A B 1 2 1 2 H1 H2

  67. Want to show: Invariant true when SSH packets sent from H1 get to H2 P1 is equivalent to P2 . if typ==SSH and @h1 if typ==SSH and @h1 P1 P2 then run( F ; T ); then run( F ; T ) eventually(@h2) SSH packets from H1 A B 1 2 1 2 H1 H2

  68. Want to show: Invariant true when SSH packets sent from H1 get to H2 P1 is equivalent to P2 . if typ==SSH and @h1 if typ==SSH and @h1 P1 P2 then run( F ; T ); then run( F ; T ) eventually(@h2) “run” the network A B 1 2 1 2 H1 H2

  69. Want to show: Invariant true when SSH packets sent from H1 get to H2 P1 is equivalent to P2 . if typ==SSH and @h1 if typ==SSH and @h1 P1 P2 then run( F ; T ); then run( F ; T ) eventually(@h2) packets received by H2 A B 1 2 1 2 H1 H2

  70. NetKAT A if sw == A then: 1 2 if port == 1 then port := 2 elif port == 2 then port := 3 C else drop 3 1 elif sw == B then: 3 if port==1 drop else port := 1 2 3 2 elif sw == C if port == 1 then port :=3 1 elif port == 3 then port :=2 elif port == 2 drop; B

  71. NetKAT A if sw == A then: 1 2 if port == 2 then alert_ctrl else port := 3 C 3 if sw == B then: 1 if port == 1 then drop 3 elif port == 2 then port := 3 elif port == 3 then port := 2 2 3 2 if sw == C if port == 1 then alert_ctrl 1 elif port == 2 then port := 1 elif port == 3 then port := 2 B

  72. whither SDN?

  73. whither SDN?

  74. questions?

  75. thanks!

Recommend


More recommend