Different Strokes for Different Folks (Or, How I Learned to Stop Worrying and Love Virtualization) ============================================================ Routing protocols are charged with satisfying a wide variety of goals, including reachability, scalability, fast convergence, traffic engineering, security, business policies, and so on. Satisfying all of these objectives perfectly is impossible, leading to compromises and careful tuning of the protocols to balance competing trade-offs. Instead, we argue that a network should run multiple routing protocols, each tailored to the needs of a particular application, service, or traffic class. For example, * Convergence delay vs. scalability: Interactive applications, such as voice over IP (VoIP) and video conferencing, are sensitive to transient disruptions. These disruptions typically occur when equipment failures cause the routers to temporarily disagree on how to forward packets toward the destination. However, reducing convergence delay is difficult when the routing system must compute routes for many (e.g., 200,000) destination prefixes. Instead, we argue for running two different routing protocols, one that has fast convergence at the expense of poor scalability properties (for the small number of VoIP gateways) and another that has slower convergence in exchange for better scalability properties (for the vast majority of destinations). For example, VoIP prefixes could be distributed in an Interior Gateway Protocol (IGP) like OSPF or IS-IS, while the remaining destinations could be distributed in internal BGP (iBGP). Providing separate CPU resources for the VoIP routing protocol would ensure that the overhead for handling routing changes for the data prefixes does not increase the convergence time for the VoIP prefixes. * Security vs. reachability: Certain Internet applications, such as e-commerce and online banking, need stronger security properties to prevent identity theft and fraudulent transactions. Yet, ubiquitous deployment of a secure routing protocol (such as S-BGP or soBGP) remains elusive. Instead, we argue for running two virtual networks that make different trade-offs between security and reachability. Sensitive applications would transfer data on a virtual network that provides reachability only to ASes that have deployed (say) S-BGP, and perhaps also DNSSEC, and participate in an address registry and public-key infrastructure. The remaining traffic would run over a virtual network that provides global reachability to all address blocks by running conventional BGP, without the ability to guarantee that all routes are valid. This would allow an end user to connect a secure (virtual) machine to a secure virtual network when conducting e-commerce and online banking, while connecting another (virtual) machine to the other virtual network for conventional Web browsing. We argue that supporting multiple routing protocols, with separation of resources in control plane, would lead to better end-to-end services and fault isolation between services. In addition, we argue that managing several virtual networks, each customized to a particular service, would be much easier to configure and manage than having one complex network that tries to satisfy the needs of all services. In addition to separate routing protocols, the virtual networks could conceivably have different addressing schemes, to balance important trade-offs such as privacy vs. accountability, and mobile hosts vs. hierarchical addressing. For example, online banking may benefit from persistent, flat, self-certifying addresses, whereas conventional Web browsing may be better served by ephemeral, hierarchical addresses with no security associations. We plan to explore the potential benefits of customized addressing and routing, as well as a substrate for supporting multiple virtual networks in parallel, in the Cabo project [1]. [1] Nick Feamster, Lixin Gao, and Jennifer Rexford, "How to lease the Internet in your spare time," Georgia Tech Technical Report GT-CSS-06-10, August 2006. http://www.cs.princeton.edu/~jrex/papers/cabo.pdf