This part of the report will give an overview about the new Internet
Protocol version 6 (IPv6). In particular the improvements and changes
will be discussed. At first an introduction to the new addresses
will be given. After that the influences and advantages of the bigger
address space will be discussed. Auto-configuration and the mobile
usage of IPv6 are mentioned. The last things that are mentioned are
header structure and security in IPv6.

The most important improvement in IPv6 is the much bigger address
space. IPv4 uses 4 bytes (32 bit) addresses, this is equivalent to
4,294,967,296 (4.3 * 10) addresses. IPv6 increases the
address-size to 16 bytes (128 bit). With this address size
340,282,366,920,938,463,463,374,607,431,
768,211,456 (3.4 * 10)
different addresses can be distinguished (Sæther, 2004).

It is difficult to find a suitable analogy because the IPv6 address
space is so much larger than the IPv4 one. Kozierok (2004) found a
good analogy:

Figure:
Analogy IPv4 to IPv6 Address Space compared with to area of solar system

``To make this diagram to scale, imagine the IPv4 address space is the
1.6-inch square above. In that case, the IPv6 address space would be
represented by a square the size of the solar system.'' (Kozierok,
2004)
.

An IPv4-address is displayed as four decimal numbers separated by
dots:

134.102.199.160

Every number must be in the range between 0 and 255 because it is an 8
bit (1 byte) value. This notation is impractical with IPv6 because of
the long address. An IPv6 address is written as eight groups of 4
hexadecimal digits each (en.wikipedia.org, 2004; de.wikipedia.org,
2004; Forouzan, 2001; Hinden, Deering, 1998; Bieringer, 2004). Every
of this group is a 16 bit (2 bytes) value and can vary between 0000H
and FFFFH. This is equal to 0 and 65535.

Because of the huge address space a lot of addresses will be unused,
many zeros will occur. One zeros-sequence can be condensed with the
::-operator. This operator can be used only once. First zeros in
a column can be left out. (en.wikipedia.org, 2004; de.wikipedia.org,
2004; Forouzan, 2001, Hinden, Deering, 1998)

An alternative is the mixed notation which is helpful by dealing with
IPv4 in IPv6 addresses. Because of the large address space it is no
problem to map the old IPv4 addresses in the new IPv6 address
space. In this special notation the last four bytes of an IPv6 address
are written in dot-decimal (Hinden, Deering, 1998; Kozierok,
2004). For example:

Because of the strong limited address space of IPv4 it is necessary
for users to share IP addresses (Cocquet, 2004). One possibility is a
time sharing in which the IP addresses are dynamical assigned during
establishing the connection to the Internet Service Provider (ISP).
Not every terminal can be online at the same time but the new
technologies like DSL make it possible and affordable to be always
on. For some applications like tele- and video-conferencing it makes
sense to be online 24 hours a day. These kind of applications are
becoming more and more important. The time-sharing confines the usage
of such applications.

Another possibility to share IP addresses is to do a Network Address
Translation (NAT). NAT masquerades many private (internal, not public)
IP addresses behind few public addresses. One of the most important
disadvantages of NAT is that the terminals behind a NAT are not
accessible from outside/public. This is no problem in a
server-client-structure but the trend goes to Peer-to-Peer
applications such as Voice over IP. These applications cannot be fully
used through a NAT (Cocquet, 2004).

The new Internet Protocol version 6 eliminates these
disadvantages. Dirty tricks to share IP addresses are no longer
necessary because of the huge address space. Every terminal gets its
own public and unique IP address. Anyway, the old techniques like NAT
and firewalling can be also applied on IPv6. Sometimes this makes
sense for security reasons (Cocquet, 2004).

A IPv6 address is built up with two main parts: the address (subnet)
prefix and the node identifier. The second part of the IP address is
generated from the layer two MAC address. For privacy reasons there is
a random component in it, so it is not possible to observe a
particular terminal, because it changes its IP address every time it
connects to the network. A more detailed hierarchy was adapted from
Forouzan (2001). The width of all parts of the hierarchy (excluding
the first one) can vary.

In IPv6 the configuration is much easier because of the new
auto-configure feasibility. The terminal gets its address fully
automatically, no manual configuration is needed. On the other hand, it
is still possible to set the IP address manual.

After the terminal is switched on, the node identifier is
generated. The address prefix is set to an special value which
indicates that this first address is a local address. This address
enables the terminal to access the local network. After it has been
checked that the calculated node identifier is unique, the terminal
connects the local router and ask for an auto-configuration. There are
two ways of configuring the IP address: the first possibility is that
the router gives an address prefix to the terminal. With this new
prefix the IP address of the terminal is complete and access to the
Internet is possible. In the second scenario the router gives the IP
address of an local DHCP server to the terminal. The terminal gets its
IP than from the DHCP server. This design makes it possible to keep it
simple (way one) or to do IP address management with a DHCP
server. This is a very important benefit in the mobile environment
because it makes it possible to move through different networks
without knowledge of them. (Kozierok, 2004)

Mobile IPv6 provides the possibility to connect a terminal anywhere in
the Internet. When the terminal uses the home-network/provider to get
access to the Internet there is no problem connecting it. This becomes
difficult if the terminal has moved from the home subnet to another
subnet. By changing the subnet, the IP address changing as well. In
this case the home agent has to know where the mobile terminal can be
found. In step 1 the mobile terminal tells the home agent its new
address (current location). If some terminal wants to connect the
mobile terminal it tries to connect the home location of the mobile
terminal (2a). The home agent knows that the mobile terminal is not at
home and hands the connection over a tunnel to the current location of
the mobile terminal (2b). This way of communication is not efficient
because all transmissions have to transmit through the home agent. For
this reason it is possible to give the current location of the mobile
terminal to the `some terminal`. After this the a direct connection
can be established (3). Adapted from Strand (2004) and Palet (2004).

