Tackling IPv6 Address Scalability from the Root

Similar documents
A Growth-Based Address Allocation Scheme for IPv6

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425)

Accommodations of QoS DiffServ Over IP and MPLS Networks

Outline: Software Design

Gray Codes for Reflectable Languages

Pipelined Multipliers for Reconfigurable Hardware

Parallelizing Frequent Web Access Pattern Mining with Partial Enumeration for High Speedup

A Load-Balanced Clustering Protocol for Hierarchical Wireless Sensor Networks

Smooth Trajectory Planning Along Bezier Curve for Mobile Robots with Velocity Constraints

A Novel Validity Index for Determination of the Optimal Number of Clusters

NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION. Ken Sauer and Charles A. Bouman

Extracting Partition Statistics from Semistructured Data

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering

HEXA: Compact Data Structures for Faster Packet Processing

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study

Cross-layer Resource Allocation on Broadband Power Line Based on Novel QoS-priority Scheduling Function in MAC Layer

Acoustic Links. Maximizing Channel Utilization for Underwater

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System

COST PERFORMANCE ASPECTS OF CCD FAST AUXILIARY MEMORY

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization

3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT?

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR

Multi-Channel Wireless Networks: Capacity and Protocols

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking

Incremental Mining of Partial Periodic Patterns in Time-series Databases

Multiple-Criteria Decision Analysis: A Novel Rank Aggregation Method

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications

A Dual-Hamiltonian-Path-Based Multicasting Strategy for Wormhole-Routed Star Graph Interconnection Networks

Performance Benchmarks for an Interactive Video-on-Demand System

Multi-hop Fast Conflict Resolution Algorithm for Ad Hoc Networks

IPv6 Deployment and Distribution in the RIPE NCC Service Region. Marco Schmidt IP Resource Analyst Monday, 23 April 2012

Make your process world

Uplink Channel Allocation Scheme and QoS Management Mechanism for Cognitive Cellular- Femtocell Networks

Partial Character Decoding for Improved Regular Expression Matching in FPGAs

arxiv: v1 [cs.db] 13 Sep 2017

Dynamic Backlight Adaptation for Low Power Handheld Devices 1

Sparse Certificates for 2-Connectivity in Directed Graphs

1 The Knuth-Morris-Pratt Algorithm

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks

IN structured P2P overlay networks, each node and file key

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines

BioTechnology. An Indian Journal FULL PAPER. Trade Science Inc. Improvement of low illumination image enhancement algorithm based on physical mode

Abstract. Key Words: Image Filters, Fuzzy Filters, Order Statistics Filters, Rank Ordered Mean Filters, Channel Noise. 1.

IPv4 Address Report. This report generated at 12-Mar :24 UTC. IANA Unallocated Address Pool Exhaustion: 03-Feb-2011

Improved Circuit-to-CNF Transformation for SAT-based ATPG

Exploiting Enriched Contextual Information for Mobile App Classification

Facility Location: Distributed Approximation

C 2 C 3 C 1 M S. f e. e f (3,0) (0,1) (2,0) (-1,1) (1,0) (-1,0) (1,-1) (0,-1) (-2,0) (-3,0) (0,-2)

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays

1. The collection of the vowels in the word probability. 2. The collection of real numbers that satisfy the equation x 9 = 0.

SVC-DASH-M: Scalable Video Coding Dynamic Adaptive Streaming Over HTTP Using Multiple Connections

Fast Distribution of Replicated Content to Multi- Homed Clients Mohammad Malli Arab Open University, Beirut, Lebanon

We don t need no generation - a practical approach to sliding window RLNC

Space- and Time-Efficient BDD Construction via Working Set Control

New Channel Allocation Techniques for Power Efficient WiFi Networks

A Dictionary based Efficient Text Compression Technique using Replacement Strategy

Volume 3, Issue 9, September 2013 International Journal of Advanced Research in Computer Science and Software Engineering

Direct-Mapped Caches

DoS-Resistant Broadcast Authentication Protocol with Low End-to-end Delay

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem

Network Working Group Request for Comments: 4147 Category: Informational August Proposed Changes to the Format of the IANA IPv6 Registry

Approximate logic synthesis for error tolerant applications

Cluster-Based Cumulative Ensembles

Parametric Abstract Domains for Shape Analysis

Chapter 2: Introduction to Maple V

