SlideShare ist ein Scribd-Unternehmen logo
1 von 54
The Future of Networking,and the Past of Protocols Scott Shenker with Martin Casado, TeemuKoponen, Nick McKeown (and many others….)
Developments in Network “Management” 2004: Early work on new management paradigms RCP, 4D, SANE, Ethane,….. 2008: Software-Defined Networking (SDN) NOX Network Operating System OpenFlow switch interface 2011: Open Networking Foundation Over 30 companies endorsing SDN Board: Google, Yahoo!, Verizon, DT, Microsoft, Facebook Members: Cisco, Juniper, HP, Dell, Broadcom, IBM,…..
Software-Defined Networking (SDN) Not just an idle academic daydream Tapped into some strong market need One of those rare cases where we “know the future” Still in development, but consensus on inevitability Much more to story than “OpenFlow” trade rag hype A revolutionary paradigm shift in the network control plane This talk will “derive” SDN from first principles By looking for key network control abstractions
I Will Address Two SDN Questions Why is SDN the right choice for future networks? Obviously efficiency, scalability, security, functionality…  Not directly. What are the fundamental aspects of SDN? Obviously OpenFlow…  No, quite the opposite.
But Talk Is Not Primarily About SDN Main focus is on: The Role of Abstractions in Networking
Weaving Together Three Themes Networking currently built on weak foundation Lack of fundamental abstractions Network control plane needs three abstractions Leads to SDN v1 and v2 Key abstractions solve other architecture problems Two simple abstractions make architectures evolvable
WeakIntellectualFoundations OS courses teach fundamental principles  Mutual exclusion and other synchronization primitives Files, file systems, threads, and other building blocks  Networking courses teach a big bag of protocols No formal principles, just vague design guidelines
WeakPracticalFoundations Computation and storage have been virtualized Creating a more flexible and manageable infrastructure Networks are still notoriously hard to manage Network administrators large share of sysadmin staff
WeakEvolutionaryFoundations Ongoing innovation in systems software New languages, operating systems, etc. Networks are stuck in the past Routing algorithms change very slowly Network management extremely primitive
Why Are Networking Foundations Weak? Networks used to be simple Basic Ethernet/IP straightforward, easy to manage New control requirements have led to complexity ACLs, VLANs, TE, Middleboxes, DPI,… The infrastructure still works... Only because of our great ability to master complexity Ability to master complexity both blessing and curse
A Story About Mastering Complexity ~1985: Don Norman visits Xerox PARC  At start of his talk on UI design he asks: “Who in the audience drives a stick shift” After most of the audience raises their hands, he looks sternly out over the crowd and says:  “None of you should ever design a user interface
Two Points to Story His point: The ability to master complexity is not the same as the ability to extract simplicity When first getting system to work, focus on former When making system easy to use, focus on latter My point: Networking has never made the transition!
How Programming Made the Transition Machine languages: no abstractions Had to deal with low-level details Higher-level languages: OS and other abstractions File system, virtual memory, abstract data types, ... Modern languages: even more abstractions Object orientation, garbage collection,... Abstractions simplify programmingEasier to write, maintain, reason about programs
Why Are Abstractions/Interfaces Useful? Interfaces are instantiations of abstractions Interface shields a program’s implementation details Allows freedom of implementation on both sides Which leads to modular program structure Barbara Liskov: “Power of Abstractions” talk “Modularity based on abstraction  is the way things get done” So, what role do abstractions play in networking?
Layers are Main Network Abstractions Layers provide nice data plane service abstractions IP's best effort delivery TCP's reliable byte-stream Aside: good abstractions, terrible interfaces Don’t sufficiently hide implementation details Main Point: Nocontrolplane abstractions No sophisticated management/control building blocks
No Abstractions = Increased Complexity Each control requirement leads to new mechanism TRILL, LISP, etc. We are really good at designing mechanisms So we never tried to make life easier for ourselves And so networks continue to grow more complex But this is an unwise course: Mastering complexity cannot be our only focus Because it helps in short term, but harms in long term We must shift our attention from mastering complexity to extracting simplicity….
Three Basic Themes of Talk Networking currently built on weak foundation Lack of fundamental abstractions Network control plane needs three abstractions Leads to SDN v1 and v2 Key abstractions solve other architecture problems Two simple abstractions make architectures evolvable
How Do We Build Control Plane? We define a new protocol from scratch E.g., routing Or we reconfigure an existing mechanism E.g., traffic engineering Or leave it for manual operator configuration E.g., access control, middleboxes
What Are The Design Constraints? Operate within the confines of a given datapath Must live with the capabilities of IP Operate without communication guarantees A distributed system with arbitrary delays and drops Compute the configuration of each physical device Switch, router, middlebox FIB, ACLs, etc. This is insanity!
Programming Analogy What if programmers had to: Specify where each bit was stored Explicitly deal with all internal communication errors Within a programming language with limited expressability Programmers would redefine problem by: Defining higher level abstractions for memory Building on reliable communication primitives Using a more general language Abstractions divide problem into tractable pieces Why aren’t we doing this for network control?
Central Question What abstractions can simplify the control plane? i.e., how do we separate the problems? Not about designing new mechanisms! We have all the mechanisms we need Extracting simplicity vs mastering complexity Separating problems vs solving problems Defining abstractions vs designing mechanisms
Abstractions Must Separate 3 Problems Constrained forwarding model Distributed state Detailed configuration
Forwarding Abstraction Control plane needs flexible forwarding model With behavior specified by control program This abstracts away forwarding hardware Crucial for evolving beyond vendor-specific solutions Flexibility and vendor-neutrality are both valuable But one economic, the other architectural Possibilities: General x86 program, MPLS, OpenFlow,….. Different flexibility/performance/deployment tradeoffs
State Distribution Abstraction Control program should not have to deal with vagaries of distributed state Complicated, source of many errors Abstraction should hide state dissemination/collection Proposed abstraction: global network view Don’t worry about how to get that view (next slide) Control program operates on network view Input: global network view (graph) Output: configuration of each network device
Network Operating System (NOS) NOS: distributed system that creates a network view Runs on servers (controllers) in the network Communicates with forwarding elements in network Gets state information from forwarding elements Communicates control directives to forwarding elements Using forwarding abstraction Control program operates on view of network Control program is not a distributed system NOS plus Forwarding Abstraction = SDN (v1)
Current Networks Software-Defined Networking (v1) Protocols Protocols Control Program Global Network View Network Operating System Control via forwarding  interface
Major Change in Paradigm No longer designing distributed control protocols Now just defining a centralized control function Control program:  Configuration= Function(view) Why is this an advance? Much easier to write, verify, maintain, reason about, …. NOS handles all state dissemination/collection Abstraction breaks this off as tractable piece Serves as fundamental building block for control
WhatAboutConsistency? NOS must achieve eventual consistency View eventually consistent with real network The configuration is therefore eventually correct Simple function of view What about transient conditions? Hard to ensure good transient behavior with protocols Much easier with NOS What about distributed NOS (multiple controllers)? Need to split up decisions among controllers sensibly
Why Does This Approach Scale? Modification of Control Program Strong Consistency 0 - 10/s Per Network Event Eventual Consistency 101 – 103/s Per Flow No Consistency  103 – 106/s Per Packet No Consistency 106 – 108/s
Is Performance Good Enough? Architect for simplicity, engineer for performance Many engineering tricks can help SDN performance Caching state Backup paths ….. Don’t overly restrict vision of SDN Key SDN principle: configuration derived from global state “Configuration” can include more general device behaviors SDN ≠ OpenFlow
What Role Does OpenFlow Play? NOS conveys configuration of global network view to actual physical devices But nothing in this picture limits what the meaning of “configuration” is OpenFlow is one possible definition of how to model the configuration of a physical device Is it the right one?  Absolutely not. Crucial for vendor-independence But not the right abstraction (yet)
Alternative SDN Implementation Linecard forwarding model: (per packet behavior) Supports OpenFlow plus x86 (and perhaps GPU) Switch configuration model: (management CPU) Supports JVM (controller can download code) NOS distributed state model:  Key-value store Merely an illustration of a richer form of SDN Enables features to emerge in software, migrate to HW
Are We Done Yet? This approach requires control program (or operator) to configure each individual network device This is much more complicated than it should be! NOS eases implementation of functionality But does not help specification of functionality! We need a specification abstraction
Specification Abstraction Give control program abstract view of network Where abstract view is function of global view Then, control program is abstract mapping Abstract configuration = Function(abstract view)  Model just enough detail to specify goals Don’t provide information needed to implement goals
One Simple Example: Access Control Abstract Network View Full Network View
More Detailed Model Service model can generally be described by a table pipeline Packet In Packet Out L2 L3 ACL
Implementing Specification Abstraction Given: Abstract Table Pipeline L3 ACL L2 Network Hypervisor  (Nypervisor) Compiles abstract pipeline  into physical configuration Need: pipeline operations distributed  over network of physical switches
Two Examples Scale-out router: Abstract view is single router Physical network is collection of interconnected switches Nypervisor allows routers to “scale out, not up” Multi-tenant networks: Each tenant has control over their “private” network Nypervisor compiles all of these individual control requests into a single physical configuration “Network Virtualization”
Abstract Network View Nypervisor Control Program Global Network View Network Operating System Moving from SDNv1 to SDNv2
Clean Separation of Concerns Network control program specifies the behavior it wants on the abstract network view Control program: maps behavior to abstract view Abstract model should be chosen so that this is easy Nypervisor maps the controls expressed on the abstract view into configuration of the global view Nypervisor: abstract model to global view Models such as single cross-bar, single “slice”,… NOS distributes configuration to physical switches NOS: global view to physical switches
Three Basic Network Interfaces Forwarding interface: abstract forwarding model Shields higher layers from forwarding hardware Distribution interface: global network view Shields higher layers from state dissemination/collection Specification interface: abstract network view Shields control program from details of physical network
Three Basic Themes of Talk Networking currently built on weak foundation Lack of fundamental abstractions Network control plane needs three abstractions Leads to SDN v1 and v2 Key abstractions solve other architecture problems Two simple abstractions make architectures evolvable
More General Use of Abstractions So far, focus was on network “management” Operator control within a single domain Ignores host and interdomain issues Did not address basic network “architecture” Naming, addressing, interdomain routing, security,… What abstractions describe Internet architecture? Too general a question…. How can abstractions help clean-slate redesign?
What is Goal for Architectural Redesign? A more functional architecture? Pro: We know how to improve security, reliability, etc. Con: Design will be fixed for a generation Like today’s architecture A more evolvable architecture! Pro: Allows functionality to evolve over time Con: We don’t know how to build one Much talk about architectural evolution, no progress Two simple abstractions sufficient to solve problem
Why Is Current Architecture Rigid? IP is central component of architecture IP is embedded in interdomain routing And interdomain routing is hard to change IP is embedded in applications (via API) And hard to change all applications Therefore, very hard to change IP!
The Current Internet Application Network Stack Architecture is very rigid IP Domain BGP Rest of Internet
Insert Two Architectural Abstractions Clean IDR interface: No leakage of intradomain routing across interface Flexible route computation Clean network API (netAPI) No leakage of network architecture across interface Flexible interface semantics Architecture is then evolvable! By making both interfaces abstract and extensible!
A More Evolvable Internet Application netAPI Extensible and Abstract Network Stack Network stack and domain have complete freedom to innovate Architecture is very rigid IP Domain BGP Extensible and Abstract IDR Rest of Internet
Two Abstractions Evolvability Domains can independently adopt new protocols IPv6, AIP, and other network-level protocols No need for interdomain agreements on L3 New naming systems, APIs can be introduced DONA, CCN, and other data-oriented architectures No need to change existing applications New forms of QoS and other path services No need to change interdomain routing
Evolvabilityvs Functionality The IDR/netAPI abstractions help evolvability Specific architectures need functionality abstractions Sockets vsPubSub Delivery models …. Once we fix evolution, we can then take our time to get these other abstractions right!
End of Three Themes, Back to SDN SDN not about new mechanisms; can use current Forwarding primitives (e.g., MPLS) State distribution primitives (e.g., flooding as in OSPF) Operator control programs (e.g., BGP on scale-out router) SDN is all about modularity Giving networking the benefits of modular programming Can reliably build more complicated functionality No more designing distributed control protocols Merely define control programs over abstract model Given abstract network, what behavior do you want?
Control Plane Research Agenda Create three modular, tractable pieces Nypervisor Network Operating System Design and implement forwarding model Build control programs over abstract models Identify appropriate models for various applications Virtualization, Access Control, TE, Routing,…
Implementations vs Abstractions SDN is an instantiation of fundamental abstractions Don’t get distracted by the mechanisms The abstractions were needed to separate concerns Network challenges are now modular and tractable The abstractions are fundamental SDN implementations are ephemeral OpenFlow/NOX/etc. particular implementations
Future of Networking, Past of Protocols The future of networking lies in cleaner abstractions Not in defining complicated distributed protocols SDN is only the beginning of needed abstractions Took OS researchers years to find their abstractions First they made it work, then they made it simple Networks work, but they are definitely not simple It is now networking’s turn to make this transition Our task: make networking a mature discipline By extracting simplicity from the sea of complexity…

