IPv6 address
Encyclopedia
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
Node (networking)
In communication networks, a node is a connection point, either a redistribution point or a communication endpoint . The definition of a node depends on the network and protocol layer referred to...

 participating in an IPv6
IPv6
Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

-enabled computer network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

.

IP addresses serve the purpose of uniquely identifying the individual network interface(s) of a host
Host (network)
A network host is a computer connected to a computer network. A network host may offer information resources, services, and applications to users or other nodes on the network. A network host is a network node that is assigned a network layer host address....

, 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 Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

's first addressing infrastructure, Internet Protocol version 4 (IPv4). In contrast to IPv4, which defined an IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...

 as a 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....

 number, IPv6 addresses have a size of 128 bits. Therefore, IPv6 has a vastly enlarged address space compared to IPv4.

IPv6 address classes

IPv6 addresses are classified by the primary addressing and routing methodologies common in networking: unicast addressing, anycast addressing, and multicast addressing.
  • A unicast
    Unicast
    right|200pxIn computer networking, unicast transmission is the sending of messages to a single network destination identified by a unique address.-Addressing methodologies:...

     address identifies a single network interface. The Internet Protocol delivers packets sent to a unicast address to that specific interface.
  • An anycast
    Anycast
    Anycast is a network addressing and routing methodology in which datagrams from a single sender are routed to the topologically nearest node in a group of potential receivers all identified by the same destination address.-Addressing methodologies:...

     address is assigned to a group of interfaces, usually belonging to different nodes. A packet sent to an anycast address is delivered to just one of the member interfaces, typically the nearest host, according to the routing protocol’s definition of distance. Anycast addresses cannot be identified easily, they have the same format of unicast addresses, and differ only by their presence in the network at multiple points. Almost any unicast address can be employed as an anycast address.
  • A multicast
    Multicast
    In computer networking, multicast is the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source creating copies automatically in other network elements, such as routers, only when the topology of the network requires...

     address is also used by multiple hosts, which acquire the multicast address destination by participating in the multicast distribution protocol among the network routers. A packet that is sent to a multicast address
    Multicast address
    A multicast address is a logical identifier for a group of hosts in a computer network, that are available to process datagrams or frames intended to be multicast for a designated network service...

     is delivered to all interfaces that have joined the corresponding multicast group.

IPv6 does not implement broadcast
Broadcasting (networks)
right|250pxIn telecommunication and information theory, broadcasting refers to a method of transferring a message to all recipients simultaneously...

 addressing. Broadcast's traditional role is subsumed by multicast addressing to the all-nodes link-local multicast group ff02::1. However, the use of the all-nodes group is not recommended, and most IPv6 protocols use a dedicated link-local multicast group to avoid disturbing every interface in the network.

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.

Unicast and anycast address format

Unicast
Unicast
right|200pxIn computer networking, unicast transmission is the sending of messages to a single network destination identified by a unique address.-Addressing methodologies:...

 and anycast
Anycast
Anycast is a network addressing and routing methodology in which datagrams from a single sender are routed to the topologically nearest node in a group of potential receivers all identified by the same destination address.-Addressing methodologies:...

 addresses are typically composed of two logical parts: a 64-bit network prefix used for routing
Routing
Routing is the process of selecting paths in a network along which to send network traffic. Routing is performed for many kinds of networks, including the telephone network , electronic data networks , and transportation networks...

, and a 64-bit interface identifier used to identify a host's network interface.
General unicast address format (routing prefix size varies)
bits 48 (or more) 16 (or fewer) 64
field routing prefix subnet id interface identifier

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
MAC address
A Media Access Control address is a unique identifier assigned to network interfaces for communications on the physical network segment. MAC addresses are used for numerous network technologies and most IEEE 802 network technologies, including Ethernet...

 using the modified EUI-64 format, obtained from a DHCPv6
DHCPv6
DHCPv6 is the Dynamic Host Configuration Protocol for IPv6. Although IPv6's stateless address autoconfiguration can also be used to acquire IPv6 access, DHCPv6 may be a more suitable solution to assign addresses, nameservers and other configuration information as being done today with DHCP for IPv4...

 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.