The Mathematics of Simple Ultrasonic 2-Dimensional Sensing

Distributed Resource Allocation Strategies for Achieving Quality of Service in Server Clusters

Flow Demands Oriented Node Placement in Multi-Hop Wireless Networks

MPhys Final Year Project Dissertation by Andrew Jackson

Trajectory Tracking Control for A Wheeled Mobile Robot Using Fuzzy Logic Controller

User-level Fairness Delivered: Network Resource Allocation for Adaptive Video Streaming

Improved flooding of broadcast messages using extended multipoint relaying

Divide-and-conquer algorithms 1

New Fuzzy Object Segmentation Algorithm for Video Sequences *

the data. Structured Principal Component Analysis (SPCA)

An Alternative Approach to the Fuzzifier in Fuzzy Clustering to Obtain Better Clustering Results

Automated System for the Study of Environmental Loads Applied to Production Risers Dustin M. Brandt 1, Celso K. Morooka 2, Ivan R.

BENDING STIFFNESS AND DYNAMIC CHARACTERISTICS OF A ROTOR WITH SPLINE JOINTS

Adobe Certified Associate

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks

FREQUENTLY ASKED QUESTIONS ABOUT IPv6

IPv6, Act Now! Daniel Karrenberg, RIPE NCC Chief Scientist

The Happy Ending Problem

IPv6 Address Allocation and Assignment Policy

UCLA UCLA Previously Published Works

Recommendation Subgraphs for Web Discovery

DETECTION METHOD FOR NETWORK PENETRATING BEHAVIOR BASED ON COMMUNICATION FINGERPRINT

Capturing Large Intra-class Variations of Biometric Data by Template Co-updating

Batch Auditing for Multiclient Data in Multicloud Storage

Measuring IPv6 Deployment

A {k, n}-secret Sharing Scheme for Color Images

Detection and Recognition of Non-Occluded Objects using Signature Map

Using Game Theory and Bayesian Networks to Optimize Cooperation in Ad Hoc Wireless Networks

IPv4 depletion & IPv6 deployment in the RIPE NCC service region. Kjell Leknes - June 2010

with respect to the normal in each medium, respectively. The question is: How are θ

Methods for Multi-Dimensional Robustness Optimization in Complex Embedded Systems

Measurement of the stereoscopic rangefinder beam angular velocity using the digital image processing method

Implementing Load-Balanced Switches With Fat-Tree Networks

Transcription:

Takling IPv6 Address Salability from the Root Mei Wang Ashish Goel Balaji Prabhakar Stanford University {wmei, ashishg, balaji}@stanford.edu ABSTRACT Internet address alloation shemes have a huge impat on the size of routing tables. Due to the imminent deployment of IPv6 and the rapidly growing number of users worldwide, it is very urgent that we have a good address alloation algorithm for IPv6. Addresses are alloated by registries to users in the form of prefixes. Suh an alloation dovetails niely with the Longest Mathing Prefix algorithm employed by routers to keep the address lookup problem salable. However, some users inevitably grow in size and need more addresses. The additional alloations often end up reating new prefixes, ausing undesirable address fragmentation. We further develop a simple algorithm, alled Growthbased Address Partitioning (GAP), proposed in Wang (2005). GAP alloates addresses taking into aount the possibility that users may grow in the future. However, it makes the unrealisti assumption that this growth rate is known at the time of the initial request. In this paper, we develop an online version of the GAP algorithm and use theory, simulations and real data from the Asia Paifi and the Chinese registries to show that the online version yields an order of magnitude less address fragmentation ompared to existing alloation shemes. This is signifiant for reduing routing table size, inreasing salability and improving the performane of the Internet. Categories and Subjet Desriptors H.1 [Information Systems]: Models and Priniples General Terms Algorithms, Management, Theory. Keywords Internet address alloation 1. INTRODUCTION Permission to make digital or hard opies of all or part of this work for personal or lassroom use is granted without fee provided that opies are not made or distributed for profit or ommerial advantage and that opies bear this notie and the full itation on the first page. To opy otherwise, to republish, to post on servers or to redistribute to lists, requires prior speifi permission and/or a fee. IPv6 07, August 31, 2007, Kyoto, Japan. Copyright 2007 ACM 978-1-59593-790-2/07/0008...$5.00. In a reent meeting of the IETF s Internet Arhiteture Board dediated to routing and addressing [1], the salability of the routing problem was noted as an urgent issue, espeially in the ontext of IPv6. The salability of route lookups depends on the size and struture of routing tables whih, in turn, depend on a good address alloation algorithm [4, 5, 6]. A bad algorithm an ause address fragmentation, whih refers to a single user being represented by multiple disjoint prefixes. Address fragmentation severely degrades the performane of longest-prefix-mathing-based route lookup algorithms whih perform best with a single (unfragmented) prefix per user. Thus, it is imperative we seek a good address alloation algorithm for IPv6 now. The seemingly infinite address spae offered by IPv6 may lead to the pereption that a key problem in IPv4 address fragmentation might no longer be an issue in IPv6. We argue this is not the ase. First of all, the total address IPv6 provides is not as large as it seems. Only the first 64 bits out of the total 128 bits for eah address are used for routing, the other 64 bits are saved for physial ID, e.g., MAC address of ethernet ard. Furthermore, even if the address spae seems to be immense today, history has repeatedly demonstrated that a large supply inevitably invites large onsumption. Lessons from IPv4 show that it would be too late to wait until the address spae beomes rowded before ating. The onern that IPv6 addresses may not be an unlimited resoure has led reent studies to projet IPv6 address spae usage [13]. These studies show that with the urrent address alloation poliies and a onservative projeted onsumption rate, IPv6 addresses will be exhausted in 60 years without taking emerging new appliations into aount. This onern has led to proposals of remedies and poliy hanges to make more effiient use of the address spae and prolong the lifespan of IPv6 [12, 13]. Another fat worth pointing out is that address alloation is not the only fator that may lead to fragmentation, it is one of several auses suh as multi-homing. In this paper, we will fous only on reduing address alloation indued fragmentation. The Growth-based Address Partitioning (GAP) algorithm was proposed to alloate address spae based on eah user s growth rate [2]. Assuming this growth rate is known (an assumption we will relax in this paper), it was suggested that rapidly-growing users ought to be allowed more spae to grow by having their initial prefix allotments in more open regions of the address spae. This is different from an alloation sheme proposed for IPv6, alled the Bisetion al-

gorithm. This algorithm assigns a new request to the largest urrently open region, regardless of their growth rate. Thus, the Bisetion algorithm makes the impliit assumption that all users will grow at the same rate. The paper [2] showed that GAP signifiantly redues the number of fragmentations relative to the Bisetion method. This paper provides stronger evidene via theory and simulations. In order to use GAP one needs to know eah user s growth rate, whih is not always available. In this paper, we develop an online version of GAP where we estimate the growth rate of eah user empirially in an online fashion. Using real data from the Asia Paifi and the Chinese registries, we show that this online GAP an redue the number of fragmentations by an order of magnitude ompared to existing alloations. The rest of this paper is organized as follows: Setion 2 lays out the bakground for how addresses are alloated nowadays. Setion 3 desribes the GAP algorithm. Setion 4 proves that the GAP is point-wise optimum. Setion 5 presents the online version of the GAP sheme presents omparisons with other shemes on real data. 2. HOW ADDRESSES ARE ALLOCATED 2.1 Alloation hierarhy The IP address alloation hierarhy is shown in Figure 1. At the top of the hierarhy, the whole address pool is ontrolled by the Internet Assigned Numbers Authority (IANA). IANA alloates large address bloks to eah of the Regional Internet Registries (RIRs) serving North Ameria (ARIN), Europe (RIPE), Asia Paifi (APNIC), Afria (AfriNIC), and Latin Ameria and the Caribbean (LACNIC). The regional registries divide up these large address bloks into medium bloks to alloate to Loal Internet Registries (LIRs), onsisting mainly of Internet Servie Providers (ISPs). The ISPs further assign small address bloks to their users, inluding ompanies, universities, smaller ISPs, et. An address alloation is defined by alloation size and loation. Alloation size speifies how large of the address blok or the prefix is assigned. Alloation loation is where in the address pool this blok is alloated to, this is the result of alloation algorithms. Thus, alloation algorithms determine how address spae is partitioned. While alloation sizes an be different at eah alloation hierarhy layer, a good alloation algorithm an be applied to any layer in the alloation hierarhy and any registry. We will desribe the urrent poliies on alloation sizes and alloation algorithms. 2.2 Alloation sizes The poliies on alloation sizes vary for different registries at different levels, as shown in Figure 1. For example, in the urrent IPv4 poliies [8, 9, 10], IANA alloates to RIRs in the unit of /8. Different RIRs adopt their own poliies for alloations to LIR/ISPs with unit sizes varying from /10 to /20. The sizes assigned to end users by eah ISP also vary greatly. Due to historial alloation shemes, fragmentation is a ommon problem in IPv4 [4]: one ISP is often left with multiple prefixes. For the 128-bit IPv6 address, the last 64 bits are assigned to interfae ID [3], e.g., an ethernets MAC address. Thus, Figure 1: Address alloation hierarhy and poliies on sizes. address alloation only onsiders the top 64 bits. Alloation poliies in terms of size are shown in Figure 1. There is a proposal [15] from major RIRs reommending a Common Address Pool (CAP) in IANA for all RIRs, instead of eah RIR keeping a separate pool of addresses for alloation. Assigning appropriate address sizes at different level has been under extensive disussions [8, 9, 10, 11, 14]. There are many issues involved in the poliy deisions on sizes, suh as fairness, eonomial issues, politial issues, et. The fous of the work in this paper will be on alloation algorithms, whih we believe deserve more attention. 2.3 Alloation algorithms There are two address alloation algorithms that are urrently deployed in the real world: the sequential sheme and the bisetion sheme. Before going into these two algorithms, let us first define two terminologies that we will use often in this paper. Address fragmentation: as mentioned before, it refers to non-ontinuous address bloks for one entity, i.e., more than one prefix representing a single entity in the routing table. Address fragmentation inreases routing table size, dereases the effiieny of IP lookup and routing, as well as redues network salability. Collision: when a user runs out of address spae for further expansion, due to the proximity of the neighboring users in the address spae, this phenomenon is alled ollision. When ollision ours, the address provider an either find a separate loation on the address line or still expand the user s spae by arving out the setion already oupied by its neighbor. Both options lead to fragmentation. Suh pratie should be avoided whenever it is possible. A third option is to move either one of the two users to a different address loation, whih will reate muh hassle and may not always be viable. 2.3.1 Sequential sheme Sequential sheme is the method used ommonly in the real world pratie attributed to its simpliity. In essene, eah new request is alloated into the first empty spae available from left to right on the address line that fits the requested size. Sequential is a good sheme if the requested sizes are stati, i.e., there is no growth of eah user, the total required size for eah user is fixed at the beginning of the alloation. This is obviously not the ase in reality. Eah entity often requests a relatively small address blok at the beginning,