Weitere ähnliche Inhalte

Was ist angesagt?

basic concept of Cloud computing and its architecture
basic concept of Cloud computing  and its architecturebasic concept of Cloud computing  and its architecture
basic concept of Cloud computing and its architectureMohammad Ilyas Malik
 
Principles of virtualization
Principles of virtualizationPrinciples of virtualization
Principles of virtualizationRubal Sagwal
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing pptJagriti Rai
 
Cloud computing information management
Cloud computing   information managementCloud computing   information management
Cloud computing information managementHallmark B-school
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel ComputingAkhila Prabhakaran
 
Cloud computing Risk management
Cloud computing Risk management  Cloud computing Risk management
Cloud computing Risk management Padma Jella
 
Synopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaSynopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaPrashant Gupta
 
Cloud Resource Management
Cloud Resource ManagementCloud Resource Management
Cloud Resource ManagementNASIRSAYYED4
 
INTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGINTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGTanmoy Barman
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing pptPravesh ARYA
 
Network LACP/Bonding/Teaming with Mikrotik
Network LACP/Bonding/Teaming with MikrotikNetwork LACP/Bonding/Teaming with Mikrotik
Network LACP/Bonding/Teaming with MikrotikGLC Networks
 
Data center architecture
Data center architecture Data center architecture
Data center architecture RajuPrasad33
 

