Versioning and Eventual Consistency COS 461: Computer Networks Spring 2011 Mike Freedman 1.
Software Defined Networking Mike Freedman COS 461: Computer Networks
-
Upload
annice-pamela-knight -
Category
Documents
-
view
217 -
download
0
Transcript of Software Defined Networking Mike Freedman COS 461: Computer Networks
![Page 1: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/1.jpg)
Software Defined Networking
Mike FreedmanCOS 461: Computer Networks
http://www.cs.princeton.edu/courses/archive/spr14/cos461/
![Page 2: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/2.jpg)
The Internet: A Remarkable Story• Tremendous success– From research experiment
to global infrastructure
• Brilliance of under-specifying– Network: best-effort packet delivery– Hosts: arbitrary applications
• Enables innovation in applications– Web, P2P, VoIP, social networks, virtual worlds
• But, change is easy only at the edge…
2
![Page 3: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/3.jpg)
Inside the ‘Net: A Different Story…• Closed equipment– Software bundled with hardware– Vendor-specific interfaces
• Over specified– Slow protocol standardization
• Few people can innovate– Equipment vendors write the code– Long delays to introduce new features
Impacts performance, security, reliability, cost…
3
![Page 4: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/4.jpg)
Networks are Hard to Manage
• Operating a network is expensive– More than half the cost of a network– Yet, operator error causes most outages
• Buggy software in the equipment– Routers with 20+ million lines of code– Cascading failures, vulnerabilities, etc.
• The network is “in the way”– Especially in data centers and the home
4
![Page 5: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/5.jpg)
Rethinking the “Division of Labor”
6
![Page 6: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/6.jpg)
Traditional Computer Networks
Data plane:Packet
streaming
Forward, filter, buffer, mark, rate-limit, and measure packets
7
![Page 7: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/7.jpg)
Traditional Computer Networks
Track topology changes, compute routes, install forwarding rules
Control plane:Distributed algorithms
8
![Page 8: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/8.jpg)
Traditional Computer Networks
Collect measurements and configure the equipment
Management plane: Human time scale
9
![Page 9: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/9.jpg)
Death to the Control Plane!
• Simpler management– No need to “invert” control-plane operations
• Faster pace of innovation– Less dependence on vendors and standards
• Easier interoperability– Compatibility only in “wire” protocols
• Simpler, cheaper equipment– Minimal software
10
![Page 10: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/10.jpg)
Software Defined Networking (SDN)
API to the data plane(e.g., OpenFlow)
Logically-centralized control
Dumb &fast
Smart &slow
11
Switches
![Page 11: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/11.jpg)
OpenFlow Networks
12
![Page 12: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/12.jpg)
Data-Plane: Simple Packet Handling
• Simple packet-handling rules– Pattern: match packet header bits– Actions: drop, forward, modify, send to controller – Priority: disambiguate overlapping patterns– Counters: #bytes and #packets
1. src=1.2.*.*, dest=3.4.5.* drop 2. src = *.*.*.*, dest=3.4.*.* forward(2)3. src=10.1.2.3, dest=*.*.*.* send to controller
1. src=1.2.*.*, dest=3.4.5.* drop 2. src = *.*.*.*, dest=3.4.*.* forward(2)3. src=10.1.2.3, dest=*.*.*.* send to controller
13
![Page 13: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/13.jpg)
Unifies Different Kinds of Boxes
• Router– Match: longest destination
IP prefix– Action: forward out a link
• Switch– Match: dest MAC address– Action: forward or flood
• Firewall– Match: IP addresses and
TCP /UDP port numbers– Action: permit or deny
• NAT– Match: IP address and port– Action: rewrite addr and port
14
![Page 14: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/14.jpg)
Controller: Programmability15
Network OS
Controller Application
Events from switchesTopology changes,
Traffic statistics,Arriving packets
Commands to switches(Un)install rules,Query statistics,
Send packets
![Page 15: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/15.jpg)
OpenFlow questions
• OpenFlow designed for(A) Inter-domain management (between)(B) Intra-domain management (within)
• OpenFlow API to switches open up the(A) RIB (B) FIB
• OpenFlow FIB match based on(A) Exact match (e.g., MAC addresses)(B) Longest prefix (e.g., IP addresses)(C) It’s complicated
16
![Page 16: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/16.jpg)
Example OpenFlow Applications• Dynamic access control• Seamless mobility/migration• Server load balancing• Network virtualization• Using multiple wireless access points• Energy-efficient networking• Adaptive traffic monitoring• Denial-of-Service attack detection
See http://www.openflow.org/videos/
17
![Page 17: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/17.jpg)
E.g.: Dynamic Access Control
• Inspect first packet of a connection• Consult the access control policy• Install rules to block or route traffic
18
![Page 18: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/18.jpg)
E.g.: Seamless Mobility/Migration
• See host send traffic at new location• Modify rules to reroute the traffic
19
![Page 19: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/19.jpg)
E.g.: Server Load Balancing• Pre-install load-balancing policy• Split traffic based on source IP
20
src=0*
src=1*
![Page 20: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/20.jpg)
E.g.: Network Virtualization21
Partition the space of packet headers
Controller #1 Controller #2 Controller #3
![Page 21: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/21.jpg)
Controller and the FIB
• Forwarding rules should be added(A) Proactively(B) Reactively (e.g., with controller getting first packet)(C) Depends on application
22
![Page 22: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/22.jpg)
OpenFlow in the Wild• Open Networking Foundation– Google, Facebook, Microsoft, Yahoo, Verizon, Deutsche Telekom,
and many other companies
• Commercial OpenFlow switches– Intel, HP, NEC, Quanta, Dell, IBM, Juniper, …
• Network operating systems– NOX, Beacon, Floodlight, Nettle, ONIX, POX, Frenetic
• Network deployments– Eight campuses, and two research backbone networks– Commercial deployments (e.g., Google backbone)
23
![Page 23: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/23.jpg)
A Helpful Analogy
From Nick McKeown’s talk “Making SDN Work” at the Open Networking
Summit, April 2012
24
![Page 24: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/24.jpg)
Vertically integratedClosed, proprietary
Slow innovationSmall industry
SpecializedOperating
System
SpecializedHardware
AppAppAppAppAppAppAppAppAppAppApp
SpecializedApplications
HorizontalOpen interfacesRapid innovation
Huge industry
Microprocessor
Open Interface
Linux MacOS
Windows(OS) or or
Open Interface
Mainframes25
![Page 25: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/25.jpg)
Vertically integratedClosed, proprietary
Slow innovation
HorizontalOpen interfacesRapid innovation
Control
Plane
Control
Plane
Control
Planeor or
Open Interface
SpecializedControlPlane
SpecializedHardware
SpecializedFeatures
MerchantSwitching Chips
Open Interface
Routers/Switches26
AppAppAppAppAppAppAppAppAppAppApp
![Page 26: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/26.jpg)
Challenges
27
![Page 27: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/27.jpg)
Heterogeneous Switches
• Number of packet-handling rules• Range of matches and actions• Multi-stage pipeline of packet processing• Offload some control-plane functionality (?)
28
accesscontrol
MAClook-up
IPlook-up
![Page 28: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/28.jpg)
Controller Delay and Overhead
• Controller is much slower the the switch• Processing packets leads to delay and overhead• Need to keep most packets in the “fast path”
29
packets
![Page 29: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/29.jpg)
Testing and Debugging
• OpenFlow makes programming possible– Network-wide view at controller– Direct control over data plane
• Plenty of room for bugs– Still a complex, distributed system
• Need for testing techniques– Controller applications– Controller and switches– Rules installed in the switches
30
![Page 30: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/30.jpg)
Programming Abstractions• Controller APIs are low-level– Thin veneer on the underlying hardware
• Need better languages– Composition of modules– Managing concurrency– Querying network state– Network-wide abstractions
• Ongoing at Princeton– http://www.frenetic-lang.org/
31
Controller
Switches
![Page 31: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/31.jpg)
Distributed Controller32
Network OS
Controller Application
Network OS
Controller Application
For scalability and reliability
Partition and replicate state
Ongoing at Princeton: “Ravana”
![Page 32: Software Defined Networking Mike Freedman COS 461: Computer Networks](https://reader034.fdocuments.in/reader034/viewer/2022051401/56649ec45503460f94bcf342/html5/thumbnails/32.jpg)
Conclusion• Rethinking networking– Open interfaces to the data plane– Separation of control and data– Leveraging techniques from distributed systems
• Significant momentum– In both research and industry
• Next time– Closing lecture
33