Analysis and Improvement of Name-Based Packet Forwarding
Total Page:16
File Type:pdf, Size:1020Kb
Analysis and Improvement of Name-based Packet Forwarding over Flat ID Network Architectures Antonio Rodrigues Peter Steenkiste Ana Aguiar [email protected] [email protected] [email protected] Carnegie Mellon University Carnegie Mellon University Faculty of Engineering, Univ. of Porto Pittsburgh, PA, USA Pittsburgh, PA, USA Instituto de Telecomunicações Faculty of Engineering, Univ. of Porto Porto, Portugal Instituto de Telecomunicações Porto, Portugal ABSTRACT URLs to identify web objects. Name-based Information Centric One of ICN’s main challenges is attaining forwarding table scala- Networks (ICNs) such as NDN [8] promise to be a good fit for such bility when confronted with a huge content space. This is specially applications, for two reasons: (1) no need for external name lookup true in flat ID architectures, which do not naturally support route (e.g., DNS or GNS [18]) by using name-based forwarding at the aggregation for hierarchical names. Previous work has proposed network layer; and (2) reduced forwarding table sizes as a result improving scalability by aggregating content names in a fixed-size of the aggregation enabled by the hierarchical structure of names. Bloom Filters (BF). However, the negative impact of false positive In contrast, ICNs based on flat IDs (defined as fixed-size bit strings (FPs) matches on forwarding correctness and performance has not in this paper), e.g., DONA [12], PURSUIT [6], do not natively have been studied thoroughly. In this paper, we study the end-to-end net- these benefits. work performance of BF-based forwarding. We devise an analytical Recently, a forwarding scheme based on Bloom Filters (BFs) [13, model that accurately models BF-based forwarding and the flow of 14] has been proposed to enable aggregation of content descriptors BF-based packets over inter-domain topologies. Using this model, (e.g., tag sets, hierarchical names, etc.), thus improve the scalability we show that the use of BFs for packet forwarding puts feasibility of flat-ID ICNs. We henceforth refer to this scheme as ‘Bloom Filter- at odds with scalability. Based on our analysis, we propose and based forwarding’. This method also enables NDN-style forwarding evaluate several strategies to improve the feasibility of BF-based on flat ID-based ICNs, in the sense that it allows for the encoding forwarding and examine different scenarios for which BF-based of hierarchical names of variable size in a fixed-sized bit array: the forwarding is suitable. BF itself. Notwithstanding the routing scalability benefits of this method, false positive (FP) matches - an unavoidable side-effect of CCS CONCEPTS BFs - can severely impact forwarding correctness. In this paper we study the impact of FP matches on the correct- • Networks → Naming and addressing; Network performance ness of BF-based forwarding. We show that the exclusive reliance modeling; on BFs for forwarding in a distributed network raises a trade-off be- KEYWORDS tween scalability (attained via prefix aggregation) and forwarding correctness (affected by FP matches), which has not been studied in ICN; Bloom filter; forwarding, false positive previous work. This trade-off depends on: (1) the degree of prefix ACM Reference format: aggregation in forwarding tables; (2) the number of entries in for- Antonio Rodrigues, Peter Steenkiste, and Ana Aguiar. 2018. Analysis and warding tables; and (3) the BF size (in bits). In particular, we show Improvement of Name-based Packet Forwarding over Flat ID Network that high degrees of aggregation result in an higher likelihood of Architectures. In Proceedings of 5th ACM Conference on Information-Centric forwarding errors, particularly when BFs used in forwarding tables Networking, Boston, MA, USA, September 21–23, 2018 (ICN ’18), 11 pages. are created from short names (e.g., ‘/acme.org’) and BFs used in https://doi.org/10.1145/3267955.3267960 packets are created from long names (e.g., URLs with 10 compo- nents, a reasonable number to expect in practice [13, 15]). 1 INTRODUCTION This paper makes the following contributions: • We define a model of BF-based packet flow, which can be used Hierarchical names are widely used by network applications to to quantify the effect of FP matches on BF-based forwarding, identify content and services: e.g., data retrieval in the Web uses over arbitrary network topologies. The model uses a Bayesian Permission to make digital or hard copies of all or part of this work for personal or Network approach to calculate the probability of forwarding classroom use is granted without fee provided that copies are not made or distributed decisions at a BF-based router, thus capturing the network-level for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM effects of FP matches. must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, • We evaluate the impact of FP matches on BF-based forwarding, to post on servers or to redistribute to lists, requires prior specific permission and/or a with focus on the trade-off between scalability and forwarding fee. Request permissions from [email protected]. ICN ’18, September 21–23, 2018, Boston, MA, USA correctness. The evaluations uses PoP-level Rocketfuel topolo- © 2018 Association for Computing Machinery. gies [20]. Our results show that when aggressive aggregation is ACM ISBN 978-1-4503-5959-7/18/09...$15.00 used, BF-based forwarding incurs excessive incorrect deliveries https://doi.org/10.1145/3267955.3267960 ICN ’18, September 21–23, 2018, Boston, MA, USA Antonio Rodrigues, Peter Steenkiste, and Ana Aguiar and link usage, when compared to forwarding with exact match and F, i.e., ¹F & Rº == F. As shown in Fig. 1(b), the lookup can result semantics. Larger BFs must be used to get acceptable perfor- in false positive (FP) matches. The black bits in the FIB entries are mance. set by hashing sub-prefixes not present in request R. This results in • We propose extensions to ‘vanilla’ BF-based forwarding, which a (correct) “no match” for the second entry, but a FP for the third aim at reducing the negative impact of FPs: XIA-style fallbacks [7] entry. We analyze the effects of FP matches in §3. and prefix-exclusion. The former allow routers to quickly switch to locator-based forwarding if BF-based forwarding fails, reduc- 2.2 Routing & Prefix Aggregation ing latency costs of wrong deliveries; the latter exploits the design Content can be replicated throughout the network: e.g., origin of namespaces to reduce FP rates while maintaining relatively servers, CDN nodes, and caches which opportunistically cache con- short BF sizes. tent. Such nodes announce names of different sizes. Origin servers The remainder of the paper is organized as follows. In §2 and §3, announce short prefixes (e.g., ‘/a’), since they have a copy of all the we describe BF-based forwarding analyze the impact of FP matches data. CDNs may store of a subset of the data, in which case they on forwarding in a single router. We present an FP-aware forward- announce longer names (e.g., ‘/a/b’). Finally opportunistic caches ing design in §4. We describe our BF-based packet flow model in §5, store individual objects and thus announce full names. Routers use using it to evaluate BF-based forwarding in §6. Finally, we discuss a routing protocol to identify the “closest” source for each name, related work and conclude. and the announcements they receive with different prefix sizes and costs, not unlike how CIDR addresses are advertized by BGP. 2 FORWARDING WITH BLOOM FILTERS Similar to IP, we use a forwarding engines with Longest Prefix In this section, we provide the background on the Bloom Filter (BF) Matching (LPM) semantics based on forwarding tables generated based forwarding scheme studied in this paper. by the routing protocol. Example: Fig. 2 shows an example of how routing and prefix ag- 2.1 Name Encoding and BF-based Lookup gregation can be handled in a BF-based forwarding system. Routers Name encoding: Our encoding method is a specialization of that keep a Routing Information Base (RIB) and a Forwarding Informa- used in TagNet [13, 14]), which uses Bloom filters (BFs) [2] to repre- tion Base (FIB): RIB entries are prefixes in their textual form, as sent sets of string tags at the network layer. While the tags encoded received from route announcements, while FIB entries hold RIDs, in TagNet are independent (e.g., keywords), we instead encode all as explained earlier. Say a router R receives a pair of prefix an- the sub-prefixes of a hierarchical name. We refer to the resulting nouncements, each with different associated costs, for example identifiers as Request IDs (RIDs), while we call the number of path lengths, measured in hops. R will insert FIB entries for both sub-prefixes the length or size of the name. Fig. 1(a) showshow prefixes if the cost of the longer prefix is smaller than thatofthe the hierarchical name ‘/a/b/c’ is encoded based on its three sub- shorter prefix. E.g., the case of the pair f‘/a’, ‘/a/b’g in Fig. 2. Oth- prefixes f‘/a’, ‘/a/b’, ‘/a/b/c’g. This is done using a function rid( erwise, only the shorter prefix is added, e.g., the case of pairs f‘/a’, name) which partitions name into its sub-prefixes, each of which is ‘/a/c’g and f‘/a’, ‘/a/d’g. encoded in m bit BF using k hash functions, forming the RID. Spanning trees: Paths created by shortest path routing form a This form of encoding offers many benefits. First, network nodes spanning tree rooted at the content source.