Was ist angesagt? (20)

basic concept of Cloud computing and its architecture
basic concept of Cloud computing  and its architecturebasic concept of Cloud computing  and its architecture
basic concept of Cloud computing and its architecture
 
Green Cloud Computing
Green Cloud ComputingGreen Cloud Computing
Green Cloud Computing
 
Principles of virtualization
Principles of virtualizationPrinciples of virtualization
Principles of virtualization
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing ppt
 
Fundamental Cloud Architectures
Fundamental Cloud ArchitecturesFundamental Cloud Architectures
Fundamental Cloud Architectures
 
Cloud computing information management
Cloud computing   information managementCloud computing   information management
Cloud computing information management
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel Computing
 
Cloud computing Risk management
Cloud computing Risk management  Cloud computing Risk management
Cloud computing Risk management
 
Synopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaSynopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant upta
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
Green cloud
Green cloudGreen cloud
Green cloud
 
Cloud Resource Management
Cloud Resource ManagementCloud Resource Management
Cloud Resource Management
 
INTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGINTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTING
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing ppt
 
Network LACP/Bonding/Teaming with Mikrotik
Network LACP/Bonding/Teaming with MikrotikNetwork LACP/Bonding/Teaming with Mikrotik
Network LACP/Bonding/Teaming with Mikrotik
 
