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.
Obsoleted RFCs are printed in italics.
Content of this page is from: 2006/2007, updated April 2009.
Functional areas
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
(J. Loughney: November 2008. Work-in-progress draft-ietf-6man-node-req-bis-02.txt)
Predecessor:- RFC 4294: IPv6 Node Requirements (J. Loughney: April 2006)
Basic functions
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: Neighbor Discovery for IP Version 6 (IPv6) (T. Narten, E. Nordmark and W. Simpson: December 1998)
- RFC 4862: IPv6 Stateless Address Autoconfiguration
(S. Thomson, T. Narten and T. Jinmei: September 2007)
Predecessor:- RFC 2462: IPv6 Stateless Address Autoconfiguration (S. Thomson and T. Narten: December 1998)
- 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: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification (Conta and Deering: December 1998)
- 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)
Addresses
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: Privacy Extensions for Stateless Address Autoconfiguration in IPv6 (T. Narten and R. Draves: January 2001)
If the system includes a packet filter (i.e. firewall
), an attempt is made
to review its IPv6 filtering capabilities.
6to4
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.
Configured Tunnels
Manual tunnelling over so-called configured tunnels. A special tunnel server
(sometimes called tunnel broker
) contains configuration for every tunnel client
that wants to establish an IPv4 connection and encapsulate its IPv6 traffic in this
tunnel
.
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: Transition Mechanisms for IPv6 Hosts and Routers (R. Gilligan and E. Nordmark: August 2000)
Most operating systems include the necessary software and require only mild configuration steps.
DHCPv6
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.
PPPv6
Transmission of IPv6 over Point-to Point (PPP) links — PPPv6 as specified in:
PPPv6 version 2
RFC 5072: IP Version 6 over PPP (S. Varada, Ed., D. Haskins and E. Allen: September 2007)
Predecessor:- RFC 2472: IP Version 6 over PPP (D. Hasken and E. Allen: December 1998)
Support for PPPv6 was mostly more or less covertly added to several popular PPP packages and software.
Areas not reviewed (yet)
In descending order of current relevance for future research and probability of inclusion.
- Mobile IP
- A research effort is currently complicated by the fact that Mobile IP in general is still under development. Most software packages which support Mobile IP are themselves also under development and it is not clear which RFCs and/or drafts will be relevant in the future. The available software and their inclusion will be watched closely.
- IPsec
- While the IPv6 node requirements state that every IPv6 node must support IPsec, IPv6 works without the IPsec protocol(s). And, similar to Mobile IP, IPsec woudl require very complex testing scenarios, making a distinct review difficult.
- Translation (NAT-PT and SIIT et al)
- The translation mechanisms — in principle dedicated proxy servers translating individual requests for each connection — are unlikely to have a greater impact in the future (if at all) due to their high complexity.
- Media types
- Different media and connection types can be used with IPv6. However, several of the older media types will not be discussed due to their limited relevance (i. e. ARCnet, ATM, FDDI); similar considerations apply to the newer ones as e.g. Firewire or InfiniBand. Interesting would be a review of IPv6 support for the newer wireless IEEE networking protocols.
- Backbone and routing
- As the current focus of this site lies on enduser systems, backbone and routing specifics are not relevant and discussed. This could change to a limited degree when enduser routers (CPEs) with IPv6 support are reviewed.
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
or
work-in progress
IDs. - 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.
IETF documents
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.
Vendor documents
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.