IPv6 Address
IPv6 Address
IPv6 address
An Internet Protocol Version 6 address (IPv6 address) is a numerical label that is used to identify a network
interface of a computer or other network node participating in an IPv6 computer network.
An IP address serves the purpose of uniquely identifying an individual network interface of a host, locating it on the
network, and thus permitting the routing of IP packets between hosts. For routing, IP addresses are present in fields
of the packet header where they indicate source and destination of the packet.
IPv6 is the successor to the first addressing infrastructure of the Internet, Internet Protocol version 4 (IPv4). In
contrast to IPv4, which defined an IP address as a 32-bit value, IPv6 addresses have a size of 128 bits. Therefore,
IPv6 has a vastly enlarged address space compared to IPv4.
Address formats
An IPv6 address consists of 128 bits. Addresses are classified into various types for applications in the major
addressing and routing methodologies: unicast, multicast, and anycast networking. In each of these, various address
formats are recognized by logically dividing the 128 address bits into bit groups and establishing rules for
associating the values of these bit groups with special addressing features.
The network prefix (the routing prefix combined with the subnet id) is contained in the most significant 64 bits of the
address. The size of the routing prefix may vary; a larger prefix size means a smaller subnet id size. The bits of the
subnet id(entifier) field are available to the network administrator to define subnets within the given network. The
64-bit interface identifier is either automatically generated from the interface's MAC address using the modified
EUI-64 format, obtained from a DHCPv6 server, automatically established randomly, or assigned manually.
A link-local address is also based on the interface identifier, but uses a different format for the network prefix.
The prefix field contains the binary value 1111111010. The 54 zeroes that follow make the total network prefix the
same for all link-local addresses (fe80::/64 link-local address prefix), rendering them non-routable.
The prefix holds the binary value 11111111 for any multicast address.
Currently, 3 of the 4 flag bits in the flg field are defined; the most-significant flag bit is reserved for future use.
IPv6 address 3
The 4-bit scope field (sc) is used to indicate where the address is valid and unique.
There are special multicast addresses, like Solicited Node.
The sc(ope) field holds the binary value 0010 (link-local). Solicited-node multicast addresses are computed as a
function of a node's unicast or anycast addresses. A solicited-node multicast address is created by copying the last 24
bits of a unicast or anycast address to the last 24 bits of the multicast address.
Presentation
An IPv6 address is represented as eight groups of four hexadecimal digits, each group representing 16 bits (two
octets). The groups are separated by colons (:). An example of an IPv6 address is:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
The hexadecimal digits are case-insensitive, but IETF recommendations suggest the use of lower case letters. The
full representation of eight 4-digit groups may be simplified by several techniques, eliminating parts of the
representation.
Leading zeroes
Leading zeroes in a group may be omitted. Thus, the example address may be written as:
2001:db8:85a3:0:0:8a2e:370:7334
Groups of zeroes
One or more consecutive groups of zero value may be replaced with a single empty group using two consecutive
colons (::).[1] Thus, the example address can be further simplified:
2001:db8:85a3::8a2e:370:7334
The localhost (loopback) address, 0:0:0:0:0:0:0:1, and the IPv6 unspecified address, 0:0:0:0:0:0:0:0, are reduced to
::1 and ::, respectively. This two-colon replacement may only be applied once in an address, because multiple
occurrences would create an ambiguous representation.
Dotted-quad notation
IPv6 address 4
During the transition of the Internet from IPv4 to IPv6 it is typical to operate in a mixed addressing environment, and
for this purpose a special notation has been introduced to express IPv4-mapped and IPv4-compatible IPv6 addresses
by writing the final 32 bits of an address in the familiar IPv4 dotted-quad notation. For example, the IPv4-mapped
IPv6 address ::ffff:c000:0280 is usually written as ::ffff:192.0.2.128, thus expressing clearly the original IPv4
address that was mapped to IPv6.
Networks
An IPv6 network uses an address block that is a contiguous group of IPv6 addresses of a size that is a power of two.
The leading set of bits of the addresses are identical for all hosts in a given network, and are called the network's
address or routing prefix.
Network address ranges are written in CIDR notation. A network is denoted by the first address in the block (ending
in all zeroes), a slash (/), and a decimal value equal to the size in bits of the prefix. For example, the network written
as 2001:db8:1234::/48 starts at address 2001:db8:1234:0000:0000:0000:0000:0000 and ends at
2001:db8:1234:ffff:ffff:ffff:ffff:ffff.
The routing prefix of an interface address may be directly indicated with the address by CIDR notation. For example,
the configuration of an interface with address 2001:db8:a::123 connected to subnet 2001:db8:a::/64 is written as
2001:db8:a::123/64.
Scope values
Value Scope name Notes
0x0 reserved
0x1 interface-local Interface-local scope spans only a single interface on a node, and is useful only for loopback transmission of multicast.
0x2 link-local Link-local and site-local multicast scopes span the same topological regions as the corresponding unicast scopes.
0x4 admin-local Admin-local scope is the smallest scope that must be administratively configured, i.e., not automatically derived from
physical connectivity or other, non- multicast-related configuration.
0x5 site-local Link-local and site-local multicast scopes span the same topological regions as the corresponding unicast scopes.
0x8 organization-local Organization-local scope is intended to span multiple sites belonging to a single organization.
0xe global
0xf reserved
General allocation
The management of IPv6 address allocation process is delegated to the Internet Assigned Numbers Authority
(IANA)[7] by the Internet Architecture Board and the Internet Engineering Steering Group. Its main function is the
assignment of large address blocks to the regional Internet registries (RIRs), which have the delegated task of
allocation to network service providers and other local registries. The IANA has maintained the official list of
allocations of the IPv6 address space since December 1995.[8]
Only one eighth of the total address space is currently allocated for use on the Internet, 2000::/3, in order to provide
efficient route aggregation, thereby reducing the size of the Internet routing tables; the rest of the IPv6 address space
is reserved for future use or for special purposes. The address space is assigned to the RIRs in large blocks of /23 up
to /12.[9]
The RIRs assign smaller blocks to local Internet registries that distributes them to users. These are typically in sizes
from /19 to /32.[10] The addresses are typically distributed in /48 to /56 sized blocks to the end users.[11]
Global unicast assignment records can be found at the various RIRs or other websites.[12]
IPv6 addresses are assigned to organizations in much larger blocks as compared to IPv4 address assignmentsthe
recommended allocation is a /48 block which contains 280 addresses, being 248 or about 2.81014 times larger than
the entire IPv4 address space of 232 addresses and about 7.21016 times larger than the /8 blocks of IPv4 addresses,
which are the largest allocations of IPv4 addresses. The total pool, however, is sufficient for the foreseeable future,
because there are 2128 or about 3.41038 (340 trillion trillion trillion) unique IPv6 addresses.
Each RIR can divide each of its multiple /23 blocks into 512 /32 blocks, typically one for each ISP; an ISP can
divide its /32 block into 65536 /48 blocks, typically one for each customer; customers can create 65536 /64 networks
from their assigned /48 block, each having 264 addresses. In contrast, the entire IPv4 address space has only 232
(about 4.3109) addresses.
By design, only a very small fraction of the address space will actually be used. The large address space ensures that
addresses are almost always available, which makes the use of network address translation (NAT) for the purposes
of address conservation completely unnecessary. NAT has been increasingly used for IPv4 networks to help alleviate
IPv4 address exhaustion.
IPv6 address 7
Special allocation
To allow for provider changes without renumbering, provider-independent address space assigned directly to the
end user by the RIRs is taken from the special range 2001:678::/29.
Internet Exchange Points (IXPs) are assigned special addresses from the range 2001:7f8::/29 for communication
with their connected ISPs. Root name servers have been assigned addresses from the same range.
Special addresses
There are a number of addresses with special meaning in IPv6:[14]
Unicast Addresses
Unspecified address
::/128 The address with all zero bits is called the unspecified address (corresponding to 0.0.0.0/32 in IPv4).
This address must never be assigned to an interface and is to be used only in software before the application has
learned its host's source address appropriate for a pending connection. Routers must not forward packets with the
unspecified address.
Applications may be listening on one or more specific interfaces for incoming connections, which are shown in
listings of active internet connections by a specific IP address (and a port number, separated by a colon). When
the unspecified address is shown it means that an application is listening for incoming connections on all
available interfaces.
Default route
::/0 The default unicast route address (corresponding to 0.0.0.0/0 in IPv4).
Local addresses
::1/128 The loopback address is a unicast localhost address. If an application in a host sends packets to this
address, the IPv6 stack will loop these packets back on the same virtual interface (corresponding to 127.0.0.1/8 in
IPv4).
fe80::/10 Addresses in the link-local prefix are only valid and unique on a single link. Within this prefix only
one subnet is allocated (54 zero bits), yielding an effective format of fe80::/64. The least significant 64 bits are
usually chosen as the interface hardware address constructed in modified EUI-64 format. A link-local address is
required on every IPv6-enabled interfacein other words, applications may rely on the existence of a link-local
address even when there is no IPv6 routing. These addresses are comparable to the auto-configuration addresses
169.254.0.0/16 of IPv4.
IPv6 address 8
Special-purpose addresses
Main article: Teredo tunneling
IANA has reserved a so-called 'Sub-TLA ID' address block for special assignments[17][18] which consists of 64
network prefixes in the range 2001:0000::/29 through 2001:01f8::/29. Three assignments from this block have
been made:
2001::/32 Used for Teredo tunneling (which also falls into the category of IPv6 transition mechanisms).
2001:2::/48 Assigned to the Benchmarking Methodology Working Group (BMWG)[19] for benchmarking IPv6
(corresponding to 198.18.0.0/15 for benchmarking IPv4). Note: RFC 5180 specified the prefix 2001:0200::/48,
which is not part of the RFC 4773 pool.[19]
2001:10::/28 ORCHID (Overlay Routable Cryptographic Hash Identifiers).[20] These are non-routed IPv6
addresses used for Cryptographic Hash Identifiers.
IPv6 address 9
Documentation
2001:db8::/32 This prefix is used in documentation.[21] The addresses should be used anywhere an example
IPv6 address is given or model networking scenarios are described (corresponding to 192.0.2.0/24,
198.51.100.0/24, and 203.0.113.0/24 in IPv4.)[22]
Discard
0100::/64 This prefix is used for discarding traffic,[23] for the purpose of implementing Remotely Triggered
Black Hole (RTBH) Filtering [24]
Multicast addresses
The multicast addresses ff00::0/8 are reserved and should not be assigned to any multicast group. The Internet
Assigned Numbers Authority (IANA) manages address reservations.[25]
Some common IPv6 multicast addresses are the following:
ff0X::1 All nodes address, identify the group of all IPv6 Available in scope 1 (interface-local) and 2 (link-local):
nodes ff01::1 All nodes in the interface-local
ff02::1 All nodes in the link-local
ff0X::101 All Network Time Protocol (NTP) servers Available in all scopes
Modified EUI-64
A 64-bit interface identifier is most commonly derived from its 48-bit MAC address. A MAC address
00:0C:29:0C:47:D5 is turned into a 64-bit EUI-64 by inserting FF:FE in the middle: 00:0C:29:FF:FE:0C:47:D5.
When this EUI-64 is used to form an IPv6 address it is modified: the meaning of the Universal/Local bit (the 7th
most significant bit of the EUI-64, starting from 1) is inverted, so that a 1 now means Universal. To create an IPv6
address with the network prefix 2001:db8:1:2::/64 it yields the address 2001:db8:1:2:020c:29ff:fe0c:47d5 (with the
underlined U/L (=Universal/Local) bit inverted to a 1, because the MAC address is universally unique).
Address lifetime
Each IPv6 address that is bound to an interface has a fixed lifetime. Lifetimes are infinite, unless configured to a
shorter period. There are two lifetimes that govern the state of an address: the preferred lifetime and the valid
lifetime. Lifetimes can be configured in routers that provide the values used for autoconfiguration, or specified when
manually configuring addresses on interfaces.
When an address is assigned to an interface it gets the status "preferred", which it holds during its preferred-lifetime.
After that lifetime expires the status becomes "deprecated" and no new connections should be made using this
address. The address becomes "invalid" after its valid-lifetime also expires; the address is removed from the interface
and may be assigned somewhere else on the Internet.
Note: In most cases, the lifetime does not expire because new RAs refresh the timers. But if there are no more RAs,
eventually the preferred lifetime elapses and the address becomes deprecated.
Temporary addresses
The globally unique and static MAC addresses, used by stateless address autoconfiguration to create interface
identifiers, offer an opportunity to track user equipmentacross time and IPv6 network prefix changesand so
users.[28] To reduce the prospect of a user identity being permanently tied to an IPv6 address portion, a node may
create temporary addresses with interface identifiers based on time-varying random bit strings[29] and relatively short
lifetimes (hours to days), after which they are replaced with new addresses.
Temporary addresses may be used as source address for originating connections, while external hosts use a public
address by querying the Domain Name System.
Network interfaces configured for IPv6 use temporary addresses by default in OS X Lion or later Apple systems, and
in Windows Vista, Windows 2008 Server or later Microsoft systems.
::1/128 50 0 Localhost
2002::/16 30 2 6to4
The default configuration places preference on IPv6, rather than IPv4, and on destination addresses within the
smallest possible scope, so that link-local communication is preferred over globally routed paths when otherwise
equally suitable. The prefix policy table is similar to a routing table, with the precedence value serving as the role of
a link cost, where higher preference is expressed as a larger value. Source addresses are preferred to have the same
label value as the destination address. Addresses are matched to prefixes based on the longest matching
most-significant bit-sequence. Candidate source addresses are obtained from the operating system and candidate
destination addresses may be queried via the Domain Name System (DNS).
This pointer record may be defined in a number of zones, depending on the chain of delegation of authority in the
zone d.f.ip6.arpa.
The DNS protocol is independent of its Transport Layer protocol. Queries and replies may be transmitted over IPv6
or IPv4 transports regardless of the address family of the data requested.
IPv6 address 13
Transition challenges
As of 2009, many DNS resolvers in home-networking NAT devices and routers still handle AAAA records
improperly.[32] Some of these simply drop DNS requests for such records, instead of properly returning the
appropriate negative DNS response. Because the request is dropped, the host sending the request has to wait for a
timeout to trigger. This often causes a slow-down when connecting to dual-stack IPv6/IPv4 hosts, as the client
software will wait for the IPv6 connection to fail before trying IPv4. Use of the Happy Eyeballs algorithm by client
software can mitigate this problem, by trying both IPv6 and IPv4 connections simultaneously, then using whichever
connects first.
Historical notes
Miscellany
IPv6 addresses were originally registered in the Domain Name System (DNS) in the ip6 zone under the int
top-level domain for reverse lookups. In 2000, the Internet Architecture Board (IAB) reverted their intentions to
retire arpa, and decided in 2001 that the arpa top-level domain should retain its original function. Domains in
ip6.int should be moved to ip6.arpa.[40] The ip6.int zone was officially removed on 6 June 2006.
In March 2011, the IETF refined their recommendations for allocation of address blocks to end sites. Instead of
assigning either a /48, /64, or /128 (according to IAB's and IESG's views of 2001),[41] Internet service providers
should consider assigning smaller blocks (for example a /56) to end users. The ARIN, RIPE & APNIC regional
registries' policies encourage /56 assignments where appropriate.
References
[1] RFC 4291, IP Version 6 Addressing Architecture, R. Hinden, S. Deering (February 2006)
[2] RFC 3956, Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address P. Savola, B. Haberman (November 2004)
[3] RFC 3306, Unicast-Prefix-based IPv6 Multicast Addresses, B. Haberman, D. Thaler (August 2002)
[4] RFC 4489, A Method for Generating Link-Scoped IPv6 Multicast Addresses, J-S. Park, M-K. Shin; H-J. Kim (April 2006)
[5] RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L. Masinter (January 2005)
[6] RFC 4007, IPv6 Scoped Address Architecture, S.Deering, B. Haberman, T. Jinmei, E. Nordmark, B. Zill (March 2005)
[7] RFC 1881, IPv6 Address Allocation Management, Internet Architecture Board (December 1995)
[8] IPv6 address space at IANA (http:/ / www. iana. org/ assignments/ ipv6-address-space). Iana.org (2010-10-29). Retrieved on 2011-09-28.
[9] IPv6 unicast address assignments (http:/ / www. iana. org/ assignments/ ipv6-unicast-address-assignments/ ipv6-unicast-address-assignments.
xhtml), IANA
[10] DE-TELEKOM-20050113 (http:/ / www. db. ripe. net/ whois?form_type=simple& full_query_string=&
searchtext=DE-TELEKOM-20050113& do_search=Search). Db.ripe.net. Retrieved on 2011-09-28.
[11] RFC 6177, IPv6 Address Assignment to End Sites, T. Narten, G. Houston, L. Roberts, IETF Trust,(March 2011).
[12] for example (http:/ / www. iana. org/ assignments/ ipv6-unicast-address-assignments/ ipv6-unicast-address-assignments. xml). Iana.org.
Retrieved on 2011-09-28.
[13] RFC 2526,Reserved IPv6 Subnet Anycast Addresses, D. Johnson, S. Deering (March 1999)
[14] RFC 5156, Special-Use IPv6 Addresses, M. Blanchett (April 2008)
[15] RFC 1918, Address Allocation for Private Internets, Y. Rekhter, B. Moskowitz, D. Karrenberg, G.J. De Groot, E. Lear (February 1996)
[16] RFC 6052, "IPv6 Addressing of IPv4/IPv6 Translators", C. Bao, C. Huitema, M. Bagnulo, M. Boucadair, X. Li, (October 2010)
[17] RFC 4773, Administration of the IANA Special Purpose IPv6 Address Block, G. Huston (December 2006)
[18] RFC 2928, Initial IPv6 Sub-TLA ID Assignments, R. Hinden, S. Deering, R. Fink, T. Hain (September 2000) The Internet Society
[19] RFC 5180, IPv6 Benchmarking Methodology for Network Interconnect Devices, C. Popoviciu, A. Hamza, G. Van de Velde, D. Dugatkin
(May 2008)
[20] RFC 4843 (experimental), An IPv6 Prefix for Overlay Routable Cryptographic Hash Identifiers (ORCHID), P. Nikander, J. Laganier, F.
Dupont (April 2007)
[21] RFC 3849, IPv6 Address Prefix Reserved for Documentation, G. Huston, A. Lord, P. Smith (July 2004)
[22] RFC 5737, IPv4 Address Blocks Reserved for Documentation, J. Arkko, M. Cotton, L. Vegoda (January 2010), ISSN: 2070-1721
[23] RFC 6666, A Discard Prefix for IPv6, N. Hilliard, D. Freedman (August 2012)
[24] http:/ / www. cisco. com/ c/ dam/ en/ us/ products/ collateral/ security/ ios-network-foundation-protection-nfp/
prod_white_paper0900aecd80313fac. pdf
[25] IANA Internet Protocol Version 6 Multicast Addresses (http:/ / www. iana. org/ assignments/ ipv6-multicast-addresses).
[26] RFC 4862, IPv6 Stateless Address Autoconfiguration, S. Thomson, T. Narten, T. Jinmei (September 2007)
[27] RFC 4861, Neighbor Discovery for IP version 6 (IPv6), T. Narten, E. Nordmark, W. Simpson, H. Holiman (September 2007)
[28] The privacy implications of stateless IPv6 addressing (http:/ / portal. acm. org/ citation. cfm?id=1852723& dl=GUIDE& coll=GUIDE&
CFID=103687796& CFTOKEN=17254293). Portal.acm.org (2010-04-21). Retrieved on 2011-09-28.
[29] RFC 4941, Privacy Extensions for Stateless Address Autoconfiguration in IPv6, T. Narten, R. Draves, S. Krishnan (September 2007)
[30] RFC 6724, Default Address Selection for Internet Protocol Version 6 (IPv6), D. Thaler, Ed., R. Draves, A. Matsumoto, T. Chown, The
Internet Society (September 2012)
[31] Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers (http:/ / tools. ietf. org/ html/ rfc6874).
Tools.ietf.org. Retrieved on 2013-07-09.
[32] RFC 4074 Common Misbehavior Against DNS Queries for IPv6 Addresses, Y. Morishita, T. Jinmei. May 2005.
[33] RFC 1884, IP Version 6 Addressing Architecture, R. Hinden, S. Deering ()
[34] RFC 3879, Deprecating Site Local Addresses, C. Huitema, B. Carpenter ()
[35] RFC 4193, Unique Local IPv6 Unicast Addresses, R. Hinden, B. Haberman ()
IPv6 address 15
[36] RFC 4147, Proposed Changes to the Format of the IANA IPv6 Registry, G. Houston ()
[37] RFC 1888, OSI NSAPs and IPv6, J. Bound, B. Carpenter, D. Harrington, J. Houldsworth, A. Lloyd ()
[38] RFC 4048, UNIQ-nowiki-0-6983e5d33fd4efd9-QINU Is Obsolete, B. Carpenter ()
[39] RFC 3701, 6bone (IPv6 Testing Address Allocation) Phaseout, R. Fink, R. Hinden ()
[40] RFC 3152, Delegation of IP6.ARPA, R. Bush ()
[41] RFC 3177, "IAB/IESG Recommendations on IPv6 Address Allocations to Sites", IAB, IESG, (September 2001).
External links
IP Version 6 multicast addresses (http://www.iana.org/assignments/ipv6-multicast-addresses)
Beijnum, van, Iljitsch (2005). Running IPv6. ISBN1-59059-527-0.
Elz, Robert (1996-04-01). "A Compact Representation of IPv6 Addresses (RFC1924)" (http://tools.ietf.org/
html/rfc1924). IETF. "Represent any IPv6 address in 20 octets." This humorous RFC specifies an alternative way
of representing IPv6 addresses, using a base-85 encoding.
Article Sources and Contributors 16
License
Creative Commons Attribution-Share Alike 3.0
//creativecommons.org/licenses/by-sa/3.0/