Cluster and Grid Computing
Cluster and Grid ComputingCluster and Grid Computing
Cluster and Grid Computing
 
Data center architecture
Data center architecture Data center architecture
Data center architecture
 
Vm migration techniques
Vm migration techniquesVm migration techniques
Vm migration techniques
 
Green cloud computing
Green cloud computingGreen cloud computing
Green cloud computing
 

Andere mochten auch

Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)rjain51
 
Sdn presentation
Sdn presentation Sdn presentation
Sdn presentation Frikha Nour
 
Security Advantages of Software-Defined Networking
Security Advantages of Software-Defined NetworkingSecurity Advantages of Software-Defined Networking
Security Advantages of Software-Defined NetworkingPriyanka Aash
 
Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined NetworksCisco Canada
 
Software Defined Networking (SDN) Technology Brief
Software Defined Networking (SDN) Technology BriefSoftware Defined Networking (SDN) Technology Brief
Software Defined Networking (SDN) Technology BriefZivaro Inc
 
DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016Cisco DevNet
 
New NeXt for Advanced Developers
New NeXt for Advanced DevelopersNew NeXt for Advanced Developers
New NeXt for Advanced DevelopersCisco DevNet
 
DEVNET-1114 Automated Management Using SDN/NFV
DEVNET-1114	Automated Management Using SDN/NFVDEVNET-1114	Automated Management Using SDN/NFV
DEVNET-1114 Automated Management Using SDN/NFVCisco DevNet
 
SDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSrinivasa Addepalli
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...Sagar Rai
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIsCisco DevNet
 
DEVNET-1154 Open Source Presentation on Open Standards
DEVNET-1154	Open Source Presentation on Open StandardsDEVNET-1154	Open Source Presentation on Open Standards
DEVNET-1154 Open Source Presentation on Open StandardsCisco DevNet
 
Smart Citizen Kit in Barcelona, Amsterdam & Manchester
Smart Citizen Kit in Barcelona, Amsterdam & ManchesterSmart Citizen Kit in Barcelona, Amsterdam & Manchester
Smart Citizen Kit in Barcelona, Amsterdam & ManchesterFrank Kresin
 
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...Cisco DevNet
 
API Management for Software Defined Network (SDN)
API Management for Software Defined Network (SDN)API Management for Software Defined Network (SDN)
API Management for Software Defined Network (SDN)Apigee | Google Cloud
 
Software-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to NetworkingSoftware-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to NetworkingAnju Ann
 
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecuritySDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecurityTrinath Somanchi
 

Andere mochten auch (20)

Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Sdn presentation
Sdn presentation Sdn presentation
Sdn presentation
 
Avi Network SDN meetup
Avi Network  SDN meetupAvi Network  SDN meetup
Avi Network SDN meetup
 
Security Advantages of Software-Defined Networking
Security Advantages of Software-Defined NetworkingSecurity Advantages of Software-Defined Networking
Security Advantages of Software-Defined Networking
 
Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined Networks
 
Software Defined Networking (SDN) Technology Brief
Software Defined Networking (SDN) Technology BriefSoftware Defined Networking (SDN) Technology Brief
Software Defined Networking (SDN) Technology Brief
 
DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016
 
New NeXt for Advanced Developers
New NeXt for Advanced DevelopersNew NeXt for Advanced Developers
New NeXt for Advanced Developers
 
DEVNET-1114 Automated Management Using SDN/NFV
DEVNET-1114	Automated Management Using SDN/NFVDEVNET-1114	Automated Management Using SDN/NFV
DEVNET-1114 Automated Management Using SDN/NFV
 
SDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_Networks
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
 
DEVNET-1154 Open Source Presentation on Open Standards
DEVNET-1154	Open Source Presentation on Open StandardsDEVNET-1154	Open Source Presentation on Open Standards
DEVNET-1154 Open Source Presentation on Open Standards
 
Smart Citizen Kit in Barcelona, Amsterdam & Manchester
Smart Citizen Kit in Barcelona, Amsterdam & ManchesterSmart Citizen Kit in Barcelona, Amsterdam & Manchester
Smart Citizen Kit in Barcelona, Amsterdam & Manchester
 
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
 
