<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc='yes'?>
<?rfc tocompact='yes'?>
<?rfc compact='yes'?>
<?rfc subcompact='no'?>
<?rfc sortrefs='yes'?>
<?rfc symrefs='yes'?>
<?rfc strict='no'?>
<?rfc iprnotified="no" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2460 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2460.xml">
<!ENTITY RFC3056 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3056.xml">
<!ENTITY RFC3068 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3068.xml">
<!ENTITY RFC4271 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4271.xml">
<!ENTITY RFC4893 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4893.xml">
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
]>
<rfc category="info" ipr="trust200902" docName="draft-mlevy-v6ops-auto-v6-allocation-per-asn-00.txt">

<front>
 <title abbrev="Auto allocation mechanism for IPv6 blocks">A mechanism to allocate IPv6 blocks for BGP networks based on the networks AS Number</title>

 <author initials="M." surname="Levy" fullname="Martin J. Levy">
  <organization abbrev="Hurricane Electric">Hurricane Electric</organization>
  <address>
   <postal>
    <street>760 Mission Court</street>
    <city>Fremont</city>
    <region>CA</region>
    <code>94359</code>
    <country>US</country>
   </postal>
   <phone>+1 510 580-4100</phone>
   <email>martin@he.net</email>
   <uri>http://he.net/</uri>
  </address>
 </author>

 <author initials="M." surname="Pounsett" fullname="Matthew Pounsett">
  <organization abbrev="Afilias">Afilias</organization>
  <address>
   <postal>
    <street>4141 Yonge St., Suite 204</street>
    <city>Toronto</city>
    <region>Ontario</region>
    <code>M2P 2A8</code>
    <country>CA</country>
   </postal>
   <phone>+1 416 646-3304</phone>
   <email>mpounsett@afilias.info</email>
   <uri>http://www.afilias.info/</uri>
  </address>
 </author>

 <date day="24" month="January" year="2013" />

 <abstract>

  <t>
This document provides a methodology for automatically allocating IPv6 <xref target="RFC2460" />
address blocks for networks that run BGP <xref target="RFC4271" /> and are either single-homed or
multi-homed <xref target="BARBER2011" />.

The automatic allocation is taken from a specific /16 block assigned by IANA for this purpose.
  </t>

  <t>
Networks that require more than this single /48 can still request additional allocations via
the existing RIR process. Networks are not forced to use this allocation and can ignore this completely.

Availability of the /48 assignment via this mechanism does not change existing mechanisms for obtaining
IPv6 assignments through the existing RIR (Regional Internet Registry) or LIR (Local Internet Registry) mechanisms.
  </t>

  <t>
There is an implicit assumption that it's a good thing to promote networks to enable IPv6 with
a near-zero effort.
  </t>

 </abstract>

</front>

<middle>

<section title="Introduction" anchor="intro">

  <t>
IPv6's massive address space provides a wonderful opportunity to radically change the
process of IP address allocation.
Presently IPv6 allocation is the same process as used by the IPv4 world. The RIRs allocate
IPv6 address blocks based on member requests and their space requirements.
A minimum allocation of a /48 is believed to be sufficient to start any enterprise in the
world of IPv6.
  </t>

  <t>
Described below is a method to automatically define an IPv6 /48 block that can be used in the global routing tables for any ASN.
  </t>

</section>

<section title="Defining the /48 address" anchor="define">

  <t>
The /48 address is allocated using a fixed pattern.
  </t>

  <t>
  <figure><artwork align="left"><![CDATA[
ASN-based address assignment
+----------+--------------------+-----------------/ /------------+
| IANA /16 |     32 bit ASN     |   80 bits for IPv6 /48 space   |
+----------+--------------------+-----------------/ /------------+
  ]]></artwork></figure>
  </t>

  <t>
The sum of the bits in the IANA allocated /16 prefix plus the 32 bits of the ASN plus the /48 of user defined usage adds up to 128 bits.
  </t>

  <t>
  <texttable anchor="Address space math" title="Address space math">
    <ttcol align="right">Bits</ttcol>
    <ttcol align="right">Usage</ttcol>
    <c>16</c>  <c>IANA provided prefix</c>
    <c>32</c>  <c>ASN</c>
    <c>80</c>  <c>User defined</c>
    <c>128</c> <c>TOTAL</c>
  </texttable>
  </t>

  <t>