Figure 3: GAP sheme. Figure 2: Bisetion sheme. then omes bak for more as it grows, as we will see in real alloation request patterns in setion 5. 2.3.2 Bisetion sheme Bisetion sheme is proposed for IPv6 address alloation pratie by regional registries [18]. Address bloks are alloated in the following way: eah new address blok is alloated by evenly splitting the maximum available spae on the address line between the existing user and the new user. This leaves maximum possible spae for potential growth of both users. An example using this sheme is illustrated in Figure 2. Eah user is given an ID labeling the inoming sequene of the users. The first four users are alloated by dividing the total address spae equally into four parts as shown in Figure 2(a). When the fifth user applies for an address blok, it is plaed to evenly split the setion labeled by the arrow in Figure 2(b). The 6th, 7th, and 8th user will be plaed sequentially in the spaes after the 2nd, 3rd, and 4th user, respetively. Only after the largest empty slots have been exhausted, will new alloations be assigned to biset the smaller slots at the next level. A similar tehnique an be found for dynami memory alloation in Operating Systems. This method uniformly separates the alloated bloks to maximize the spaing between users. It treats eah user equally. Regardless whether a user is big or small, as far as it omes in as the 5th user in the address requesting sequene, this user is always alloated into the spae as shown in Figure 2(b). In reality, different users are likely to require different sizes in the address spae and have different growth rates. Thus this uniform partition may not be the most effiient way to utilize the address spae and give eah user adequate amount of spae to grow, espeially when there are a few very fastgrowing users. These fast-growers are prone for ollisions. 3. GAP: GROWTH-BASED ADDRESS PAR- TITIONING To utilize the address spae more effiiently and redue ollisions, Growth-based Address Partitioning (GAP) sheme [2] was proposed to make alloations based on the growth of eah user. We will review the mehanism of the basi GAP sheme to layout the foundation for the theoretial proof in the next setion. When there are n exiting users, there are at most n possible address loation andidates for the (n+1) th user. Instead of treating eah user equally, as in the bisetion sheme, the GAP sheme evaluates all the options and hooses the lo- ation based on the existing users sizes and their growthrates, the available spae sizes, as well as the size and the growth-rate of the new user. For example, one an hoose the loation for the new user that maximizes the time before the first ollision is projeted to take plae. Beause the prefix bits are binary, the newly alloated blok has to start at the middle point of the available address spae. The growth rate information is assumed to be given in the base ase of GAP algorithm. We will further disuss growth rate information in Setion 5. For now, let us assume we know the growth rates. As shown in Figure 3, we define: n : n + 1 : A i : r i : X i : Y i : the number of existing users; the new user; i=1,...,n,n+1, the alloation for eah user; i=1,...,n,n+1, the growth rate of eah user; i=1,...,n, the empty spae available for the existing user to grow, i.e., the empty spae behind eah alloated blok to bisetion point; i=1,...,n, the empty spae available for newly alloated user to grow; The new loation is hosen to maximize the time before anybody runs out of spae to grow, i.e., the first ollision ours, using: max{min[t(x i, A i, r i), t(y i, A n+1, r n+1)], i = 1,..., n}. (1) t(x, A, r) is the time it takes for an alloation with size A and growth rate r to fill up the spae X. In other words, the new loation is hosen among all available spaes that maximizes the time it takes for either the existing or the new user to run into the boundary. Funtion t(x, A, r) an be of different forms depending on the definition of growth rate r. Through both quantitative analysis using theoretial models and simulations, studies show that GAP offers signifiant advantages over the existing alloation shemes for reduing address fragmentation [2]. 4. POINT-WISE OPTIMALITY OF GAP In this setion we will prove that, in an idealized setting, GAP performs at least as well as the bisetion sheme in terms of the time before the first ollision. We all this point-wise optimality, sine this does not make any stohasti assumptions and is true at all times. The proofs in this setion omplement the experiment results detailed later. We will onsider the ase where all requests arrive in some order at time t = 0 and the initial size s i of the i-th request is 1. Let r i denote the doubling rate of the i-th request, let

N denote the total number of requests, and let M denote the total number of bits in the address spae. We will further assume that N = 2 K ; various extensions of our proofs are possible but beyond the sope of this paper. Let t (bisetion) be the time till the first ollision for bisetion. For the GAP sheme, after j N requests have arrived, define t (GAP,j) to be the ollision time if there were no more arrivals. Lemma 4.1. t (GAP,j) t (bisetion) Proof. We will prove this lemma using indution. Base ase (j = 1): In this ase, t (GAP,1) is the ollision time using GAP with only the first request; this is learly no worse than bisetion. Indutive hypothesis: assume the following equation holds for j: t (GAP,j) t (bisetion) (2) Indutive step: onsider request j + 1 N. We an think of the M-bit address spae as a tree of depth M. We will use the term subtree to denote the set of desendants of a point (inluding itself) in this tree. Consider the 2 K subtrees of size 2 M K. Sine j < 2 K, at least one of these subtrees must be empty. Let t be the ollision time if request j + 1 is assigned to the start of this free subtree of size 2 (M K) and if there are no more requests. The proof of the indutive step follows from the following two laims: Claim 1: t (GAP,j+1) t. This laim is easily seen to be true by invoking the single step optimality of GAP. Claim 2: t t (bisetion). The proof of this laim an be divided into two ases. Case 1: if the (j + 1)-th request is involved in the first ollision for GAP, then one of the two olliding requests (we all it request i) must have grown to a size larger than 2 M K. But the bisetion sheme will alloate all requests to subtrees of size 2 M K, and hene the same request i will ause a ollision in the bisetion sheme before time t, i.e. t t (bisetion). Case 2: if request j+1 is not involved in the first ollision in GAP, then the ollision time for GAP does not hange as the result of this new request, and we have t = t (GAP,j) whih is at least as large as t (bisetion) indutive hypothesis. by the Thus, we proved that the time to ollision using GAP is always equal to or longer than that of using bisetion under our idealized onditions. 5. ONLINE GAP WITH REAL DATA 5.1 Online GAP In the base version of the GAP algorithm, the growth rate information of eah user is assumed to be provided at the initial request and remains onstant over time. What if this information is not always available? The method we develop is Online GAP: the growth rate of eah user is estimated based on the historial data of its requests. Using the urrent utilized address spaes and growth projetions of all existing users, Online GAP alloates address bloks for eah new request to prolong the time to ollision. For eah first-time user, we assume that its growth rate is minumum until the same user later sends in further requests. This firsttime user will be alloated based on the size of its request, the existing users urrent utilization and projeted growth rates. As we will see in the address requesting patterns from real data, most are returning users who ome bak for more address spae multiple times as they grow. In the following two subsetions, we will test the performane of Online GAP. The best way to test it is applying the sheme to real data. However, there are very few real IPv6 data available nowadays, while we have a long history of IPv4 alloations. We believe that a good address alloation sheme an benefit both IPv4 and IPv6. What if we had adopted this proposed alloation algorithm for IPv4 say, six months, one year, or even ten years ago? How would the results ompare with that of the existing alloation? Suh omparisons an be an objetive judgment on how good of an alloation algorithm is. Following this thought, we onduted experiments using data from existing IPv4 alloations from a regional registry and a ountry registry. These data are the historial address requesting sequenes from various users. They are fed into the Online GAP engine in the idential order as they were atually requested without any knowledge of future alloations. This makes it an apple-to-apple omparison with the existing alloations. 5.2 Results from Asia Paifi data Asia Paifi Network Information Center (APNIC) is one of the five Regional Internet Registries in the world, in harge of the address alloation and management in the Asia Paifi region. The alloation data from APNIC span from July 1, 1985 to Deember 27, 2006. The address bloks are alloated to a region or a large ISP diretly. We proessed the data based on eah ountry or region as an entity. Eah entity has a unique ID. There are 52 entities total in this set of data. Figure 4: Histogram of user requests for APNIC alloation data. To show an example, a blok of the address 122.0.0.0/7 is used in the experiment shown here. Thus, the total address spae in this blok is 2 25. There are 21 entities assigned in this blok. The assignments in this blok are very reent: from May 2006 to Deember 2006. The histogram of the