Link-local address format
bits 10 54 64
field prefix zeroes interface identifier

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, rendering them non-routable.

Multicast address format

Multicast
Multicast
In computer networking, multicast is the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source creating copies automatically in other network elements, such as routers, only when the topology of the network requires...

 addresses are formed according to several specific formatting rules, depending on the application.
General multicast address format
bits 8 4 4 112
field prefix flg sc group ID

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.
Multicast address flags
bit flag Meaning when 0 Meaning when 1
8 reserved reserved reserved
9 R (Rendezvous) Rendezvous point not embedded Rendezvous point embedded
10 P (Prefix) Without prefix information Address based on network prefix
11 T (Transient) Well-known multicast address Dynamically assigned multicast address


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.
Solicited-Node multicast address
Solicited-node multicast address
A Solicited-Node multicast address is an IPv6 multicast address valid within the local-link . Every IPv6 host will have at least one such address per interface...

 format
bits 8 4 4 79 9 24
field prefix flg sc zeroes ones unicast address

The sc(ope) field holds the binary value 0010 (link-local).
Solicited-node multicast address
Solicited-node multicast address
A Solicited-Node multicast address is an IPv6 multicast address valid within the local-link . Every IPv6 host will have at least one such address per interface...

es 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.
Unicast-prefix-based multicast address format
bits 8 4 4 4 4 8 64 32
field prefix flg sc res riid plen network prefix group ID

Link-scoped multicast addresses use a comparable format.

Presentation

An IPv6 address is represented as eight groups of four hexadecimal
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

 digits, each group representing 16 bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...

s (two octet
Octet (computing)
An octet is a unit of digital information in computing and telecommunications that consists of eight bits. The term is often used when the term byte might be ambiguous, as there is no standard for the size of the byte.-Overview:...

s). The groups are separated by colon
Colon (punctuation)
The colon is a punctuation mark consisting of two equally sized dots centered on the same vertical line.-Usage:A colon informs the reader that what follows the mark proves, explains, or lists elements of what preceded the mark....

s (:). An example of an IPv6 address is:
2001:0db8:85a3:0000:0000:8a2e:0370:7334

The hexadecimal digits are case-insensitive when used, but should be represented in lower case.

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, but each group must contain at least one hexadecimal digit. 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 (::). Substitution may only be applied once in an address, because multiple occurrences would create an ambiguous representation. If more than one such substitution could be applied, the substitution that replaces the most groups should be used; if the number of groups are equal then the leftmost substitution should be used.
With these rules, the example address is 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.

Dotted-quad notation
During the transition of the Internet from IPv4 to the 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
Dot-decimal notation
Dot-decimal notation is a presentation format for numerical data. It consists of a string of decimal numbers, each pair separated by a full stop ....

. For example, the IPv4-mapped IPv6 address ::ffff:c000:280 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
Power of two
In mathematics, a power of two means a number of the form 2n where n is an integer, i.e. the result of exponentiation with as base the number two and as exponent the integer n....

. 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
CIDR notation
CIDR notation is a compact specification of an Internet Protocol address and its associated routing prefix. Classless Inter-Domain Routing is an Internet Protocol address allocation and route aggregation methodology used within the Internet addressing architecture that replaced the IPv4 classful...

. A network is denoted by the first address in the block (ending in all zeroes), a slash
Slash (punctuation)
The slash is a sign used as a punctuation mark and for various other purposes. It is now often called a forward slash , and many other alternative names.-History:...

 (/), and a decimal
Decimal
The decimal numeral system has ten as its base. It is the numerical base most widely used by modern civilizations....

 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.

Address block sizes

The size of a block of addresses is indicated simply by a slash (/) and the decimal size of the network prefix, without specifying which specific addresses are in the block. For instance, an address block with 48 bits in the prefix is indicated by /48. Such a block contains 2128 − 48 = 280 addresses. The smaller the size of the network prefix, the larger the block: a /21 block is 8 times larger than a /24 block.