Figure:
The way of data if the mobile terminal is not at home. Routing over the home agent or direct.

The following picture faces the protocol headers of IPv4 and
IPv6. Adapted from Impress (2003) and Forouzan (2001).

Figure:
The header structure of IPv4 faced against IPv6's ones.

The header structure in IPv6 was reviewed and optimised. It can be
faster processed by routers and other devices. The most important
change is the increase of the address fields form 32 bit to 128
bit. The Time to Live (TTL) field from IPv4 is now called Hop Limit, it is still an 8 bit field. It contains the number of
still allowed hops. Within every hop this value is decreased by
one. The 8 bit field Next Header is a pointer which point to a
payload extension header. Additional information such as header from
an upper layer (TCP, UDP or ICMPv6), fragmentation, encryption or
authentication details can be stored in the payload extension
header. The overall size of the payload is stored as a 16 bit value in
the Payload Length field. The Flow Label field provides
the possibility of special handling of particular data-flows. It is 24
bit long. Traffic control with Priority if realized with a
4-bit-field. The V-field (Version) does not change its meaning,
position or size. It still contains the version number of IP. In IPv4
a binary 4, and in IPv6 a binary 6. (Impress, 2003; Palet, 2004)

The IPv4 header has not a fixed size. The smallest header is 20 bytes
long and grows if some additional information, such as encryption
details, are stored in the option field. In contrast, IPv6 has a
fixed header size of 40 bytes. Additional information is not longer
stored in the header of the packet. This information is stored in the
Payload Extension Headers which are a part of the
Payload. Because of the fixed header size and the fact that all
important information (for routing, for example payload length) stored
in the beginning of each packet, it is possible to process an IPv6
packet much faster as an old IPv4 one. The unnecessary checking
of the header information was disestablished, because this will be
done in the previous layer. This speeds up the processing of an IPv6
packet again, because the checksum does not need to be recalculated in
every hop. (Palet, 2004; Forouzan, 2001)

Another simplification is made in the fragmentation process. In IPv6
only the sender of a packet does fragmentation (Kozierok, 2004). If a
router receives an IPv6 packet which is too large, an error message is
sent back to the sender. The sender has to send smaller packets. An
IPv4 packet will be fragmented by the router if it is too big. In this
case the other side has to be able to do the reserve process, the
defragmentation. Therefore information about the fragmentation process
has to be stored in the packet header. This makes the processing of an
IPv4 packet much slower and more complicated. All information about
fragmentation in IPv6 are stored in a payload extension header. The
payload extension headers are within the payload and have no influence
on the transport (the routers do not take it into account). The
payload headers are used for the end-to-end communication only. (Palet
(2004) mentioned the exception of the routing header)

IPsec was developed for IPv6, it is native implemented in
IPv6. Because of the fact that the majority of the computers still
use IPv4, IPsec was adapted to IPv4 as well. The basic idea of IPsec
is the encapsulation of data to establish a virtual private networks
(VPNs). This is a end-to-end process because it is undesirable that any
terminal between the sender and the receiver can access or modify the
data. There are two categories of these VPSs:
encryption/authentication and tunnelling. If authentication is
used, an authentication header (AH) is added to the packet. This
extra header contains information which is used to make sure that the
sender is the right one.

Figure:
IPsec: The transformation of an packet to an authenticated one.

In case of an encryption the payload of a packet will be encrypted. An
ESP (encapsulation security payload) header and trailer is added to
maintain encryption and authentication.

Figure:
IPsec: The transformation of an packet to an encrypted one.

For tunnelling it is necessary to create a complete new packet which
contains a new IP header, (an encrypted version of) the original
packet, ESP header and trailer. Adapted from Forouzan (2001).

The following graph shows the difference between the two (IPv4 and
IPv6) network layers. Adapted from Forouzan (2001).

Figure:
The difference between the network layers in IPv4 and IPv6.

IP works within or is a part of the network layer. The IPv4 network
layer contains additionally to the IPv4 the Internet Control Message
Protocol (ICMP), the Internet Group Management Protocol (IGMP), the
Address Resolution Protocol (ARP), and the Reverse Address Resolution
Protocol (RARP). IGMP provides the feasibility to doing multi-casting
(Baccala, 1997). The ICMP announces network errors, network
congestion, and timeouts. In addition it can be used to assist
troubleshooting (Baccala, 1997). The ARP is necessary to figure out
the right corresponding (to the Network or IP address) physical
address. The RARP does this the other way around. Forouzan (2001) says
that IGMP, ICMP, and ARP centralised to the ICMPv6 within the
IPv6. RARP is not longer supported because it is rarely used.

The experience of the strengths and weaknesses in IPv4 was used to
develop the new Internet Protocol. That is the reason why this
Internet Protocol in version 6 solves all the major problems of
today's (and hopefully the future's) Internet.

Cocquet, P. (2004) IPv6 on DSL: The Best Way to Develop Always-On
Services, Proceedings of the IEEE 92 (9) September 2004 pp 1400-1408
[Online] Available at http://ieeexplore.ieee.org/iel5/5/29301/01323288.pdf
(accessed 2 October 2004)

de.wikipedia.org (2004) IPv6[Online] Available at
http://de.wikipedia.org/wiki/Ipv6
(accessed 27 November 2004)

en.wikipedia.org (2004) IPv6[Online] Available at
http://en.wikipedia.org/wiki/Ipv6
(accessed 27 November 2004)