[Search] [txt|pdfized|bibtex] [Tracker] [Email] [Nits]
Versions: 00                                                            
Internet Draft                                                     M. Py
Document: draft-py-multi6-gapi-00.txt                     I. van Beijnum
Expires: April 2003                                         October 2002


         GAPI: A Geographically Aggregatable Provider Independent
               Address Space to Support Multihoming in IPv6

1 Mandatory statements

         This document is an Internet-Draft and is subject to
         all provisions of Section 10 of RFC2026.

     Internet-Drafts are working documents of the Internet Engineering
     Task Force (IETF), its areas, and its working groups.  Note that
     other groups may also distribute working documents as
     Internet-Drafts.

     Internet-Drafts are draft documents valid for a maximum of six
     months and may be updated, replaced, or obsoleted by other
     documents at any time.  It is inappropriate to use Internet-
     Drafts as reference material or to cite them other than as
     "work in progress."

     The list of current Internet-Drafts can be accessed at
     http://www.ietf.org/1id-abstracts.html

     The list of Internet-Draft Shadow Directories can be accessed at
     http://www.ietf.org/shadow.html


2 Abstract

This document establishes an address allocation framework for
Geographically Aggregatable Provider Independent (GAPI) IPv6 addresses
for the purpose of multihoming. A /16 is divided in a hierarchical
manner over geographical entities such as parts of continents,
countries, states, provinces and metropolitan areas, with each
receiving one or more /32 allocations from which end-user assignments
can be made. The number of /32 allocations for a geographical entity
depends on the current population. This address allocation framework
in itself does not present a scalable multihoming solution, it merely
provides a necessary building block for such solutions.


3 Introduction

At present, there are at least two ways to support multihoming in IPv6
under development that are based in whole or in part on geographical
address aggregation to support the necessary scalability:
provider internal aggregation and [1] and Multi Homing Aliasing
Protocol (MHAP) [2]. Since a common address allocation framework
provides for easy migration from [1] to [2], the authors thought it
prudent to cooperate in developing such a framework. The new address
allocation policies outlined in this document are intended to be used


Py & Van Beijnum                                                  Page 1
draft-py-multi6-gapi-00.txt                                 October 2002


for multihomed end-users only; regular provider aggregatable address
space should be used for internet service providers and their single
homed customers.

The basic presumption behind all kinds of geographical aggregation is
that global flat routing, where all routers have full routing
information for all possible multihomed destinations connected to the
Internet world wide, isn't feasible in the long run. The number of
multihomed networks is likely to grow faster than the memory in
routers that is available to store this information. This relationship
is linear.

However, processing updates for a larger number of routes scales
(slightly) worse than linear. To get around this lack of scalability,
a geographical aggregation scheme splits the global routing domain
into a number of smaller regional ones, where flat routing happens in
each region. Ideally, outside the region only aggregates are visible.
For simplicity and to allow efficient implementation, the framework
presented here requires "areas" where flat routing takes place to have
a fixed size: a /32 holding up to 65536 (2^16) fixed sized end-user
/48 assignments. The maximum number of these /32 areas is also 65536.
Areas are grouped in CIDR-like fashion if a geographic region has a
population that warrants allocating more than a single /32.
The highest level of aggregation is the subcontinent or "zone" level.
There are 13 entities at this level, in order of population:

1. China
2. Continental Asia
3. India
4. Northern Africa
5. Asian Islands
6. Western Europe
7. North America
8. South America
9. Eastern Europe
10. Middle East
11. Southern Africa
12. Central America
13. Oceania

The next level is the country level. Every country is assigned a range
of /32 blocks, depending on population. Countries that are
medium-sized or larger may be subdivided according to existing
administrative boundaries, such as by state or province. The
allocation size per state or province must match the population
relative to the country and other states or provinces.
The lowest level of aggregation is the metropolitan level. Cities of
sufficient size are allocated one or more "metro areas". Assignments
to end-users in, or very close to, a city are drawn from one of the
metro area /32s allocated to the city. Addresses for end-users in
small cities or rural areas are drawn from one of the /32 areas



Py & Van Beijnum                                                  Page 2
draft-py-multi6-gapi-00.txt                                 October 2002


allocated to the country (if not subdivided), state or province (a
country/state/province or "CSP" area).


4 Rationale for population base

If all geographic entities at each aggregation level were to receive
the same amount of address space, a GAPI allocation scheme would
either waste enormous amounts of address space, or it would only allow
a limited number of multihomed networks in densely populated areas.
Neither of these options ensures the necessary scalability. In theory,
it would be possible to allocate a completely new address range when
the previously allocated one depletes. This is done in current IPv4
provider-based aggregation. However, this new range wouldn't fit in
the existing hierarchy. In addition, having a limited number of
entities at each hierarchical level improves scalability and
manageability. Thus, allocating completely new GAPI address ranges
should be done as infrequently as possible.

Using current multihoming deployment as a base for GAPI address
allocation to regions would make sense for the short term, but in the
long run it seems reasonable to expect regions with little multihoming
to catch up, while in regions where multihoming deployment is
currently higher, the growth in multihoming is likely to level off at
some point. Predicting future multihoming needs is hard, especially
over a longer period of time. Also, such predictions might be very
politically charged.

This leaves two possibilities to base the initial GAPI allocation
sizes on: geography and population. Geography has the advantage it
doesn't change much over time, but the main disadvantage is that it
uses the address space very inefficiently. This makes current
population the best variable to base initial allocations on. Even
using very optimistic assumptions, there are no geographic areas of
significant size where current levels of multihoming per capita are
higher than 1:25000. The framework presented here should provide up
to 1:10 at the bottom of the aggregation hierarchy using an initial
/16 allocation, based on current population. This growth path should
provide enough time to develop new criteria to base allocation of a
subsequent /16 or larger block on.


