IPv6 was the first major revamp of IP resulting in improvement of performance with features like NAT. The original structure has been retained. IPv6 has been available for use with Microsoft Operating Systems since the time of NT 4.0. Microsoft Vista was the operating system that enabled it by default while before this it had to be enabled manually.
Improved Concepts a part of IPv6
There were several features of IPv4 protocol that could be improved upon and IPv6 incorporated those improvements and also added new features resulting in improved performance and functionality.
The new concepts that are a part of IPv6 are:
- Address Space: The address space increased from 32 bits to 128 bits in IPv6. The increased space made it possible that unique addresses be provided. The number of unique addresses that are possible has gone up to 2128.
- Autoconfiguration and Stateless Autoconfiguration: Autoconfiguration is an added feature and improvement over IPv4. Autoconfiguration is possible with both DHCP and without DCP. Stateless autoconfiguration functionality also allows the clients to choose between the appropriate network and the default gateway.
- Improved IPv6 Header: The IPv6 headers have improved efficiency as compared to IPv4 header. The IPv6 has a total of 40 bytes out of which 32 bytes are source and destination addresses, 8 bytes are for the version field, traffic class field and flow label field etc. while the IPv4 header has fixed length and limited fields.
- IPv6 Mobility: IPv6 is a substitute of OSI layer 3 components. This means that the TCP and the UDP components in their current form. IPv6 caters to TCP. TCP is connection oriented meaning that an end to end communication path is established.
- Improved Security: As compared to IPv4, IPv6 has built in security. Internet Protocol Security (IPsec) component is used for authenticating and encrypting secure tunnels from source to destination. This can be established from the client to the servers or between gateways. IPv4 allows it by enhancing on the functionality of the IP header while IPv6 provides this as a standard function by the use of extension headers.
- IPv4 to IPv6 Interoperability: There are several mechanisms that make transitioning from IPv4 to IPv6 easy. These mechanisms are:
- A dual stack implementation;
- Intra-Site Automatic Tunnel Addressing Protocol (ISATAP);
- 6to4 and
- New Broadcast Methods: IPv6 does not use broadcasting. It uses three kinds of packets - unicast, multicast, and anycast and for getting the MAC address of the next in line Ethernet hop, IPv6 clients must bring into use a packet from these types.
IPv6 Addressing Concepts
The concepts that need to be considered in IPv6 addressing are discussed in detail below:
IPv6 Address Format
As already discussed the IPv6 address is of 128 bits and most of the times the hexadecimal notation is followed. . A comparison of IPv4 and IPv6 is represented in the figure given below:
Figure 1: Comparison of IPv4 and IPv6
IPv6 Address Shortcuts
A number of shortcuts for writing IPv6 addresses are possible. The major shortcuts along with examples are enumerated in the table below:
|Shortcut||Meaning / Example|
|Preceeding zeros can be omitted in a 16 bit word||:0DB8: can be represented as :DB8:|
|::||A variable standing for zeros and can be used only once in an address|
Figure 2: Meaning of Symbols
IPv6 Address Assignment
In case of 32 bits of the network from the ISP, 96 bits are available to work with. In case some of the bits are being used within the network infrastructure, it is a case of subnetting. Subnetting is also relevant in the case of IPv6 but with large number of bits available, implementation of VLSM is no longer required. The ipconfig command can be used for seeing the configured address.
IPv6 Address Types
Three types of addresses are used in case of IPv6 - unicast, multicast and anycast. Broadcast used in case of IPv4 are not used in case of IPv6. The prefixes and certain well known addresses used by IPv6 are enumerated in the table below:
|Address Prefix||Scope of use|
|2000:: /3||Global unicast space prefix|
|FE80:: /10||Link-local address prefix|
|FC00:: /7||Unique local unicast prefix|
|FD00:: /8||Unique local unicast prefix|
|FF00:: /8||Multicast prefix|
|2001:DB8:: /32||Global unicast prefix use for documentation|
|::1||Reserved local loopback address|
|2001:0000: /32||Teredo prefix (discussed later in this chapter)|
|2002:: /16||6to4 prefix (discussed later in this chapter)|
Figure 3: IPv6 address space known prefixes and addresses