1.1 Understanding IPv6

With the unprecedented growth of the Internet and the steady increase of users who use the Internet for varied services, there is a need to increase the Internet address spaces. This is to facilitate real-time traffic, flexible congestion control schemes, security, and privacy. The emerging range of network intelligent devices such as mobile phones and home area networks, has further accentuated the need for larger address spaces.

IPv6 aims to provide larger address spaces to overcome the shortcomings of IPv4. To ensure that IPv6 provides all the features that IPv4 does not, the Internet Engineering Task Force (IETF) revisited the definition and functionality that IPv4 offered. IPv6 is designed to produce a streamlined format while integrating support for emerging services such as expanded address configuration, quality of service, security, and support for mobile devices.

This section explains the following:

1.1.1 IPv6 Header Format

Unlike in IPv4, IPv6 options are placed in separate extension headers and are located between the IPv6 headers and the transport layer headers. IPv6 does not require all the routers on a path to examine these header options. The redundant fields from the IPv4 header have been removed for IPv6. These improvements enhance the IPv6 protocol performance, because they cut down on the additional processing.

The following diagram shows the IPv6 header.

Figure 1-1 Header Format

The optional Internet layer information is encoded in separate headers that can be placed between the IPv6 header and the upper-layer header in a packet. These extension headers are identified by a distinct next-header value. The IPv6 packet might or might not carry these extension headers. The following are the currently defined extension headers options:

Table 1-1 Header Functionality

Option

Functionality

Authentication

Integrity and authentication

Destination options 1

Options to be examined by intermediate nodes

Destination options 2

Options to be examined by destination node only

Fragmentation

Fragmentation and reassembly

Hop-by-Hop

Special option for processing at every node

Routing

Extended routing (loose source route)

Security encapsulation

Confidentiality

1.1.2 IPv6 Addressing

IPv6 addresses are 128 bits and identify interfaces or sets of interfaces. The following are the three types of IPv6 addresses:

  • Unicast: identifies a single interface.

  • Anycast: identifies a set of interfaces. A packet sent to this address is forwarded to the nearest interface with the same address, according to the routing protocols' measure of distance.

  • Multicast: identifies a group of interfaces. A packet sent to this address is sent to all interfaces in the group.

The IPv6 address space is the following:

2 128 = 340,282,366,920,938,463,463,374,607,431,768,211,456

1.1.3 IPv6 Security

IPv6 offers the following integrated security services:

  • The IPv6 Authentication Header provides authentication to IPv6 datagrams.

  • The IPv6 Encapsulating Security Header provides integrity and confidentiality to IPv6 datagrams.

1.1.4 IPv6 Routing

RIPv6 and OSPFv6 are protocols that enable routers to exchange information for computing routes through an IPv6 network. The RIPv6 and OSPFv6 protocols must be implemented only on routers, because IPv6 hosts use the Neighbor Discovery Protocol to retrieve information about their neighboring nodes. The RIPv6 protocol works on UDP and the OSPFv6 protocol works on IPv6.

1.1.5 Quality-of-Service Capabilities

The IPv6 protocol provides some Quality-of-Service (QoS) mechanisms for those packets that require special handling. The Flow Label and Traffic Class fields in the IPv6 header are used to identify these packets, which include packets that require nondefault quality of service, real‑time service, or relative priority. This is especially useful for real‑time and multimedia applications.

Two types of header fields enable QoS:

  • Flow Label: identifies a flow, which is a sequence of packets sent from a particular source to a particular destination or multiple destinations for which the source desires special handling.

  • Traffic Class: identifies and distinguishes between different classes or priorities of IPv6 packets.

1.1.6 Address Auto Configuration

Address auto configuration enables a host to automatically learn its interface addresses. This enables the host to operate in a plug-and-play mode.

1.1.7 Path Maximum Transfer Unit

Every network interface has a maximum packet size that it can transfer across the network. This is called the interface’s Maximum Transfer Unit (MTU). The complete path that data packets travel to reach the destination might span across many routers with different MTUs. The smallest MTU among all the routers in a path is referred as the path MTU.

If a packet starts out on a network segment with a large MTU, it might arrive at a router with a smaller MTU. The intermediate routers are not allowed to fragment the packet and, therefore the packet would not be able to traverse through this link.

Before sending the data packets, we it is recommended that each host perform the path MTU discovery process and determine the optimum size for the full path from the source to the destination. To ascertain the path MTU, the host can send out a probe packet of the largest size possible. If it cannot traverse through some link in the path, the host receives a Packet Too Big notification and is further informed about the optimum size of data packets that can be sent through that link.

The path MTU for each interface can be configured in the ip6.cfg file. The size specified in this file becomes the maximum size of the outgoing data packet from that network link.