Cabo: Concurrent Architectures are Better than One Jennifer Rexford Princeton University http://www.cs.princeton.edu/~jrex Joint work with Nick Feamster and Lixin Gao http://www.cs.princeton.edu/~jrex/papers/cabo.pdf 1 Deciding Not to Decide • Flexibility has been key to the Internet’s success – Many different applications and services – Beyond anything the initial designers ever envisioned • Today this flexibility is limited to the end systems – Not surprisingly, this is where we have seen innovation • And, the “inside” is quite difficult to change – Witness the fate of IPv6, QoS, multicast, secure routing • Even if we could start over… – Maybe the design problem is over-constrained – Too many goals, some conflicting ? 2 It’s Hard to be a Routing Protocol These Days • Many, many design goals –Global reachability –Fast convergence –Efficient use of resources –Low protocol overhead –Secure control plane –Flexible routing policies –<your wish list here> • Perhaps we cannot satisfy all of these goals –No matter how hard we try… 3 Example: Security vs. Reachability Online Banking Web Surfing Properties Security, even at the Reachability more expense of reachability important than security Routing Secure control plane Insecure control plane for participating parties for all parties Addressing Self-certifying address Ephemeral address associated with person related to the topology 4 Example: Convergence vs. Scalability Voice over IP Gateway Properties Fast convergence for a few prefixes Remaining Traffic Scalability to 200K prefixes Dissemination Flooding Hierarchical Routing Protocol Path vector (iBGP with route reflectors) Link state (OSPF or IS-IS) 5 Virtualization to the Rescue • Multiple customized architectures in parallel – Multiple logical routers on a single platform – Resource isolation in CPU, forwarding table, bandwidth – Programmability for custom protocols and mechanisms 6 Applications Within an Single ISP • Customized virtual networks – Security for online banking – Fast-convergence for VoIP and gaming – Specialized handling of suspicious traffic • Testing and deploying new protocols – Evaluate on a separate virtual network – Rather than in a dedicated test lab – Large scale and early-adopter traffic • Leasing virtual components to others – ISPs have unused node and link capacity – Can allow others to construct services on top 7 Enabling Economic Refactoring Infrastructure Providers Service Providers • Infrastructure providers: Maintain routers, links, data centers, and other physical infrastructure • Service providers: Offer end-to-end services (e.g., layer 3 VPNs, SLAs, etc.) to users Today: ISPs try to play both roles, and cannot offer end-to-end services 8 Similar Trends in Other Industries • Commercial aviation – Infrastructure providers: Airports – Infrastructure: Gates, “hands and eyes” support, etc. – Service providers: Airlines JFK SFO NRT ATL Other examples: airplanes, auto industry, & commercial real estate 9 Communications Networks, Too! • Two commercial examples in IP networks – Packet Fabric: share routers at exchange points – FON: resells users’ wireless Internet connectivity Broker • FON economic refactoring – Infrastructure providers: Buy upstream connectivity – Service provider: FON as the broker (www.fon.com) 10 Application #1: End-to-End Services • Secure routing protocols • Multi-provider VPNs • Paths with end-to-end performance guarantees Today Competing ISPs with different goals must coordinate Cabo Single service provider controls end-to-end path 11 Application #2: Virtual Co-Location • Problem: ISP/Enterprise wants presence in some physical location, but doesn’t have equipment. NYC Tokyo U.S. ATL • Today: Backhaul, or L3 VPN from single ISP • Cabo: Lease a slice of another’s routers, links 12 Challenge #1: Simultaneous Operation • Problem: Service providers share infrastructure • Approach: Virtualize the infrastructure – Nodes (lessons from PlanetLab will help) – Links (previous lessons from QoS) • Andy Bavier’s talk on VINI – Cabo will exploit many functions that are needed for VINI – Cabo philosophy: virtualization is the architecture 13 Challenge #2: Substrate • Problem: Service providers must be able to request and create virtual networks • Discovering physical infrastructure – Decision elements for managing the substrate • Creating virtual networks – Requests to decision elements (initially out of band), which name virtual network components • Instantiating virtual networks – Challenges related to embedding and accounting 14 Conclusion: Cabo as a New Architecture • Virtualization – Multiple logical routers on a single platform – Resource isolation in CPU, FIBs, and bandwidth • Programmability – General-purpose CPUs for control and manipulation – Network processors and FPGAs for fast forwarding – Third-party providers for routing and forwarding solutions • Economic refactoring – Infrastructure provider: manage routers and links – Service provider: offer end-to-end services http://www.cs.princeton.edu/~jrex/papers/cabo.pdf 15