Chapter 2 – Internet Protocol Version 6
2.6 Enhancement Over IPv4
This section describes the enhancement of IPv6 for better understanding before moving to the details of its design. As mentioned, IPv6 not only overcomes the limitations of IPv4 mentioned in Section 2.2, but also provides several useful enhancements. According to the IPv6 specifications [5], the changes from IPv4 to IPv6 fall primarily into seven categories. The first change is expanded addressing capabilities. The size of an IP address is increased from 32-bits in IPv4 to 128-bits in IPv6. This increases the address space from 4.3 billion to 3.4 x 1038 unique addresses. This allows multiple levels of subnetting and address allocation from the Internet backbone to the individual subnets within an organization. The need to conserve addresses avoids Network Address Translation (NAT), thus making the network more transparent in terms of end users using these addresses.
The second change is in Anycast Addressing. The Anycast address is simply a Unicast address associated with more than one node or interface. It is used to
This is useful for providing redundancy and load sharing to specific types of network services by assigning a common IP address to multiple instances of the same service. An example of such a network service would be DNS (Domain Name System) where root namesservers (DNS servers) of the Internet are implemented in a cluster of hosts using Anycast addressing. Each of the nameservers in DNS is configured with the same Anycast IP address to listen on.
A client DNS resolver is configured within the DNS that has the same Anycast address as that of nameservers. It is responsible to resolve and choose a name server that is closest to it topologically for incoming requests to resolve a host name to an IP address. If the chosen nameserver fails for any reason, the DNS client packets are then routed to next nearest DNS server.
The third change is the IP header format change. The IP header in IPv6 is greatly simplified by dropping a few of the fields while making a few others part of the optional IPv6 Extension Header. This helps reduce the unnecessary amount of processing, fragmentation at the intermediate nodes and also to limit the bandwidth cost of IPv6 headers. IPv6 header and its fields are briefly described in Section 2.3.
The fourth change is tied to the changes in header format to provide improved support for Extensions and Options. The options in an IPv6 header are part of an Extension header that removes the stringent limit of 40 bytes of options as in IPv4, greater flexibility to add additional options and reduce unnecessary processing at intermediate nodes. This change also supports built in security by
providing extensions to support security options, such as authentication, data integrity, and data confidentiality that are built into IPv6 headers.
The fifth change is support for better QoS. IPv6 provides packet labeling for the sender to provide special handling of packets belonging to a particular stream or flow. This provides special treatment for some real time applications, which requires special handling by the IPv6 routers for Better QoS. This feature is still experimental and subject to change. Section 2.7 provides more details about this for packet labeling and concept of flow.
The sixth change is the way stateful and stateless addresses are configured.
Configuration is automatic and simplified in IPv6 by means of Stateful or Stateless address configuration. In the presence of a Dynamic Host Configuration Protocol (DHCP) server, the host configures its address as a stateful address while in its absence the host configures itself as a stateless address. The stateless address is configured as a link local address (an address formed by concatenating the well known link local prefix and the 48-bit Ethernet address unique to that host interface) of a link and the address derived from prefixes advertised by local routers on the link. The Internet Control Message Protocol 6 (ICMPv6) discovery message is used to discover the local router [5]. If a local router is not present, hosts use the link local address to communicate. For example, the IPv6 addresses for one of the interfaces of Lewis.rnet.missouri.edu are as shown below.
inet6 addr: 2610:e0:a010:302::11/64 Scope:Global
inet6 addr: 2610:e0:a010:302:218:8bff:fe3e:38b/64 Scope:Global
inet6 addr: fe80::218:8bff:fe3e:38b/64 Scope:Link
Ethernet MAC HWaddr 00:18:8B:3E:03:8B
The first two addresses are global stateful addresses. The third address is a link local address and an example of the stateless address while the fourth address is the interface’s Ethernet address. Figure 2.6 below shows how an IPv6 link local address is formed. As seen in the Figure 2.6, the first 64 bits fe80::/64 is the link local prefix advertised when a host is plugged into the network. The remaining address is obtained by converting the 48 bit Ethernet MAC address to 64 bit address by inserting the 16-bits “ff:fe” in the middle. Also the 7 bit most significant bit starting from 1 is inverted as per the EUI-64 standard. A more detailed description can be found in reference [5].
Figure 2.6: Lewis IPv6 Link Local Address
The seventh change is the option to send Jumbograms. The performance over high–MTU links, also called high speed or super computer networks, which allow transfer of large packets without fragmentation. Packets are just limited by the IPv4 packet size of 65,535 bytes (216-1). IPv6 increases this size by using the Jumbo Payload Option header and allows sending packets larger than the 64KB limit. The size of a Jumbogram can be as large as 4,294,967,295 (232-1) bytes [5].
The details of the effect of using Jumbograms as an enhancement over an IPv6 network on transport layer protocols can be found in [12].