ioT_SDN
ioT_SDN ioT_SDN
ioT_SDN
 
API Management for Software Defined Network (SDN)
API Management for Software Defined Network (SDN)API Management for Software Defined Network (SDN)
API Management for Software Defined Network (SDN)
 
Software-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to NetworkingSoftware-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to Networking
 
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecuritySDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
 
Introduction to SDN and NFV
Introduction to SDN and NFVIntroduction to SDN and NFV
Introduction to SDN and NFV
 

Ähnlich wie SDN Abstractions

SDN - a new security paradigm?
SDN - a new security paradigm?SDN - a new security paradigm?
SDN - a new security paradigm?Sophos Benelux
 
SDN Multi-Controller Domain.pptx
SDN Multi-Controller Domain.pptxSDN Multi-Controller Domain.pptx
SDN Multi-Controller Domain.pptxSandeep Maurya
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentPersistent Systems Ltd.
 
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...University of Technology - Iraq
 
Software Define Network, a new security paradigm ?
Software Define Network, a new security paradigm ?Software Define Network, a new security paradigm ?
Software Define Network, a new security paradigm ?Jean-Marc ANDRE
 
The Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of ProtocolsThe Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of ProtocolsOpen Networking Summits
 
Web-Based User Interface for the Floodlight SDN Controller
Web-Based User Interface for the Floodlight SDN ControllerWeb-Based User Interface for the Floodlight SDN Controller
Web-Based User Interface for the Floodlight SDN ControllerEswar Publications
 
Controller Placement Problem resiliency evaluation in SDN-based architectures
Controller Placement Problem resiliency evaluation in SDN-based architecturesController Placement Problem resiliency evaluation in SDN-based architectures
Controller Placement Problem resiliency evaluation in SDN-based architecturesIJCNCJournal
 
Controller Placement Problem Resiliency Evaluation in SDN-based Architectures
Controller Placement Problem Resiliency Evaluation in SDN-based ArchitecturesController Placement Problem Resiliency Evaluation in SDN-based Architectures
Controller Placement Problem Resiliency Evaluation in SDN-based ArchitecturesIJCNCJournal
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 
Some Musings on OpenFlow and SDN for Enterprise Networks
Some Musings on OpenFlow and SDN for Enterprise NetworksSome Musings on OpenFlow and SDN for Enterprise Networks
Some Musings on OpenFlow and SDN for Enterprise NetworksOpen Networking Summits
 
OpenDayLight Load Balanced Switching
OpenDayLight Load Balanced SwitchingOpenDayLight Load Balanced Switching
OpenDayLight Load Balanced SwitchingManasaKulkarni3
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingOpenSourceIndia
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingsuniltomar04
 
Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined NetworksShreeya Shah
 
Software Defined Networking: A Concept and Related Issues
Software Defined Networking: A Concept and Related IssuesSoftware Defined Networking: A Concept and Related Issues
Software Defined Networking: A Concept and Related IssuesEswar Publications
 

Ähnlich wie SDN Abstractions (20)

sdnppt.pdf
sdnppt.pdfsdnppt.pdf
sdnppt.pdf
 
Dsys guide37
Dsys guide37Dsys guide37
Dsys guide37
 
SDN - a new security paradigm?
SDN - a new security paradigm?SDN - a new security paradigm?
SDN - a new security paradigm?
 
SDN Multi-Controller Domain.pptx
SDN Multi-Controller Domain.pptxSDN Multi-Controller Domain.pptx
SDN Multi-Controller Domain.pptx
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@Persistent
 
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptiv...
 
Software Define Network, a new security paradigm ?
Software Define Network, a new security paradigm ?Software Define Network, a new security paradigm ?
Software Define Network, a new security paradigm ?
 
The Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of ProtocolsThe Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of Protocols
 
Web-Based User Interface for the Floodlight SDN Controller
Web-Based User Interface for the Floodlight SDN ControllerWeb-Based User Interface for the Floodlight SDN Controller
Web-Based User Interface for the Floodlight SDN Controller
 
Controller Placement Problem resiliency evaluation in SDN-based architectures
Controller Placement Problem resiliency evaluation in SDN-based architecturesController Placement Problem resiliency evaluation in SDN-based architectures
Controller Placement Problem resiliency evaluation in SDN-based architectures
 
Controller Placement Problem Resiliency Evaluation in SDN-based Architectures
Controller Placement Problem Resiliency Evaluation in SDN-based ArchitecturesController Placement Problem Resiliency Evaluation in SDN-based Architectures
Controller Placement Problem Resiliency Evaluation in SDN-based Architectures
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Some Musings on OpenFlow and SDN for Enterprise Networks
Some Musings on OpenFlow and SDN for Enterprise NetworksSome Musings on OpenFlow and SDN for Enterprise Networks
Some Musings on OpenFlow and SDN for Enterprise Networks
 
OpenDayLight Load Balanced Switching
OpenDayLight Load Balanced SwitchingOpenDayLight Load Balanced Switching
OpenDayLight Load Balanced Switching
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined Networks
 
