IPv6

From The Incoherency.Net Wiki
Jump to: navigation, search

Address Space

ipv6-address-space.png

Allocation and Assignments

Minimum direct allocation is currently /32.

ISP assignments are as follows:

  • /64 when it is known that one and only one subnet is needed.
  • /56 for small sites, those expected to need only a few subnets over the next 5 years.
  • /48 for larger sites


Addresses Space Size

  • 340,282,366,920,938,463,463,374,607,431,768,211,456 unique IPs
  • 42,535,295,865,117,307,932,921,825,928,971,026,432 IPs in 2000::/3 (1/8th of total address space)
  • 1,208,925,819,614,629,174,706,176 IPs in a /48
  • 536,870,912 /32 prefixes within 2000::/3
  • 65,536 /48 prefixes with a /32
  • 65,536 /64 subnets within a /48
  • 35,184,372,088,832 /48 prefixes within 2000::/3
  • 8,192 IPv6 /48 prefixes for every IPv4 address in 2000::/3 alone.
  • 18,446,744,073,709,551,616 IPs within a /64 subnet

Special Prefixes

  •  ::/8
    •  ::/128 - Unspecified
    •  ::1/128 - loopback (IPv4 127/8 equivalent)
    •  ::ffff:0:0/96 - IPv4 mapped addresses
  • 2000::/3 - IANA Global Unicast
    • 2001::/32 - Teredo (RFC-4380)
    • 2001:10::/28 - Orchid (RFC-4843)
    • 2002::/16 - 6to4
  • FC00::/7 - unique local addresses
    • FC00::/8 is to be managed by a so-called "ULA-Central" for assigned /48s. As of 9-2007, this body has yet to be formed.
    • FD00::/8 is allocated by appending a randomly-generated 40-bit string, to derive a valid /48. RFC4193 offers a suggestion on how to do the random generation, to try to guarantee a minimum-quality result if the user does not have access to a good source of random numbers.
  • FE80::/10 - link-local addresses (169.254/16 equivalent)
  • FECO::/10 - site-local (deprecated)
  • FF00::/8 - multicast

The remaining prefixes are all reserved for future Unicast allocations.

Multicast Addresses

Multicast addresses exist within the 'FF00::/8 prefix.

  • FF02::1 - all v6 hosts on local subnet (IPv4 equivalent 224.0.0.1)
  • FF02::2 - all v6 routers on local subnet (IPv4 equivalent 224.0.0.2)

Protocol Translation Mechanisms

  • faithd can be used to translate on a per service basis.
  • ptrtd is a similar and better solution, but only appears to run on Linux at this time.
  • NAT-PT is also an option but it has been deprecated.
  • Using one of the above, totd is still required to translate DNS.

MAC to EUI64

A MAC address is 48 bit wide, but we need a 64bit host ID in EUI64 format. The transformation is actually quite easy:

  1. take the MAC of the network device (eg. 00:e0:81:2e:b6:d1)
  2. flip bit 2 of the first byte (02:e0:81:2e:b6:d1)
  3. insert FFFE in the middle (02:e0:81:FF:FE:2e:b6:d1)
  4. combine with the network prefix into an IPv6 address (fe80::2e0:81FF:FE2e:b6d1)

Useful or Interesting Links

History

Date Relevance
Mar 1996 6bone started
Jan 1, 2004 6bone prefix allocations halted.
Jul 20, 2004 Experimented with Freenet6 and Hurricane Electric tunnels
Jun 6, 2006 6bone prefix phased out (3FFE::/16)
Oct 15, 2007 IPv6 6to4 setup
Dec 17, 2007 Tera-Byte prefix (2610:78:ad::/48)
Feb 4, 2008 IPv6 records added to DNS root
July 9, 2008 GoDaddy adds support for IPv6 glue for .com/.net TLDs
Mar 12, 2008 Google Accessible via IPv6!
Jan 19, 2009 Added IPv6 glue for my name servers (inferno,frosty)
Feb 3, 2011 Final five IANA /8 blocks distributed to regional registries.
Feb 7, 2011 ThinkTel prefix (2610:1e8:800:100::/56)
June 2, 2011 New cable modem is DOCSIS 3, theoretically IPv6 ready.
June 8, 2011 World IPv6 day
June 6, 2012 World IPv6 Launch
April 23, 2014 ARIN Enters Phase Four of the IPv4 Countdown Plan - Final /8
Sep 24, 2015 ARIN IPv4 space is exhausted. Rejoice!
Feb 8, 2016 The long, long wait is over. My home has native IPv6 via Telus!
Jan 31, 2017 I'll get my own damn prefix (2602:ff0d::/36), with blackjack and hookers!