Literal IPv6 addresses in network resource identifiers

Colon (:) characters in IPv6 addresses may conflict with the established syntax of resource identifiers, such as URIs and URL
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....

s. The colon has traditionally been used to terminate the host path before a port number. To alleviate this conflict, literal IPv6 addresses are enclosed in square bracket
Bracket
Brackets are tall punctuation marks used in matched pairs within text, to set apart or interject other text. In the United States, "bracket" usually refers specifically to the "square" or "box" type.-List of types:...

s in such resource identifiers, for example:
http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]/


When the URL also contains a port number the notation is:
https://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443/

Literal IPv6 addresses in UNC path names

In Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 operating systems, IPv4 addresses are valid location identifiers in Uniform Naming Convention (UNC) path names. However, the colon is an illegal character in a UNC path name. Thus, the use of IPv6 addresses is also illegal in UNC names. For this reason, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 implemented a transcription algorithm to represent an IPv6 address in form of a domain name that can be used in UNC paths. For this purpose, Microsoft registered and reserved the second-level domain
Second-level domain
In the Domain Name System hierarchy, a second-level domain is a domain that is directly below a top-level domain . For example, in example.com, example is the second-level domain of the .com TLD....

 ipv6-literal.net on the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

. IPv6 addresses are transcribed as a hostname or subdomain name within this name space, in the following fashion:
2001:db8:85a3:8d3:1319:8a2e:370:7348

is written as
2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net

This notation is automatically resolved by Microsoft software without any queries to DNS name servers. If the IPv6 address contains a zone index, it is appended to the address portion after an 's' character:
fe80--1s4.ipv6-literal.net


IPv6 address scopes

Every IPv6 address, except the unspecified address (::), has a "scope", which specifies in which part of the network it is valid.

In the unicast addressing class, link-local addresses and the loopback address
Localhost
In computer networking, localhost is the standard hostname given to the address of the loopback network interface. The name is also a reserved top-level domain name In computer networking, localhost (meaning this computer) is the standard hostname given to the address of the loopback network...

 have link-local scope, which means they are to be used in the directly attached network (link). All other addresses, have global (or universal) scope, which means they are globally routable, and can be used to connect to addresses with global scope anywhere, or addresses with link-local scope on the directly attached network.

The scope of an anycast address is defined identically to that of a unicast address.

For multicasting, the four least-significant bits of the second address octet of a multicast address (ff0s::) identify the address scope, i.e. the span over which the multicast address is propagated. Currently defined scopes are:
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
Internet Assigned Numbers Authority
The Internet Assigned Numbers Authority is the entity that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System , media types, and other Internet Protocol-related symbols and numbers...

 (IANA) by the Internet Architecture Board
Internet Architecture Board
The Internet Architecture Board is the committee charged with oversight of the technical and engineering development of the Internet by the Internet Society ....

 and the Internet Engineering Steering Group
Internet Engineering Steering Group
The Internet Engineering Steering Group is a body composed of the Internet Engineering Task Force chair and area directors.It provides the final technical review of Internet standards and is responsible for day-to-day management of the IETF...