Number of /24 512 480 448 416 384 352 320 288 256 224 192 160 128 96 64 32 Figure 5: users. Address spae request from user 4 from 5/2006 to 12/2006 APNIC data, address blok 122.0.0.0/7 0 5 6 7 8 9 10 11 12 Month The request pattern of one of APNIC Number of fragmentations 140 120 100 80 60 40 20 Comparison using CNNIC alloation data Existing CNNIC alloation New algorithm (GAP) 0 6/2000 12/2000 6/2001 12/2001 6/2002 12/2002 6/2003 12/2003 6/2004 12/2004 Alloation date Figure 7: With real alloation data from CNNIC, the number of fragmentation is signifiantly redued using GAP ompared to the existing alloation. number of requests from eah entity is shown in Figure 4, sorted in desending order. The largest number of requests from a single entity during this period of time is 39. Among these 21 entities, 6 of them requested for address bloks only one. The majority of the entities (16 out of 21) requested less than 10 times. As the 80/20 rule ditates, the major part of the address spae is assigned to few entities. Figure 5 shows one of the entities request pattern as an example. This user has requested 28 times during this period of time in this blok. The minimum size of alloation is 2 11. Number of fragmentations 160 140 120 100 80 60 40 20 Comparison using APNIC alloation data Existing APNIC alloation New algorithm (GAP) 0 6/2006 7/2006 8/2006 9/2006 10/2006 11/2006 12/2006 Alloation date Figure 6: With real alloation data from APNIC, the number of fragmentation is signifiantly redued using GAP ompared to the existing alloation. The omparison results in terms of the number of fragmentation are shown in Figure 6. Using the same set of APNIC data, GAP redues the number of fragmentation from 150 to 16 ompared to the urrent alloations, a 90% redution of fragmentation. 5.3 Results from China data China Internet Network Information Center (CNNIC) is a ountry registry, in harge of IP address alloation and management in China. The same methodology is used for this set of data as for APNIC data. The omparison results in Figure 7 show the number of fragmentation is redued from 124 to 30 using GAP. In both ases, the online alloations using GAP fulfilled the same address alloation requests with a muh higher degree of aggregation. All the results we experimented onsistently demonstrate similar degree of improvement in reduing fragmentation using GAP. What is shown here is only one blok of addresses, whih has limited room to enable the full advantages of GAP. Also the time span we looked at is relatively short. If larger total address spae and longer time duration are given, the gain of using GAP an be even more substantial. As more time and spae give the algorithm more buffer to better arrange the addresses. This is why it is ritial to do the address alloation right for IPv6 from the beginning. Also, these results are ahieved without any additional information taken from users. All the growth rate information are derived empirially from the historial data. If projeted growths are provided by individual organization when it requests for addresses, even larger enhanements an be aomplished. 6. CONCLUSIONS AND FUTURE WORK We have studied the GAP algorithm for Internet address alloation using theory and real data. We have shown that GAP is point-wise optimum ompared to the existing Bisetion sheme. An online version of the GAP algorithm is developed; it estimates a user s growth rate based on its past requests. Experiments with real data show that the online versrion of GAP signifiantly redues address fragmentation relative to other shemes. As IPv6 is in the proess of deployment, entities at different levels of the hierarhy are seeking solutions for effiient address alloation. Sine its introdution, GAP has attrated the interest of regional and ountry IP registries, orporations and universities. In partiular, CNNIC is developing a software tool based on the work in this paper that will aid in understanding the goodness of address alloation poliies. Many open questions remain; the following are some of the more important ones. Sine the GAP algorithm s performane is losely related to the auray of the growth rate information provided, it is worthwhile onsidering ways in whih the growth rate

an be aurately estimated. Mining historial data (e.g., at a registry, an ISP, or a ompany) is one way of getting aurate information. A more diret way is to inent the users to provide an estimate of their growth rate along with their initial requests. Other potential researh diretions are to design and analyze ompletely different address alloation methods, suh as non-prefix based address alloation, provider independent address alloation, geographial-based address alloation, et. Suh shemes will be more robust to fragmentation and ould lead to new address lookup algorithms (i.e. other than longest prefix mathing). Another researh diretion is to study the salability of the network by ombining addressing with routing, as these are learly inter-dependent. [17] IAB, IESG. RFC 3177 IAB/IESG Reommendations on IPv6 address Alloations to Sites, September 2001. [18] P. Wilson, R. Plzak, A. Pawlik. IPv6 Address Spae Management, Otober 2002. 7. ACKNOWLEDGMENTS The authors thank Dr. Wei Mao and his team from China Internet Network Information Center (CNNIC) for providing valuable address alloation data from China. 8. REFERENCES [1] IETF Internet Arhiteture Board, Routing and Address Workshop, Otober 2006. [2] Mei Wang, A growth-based Address Alloation Sheme for IPv6, Networking, 2005. [3] R. Hinden, S. Deering. RFC2373 IP Version 6 Addressing Arhiteture. [4] T. Bu, L. Gao and D. Towsley. On Charaterizing Routing table growth. Proeedings of Global Internet 2002. [5] Z. Xu, X. Meng, C. J. Wittbrodt, S. Lu, L. Zhang. IPv4 Address Alloation and the Evolution of the BGP Routing Table. UCLA Computer Siene Department, 2003. [6] H. Narayan, R. Govindan, G. Varghese. The Impat of Address Alloation and Routing on the Struture and Implementation of Routing Tables. SIGCOMM 2003. [7] IPv4 Address Spae Report, http://bgp.potaroo.net/ipv4/ [8] M. Kuhne, P. Rendek, S. Wilmot, L. Vegoda. IPv4 Address Alloation and Assignment Poliies for the RIPE NCC Servie Region, Otober 2003. [9] ARIN. IPv4 Poliies. http://www.arin.net/poliy/ipv4.html [10] Poliies for IPv4 Address Spae Management in Asia Paifi Region, Marh 2004. [11] APNIC, RIPE, ARIN. IPv6 Address Alloation and Assignment Poliy, June 2002. [12] Andrew Dul. Proposal 2005-5: IPv6 HD Ratio, ARIN, Ot. 2005. [13] G. Huston. Just how big is IPv6? - or Where did all those addresses go? The ISP Column, July, 2005 [14] G. Huston. Consideration of the IPv6 Alloation Unit Size, De 2004. [15] G. Huston. Alloations vs. Anounements, The ISP Column, May 2004. [16] K. Hubbard, M. Kosters, D. Conrad, K. Karrenberg, J. Postel. RFC 2050 Internet Registry IP Alloation Guidelines, November 1996.