Software Defined Networking: A Concept and Related Issues
Software Defined Networking: A Concept and Related IssuesSoftware Defined Networking: A Concept and Related Issues
Software Defined Networking: A Concept and Related Issues
 
Sdn primer pdf
Sdn primer pdfSdn primer pdf
Sdn primer pdf
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
 

Kürzlich hochgeladen

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 

Kürzlich hochgeladen (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 

SDN Abstractions

  • 1. The Future of Networking,and the Past of Protocols Scott Shenker with Martin Casado, TeemuKoponen, Nick McKeown (and many others….)
  • 2. Developments in Network “Management” 2004: Early work on new management paradigms RCP, 4D, SANE, Ethane,….. 2008: Software-Defined Networking (SDN) NOX Network Operating System OpenFlow switch interface 2011: Open Networking Foundation Over 30 companies endorsing SDN Board: Google, Yahoo!, Verizon, DT, Microsoft, Facebook Members: Cisco, Juniper, HP, Dell, Broadcom, IBM,…..
  • 3. Software-Defined Networking (SDN) Not just an idle academic daydream Tapped into some strong market need One of those rare cases where we “know the future” Still in development, but consensus on inevitability Much more to story than “OpenFlow” trade rag hype A revolutionary paradigm shift in the network control plane This talk will “derive” SDN from first principles By looking for key network control abstractions
  • 4. I Will Address Two SDN Questions Why is SDN the right choice for future networks? Obviously efficiency, scalability, security, functionality… Not directly. What are the fundamental aspects of SDN? Obviously OpenFlow… No, quite the opposite.
  • 5. But Talk Is Not Primarily About SDN Main focus is on: The Role of Abstractions in Networking
  • 6. Weaving Together Three Themes Networking currently built on weak foundation Lack of fundamental abstractions Network control plane needs three abstractions Leads to SDN v1 and v2 Key abstractions solve other architecture problems Two simple abstractions make architectures evolvable
  • 7. WeakIntellectualFoundations OS courses teach fundamental principles Mutual exclusion and other synchronization primitives Files, file systems, threads, and other building blocks  Networking courses teach a big bag of protocols No formal principles, just vague design guidelines
  • 8. WeakPracticalFoundations Computation and storage have been virtualized Creating a more flexible and manageable infrastructure Networks are still notoriously hard to manage Network administrators large share of sysadmin staff
  • 9. WeakEvolutionaryFoundations Ongoing innovation in systems software New languages, operating systems, etc. Networks are stuck in the past Routing algorithms change very slowly Network management extremely primitive
  • 10. Why Are Networking Foundations Weak? Networks used to be simple Basic Ethernet/IP straightforward, easy to manage New control requirements have led to complexity ACLs, VLANs, TE, Middleboxes, DPI,… The infrastructure still works... Only because of our great ability to master complexity Ability to master complexity both blessing and curse
  • 11. A Story About Mastering Complexity ~1985: Don Norman visits Xerox PARC At start of his talk on UI design he asks: “Who in the audience drives a stick shift” After most of the audience raises their hands, he looks sternly out over the crowd and says: “None of you should ever design a user interface
  • 12. Two Points to Story His point: The ability to master complexity is not the same as the ability to extract simplicity When first getting system to work, focus on former When making system easy to use, focus on latter My point: Networking has never made the transition!
  • 13. How Programming Made the Transition Machine languages: no abstractions Had to deal with low-level details Higher-level languages: OS and other abstractions File system, virtual memory, abstract data types, ... Modern languages: even more abstractions Object orientation, garbage collection,... Abstractions simplify programmingEasier to write, maintain, reason about programs
  • 14. Why Are Abstractions/Interfaces Useful? Interfaces are instantiations of abstractions Interface shields a program’s implementation details Allows freedom of implementation on both sides Which leads to modular program structure Barbara Liskov: “Power of Abstractions” talk “Modularity based on abstraction is the way things get done” So, what role do abstractions play in networking?
  • 15. Layers are Main Network Abstractions Layers provide nice data plane service abstractions IP's best effort delivery TCP's reliable byte-stream Aside: good abstractions, terrible interfaces Don’t sufficiently hide implementation details Main Point: Nocontrolplane abstractions No sophisticated management/control building blocks
  • 16. No Abstractions = Increased Complexity Each control requirement leads to new mechanism TRILL, LISP, etc. We are really good at designing mechanisms So we never tried to make life easier for ourselves And so networks continue to grow more complex But this is an unwise course: Mastering complexity cannot be our only focus Because it helps in short term, but harms in long term We must shift our attention from mastering complexity to extracting simplicity….
  • 17. Three Basic Themes of Talk Networking currently built on weak foundation Lack of fundamental abstractions Network control plane needs three abstractions Leads to SDN v1 and v2 Key abstractions solve other architecture problems Two simple abstractions make architectures evolvable
  • 18. How Do We Build Control Plane? We define a new protocol from scratch E.g., routing Or we reconfigure an existing mechanism E.g., traffic engineering Or leave it for manual operator configuration E.g., access control, middleboxes
  • 19. What Are The Design Constraints? Operate within the confines of a given datapath Must live with the capabilities of IP Operate without communication guarantees A distributed system with arbitrary delays and drops Compute the configuration of each physical device Switch, router, middlebox FIB, ACLs, etc. This is insanity!
  • 20. Programming Analogy What if programmers had to: Specify where each bit was stored Explicitly deal with all internal communication errors Within a programming language with limited expressability Programmers would redefine problem by: Defining higher level abstractions for memory Building on reliable communication primitives Using a more general language Abstractions divide problem into tractable pieces Why aren’t we doing this for network control?
  • 21. Central Question What abstractions can simplify the control plane? i.e., how do we separate the problems? Not about designing new mechanisms! We have all the mechanisms we need Extracting simplicity vs mastering complexity Separating problems vs solving problems Defining abstractions vs designing mechanisms
  • 22. Abstractions Must Separate 3 Problems Constrained forwarding model Distributed state Detailed configuration
  • 23. Forwarding Abstraction Control plane needs flexible forwarding model With behavior specified by control program This abstracts away forwarding hardware Crucial for evolving beyond vendor-specific solutions Flexibility and vendor-neutrality are both valuable But one economic, the other architectural Possibilities: General x86 program, MPLS, OpenFlow,….. Different flexibility/performance/deployment tradeoffs
  • 24. State Distribution Abstraction Control program should not have to deal with vagaries of distributed state Complicated, source of many errors Abstraction should hide state dissemination/collection Proposed abstraction: global network view Don’t worry about how to get that view (next slide) Control program operates on network view Input: global network view (graph) Output: configuration of each network device
  • 25. Network Operating System (NOS) NOS: distributed system that creates a network view Runs on servers (controllers) in the network Communicates with forwarding elements in network Gets state information from forwarding elements Communicates control directives to forwarding elements Using forwarding abstraction Control program operates on view of network Control program is not a distributed system NOS plus Forwarding Abstraction = SDN (v1)
  • 26. Current Networks Software-Defined Networking (v1) Protocols Protocols Control Program Global Network View Network Operating System Control via forwarding interface
  • 27. Major Change in Paradigm No longer designing distributed control protocols Now just defining a centralized control function Control program: Configuration= Function(view) Why is this an advance? Much easier to write, verify, maintain, reason about, …. NOS handles all state dissemination/collection Abstraction breaks this off as tractable piece Serves as fundamental building block for control
  • 28. WhatAboutConsistency? NOS must achieve eventual consistency View eventually consistent with real network The configuration is therefore eventually correct Simple function of view What about transient conditions? Hard to ensure good transient behavior with protocols Much easier with NOS What about distributed NOS (multiple controllers)? Need to split up decisions among controllers sensibly
  • 29. Why Does This Approach Scale? Modification of Control Program Strong Consistency 0 - 10/s Per Network Event Eventual Consistency 101 – 103/s Per Flow No Consistency 103 – 106/s Per Packet No Consistency 106 – 108/s
  • 30. Is Performance Good Enough? Architect for simplicity, engineer for performance Many engineering tricks can help SDN performance Caching state Backup paths ….. Don’t overly restrict vision of SDN Key SDN principle: configuration derived from global state “Configuration” can include more general device behaviors SDN ≠ OpenFlow
  • 31. What Role Does OpenFlow Play? NOS conveys configuration of global network view to actual physical devices But nothing in this picture limits what the meaning of “configuration” is OpenFlow is one possible definition of how to model the configuration of a physical device Is it the right one? Absolutely not. Crucial for vendor-independence But not the right abstraction (yet)
  • 32. Alternative SDN Implementation Linecard forwarding model: (per packet behavior) Supports OpenFlow plus x86 (and perhaps GPU) Switch configuration model: (management CPU) Supports JVM (controller can download code) NOS distributed state model: Key-value store Merely an illustration of a richer form of SDN Enables features to emerge in software, migrate to HW
  • 33. Are We Done Yet? This approach requires control program (or operator) to configure each individual network device This is much more complicated than it should be! NOS eases implementation of functionality But does not help specification of functionality! We need a specification abstraction
  • 34. Specification Abstraction Give control program abstract view of network Where abstract view is function of global view Then, control program is abstract mapping Abstract configuration = Function(abstract view) Model just enough detail to specify goals Don’t provide information needed to implement goals
  • 35. One Simple Example: Access Control Abstract Network View Full Network View
  • 36. More Detailed Model Service model can generally be described by a table pipeline Packet In Packet Out L2 L3 ACL
  • 37. Implementing Specification Abstraction Given: Abstract Table Pipeline L3 ACL L2 Network Hypervisor (Nypervisor) Compiles abstract pipeline into physical configuration Need: pipeline operations distributed over network of physical switches
  • 38. Two Examples Scale-out router: Abstract view is single router Physical network is collection of interconnected switches Nypervisor allows routers to “scale out, not up” Multi-tenant networks: Each tenant has control over their “private” network Nypervisor compiles all of these individual control requests into a single physical configuration “Network Virtualization”
  • 39. Abstract Network View Nypervisor Control Program Global Network View Network Operating System Moving from SDNv1 to SDNv2
  • 40. Clean Separation of Concerns Network control program specifies the behavior it wants on the abstract network view Control program: maps behavior to abstract view Abstract model should be chosen so that this is easy Nypervisor maps the controls expressed on the abstract view into configuration of the global view Nypervisor: abstract model to global view Models such as single cross-bar, single “slice”,… NOS distributes configuration to physical switches NOS: global view to physical switches
  • 41. Three Basic Network Interfaces Forwarding interface: abstract forwarding model Shields higher layers from forwarding hardware Distribution interface: global network view Shields higher layers from state dissemination/collection Specification interface: abstract network view Shields control program from details of physical network
  • 42. Three Basic Themes of Talk Networking currently built on weak foundation Lack of fundamental abstractions Network control plane needs three abstractions Leads to SDN v1 and v2 Key abstractions solve other architecture problems Two simple abstractions make architectures evolvable
  • 43. More General Use of Abstractions So far, focus was on network “management” Operator control within a single domain Ignores host and interdomain issues Did not address basic network “architecture” Naming, addressing, interdomain routing, security,… What abstractions describe Internet architecture? Too general a question…. How can abstractions help clean-slate redesign?
  • 44. What is Goal for Architectural Redesign? A more functional architecture? Pro: We know how to improve security, reliability, etc. Con: Design will be fixed for a generation Like today’s architecture A more evolvable architecture! Pro: Allows functionality to evolve over time Con: We don’t know how to build one Much talk about architectural evolution, no progress Two simple abstractions sufficient to solve problem
  • 45. Why Is Current Architecture Rigid? IP is central component of architecture IP is embedded in interdomain routing And interdomain routing is hard to change IP is embedded in applications (via API) And hard to change all applications Therefore, very hard to change IP!
  • 46. The Current Internet Application Network Stack Architecture is very rigid IP Domain BGP Rest of Internet
  • 47. Insert Two Architectural Abstractions Clean IDR interface: No leakage of intradomain routing across interface Flexible route computation Clean network API (netAPI) No leakage of network architecture across interface Flexible interface semantics Architecture is then evolvable! By making both interfaces abstract and extensible!
  • 48. A More Evolvable Internet Application netAPI Extensible and Abstract Network Stack Network stack and domain have complete freedom to innovate Architecture is very rigid IP Domain BGP Extensible and Abstract IDR Rest of Internet
  • 49. Two Abstractions Evolvability Domains can independently adopt new protocols IPv6, AIP, and other network-level protocols No need for interdomain agreements on L3 New naming systems, APIs can be introduced DONA, CCN, and other data-oriented architectures No need to change existing applications New forms of QoS and other path services No need to change interdomain routing
  • 50. Evolvabilityvs Functionality The IDR/netAPI abstractions help evolvability Specific architectures need functionality abstractions Sockets vsPubSub Delivery models …. Once we fix evolution, we can then take our time to get these other abstractions right!
  • 51. End of Three Themes, Back to SDN SDN not about new mechanisms; can use current Forwarding primitives (e.g., MPLS) State distribution primitives (e.g., flooding as in OSPF) Operator control programs (e.g., BGP on scale-out router) SDN is all about modularity Giving networking the benefits of modular programming Can reliably build more complicated functionality No more designing distributed control protocols Merely define control programs over abstract model Given abstract network, what behavior do you want?
  • 52. Control Plane Research Agenda Create three modular, tractable pieces Nypervisor Network Operating System Design and implement forwarding model Build control programs over abstract models Identify appropriate models for various applications Virtualization, Access Control, TE, Routing,…
  • 53. Implementations vs Abstractions SDN is an instantiation of fundamental abstractions Don’t get distracted by the mechanisms The abstractions were needed to separate concerns Network challenges are now modular and tractable The abstractions are fundamental SDN implementations are ephemeral OpenFlow/NOX/etc. particular implementations
  • 54. Future of Networking, Past of Protocols The future of networking lies in cleaner abstractions Not in defining complicated distributed protocols SDN is only the beginning of needed abstractions Took OS researchers years to find their abstractions First they made it work, then they made it simple Networks work, but they are definitely not simple It is now networking’s turn to make this transition Our task: make networking a mature discipline By extracting simplicity from the sea of complexity…

Hinweis der Redaktion

  1. This can be pretty much any forwarding element in networks today.
  2. The short answer is that it solves a bunch of operational problems today
  3. If you don’t do this carefully, just end up with parallel architectures, but even then our framework provides an advantage Applications don’t need to changeInterdomain routing isn’t a constraint on the changeThat’s more than you get out of GENI, or overlays, or other approaches people typically take to innovation.
  4. If you don’t do this carefully, just end up with parallel architectures, but even then our framework provides an advantage Applications don’t need to changeInterdomain routing isn’t a constraint on the changeThat’s more than you get out of GENI, or overlays, or other approaches people typically take to innovation.