Beruflich Dokumente
Kultur Dokumente
Quadrant 1 – e-text
In this module, we will take a look at some of the new and interesting features of the
next-generation of the IPv4 protocol, namely IPv6 protocol. We will see how IPv6
addresses some of the problems that IPv4 has run into, especially in terms of
scalability, and addressing. The objectives for this module address the topics
mentioned below.
Learning Objectives:
Features of IPv6
IPv6 headers
IPv6 addresses
The initial motivation for IPv6 was to find a solution to the IPv4 32-bit address-space
exhaustion problem. This was the first scalability issue that had to be addressed, as the
internet grew in leaps and bounds. As this change was necessary, additional
factors/goals were added for IPv6. Additional problems in IPv4 such as full support for
QoS were also considered. Further, the header format was revisited to help speed
processing/forwarding, and facilitate QoS.
29.2 IPv6 Features
Enlarged address space:- IPv6 addresses are 128-bits wide, giving us 2^128
different addresses, as against the 2^32 addresses of IPv4. That is a pretty large
number and is expected to cover the huge number of devices and things t hat are
likely to be connected in future.
The notation used to represent these addresses is a colon-hex notation as
shown below:
x:x:x:x:x:x:x:x , where x is 16-bits – written as 4 hex numbers.
If there are contiguous 0s, they are compressed, and replaced with just two
colons, as illustrated below:
47CD::A456:0124 (between 47cd and a456, there are 16 zeros).
Fixed header format:- The header format is simplified to have a fixed structure so
that processing and forwarding of packets is speeded up. The packet format is
designed such that any additional information is added as extensible headers, so
that only what is needed can be added. This improves efficiency of processing.
The major changes from the IPv4 datagram format (given in Fig. 29.2) are as follows.
Two fields have been expanded - source and destination IP addresses to 128 bits from
32 bits.
Other major changes are that options are allowed, but outside of header, indicated by
the “Next Header” field.
There is also a new version of the companion protocol ICMP, called ICMPv6, which
supports additional message types, such as “Packet Too Big”, and multicast group
management functions.
29.3.2 IPv6 Extension Headers
A few of the main extension headers and their purposes are listed below:
Routing – for extended routing, like IPv4 loose list of routers to visit
Fragmentation – for fragmentation and reassembly
Authentication – for integrity and authentication, and security
Encapsulation – for confidentiality
Hop-by-Hop Option – for special options that require hop-by-hop processing
Destination Options – for optional information to be examined by the destination node.
It is interesting to see how these headers are arranged in an IPv6 datagram. Some
examples are given in Fig. 29.3.
One important point to note is that, except the hop-by-hop extension header, none of
these headers is processed at the intermediate routers. This reduces processing time.
Also, except for the destination options header, none of the headers appears more than
once. Another important point to note is that, the headers if and when they are
specified, appear in a particular fixed order. The order is shown in Table 29.1.
Table 29.1 Extension Header Order
2 Hop-by-Hop Options 0
4 Routing header 43
5 Fragment header 44
6 Authentication header 51
8 Destination Options 60
When the packet leaves the source A, it has R1 as the first router to be visited. Hence,
R1 is specified as the destination. At R1, the list is looked up to identify the next router
to visit – as R2, and so on. The Left field is updated to reflect the number of
hops/routers to be visited.
The fragment header is used to identify fragments and their sequence. In IPv6,
fragmentation is only performed by the source. The format of the fragmentation header
is given in Fig. 29.5.
The Path MTU Discovery mechanism is used to discover the maximum packet size that
can be sent along the path. If the MTU of any link is smaller than the packet length, it
needs to be fragmented. And this fragmentation is done at the source. As per IPv6
guidelines, the MTU of every link must be at least 1280 bytes.
The reassembly of the fragments is carried out only at the destination. The
unfragmentable part of the reassembled packet consists of all headers up to, but not
including, the fragment header of the first fragment packet. The Next Header field of the
last header of the unfragmentable part is obtained from the Next Header field of the first
fragment’s Fragment header. The Payload Length of the reassembled packet is
computed from the length of the unfragmentable part and the length and offset of the
last fragment.
29.4 IPv6 Addressing
3 13 8 24 16 64
To get the EUI-64 address for a 48-bit MAC address, 0xff-fe is inserted between the 3rd
and 4th bytes, and the universal/local bit (the second low-order bit of the first byte) is
complemented. For example, for a MAC address of 00-02-b3-1e-83-29, the EUI-64 ID
will be: 02-02-b3-ff-fe-1e-83-29.
Site local addresses, are meaningful only in a single site zone, and may be re-used in
other sites. This is equivalent to the IPv4 private address space. These addresses are
not automatically configured and must be assigned. The structure of these addresses is
given below:
Link local unicast address is meaningful only in a single link zone, and may be re -used
on other links. Link-local addresses are used with auto-configuration and when no
routers are present. These are required for Neighbor Discovery process. An IPv6 router
never forwards link-local traffic beyond the link. If the MAC address is known, it is
converted to EUI-64, and the Link local prefix is added to get the link local address. The
format of the link-local address is shown below. For the above example, the address will
be assigned as FE80::202:b3ff:fe1e:8329.
The only drawback of this technique is that the MAC address is known directly from the
IP address, and can cause security issues.
In addition to these there are a few other special IPv6 addresses as shown below.
This feature allows plug and play. There are two methods for autoconfiguration:
Stateless and Stateful. In the stateless method, a system uses link-local address as
source and multicasts to "All routers on this link". The router replies and provides all the
needed prefix information. All prefixes have an associated lifetime. The system can use
the link-local address permanently if there is no router. The problem with stateless is
that anybody can connect to the network.
In the stateful method, the routers ask the new system to go to DHCP (DHCPv6) server
(by setting a managed configuration bit) by multicasting to "All DHCP servers". The
DHCP server assigns an address.
29.6 Transition From IPv4 To IPv6
A very important aspect of the IPv6 protocol, is the seamless mechanism provided to
upgrade or transition from IPv4 to IPv6 in an incremental fashion. Note that not all
routers can be upgraded simultaneously. It may take several years before the complete
transition to IPv6btakes place. So we will have a mix of IPv4 and IPv6 routers. So, how
will the network operate with mixed IPv4 and IPv6 routers, in a manner that is
transparent to end users?
There are two approaches for the transition: Dual stack approach, and the tunnel
approach. In dual stack approach, both IPv4 and IPv6 stacks will co-exist in the new
IPv6 devices; hence they will be able to work with IPv4 networks.
In the tunnel approach, IPv6 packets are tunneled through IPv4 networks, by
encapsulating IPv6 packets in IPv4 packets. These tunnels could be manually
configured or automatically configured using some special IPv6 addresses.
Figure 29.8 shows an example of tunneling where an IPv6 datagram is carried as a
payload in IPv4 datagram among IPv4 routers. Routers A, B, E and F are v6 routers
while C and D are v4 routers. Logically router B is connected to router E, but physically
it goes through C and D. Routers B and E are responsible for encapsulating the IPv6
packet in an IPv4 packet, and decapsulating it respectively.
Figure 29.8 IPv6 Tunneling through IPv4 network
29.7 Summary
Thus we have had an overview of the IPv6 protocol, and the many features that are built
into it. It is built on the experiences learned from IPv4 . It has a large address space,
new efficient header, and autoconfiguration as new features. Yet, it retains the
robustness of IP by essentially being IP !
1. Computer Networking: A Top Down Approach Featuring the Internet, 6th edition.
Jim Kurose, Keith Ross
Addison-Wesley, 2012.
2. Computer Networks: A systems Approach, 4 th edition, David Peterson, Davie,
Morgan Kauffman, 2012.