The end network can allocate out of the assigned /48 as needed.

It is assumed that the end network will use this allocation for global routing; however the network may choose to not announce this allocation.
  </t>

  <t>
If any route is announced from this allocation, any prefixes more specific than the allocated /48 must not be propagated in to the global IPv6 routing table.

This is to prevent the IPv6 routing table from becoming too large.

Therefore, a site which uses this allocation MUST NOT advertise a more specific than the allocated /48 routing prefix.

All native IPv6 network operators MUST filter out and discard any routing prefix advertisements longer than /48 from within this /16 allocation.
  </t>

</section>

<section title="IANA allocated /16" anchor="iana_allocation">

  <t>
IANA is to allocate a /16 in a similar manner to the 2002::/16 allocation for 6to4 <xref target="RFC3068" /> which is used by the 6to4 protocol<xref target="RFC3056" />..

No IPv4 allocation by IANA is required.
  </t>

</section>

<section title="ASN bit length" anchor="asn">

  <t>
ASNs are now defined as 32 bits<xref target="RFC4893" /> long.
If a network operates a smaller 16 bit ASN (for example an earlier allocation) then there are 16 bits of zeros prepending the ASN number.
No provision is provided within this allocation methodology to provide 16 bit ASNs with an advantage as this could cause an overlapping allocation.
  </t>

  <t>
No special treatment is provided an operator of a 16 bit ASN; All ASNs are considered to use 32 bits.
  </t>

  <t>
  <figure><artwork align="left"><![CDATA[
16 bit ASNs (shown at binary)
+------+------+------+------+------+------+------+------+
| 0000 | 0000 | 0000 | 0000 | #### | #### | #### | #### |
+------+------+------+------+------+------+------+------+

32 bit ASNs (shown at binary)
+------+------+------+------+------+------+------+------+
| #### | #### | #### | #### | #### | #### | #### | #### |
+------+------+------+------+------+------+------+------+
  ]]></artwork></figure>
  </t>

  <t>
ASNs are normally expressed as human-readable decimal numbers; yet for this allocation the number should be converted into a hexadecimal notation.
All IPv6 addresses are written in hexadecimal.
(NNNN represents the /16 allocation by IANA)
  </t>

  <t>
  <texttable anchor="ASN examples" title="ASN examples">
    <ttcol align="right">ASN in decemal</ttcol>.
    <ttcol align="right">ASN in hexadecimal</ttcol>
    <ttcol align="right">Sample IP block</ttcol>
    <c>AS1</c>        <c>       1</c>   <c>NNNN:0000:0001::/48</c>
    <c>AS6939</c>     <c>    1B1B</c>   <c>NNNN:0000:1B1B::/48</c>
    <c>AS29001</c>    <c>    7149</c>   <c>NNNN:0000:0001::/48</c>
    <c>AS393220</c>   <c>   60004</c>   <c>NNNN:0006:0004::/48</c>
  </texttable>
  </t>

  <t>
A network is assigned an ASN via the existing RIR process.
Only valid ASN holders can use this ASN-based prefix.
  </t>

</section>

<section title="ASN allocation" anchor="allocation">

  <t>
ASNs are allocated by RIRs and this RFC does not handle that arena.
  </t>

  <t>
ASNs defined as private ASNs MUST NOT use this scheme. The special 16-bit ASN 23456 MUST NOT use this scheme.
  </t>

</section>

<section title="BGP Filtering and Validation" anchor="validation">

  <t>
Filtering would be a simple case of mapping the final ASN in a path to the prefix in an exact bit-order match.
  </t>

  <t>
For example; the prefix NNNN:0000:1B1B::/48 should only be seen as announced from AS6939 (6939 equals 0x1B1B in hex).
Networks would have their upstream transit providers add this /48 prefix to their existing inbound BGP route filters.
  </t>

</section>

<section title="Whois" anchor="whois">

  <t>