. Its main function is the assignment of large address blocks to the regional Internet registries
Regional Internet Registry
A regional Internet registry is an organization that manages the allocation and registration of Internet number resources within a particular region of the world...

 (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 .

Only one eighth of the total address space is currently allocated for use on the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

, 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.

The RIRs assign smaller blocks to Local Internet registries
Local Internet Registry
A local Internet registry is an organization that has been allocated a block of IP addresses by a regional Internet registry , and that assigns most parts of this block to its own customers. Most LIRs are Internet service providers, enterprises, or academic institutions. Membership in an RIR is...

 that distributes them to users. These are typically in sizes from /19 to /32. The addresses are typically distributed in /48 to /56 sized blocks to the end users.

Global unicast assignment records can be found at the various RIRs or other websites.

IPv6 addresses are assigned to organizations in much larger blocks as compared to IPv4 address assignments—the recommended allocation is a /48 block which contains 280 addresses, being 248 or about times larger than the entire IPv4 address space of 232 addresses and about 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 (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 /48 blocks, typically one for each customer; customers can create /64 networks from their assigned /48 block, each having a number of addresses that is the square of the number of addresses of the entire IPv4 address space, which only supports 232 or about 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
Network address translation
In computer networking, network address translation is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device....

 (NAT) for the purposes of address conservation almost unnecessary. NAT has been increasingly used for IPv4 networks to help alleviate IPv4 address exhaustion.

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 Point
Internet Exchange Point
An Internet exchange point is a physical infrastructure through which Internet service providers exchange Internet traffic between their networks . IXPs reduce the portion of an ISP's traffic which must be delivered via their upstream transit providers, thereby reducing the average per-bit...

s (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.

Reserved anycast addresses

The lowest address within each subnet prefix (the interface identifier set to all zeroes) is reserved as the "subnet-router" anycast address. Applications may use this address when talking to any one of the available routers, as packets sent to this address are delivered to just one router.

The 128 highest addresses within each /64 subnet prefix are reserved to be used as anycast addresses. These addresses usually have the 57 first bits of the interface identifier set to 1, followed by the 7-bit anycast ID. Prefixes for the network, including subnets, are required to have a length of 64 bits, in which case the universal/local bit must be set to 0 to indicate the address is not globally unique. The address with value 0x7e in the 7 least-significant bits is defined as a mobile IPv6 home agents anycast address. The address with value 0x7f (all bits 1) is reserved and may not be used. No more assignments from this range are made, so values 0x00 through 0x7d are reserved as well.

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
    Loopback
    Loopback describes ways of routing electronic signals, digital data streams, or flows of items from their originating facility back to the source without intentional processing or modification...

     address is a unicast localhost
    Localhost
    In computer networking, localhost is the standard hostname given to the address of the loopback network interface. The name is also a reserved top-level domain name In computer networking, localhost (meaning this computer) is the standard hostname given to the address of the loopback network...

     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/32 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
    Link-local address
    A link-local address is an Internet Protocol address that is intended only for communications within the segment of a local network or a point-to-point connection that a host is connected to. Routers do not forward packets with link-local addresses....

     is required on every IPv6-enabled interface—in 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.


Unique local addresses
  • fc00::/7 — Unique local addresses (ULAs) are intended for local communication. They are routable only within a set of cooperating sites (analogous to the private address ranges 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 of IPv4). The addresses include a 40-bit pseudorandom number in the routing prefix intended to minimize the risk of conflicts if sites merge or packets are misrouted into the Internet.


Transition from IPv4
  • ::ffff:0:0/96 — This prefix designated an IPv4-mapped IPv6 address. With a few exceptions, this address type allows the transparent use of the Transport Layer
    Transport layer
    In computer networking, the transport layer or layer 4 provides end-to-end communication services for applications within a layered architecture of network components and protocols...

     protocols over IPv4 through the IPv6 networking application programming interface
    Application programming interface
    An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

    . Server applications only need to open a single listening socket
    Berkeley sockets
    The Berkeley sockets application programming interface comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly for communications across a computer network....

     to handle connections from clients using IPv6 or IPv4 protocols. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address. Transmission is handled similarly; established sockets may be used to transmit IPv4 or IPv6 datagram, based on the binding to an IPv6 address, or an IPv4-mapped address. (See also Transition mechanisms.)
  • ::ffff:0:0:0/96 — A prefix used for IPv4-translated addresses which are used by the Stateless IP/ICMP Translation (SIIT) protocol.
  • 64:ff9b::/96 — The "Well-Known" Prefix. Addresses with this prefix are used for automatic IPv4/IPv6 translation.

  • 2002::/16 — This prefix is used for 6to4 addressing. Here, an address from the IPv4 network 192.88.99.0/24 is also used.


Special-purpose addresses
IANA has reserved a so-called 'Sub-TLA ID' address block for special assignments 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) for benchmarking
    Benchmark (computing)
    In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it...

     IPv6 (corresponding to 198.18.0.0/15 for benchmarking IPv4).
  • 2001:10::/28 — ORCHID (Overlay Routable Cryptographic Hash Identifiers). These are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.


Documentation
  • 2001:db8::/32 — This prefix is used in documentation. 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.)


Deprecated and obsolete addresses

Multicast addresses

The multicast addresses ff00::0/12 are reserved and should not be assigned to any multicast group. The Internet Assigned Numbers Authority
Internet Assigned Numbers Authority
The Internet Assigned Numbers Authority is the entity that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System , media types, and other Internet Protocol-related symbols and numbers...

 (IANA) manages address reservations.

Some common IPv6 multicast addresses are the following:
Address Description Available Scopes
ff0X::1 All nodes address, identify the group of all IPv6 nodes Available in scope 1 (interface-local) and 2 (link-local):
  • ff01::1 → All nodes in the interface-local
  • ff02::1 → All nodes in the link-local
ff0X::2 All routers Available in scope 1 (interface-local), 2 (link-local)
and 5 (site-local):
  • ff01::2 → All routers in the interface-local
  • ff02::2 → All routers in the link-local
  • ff05::2 → All routers in the site-local
ff02::5 OSPFIGP 2 (link-local)
ff02::6 OSPFIGP Designated Routers 2 (link-local)
ff02::9 RIP Routers 2 (link-local)
ff02::a EIGRP Routers 2 (link-local)
ff02::d All PIM Routers 2 (link-local)
ff0X::fb mDNSv6 Available in all scopes
ff0X::101 All Network Time Protocol (NTP) servers Available in all scopes
ff02::1:1 Link Name 2 (link-local)
ff02::1:2 All-dhcp-agents 2 (link-local)
ff02::1:3 Link-local Multicast Name Resolution 2 (link-local)
ff05::1:3 All-dhcp-servers 5 (site-local)
ff02::1:ff00:0/104 Solicited-node multicast address
Solicited-node multicast address
A Solicited-Node multicast address is an IPv6 multicast address valid within the local-link . Every IPv6 host will have at least one such address per interface...

. See below
2 (link-local)
ff02::2:ff00:0/104 Node Information Queries 2 (link-local)

Solicited-node multicast address

The least significant 24 bits of the Solicited-node multicast address
Solicited-node multicast address
A Solicited-Node multicast address is an IPv6 multicast address valid within the local-link . Every IPv6 host will have at least one such address per interface...

 group ID are filled with the least significant 24 bits of the interface's unicast or anycast address. These addresses allow link-layer address resolution via Neighbor Discovery Protocol
Neighbor Discovery Protocol
The Neighbor Discovery Protocol is a protocol in the Internet Protocol Suite used with Internet Protocol Version 6 . It operates in the Link Layer of the Internet model and is responsible for address autoconfiguration of nodes, discovery of other nodes on the link, determining the Link Layer...

 (NDP) on the link without disturbing all nodes on the local network. A host is required to join a Solicited-Node multicast group for each of its configured unicast or anycast addresses.

Stateless address autoconfiguration

On system startup, a node automatically creates a link-local address
Link-local address
A link-local address is an Internet Protocol address that is intended only for communications within the segment of a local network or a point-to-point connection that a host is connected to. Routers do not forward packets with link-local addresses....

 on each IPv6-enabled interface, even if globally routable addresses are manually configured or obtained through "configuration protocols" (see below). It does so independently and without any prior configuration by stateless address autoconfiguration (SLAAC), using a component of the Neighbor Discovery Protocol
Neighbor Discovery Protocol
The Neighbor Discovery Protocol is a protocol in the Internet Protocol Suite used with Internet Protocol Version 6 . It operates in the Link Layer of the Internet model and is responsible for address autoconfiguration of nodes, discovery of other nodes on the link, determining the Link Layer...

. This address is selected with the prefix fe80::/64.

In IPv4, typical "configuration protocols" include DHCP or PPP. Although DHCPv6
DHCPv6
DHCPv6 is the Dynamic Host Configuration Protocol for IPv6. Although IPv6's stateless address autoconfiguration can also be used to acquire IPv6 access, DHCPv6 may be a more suitable solution to assign addresses, nameservers and other configuration information as being done today with DHCP for IPv4...

 exists, IPv6 hosts normally use the Neighbor Discovery Protocol
Neighbor Discovery Protocol
The Neighbor Discovery Protocol is a protocol in the Internet Protocol Suite used with Internet Protocol Version 6 . It operates in the Link Layer of the Internet model and is responsible for address autoconfiguration of nodes, discovery of other nodes on the link, determining the Link Layer...

 to create a globally routable unicast address: the host sends router solicitation requests and an IPv6 router responds with a prefix assignment.

The lower 64 bits of these addresses are populated with a 64-bit interface identifier in modified EUI-64 format. This identifier is usually shared by all automatically configured addresses of that interface, which has the advantage that only one multicast
Multicast
In computer networking, multicast is the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source creating copies automatically in other network elements, such as routers, only when the topology of the network requires...

 group needs to be joined for neighbor discovery. For this, a multicast address is used, formed from the network prefix ff02::1:ff00:0/104 and the 24 least significant bits of the address.

Modified EUI-64

A 64-bit interface identifier is most commonly derived from its 48-bit MAC address
MAC address
A Media Access Control address is a unique identifier assigned to network interfaces for communications on the physical network segment. MAC addresses are used for numerous network technologies and most IEEE 802 network technologies, including Ethernet...

. A MAC address 00:1D:BA:06:37:64 is turned into a 64-bit EUI-64 by inserting FF:FE in the middle: 00:1D:BA:FF:FE:06:37:64. 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:021d:baff:fe06:3764 (with the underlined U/L bit inverted to a 1, because the MAC address is universally unique).

The reason for modifying the U/L bit is that when using manually assigned addresses on an interface it means you can simply assign the address 2001:db8:1:2::1/64 instead of the less appealing and counter-intuitive 2001:db8:1:2:0200::1/64. When manually assigning link-local addresses, the need for this modification is even more apparent: you can assign the short address fe80::1 instead of the long fe80:0:0:0:0200::1.

Duplicate address detection

The assignment of a unicast
Unicast
right|200pxIn computer networking, unicast transmission is the sending of messages to a single network destination identified by a unique address.-Addressing methodologies:...

 IPv6 address to an interface involves an internal test for the uniqueness of that address using Neighbor Solicitation and Neighbor Advertisement (ICMPv6
ICMPv6
Internet Control Message Protocol version 6 is the implementation of the Internet Control Message Protocol for Internet Protocol version 6 defined in RFC 4443...

 type 135 and 136) messages. While in the process of establishing uniqueness an address has a tentative state.

The node joins the solicited-node multicast address for the tentative address (if not already done so) and sends neighbor solicitations, with the tentative address as target address and the unspecified address (::/128) as source address. The node also joins the all-hosts multicast address ff02::1, so it will be able to receive Neighbor Advertisements.

If a node receives a neighbor solicitation with its own tentative address as the target address, then that address is not unique. The same is true if the node receives a neighbor advertisement with the tentative address as the source of the advertisement. Only after having successfully established that an address is unique may it be assigned and used by an interface.

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
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

.

Temporary addresses

The globally unique and static MAC addresses, used by stateless address autoconfiguration to create interface identifiers, offer an opportunity to track user equipment—across time and IPv6 network prefix changes—and so users. 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 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 in Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

 and Windows 2008 Server or later Microsoft systems use temporary addresses by default.

Default address selection

IPv6-enabled network interfaces usually have more than one IPv6 address, for example, a link-local and a global address, and permanent versus temporary addresses. IPv6 introduces the concepts of address scope and selection preference, yielding multiple choices for source and destination address selections in communication with another host.

The preference selection algorithm, which selects the most appropriate address to use in communications with a particular destination (including the use of IPv4-mapped addresses in dual-stack implementations), is based on a user-customizable preference table that associates each routing prefix with a precedence level. The default table is as follows:
Default Prefix Policy Table
Prefix Precedence Label
::1/128
::/0
2002::/16
::/96
::ffff:0:0/96
50
40
30
20
10
0
1
2
3
4

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
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 and candidate destination addresses may be queried via the Domain Name System
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

 (DNS).

Link-local addresses and zone indices

Because all link-local addresses in a host have a common prefix, normal routing procedures cannot be used to choose the outgoing interface when sending packets to a link-local destination. A special identifier, known as a zone index, is needed to provide the additional routing information; in the case of link-local addresses, zone indices correspond to interface identifiers.

When an address is written textually, the zone index is appended to the address, separated by a percent sign
Percent sign
The percent sign is the symbol used to indicate a percentage .Related signs include the permille sign ‰ and the permyriad sign , which indicate that a number is divided by one thousand or ten thousand respectively...

 (%). The actual syntax of zone indices depends on the operating system:
  • the Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

     IPv6 stack uses numeric zone indexes, e.g., fe80::3%1. The index is determined by the interface number;
  • most Unix
    Unix
    Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

    -like systems (e.g., BSD, Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

    , Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

    ) use the interface name as a zone index: fe80::3%eth0.


Zone index notations cause syntax conflicts when used in Uniform Resource Identifiers (URI), as the '%' character also designates percent-encoding
Percent-encoding
Percent-encoding, also known as URL encoding, is a mechanism for encoding information in a Uniform Resource Identifier under certain circumstances. Although it is known as URL encoding it is, in fact, used more generally within the main Uniform Resource Identifier set, which includes both Uniform...

.

IPv6 addresses in the Domain Name System

In the Domain Name System
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

 hostname
Hostname
A hostname is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet...

s are mapped to IPv6 addresses by AAAA resource records, so-called quad-A records. For reverse lookup
Reverse DNS lookup
In computer networking, reverse DNS lookup or reverse DNS resolution is the determination of a domain name that is associated with a given IP address using the Domain Name System of the Internet....

 the IETF reserved the domain ip6.arpa
.arpa
The domain name arpa is a top-level domain in the Domain Name System of the Internet. It is used exclusively for technical infrastructure purposes...

, where the name space is hierarchically divided by the 1-digit hexadecimal
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

 representation of nibble
Nibble
In computing, a nibble is a four-bit aggregation, or half an octet...

 units (4 bits) of the IPv6 address. This scheme is defined in RFC 3596.

As in IPv4, each host is represented in the DNS by two DNS records, an address record and a reverse mapping pointer record. For example,
a host computer named derrick in zone example.com has the Unique Local Address
Unique local address
A unique local address is an IPv6 address in the block fc00::/7, defined in RFC 4193. It is the IPv6 counterpart of the IPv4 private address. Unique local addresses are available for use in private networks, e.g. inside a single site or organization, or spanning a limited number of sites or...

 fdda:5cc1:23:4::1f. Its quad-A address record is
derrick.example.com. IN AAAA fdda:5cc1:23:4::1f
and its IPv6 pointer record is
f.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.0.0.0.3.2.0.0.1.c.c.5.a.d.d.f.ip6.arpa. IN PTR derrick.example.com.
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
Transport layer
In computer networking, the transport layer or layer 4 provides end-to-end communication services for applications within a layered architecture of network components and protocols...

 protocol. Queries and replies may be transmitted over IPv6 or IPv4 transports regardless of the address family of the data requested.
AAAA record fields
NAME Domain name
TYPE AAAA (28)
CLASS Internet (1)
TTL
Time to live
Time to live is a mechanism that limits the lifespan of data in a computer or network. TTL may be implemented as a counter or timestamp attached to or embedded in the data. Once the prescribed event count or timespan has elapsed, data is discarded. In computer networking, TTL prevents a data...

 
Time to live in seconds
RDLENGTH Length of RDATA field
RDATA String form of the IPV6 address

Transition challenges

As of 2009, many DNS resolvers in home-networking NAT devices and routers still handle AAAA records improperly. 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 perceived slow down when connecting to IPv6 hosts.

Deprecated and obsolete addresses

  • The site-local prefix fec0::/10 specifies that the address is valid only within the site network of an organization. It was part of the original addressing architecture in , but its use was deprecated in because the definition of the term site was ambiguous, which led to confusing routing rules. New networks must not support this special type of address. In , a new specification replaced this address type with unique local address
    Unique local address
    A unique local address is an IPv6 address in the block fc00::/7, defined in RFC 4193. It is the IPv6 counterpart of the IPv4 private address. Unique local addresses are available for use in private networks, e.g. inside a single site or organization, or spanning a limited number of sites or...

    es.

  • The address block 0200::/7 was defined as an OSI NSAP-mapped prefix set in , but was deprecated in .

  • The 96-bit zero-value prefix ::/96, originally known as IPv4-compatible addresses, was mentioned in 1995 but first described in 1998. This class of addresses was used to represent IPv4
    IPv4
    Internet Protocol version 4 is the fourth revision in the development of the Internet Protocol and the first version of the protocol to be widely deployed. Together with IPv6, it is at the core of standards-based internetworking methods of the Internet...

     addresses within an IPv6 transition technology. Such an IPv6 address has its first (most significant) 96 bits set to zero, while its last 32 bits are the IPv4 address that is represented. In February 2006, the Internet Engineering Task Force
    Internet Engineering Task Force
    The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the W3C and ISO/IEC standards bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite...

     (IETF) has deprecated the use of IPv4-compatible addresses. The only remaining use of this address format is to represent an IPv4 address in a table or database with fixed size members that must also be able to store an IPv6 address.

  • Address block 3ffe::/16 was allocated for test purposes for the 6bone
    6bone
    The 6bone was a testbed for Internet Protocol version 6; it was an outgrowth of the IETF IPng project that created the IPv6 protocols intended to eventually replace the current Internet network layer protocols known as IPv4...

     network in . Prior to that, the address block 5F00::/8 was used for this purpose. Both address blocks were returned to the address pool in .

Miscellany

  • IPv6 addresses were originally registered in the Domain name system
    Domain name system
    The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

     (DNS) in the ip6 zone under the int
    .int
    The domain name int is a sponsored top-level domain in the Domain Name System of the Internet. Its name is derived from the word international, characterizing its use for world-wide purposes....

    top-level domain for reverse lookups
    Reverse DNS lookup
    In computer networking, reverse DNS lookup or reverse DNS resolution is the determination of a domain name that is associated with a given IP address using the Domain Name System of the Internet....

    . In 2000, the Internet Architecture Board
    Internet Architecture Board
    The Internet Architecture Board is the committee charged with oversight of the technical and engineering development of the Internet by the Internet Society ....

     (IAB) reverted their intentions to retire arpa
    .arpa
    The domain name arpa is a top-level domain in the Domain Name System of the Internet. It is used exclusively for technical infrastructure purposes...

    , 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. The ip6.int zone was officially removed on .

  • In , 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
    IAB
    IAB may refer to:* Internal affairs * Internet Architecture Board, committee charged with oversight of the technical and engineering development of the Internet by the Internet Society...

    's and IESG's views of 2001), Internet service providers should assign smaller blocks (up to a /56) to end users, if appropriate.

External links

  • IP Version 6 multicast addresses This humorous
    April Fools' Day
    April Fools' Day is celebrated in different countries around the world on April 1 every year. Sometimes referred to as All Fools' Day, April 1 is not a national holiday, but is widely recognized and celebrated as a day when many people play all kinds of jokes and foolishness...

    RFC specifies an alternative way of representing IPv6 addresses, using a base-85 encoding.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK