IPv6, the Protocol
The following sections describe in detail the selected and tested parts of the IPv6 protocol, how the results of testing and documentation review were used and which information sources were utilized.
Content of this page is from: 2006/2007, updated April 2009, slightly extended March 2011.
Not all parts of the IPv6 specification are reviewed on the selected operating systems and software packages. For this purpose, the various subprotocols are grouped into functional areas, which describe defined sets of IPv6 functionality.
For a discussion of these standards documents, read the IETF documents section on this page.
The selection process for these functional areas itself is partially based on a standards document, from which basic functions and requirements were deduced:
IPv6 Node Requirements RFC 4294-bis
(E. Jankiewicz et al: December 2010. Work-in-progress draft-ietf-6man-node-req-bis-07.txt)
Predecessor: RFC 4294.
The Basic functions contain a set of IPv6 functionality for performing stateless autoconfiguration on Ethernet and communicating with the public Internet. This included the following standards:
- RFC 2460: Internet Protocol, Version 6 (IPv6) Specification (S. Deering and R. Hinden: December 1998)
- RFC 4861: Neighbor Discovery for IP Version 6
(IPv6) (T. Narten et al.: September 2007).
Predecessor: RFC 2461.
- RFC 4862: IPv6 Stateless Address Autoconfiguration
(S. Thomson, T. Narten and T. Jinmei: September 2007)
Predecessor: RFC 2462.
- RFC 4443: Internet Control
Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
(A. Conta, S. Deering and M. Gupta, eds.: March 2006)
Predecessor: RFC 2463.
- RFC 2464: Transmission of IPv6 Packets over Ethernet Networks (M. Crawford: December 1998)
- RFC 2710: Multicast Listener Discovery (MLD) for IPv6 (S. Deering, W. Fenner and B. Haberman: October 1999)
- Multicast Listener Discovery Version 2 (MLDv2) for IPv6 (: October 1999)
The various IPv6 addressing schemes are specified in the IPv6
address architecture, revised
multiple times (only the current is listed):
- RFC 4291: IP Version 6 Addressing Architecture (R. Hinden and S. Deering: February 2006)
- RFC 3587: IPv6 Global Unicast Address Format (R. Hinden, S. Deering and E. Nordmark: August 2003)
- RFC 4193: Unique Local IPv6 Unicast Addresses (R. Hinden and B. Haberman: October 2005) [this updates/obsoletes the previous Site-Local Addresses]
Additionally, operating systems should support the generation and use of privacy addresses with random interface-identifiers as stated in
- RFC 4941:
Privacy Extensions for Stateless Address Autoconfiguration in IPv6 (T. Narten, R. Draves and
S. Krishnan: September 2007)
Predecessor: RFC 3041.
If the system includes a packet filter (i.e.
firewall), an attempt is made
to review its IPv6 filtering capabilities.
Automatic tunneling of IPv6 over IPv4 in 6to4 as defined in: RFC 3056: Connection of IPv6 Domains via IPv4 Clouds (B. Carpenter and K. Moore: February 2001). 6to4 clients need to have a public IPv4 address.
Clients are integrated into most operating systems and require not much setup. Necessary data includes the router anycast address(es) and the client’s own 6to4 prefix.
Manual tunnelling over so-called configured tunnels. A special tunnel server
tunnel broker) contains configuration for every tunnel client
that wants to establish an IPv4 connection and encapsulate its IPv6 traffic in this
Clients who want to use configured tunnels need to have a public IPv4 address.
- RFC 4213: Basic Transition Mechanisms
for IPv6 Hosts and Routers (E. Nordmark and R. Gilligan: October 2005)
Predecessor: RFC 2893.
Most operating systems include the necessary software and require only mild configuration steps.
The stateful autoconfiguration mechanism for IPv6 — DHCP for IPv6 (DHCPv6). Two modes of operation are available: stateful and stateless, the latter being the more simple variant. DHCPv6 is specified in the base documents for
- Stateful: RFC 3315: Dynamic Host Configuration Protocol for IPv6 (DHCPv6) (R. Droms, Ed., et al: July 2003)
- Stateless: RFC 3736: Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6 (R. Droms: July 2003).
The various DHCPv6 options — such as DNS and domain information etc. — are specified in various RFCs and drafts not listed here separately.
Transmission of IPv6 over Point-to Point (PPP) links — PPPv6 as specified in:
PPPv6 version 2RFC 5072: IP Version 6 over PPP (S. Varada, Ed., D. Haskins and E. Allen: September 2007)
Predecessor: RFC 2472.
Support for PPPv6 was mostly more or less covertly added to several popular PPP packages and software.
Areas not reviewed (yet)
Aspects not included in this site that might be reviewed at a later date (though unlikely).
- Mobile IP
- Translation mechanisms (NAT-PT, SIIT)
- Routing protocols
- Backbone solutions (6PE)
Methodical access & sources
The content of this site is principally based on three sources of information:
- Selected IPv6 functions were tested in several of the listed operating systems and software packages. This means that after the general selection process of the IPv6 features these aspects were practically tested on a live testing system under research conditions. The results were cross-checked and afterward taken into (the thesis and) this site as tested information.
- The IPv6 content and specifics are taken (as primary sources) directly
from the relevant standardization organisation — the IETF. The used
documents include standard-quality RFCs and pre-standard
- Several software and systems pages contain information not based on practical testing but on (literature and internet) research. This content is based on (mostly official) vendor documentation and in very few cases on secondary sources.
The aspects and details on IPv6 and its subprotocols are mainly deduced from
the official standards documents from the Internet Engineering Task Force (IETF) — mainly
the Requests for Comments (RFCs) and, to a lesser extent, the
work-in progress Internet Drafts (IDs).
The standards documents serve as primary sources for the IPv6 specification content on this site. The sections on IPv6 specifics and aspects reference the relevant IETF documents, if applicable.
The relevant IPv6 documents are mainly developed and maintained by the IETF IPv6 Operations (v6ops) working group (WG) and IPv6 Maintenance (6man) working group (WG) of the IETF. Some of the relevant documents are developed in other working groups (WGs), however.
We basically trust what the vendors say on the supported features of their products. Items are taken over keeping with the vendors’ wording and description. If the vendor references an RFC it is assumed the complete content of the RFC is supported; qualifications are taken over if available. If the vendor does not supply an RFC an educated guess is made.
As most vendors do not give exact features for each single version and revision of their software, the following algorithm is used when non-conclusive documentation is available for releases N and N+1:
Documentation on N states that N supports A, B and C.
Documentation on N+1 states that N+1 supports D and E.
→ We assume N+1 supports A, B, C, D and E.