You are on page 1of 4

Notes for Lecture-15,16

MCA 206: Advanced Computer Networks

1. Introduction

IPv6 is not a new network layer protocol.IPv6: It is an evolutionary step for IP. IPv4 has proven
to be a robust network layer protocol. The biggest problem with IPv4 was the addressing, and
these are the changes that were made. The addressing has not changed, but the methods of
employing the 32-bit addressing have. IPv6 is a direct result of the shortages of the address space
of IPv4. IPv6 is not revolutionary. It is the next step in the datagram delivery protocol known as
IP. The biggest change that exists is the dynamic. Routers and hosts discovery each other
dynamically, hosts can configure themselves dynamically. There is even a replacement for the
DHCP protocol that enforces (and efficiently uses) IP addressing. And, of course, the biggest
change of all for IP: the address! Placing IPv6-capable nodes on a network with other IPv6 nodes
and IPv6 routers will enable an IPv6 network to be established immediately via dynamics.
Neighbor discovery protocols initiate and find the nodes on the network, nodes can
autoconfigure their addresses, and routers simply have to have their interfaces configured and
enabled, and off we go. IPv4 networks prevail, however; probably about 99.99 percent of all
networks are IPv4. Therefore, we must make IPv6 work within the bounds of the existing IPv4
network.

2. IPv6 Features

Expanded addressing capabilities. IPv6 increases the IP address size from 32 bits to 128 bits to
support more levels of addressing hierarchy, a much greater number of addressable nodes, and
simpler autoconfiguration of addresses. There are three types of addresses: unicast, anycast, and
multicast. The scalability of multicast routing is improved by adding a “scope” field to multicast
addresses. There is no broadcast address defined.
Header format simplification. To make IPv6 more efficient, some of the header fields have
been dropped and the header is a static 40 bytes.
Improved support for extensions and options. Since the IP header is a static 40 bytes and
changes in the header cannot be made, the concept of header extensions is in. This provides
greater flexibility for introducing new options in the future.
Flow labeling capability. A new capability is added to enable the labeling of packets belonging
to particular traffic “flows” for which the sender requests special handling, such as nondefault
quality of service or “real-time” service.
Authentication and privacy capabilities. Added support for authentication, data integrity, and
optional data confidentiality through the extensions. IPv6 routing uses the concept of prefix
routing. Every address has an associated prefix which is simply a mask identifier to indicate how
many of the bits, starting from the left are used for routing and how many bits are used to
identify a host. The routers will use the prefix in order to build routing tables. End stations make
the prefix similar to today’s subnet mask.
The existing routing protocols can employ IPv6 addresses as well. There is no need to
specifically upgrade your network to employ Interdomain Routing Protocol to use IPv6. The
existing routing protocols mostly have to change to understand 128-bit addressing.

3. Ipv4 and Ipv6 Header Differences

• IPv6 header is a static 40 bytes in length.


• Total length field is replaced with payload length.
• IPv6 allows for jumbograms (larger than 64k).
• Extension headers.
• TTL field is replaced with the hop limit.
• Many IPv4 options were moved to independent protocols

The first thing to notice about the IPv6 header is that it is a static 40 bytes in length. The length
of the packet header is not variable in length. The checksum was removed. IPv4’s total-length
field is replaced with a payload length. No significant changes here except that IPv6 is a static 40
bytes, so the payload length is truly a measurement of the payload and the IPv6 header is not
included as part of the sum. This field is 16 bits in length, which allows for a maximum of
65,355 byte payload. However, IPv6 allows for a new concept known as jumbo datagrams
(jumbograms), which allows for various network attachments such as I/O connections between
high-speed computers that can process data segments higher than 64k.
One of the more interesting changes to IP with version 6 is the concept of concatenated headers.
This is accomplished using the next header field on the IPv6 header. In IPv6, the protocol type
field is set and that header would immediately follow. For example, if the payload was UDP then
the protocol type is set to 17(decimal) and the UDP header would immediately follow.
The Time to Live (TTL) field is one of the more versatile fields in IP. It is used to prevent
datagrams from constantly looping, keep packets on a local network, used in multicast datagrams
to indicate scope (hearing range), and probably has many other private uses as well. In IPv6, this
field is renamed to Hop Limit, because it is really used as a countdown- by-1 counter. The
original intention of the field was to indicate a time (in seconds). It could be used, for example,
by a router. If the router cannot forward the packet within the amount of time indicated in the
TTL field, it should discard the datagram and generate an ICMP message. However, over time,
most router delays were measured in milliseconds, not seconds. The accepted decrement of the
field was set to 1, and therefore became a hop count and not an indication of time.