In order for the IPv6 /48 to have valid whois information RIRs will have to map it from their existing ASN whois data.
The whois data for the /48 should be the same as the ASN whois data.
  </t>

</section>

<section title="RIR support" anchor="RIR">

  <t>
It is suggested that RIRs, via their Internet Registry services, support these automatic assignments
(including but not limited to whois and reverse DNS).
The RIRs should provide these services in addition to the services already provided for the associated AS number.
  </t>

</section>

<section title="Reverse DNS" anchor="rDNS">

  <t>
Reverse DNS is vital to the operation of the global Internet.
Any block allocated via this mechanism should include the ability to have the network operator provide reverse DNS entries.
  </t>

  <t>
It is proposed that the first /64 from the allocated /48 have the rDNS services hard coded into the ::1 and ::2 addresses.
This allows reverse DNS to operate without intervention or RIR involvement.
  </t>

  <t>
  <figure><artwork align="left"><![CDATA[
    Nameserver 1:    NNNN:####:####:0000::1
    Naneserver 2:    NNNN:####:####:0000::2
  ]]></artwork></figure>
  </t>

</section>

<section title="Routing Table Impact" anchor="routing">

  <t>
This mechanism is not expected to have any impact to the global Internet
routing table since existing policies in the RIR system already readily
provide for the allocation of provider-independent IPv6 prefixes.

Additionally, AS number holders are likely to be multihomed entities which
were going to be independently routed in any case.

Service Providers are, as always, not obligated to route these IPv6 assignments
and/or may establish conditions of service which offset any additional routing cost.
  </t>

</section>

<section title="IANA Considerations" anchor="iana_considerations">

  <t>
This memo includes a request to IANA to allocate a /16 from the available IPv6 address space.
  </t>

<!--
  <t>
      All drafts are required to have an IANA considerations section (see
      <xref target="RFC5226" />Guidelines for Writing an IANA Considerations
      Section in RFCs</xref> for a guide). If the draft does not require IANA to do
      anything, the section contains an explicit statement that this is the
      case (as above). If there are no requirements for IANA, the section will
      be removed during conversion into an RFC by the RFC Editor.
  </t>
-->

</section>

<section title="Security Considerations" anchor="security">

  <t>
There is clearly a need for RPKI ROAs for all allocated ASNs within an RIR.
The mapping would be 1:1 from ASN to /48 prefix.
Hence an RIR allocating an ASN should also allow the holder of that ASN to manage this IPv6 prefix via their RIR portal.
  </t>

  <t>
There is nothing different in with a prefix from this space than from a prefix allocated by an RIR.
  </t>

  <!--
  <t>
	All drafts are required to have a security considerations section.
	See RFC 3552 <xref target="RFC3552" /> for a guide.
  </t>
  -->

</section>

<section title="Acknowledgements" anchor="acknowledgements" toc="default">

  <t>
We would like to thank the following people.

????
  </t>

  <t>
We would also like to also thank the contributions from people in the industry that have promoted IPv6 and multihoming:

Bill Manning (as himself) and
Randy Bush (IIJ).
  </t>

</section>

</middle>

<back>

<references title="Normative References">

      &RFC2460;
      &RFC3056;
      &RFC3068;
      &RFC4271;
      &RFC4893;
      <!-- &RFC5226; -->

</references>

<references title="Informative References"> 
  
<!--
  <reference>
	<seriesInfo name="Internet-Draft" value="draft-mlevy-v6ops-auto-v6-allocation-per-asn" />
	<format type="TXT" target="http://www.ietf.org/internet-drafts/draft-mlevy-v6ops-auto-v6-allocation-per-asn-00.txt" />
  </reference>
-->

      <reference anchor="BARBER2011" target="http://www.stanbarber.com/rpsl/ipv6-in-the-real-world-practical-multihoming">
        <front>
          <title>IPv6 in the Real World: Practical Multihoming</title>
	  <author initials="S." surname="Barber" fullname="Stan Barber">
	    <organization>Self</organization>
	  </author>
          <date month="February" year="2011" />
        </front>
      </reference>

</references>

</back>

</rfc>
