170 likes | 283 Views
Network-wide Decision Making: Toward a Wafer-thin Control Plane. Jennifer Rexford, Albert Greenberg, Gisli Hjalmtysson ATT Labs Research David A. Maltz, Andy Myers, Geoffrey Xie, Jibin Zhan, Hui Zhang Carnegie Mellon University. A Well-Studied Architecture Question.
E N D
Network-wide Decision Making:Toward a Wafer-thin Control Plane Jennifer Rexford, Albert Greenberg, Gisli Hjalmtysson ATT Labs Research David A. Maltz, Andy Myers, Geoffrey Xie, Jibin Zhan, Hui Zhang Carnegie Mellon University
A Well-Studied Architecture Question • Smart hosts, dumb network • Network moves IP packets between hosts • Services implemented on hosts • Keep state at the edges Edge Network à IP! Edge à IP! How to partition function vertically?
Shell scripts • Management Plane • Figure out what is happening in network • Decide how to change it Traffic Eng Planning tools Databases Configs SNMP netflow modems • Control Plane • Multiple routing processes on each router • Each router with different configuration program • Huge number of control knobs: metrics, ACLs, policy OSPF Link metrics Routing policies OSPF OSPF OSPF BGP BGP BGP FIB FIB FIB Inside a Single Network • Data Plane • Distributed routers • Forwarding, filtering, queueing • Based on FIB or labels Packet filters
Shell scripts • Management Plane • Figure out what is happening in network • Decide how to change it Traffic Eng Planning tools Databases Configs SNMP netflow modems • Control Plane • Multiple routing processes on each router • Each router with different configuration program • Huge number of control knobs: metrics, ACLs, policy OSPF Link metrics Routing policies OSPF OSPF OSPF BGP BGP BGP FIB FIB FIB Inside a Single Network • Data Plane • Distributed routers • Forwarding, filtering, queueing • Based on FIB or labels • State everywhere! • Dynamic state in FIBs • Configured state in settings, policies, packet filters • Programmed state in magic constants, timers • Many dependencies between bits of state • State updated in uncoordinated, decentralized way! Packet filters
Example – Traffic Engineering - 1 Management Plane • Routers make uncoordinated changes to their routes • Poor stability, traffic thrashing • Network-wide view needed for a network-wide goal • Load sensitive routing • OSPF distributes load info • Paths computed to avoid hotspots Control Plane Data Plane
Example – Traffic Engineering - 2 Management Plane • Route planning • Learn topology • Estimate traffic matrix • Compute OSPF weights • Reconfigure routers • Must predict & undo effects of control plane • Must translate solution into settings of control plane knobs • Need ability to express desired solution OSPF Control Plane Load info Data Plane
An Architecture Question to Study • How should the functionality that controls a network be divided up? • Important: everyone hates net outages • Practical: solutions can be implemented without changing IP or end-hosts • Relevant: trends toward separating decision-making from forwarding • Unsolved: problem is not solved by running BGP/OSPF on faster servers
Our Proposal:Dissemination and Decision Planes • What functions require a view of entire network and network objectives? • Path selection and traffic engineering • Reachability control and VPNs • !Decision plane • What functions must be on every router to support creation of a network-wide view? • Topology discovery • Report measurements, status, resources • Install state (e.g., FIBs, ACLs) into data-plane • !Dissemination plane
Good Abstractions Reduce Complexity • All decision making logic lifted out of control plane • Eliminates duplicate logic in management plane • Dissemination plane provides a control channel to/from data plane Management Plane Configs Decision Plane Control Plane FIBs, ACLs FIBs, ACLs Dissemination Data Plane Data Plane
Many Implementations Possible • Decision Plane • Centralized, or • Distributed • Dissemination Plane • In-band, or • Out-of-band • Choice based on reliability requirements • Data plane evolution should be driven by needs of decision and dissemination planes
Example – Traffic Engineering Reprise Decision Plane Path Computation • Network-wide view provided by Dissemination Plane • All policy, goals, decision logic located in Decision Plane • Consistent network-wide solution constructed • Decision plane can directly express desired solution Traffic Matrix Topology FIBs Dissemination Plane Load info Data Plane
Example – Traffic Isolation Management Plane • Reachability control • Create routing design • Configure routing protocols • Add packet filters to patch holes where needed • Prevent some hosts/apps from communicating with others • Routing policy is very coarse grained • Packet filters are very expensive in the data plane • Missing filters can allow packets to leak, violating isolation Control Plane Route attrs Data Plane
Example – Traffic Isolation Reprise Reachability matrix Decision Plane • Reachability matrix directly expresses intended goal • Path computation can jointly optimize traffic load and obey reachability constraints • Packet filters installed only where needed, and changed whenever routing changes Path Computation Traffic Matrix Topology FIBs, ACLs Dissemination Plane Load info Data Plane
Challenges • Scalability for a single network • Back-of-the-envelope calculations ! no show-stoppers • Responsiveness • Reacting to unplanned failure takes an extra 40-100ms; OSPF/iBGP reconvergence today measured in seconds • Preplanning for failure is easier with network-wide view • Coordination • Minimize by having single active decision engine • Leverage distributed computing work
Challenges • Dissemination plane robustness • Must survive failures of links, but be less complicated than the routing protocols it tries to replace • Hierarchy • How do two Decision Planes inter-network? • How is the boundary of the Dissemination Plane defined? 14.25
Related Work • Separation of forwarding elements and control elements • IETF: FORCES, GSMP, GMPLS • SoftRouter [Lakshman] • Driving network operation from network-wide views • Traffic Engineering, Traffic Matrix computation • Centralization of decision making logic • RCP [Feamster], PCE [Farrel] • SS7 [Ma Bell] 14.75
Summary • How to partition functionality inside the systems that control a network? • Dissemination and Decision Planes • Power of solution comes from: • Locating all decision making in one plane • Providing that plane with network-wide views • Directly write forwarding state to data plane • Benefits • Network-wide views • Focus on network issues, less on distributed protocols • Coordinated state updates ! better reliability 15