The IPv6 header is straightforward. Some of the options for IPv4 were better served by other
TCP/IP protocols and some were kept as a part of IPv6 and are now known as IPv6 extension
headers. These extension headers allow for IPv6 to become extensible beyond a specified (and
limited) options field. It can be modified at later dates to include other options. The current IPv6
specification calls for the following headers (in the order they should appear in the datagram):

IPv6 header (not directly part of the extensions but shown here to show header order).
Hop-by-Hop Options (RFC 1883). The Hop-by-Hop Options header is used to carry optional
information that must be examined by every node along a packet’s delivery path. One of the
options is the jumbo datagram option.
Destination Options (RFC 1883). The Destination Options header is used to carry optional
information that needs be examined only by a packet’s destination node(s).
Routing (Type 0) (RFC 1883). The Routing header is used by an IPv6 source to list one or more
intermediate nodes to be “visited” on the way to a packet’s destination. This function is very
similar to IPv4’s Source Route options.
Fragment (RFC 1883). The Fragment header is used by an IPv6 source to send packets larger
than would fit in the path MTU to their destinations.
Authentication (RFC 1826).
Encapsulating Security Payload (RFC 1827).
Upper-layer header. (not part of the extension header, but shown here to show order).

From end-to-end communication, these fields should be ignored by all stations that may receive
it. These fields are generally built and consumed by the source and destination stations only. The
exception is the hop-by-hop options field, which may be reviewed by routers in the path to the
destination.

4. IPv4 Options — A Review

With the IP header becoming fixed, all of the options fields in the header were not eliminated
completely, they merely changed forms. Basically, IPv4 options are now IP header extensions.
The following are the IPv4 options:
Security. Used to carry security, compartmentation, user group (TCC), and handling restriction
codes compatible with DOD requirements.
Loose source routing. Variable in length and used to route the internet datagram based on
information supplied by the source. Not all the routing hops will be in this field. This option
allows some flexibility in providing a path.
Strict source routing. Variable in length and used to route the internet datagram based on
information supplied by the source. The routing information provided in this field must be
explicitly followed.
Record route. Variable in length and used to trace the route an internet datagram takes.
Stream ID. Used to carry the stream identifier.
Internet timestamp. The timestamp is a right-justified, 32-bit field that indicates a time in
milliseconds since midnight UT (Universal Time). There are placeholders for multiple
timestamps and a flags field to indicate timestamps only. A timestamp is preceded with the
internet address of the registering entity, the internet address fields are prespecified, or an IP
module only registers its timestamp if it matches its own address with the next specified internet
address. This can be used for measurements of the transport layer protocols and other utilities.

5. IPv6 Addressing

There are three types of addresses:


Unicast: An identifier for a single interface. A unique address delivered to a single destination.
Anycast: New for IP (version 6), an anycast address is an identifier for a set of interfaces
(typically belonging to different nodes). This is similar to a multicast, but a packet sent to an
anycast address is delivered to one of the interfaces identified by that address (the “nearest” one,
according to the routing protocols’ measure of distance).
Multicast: An identifier for a set of interfaces (typically belonging to different nodes). A packet
sent to a multicast address is delivered to all interfaces identified by that address.
In IPv6, a broadcast address is not defined. It was superseded by multicast addresses.
In IPv4, we identified addresses by their 32-bit value, normally, written in a form known as
dotted-decimal notation; for example, 132.1.8.10.
An IPv6 address is written in hexadecimal and consists of groupings of 8 containing 4
hexadecimal digits or 8 groups of 16 bits each. This takes the form:
xxxx : xxxx : xxxx : xxxx : xxxx : xxxx : xxxx : xxxx
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 is an example of an IPv6 address. Another
example is the following unicast address:
1080:0000:0000:0000:0008:0800:200C:417A
Since writing an IPv6 address has become unwieldy (DNS becomes very important here), there
are provisions allowed to condense the address into its smallest available form. Therefore, the
preceding unicast address can be compressed into:
1080:0:0:0:8:800:200C:417A
or even
1080::8: 800:200C:417A
The double colon has special significance. It is a demarcation point for compressing leading 0s.
Notice here that only leading 0s can be compressed and the :: symbol can be used only once
during the compression. Therefore if you had the address of:
1080:0:0:5698:0:0:9887:1234
you cannot write it as:
1080::5698::9887:1234
The correct way to compress this address would be to compress one or the other sides.

6. IPv6 Bone

The 6-Bone is a similar overlay that is used to incrementally deploy IPv6. Like the MBone, the
6-Bone uses tunnels to forward packets through IPv4 routers. Unlike the MBone, however, 6-
Bone nodes do not simply provide a new interpretation of IPv4’s 32-bit addresses. Instead, they
forward packets based on IPv6’s 128-bit address space. Moreover, since IPv6 supports multicast,
so does the 6-Bone.

You might also like