Scalable Routing on Flat Names Ankit Singla and P. Brighten Godfrey University of Illinois at Urbana-Champaign Kevin Fall, Gianluca Iannaccone, and Sylvia Ratnasamy Intel Labs Berkeley ABSTRACT We introduce a protocol which routes on flat, location- independent identifiers with guaranteed scalability and low stretch. Our design builds on theoretical advances in the area of compact routing, and is the first to realize these guarantees in a dynamic distributed setting. 1. INTRODUCTION Routing scalability is highly desirable for very large, dynamic, and resource-constrained networks, including many peer-to-peer systems and the Internet. Shortest- path routing algorithms (link state, distance vector, path vector, etc.) all [16] require Ω(n) memory at each router for a network with n destinations, and at least as much communication and computation to build the routing tables. One way to scale routing is to use a structured net- work topology that makes routing easy. Examples range from torus networks in supercomputers [25] to planar networks which permit greedy geographic routing [23] to hypercubes, small world networks, and other topolo- gies in distributed hash tables [39,43,50]. But requiring a particular highly structured topology is not feasible for general-purpose networks. For general networks, the common scaling technique is hierarchy: routing is performed over high-level ag- gregate units until it reaches the destination’s unit, at which point routing proceeds at a finer granularity. For example, the Internet routes at the level of IP prefixes to a destination domain, and then over an intradomain routing protocol to a subnet. Hierarchy has two main problems. First, it can have arbitrarily high stretch, defined as the ratio of route length to the shortest path Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ACM CoNEXT 2010, November 30 – December 3 2010, Philadelphia, USA. Copyright 2010 ACM 1-4503-0448-1/10/11 ...$5.00. length. Simultaneously guaranteeing scalability and low stretch on arbitrary networks is a nontrivial problem which no deployed routing protocols achieve. Second, hierarchy requires location-dependent addresses, com- plicating management, mobility, and multihoming. In response, numerous recent proposals suggest rout- ing on location-independent flat names [5, 12, 13, 20, 21, 28, 42]. Flat names are a paradigm shift for the net- work layer: rather than requiring a location-dependent IP address to serve the needs of the routing protocol, a name is an arbitrary bit string that can serve the needs of the application layer. For example, a name could be a DNS name, a MAC address, or a secure self-certifying identifier [21,28,42]. But no previously proposed proto- cols exist for scalable, low-stretch routing on flat names. This paper introduces a new routing protocol: Dis- tributed Compact Routing, or “Disco”. Disco builds on theoretical advances in centralized, static compact rout- ing algorithms [3,44] and is the first dynamic distributed protocol to guarantee the following properties: Scalability: A Disco router needs just ˜ O( √ n) routing table entries 1 regardless of network topology. Low stretch: Disco has worst-case stretch 7 on a flow’s first packet, worst-case stretch 3 on subsequent packets, and much lower average stretch. Flat names: Disco routes on arbitrary “flat” names rather than hierarchical addresses. Disco’s guarantee of ˜ O( √ n) routing table entries trans- lates to ˜ O(r √ n) bits of state where r is the size of a partial route; see discussion in §2. Recently, several papers have introduced techniques which approach the above properties. In particular, citing the lack of a distributed compact routing pro- tocol, VRR [9] introduced a novel DHT-inspired ap- proach to route on flat names, but as we will see, VRR does not guarantee scalability and low stretch. S4 [34] is a distributed implementation of a compact routing algorithm of [44], but it does not route on flat names 1 The standard notation ˜ O(·) hides polylogarithmic factors to aid readability. Disco actually has O( √ n log n) entries.