Internet Protocol version 6 (IPv6) is a suite of standard protocols that is the next generation of network layer protocols for the Internet. Its predecessor, Internet Protocol version 4 (IPv4), has proven to be robust, easily implemented, and interoperable. However, IPv4 has not been substantially changed since RFC 791 was published in 1981.
To meet increasing Internet demands, the Internet Engineering Task Force (IETF) developed IPv6. IPv6, previously named IP-The Next Generation (IPng), incorporates the concepts of many proposed methods for updating the IPv4 protocol. IPv6 is designed for minimal impact on upper- and lower-layer protocols by avoiding the arbitrary addition of new characteristics.
|IPv6 is not backward compatible with IPv4.|
The following list shows the general characteristics of the IPv6 protocol:
New header format
Large address space
Efficient and hierarchical addressing and routing infrastructure
Stateless and stateful configuring of addresses
New protocol for neighboring node interaction
The following list shows the additional characteristics that the IPv6 protocol for Windows CE .NET 4.1 and later includes:
Intrasite Automatic Tunnel Addressing Protocol (ISATAP)
Site prefixes in router advertisements
Static router support
The following sections discuss each of these characteristics in detail.
The IPv6 header format is designed to minimize header overhead and provide more efficient processing at intermediate routers. This is achieved by moving nonessential fields and option fields to extension headers that are placed after the IPv6 header.
IPv4 headers and IPv6 headers are not interoperable. A host or router must use an implementation of both IPv4 and IPv6 in order to recognize and process both header formats. The new IPv6 header is only twice as large as the IPv4 header, even though IPv6 addresses are four times as large as IPv4 addresses.
For more information, see IPv6 Packets.
The public IPv4 address space is rapidly being depleted due to the rising prominence of Internet-connected devices and appliances. Some organizations are using a network address translator (NAT) to map multiple private addresses to a single public IP address. Although NATs promote reuse of the private address space, they do not support the correct mapping of all higher-layer protocols and can create problems when connecting two organizations that use the private address space.
IPv6 has 128-bit (16-byte) source and destination addresses. Although 128 bits can provide over 3.4x1038 possible combinations, the large address space of IPv6 has been designed to allow for multiple levels of subnetting and address allocation from the Internet backbone to the individual subnets within an organization.
With a much larger number of available addresses, address-conservation techniques, such as the deployment of network address translators (NATs), are no longer necessary.
For more information, see IPv6 Addressing.
Because of the way in which IPv4 network IDs are allocated, the routing tables of Internet backbone routers routinely have more than 70,000 routes . The current IPv4 Internet routing infrastructure combines both flat and hierarchical routing.
IPv6 global addresses used on the IPv6 portion of the Internet create a hierarchical, efficient routing infrastructure that can be summarized. This infrastructure can address multiple levels of Internet service providers.
Backbone routers on the IPv6 Internet have much smaller routing tables than IPv4.
For more information, see Unicast IPv6 Addresses.
Most current IPv4 implementations must be configured either manually or through a stateful address configuration protocol such as Dynamic Host Configuration Protocol (DHCP). With more computers and devices using IP, there is a need for a simpler and more automatic configuration of addresses and other configuration settings that do not rely on the administration of a DHCP infrastructure.
To simplify configuration by the host, IPv6 supports both stateless and stateful configuring of addresses. A stateless address configuration occurs in the absence of a DHCP server, and a stateful address configuration occurs in the presence of a DHCP server.
With stateless address configuration, hosts on a link automatically configure themselves with IPv6 addresses for the link, called link-local addresses, and with addresses that are derived from prefixes advertised by local routers. In the absence of a router, hosts on the same link can still configure themselves with link-local addresses and communicate without being configured manually.
For more information, see IPv6 Address Autoconfiguration.
The Neighbor Discovery protocol for IPv6 is a series of Internet Control Message Protocol for IPv6 (ICMPv6) messages that manage the interaction of neighboring nodes, that is, nodes on the same link. Neighbor Discovery replaces Address Resolution Protocol (ARP), ICMPv4 Router Discovery, and ICMPv4 Redirect messages with efficient multicast and unicast messages and provides additional functionality.
For more information, see Neighbor Discovery (ND).
6to4 tunneling allows IPv6-enabled sites and hosts to communicate by using IPv6 over an IPv4 infrastructure, for example, the Internet. The 6to4 tunneling technique is described in RFC 3056. 6to4 hosts do not require manual configuration, but instead use standard autoconfiguration to create 6to4 addresses. 6to4 uses the global address prefix of 2002:WWXX:YYZZ::/48, where WWXX:YYZZ is the colon-hexadecimal representation of a public IPv4 address (w.x.y.z) that is assigned to a site or a host. WWXX:YYZZ is the Next Level Aggregator (NLA) portion of a 6to4 address.
IPv6 sites and hosts can use their 6to4 address prefix and the Internet to communicate without obtaining an IPv6 global address prefix from an Internet service provider and connecting to the IPv6-enabled portion of the Internet.
For more information, see IPv6 Traffic Between Nodes in Different Sites Across the Internet (6to4).
Intrasite Automatic Tunnel Addressing Protocol (ISATAP) is an address assignment and tunneling mechanism for communication between IPv6/IPv4 nodes within an IPv4 site. It is described in the Internet draft titled "Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)" (draft-ietf-ngtrans-isatap-00.txt).
For more information, see IPv6 Traffic Between Nodes on Different Subnets of an IPv4 Internetwork.
To create a temporary global address, random numbers are used to derive the 64-bit interface identifier of a global IPv6 address. This provides a level of anonymity when accessing Internet resources.
For more information, see IPv6 Interface Identifiers.
You can configure published on-link prefixes with a site prefix length. This is described in the Internet draft titled "Site prefixes in Neighbor Discovery" (draft-ietf-ipngwg-site-prefixes-0x.txt).
When a prefix information option that specifies a site prefix is received, an entry is created in the site prefix table. This table is used to remove inappropriate site-local addresses from those that are returned by the getaddrinfo Windows sockets function. You can view the site prefix table by using an IPv6 command. For more information, see IPv6.
The Domain Name System (DNS) resolver (client) in Windows CE .NET 4.1 and later supports processing for DNS IPv6 host records. These records are also known as AAAA, or quad-A, resource records. DNS IPv6 host records are defined in RFC 1886.
For more information, see Host Name Resolution for Dual Stack (IPv4/IPv6).
Applications provided with Windows CE .NET 4.1 and later that support the use of IPv6 include Internet Explorer and Windows Media Player.
For a list of supported applications, see Applications and Services that Support IPv6.
A computer running Windows CE .NET 4.1 and later can act as a static IPv6 router that forwards IPv6 packets between interfaces based on the contents of the IPv6 routing table. You can configure static routes by adding a route using an IPv6 command. For more information, see IPv6. There is currently no support for IPv6 routing protocols.
A computer running Windows CE .NET 4.1 and later can send router advertisements. The contents of router advertisements are automatically derived from the published routes in the routing table. Nonpublished routes are used for routing but are not sent in router advertisements. Router advertisements always contain a source link-layer address option and a maximum transmission unit (MTU) option. The value for the MTU option is taken from the sending interface's current link MTU.
A computer running Windows CE .NET 4.1 and later will only advertise itself as a default router, by using a router advertisement with a router lifetime other than zero, if a default route is configured to be published.
For more information and examples, see Managing IPv6 Routes and IPv6 Traffic Between Nodes on Different Subnets of an IPv6 Internetwork.
The following table shows the IPv6 protocol network utilities for Windows CE .NET 4.1 and later.
IPv6 is a command-line utility you use to configure the IPv6 protocol. IPv6.exe enables you to query and configure interfaces, addresses, caches, and routes. Ipv6.exe has numerous commands, each with its own set of parameters.
For more information, see IPv6.
IPv6tun is a command-line utility you use to configure the 6to4 and ISATAP tunneling capabilities.
For more information, see IPv6tun.
The Netstat command line utility provided with Windows Embedded CE. NET 4.1 and later displays IPv6 statistics. The following list shows the categories of statistics for IPv6:
For more information, see Netstat.