5 Allocation policy

The goals of the allocation policy are:

1. Be completely neutral, fair and unbiased, in order to minimize the
   potential for political complications
2. Good aggregation at all levels
3. Reasonable flexibility
4. Ease of implementation



Py & Van Beijnum                                                  Page 3
draft-py-multi6-gapi-00.txt                                 October 2002


5.1 Country allocations

Each independent country is allocated at least one /32 area. The
allocation size depends on the country's population figure for the
year 2001. This is divided by the number D1, which equals 131072.
The result of the division is rounded up to the next power of two.

This is the number of /32s constituting the country's allocation.


5.2 Zone allocations

The subdivision of the globe in 13 zones is relatively arbitrary.
However, this division fits current and expected future Regional
Internet Regions well, and limits the population per zone somewhat
over a strict by-continent subdivision. Zone allocations are chosen
such that they are large enough to hold the country allocations for
all countries located within the geographic bounds of the zone. If for
any of the zones that encompass more than a single country, the number
of /32s not allocated to countries is less than 25%, the zone
allocation size is doubled.


5.3 Subdivision of large countries

When a country has an allocation of 32 or more /32s, this address
space may be distributed over the country by allocating blocks of /32s
to existing sub-entities such as provinces or states. The exact
geographic bounds of these sub-entities must be clear to the general
public and not subject to any controversy. The size of each allocation
is determined by dividing the population of the sub-entity by the
number D2, which is twice D1.

At least 40% of the country allocation must remain unallocated.
If necessary, a higher value than D2 may be used as a divisor
in this country to reach this objective. The average number of /32
areas per state or province must be at least 4.


5.4 Metro allocations

All cities with a population of at least D2 within the city limits are
allocated a block of /32s. The population for small cities or
municipalities that do not qualify for an address block of their own
is added to the closest city that qualifies, if there is one within 40
kilometers. (Distance measured center to center.) The size of the
address block for a city and its surroundings is determined by taking
the total populace, dividing it by D2 and rounding down to the next
power of two.





Py & Van Beijnum                                                  Page 4
draft-py-multi6-gapi-00.txt                                 October 2002


5.5 Reserved for future use

The first 1/64th of each allocation at the country/state/province level
is reserved for future special uses and must not be allocated to lower
aggregation levels and not be assigned to end-users.


5.6 Subsequent allocations

Whenever allocated address space gets close to running out, the IANA,
Regional Internet Registry or other organization managing (part of)
the address space should draw new allocations from the next higher
level. New blocks of address space may be allocated in a way that is
different from what is outlined here, if analysis of the coordinates
for current assignments warrants this.


6 End-user address assignments

Per country or state/province, only one /32 block is used initially. A
new block is used when the first is exhausted, and so on. The /32s
allocated to a metropolitan area may be put into use concurrently, if
there is a reason to do so.

When requesting IPv6 GAPI addresses, an organization should provide
justification for the use of GAPI space, and information that makes it
possible to assign addresses from the right geographic area, in
addition to the information required by current assignment policies.
Multihoming is justification for the use of GAPI space. Geographic
information should consist of the longitude and latitude of the
primary location where the addresses will be used. This information
should be accurate within 2 kilometers, as long as any inaccuracies
don't make the organization appear to be at the other side of an
administrative border or natural barrier (such as a river).
Preferably, the requesting organization should also include the
longitude and latitude of the ISP locations they connect to. However,
this information may be omitted.

The minimum assignment size is always /48. Future multihoming
solutions may not support the longest match first rule.


7 IANA considerations

IANA considerations are discussed throughout this memo. More
specifically, the IANA/ICANN is requested to allocate /16 worth of
IPv6 address space for GAPI, and the Regional Internet Registries are
asked to further assign this address space to end-user organizations.






Py & Van Beijnum                                                  Page 5
draft-py-multi6-gapi-00.txt                                 October 2002


8 Security considerations

Having addresses that are closely tied to an organization's location
may be undesirable in certain situations. Organizations requesting
address space should consider the consequences of using GAPI address
space, and are encouraged to use provider aggregatable address space
if and when they want to avoid disclosing their location.

Some organizations may be uncomfortable with providing very accurate
longitude and latitude information when requesting address space. They
may introduce a 2 kilometer inaccuracy to avoid exact pinpointing,
as described in section 6. In addition, the Regional Internet Registry
or other organization responsible for assigning address space must not
make location information public. Specifically, this information should
not appear as a result of whois queries. Registries are encouraged to
provide aggregated location information for policy development
purposes, but only as long as this information is anonymized and can't
be tied to a single organization or small group of organizations.


9 Document and author information

The latest version of this document is always available at:
http://arneill-py.sacramento.ca.us/ipv6mh/
http://www.muada.com/drafts/

The authors can be reached at:

Michel Py
2825 Marshall Way
Sacramento, CA 95818-3525
USA

Email: michel@arneill-py.sacramento.ca.us

Iljitsch van Beijnum
Karel Roosstraat 95
2571 BG  Den Haag
Netherlands

Email: iljitsch@muada.com

References
[1] "Provider-Internal Aggregation based on Geography to Support
    Multihoming in IPv6", work in progress
[2] "Multi Homing Aliasing Protocol (MHAP)", work in progress








Py & Van Beijnum                                                  Page 6