College of IT ‫ﻛـﻠﯾــﺔ اﻟﮭﻧدﺳــﺔ اﻟﻣﻌﻠوﻣﺎﺗﯾــﺔ‬

The current version of the Internet Protocol (known as IP version 4 or IPv4)

has not been substantially changed since RFC 791 was published in 1981.IPv4 has proven to be robust, easily implemented and interoperable, and hasstood the test of scaling an internetwork to a global utility the size of today'sInternet. This is a tribute to its initial design.

However, the initial design did not anticipate:

 The recent exponential growth of the Internet and the impending

exhaustion of the IPv4 address space.  The growth of the Internet and the ability of Internet backbone routers to maintain large routing tables.  The need for simpler configuration.  The requirement for security at the IP level.  The need for better support for real-time delivery of data (also known as quality of service).

To address these concerns, the Internet Engineering Task Force (IETF) hasdeveloped a suite of protocols and standards known as IP version 6 (IPv6).This new version, previously named IP-The Next Generation (IPng),incorporates the concepts of many proposed methods for updating the IPv4protocol. IPv6 is intentionally designed for minimal impact on upper andlower layer protocols by avoiding the arbitrary addition of new features.

 Differences Between IPv4 and IPv6 :

Fig 1 highlights some of the key differences between IPv4 and IPv6.

IPv4 IPv6Source and destination addresses Source and destination addresses are 128are 32 bits (4 bytes) in length. bits (16 bytes) in length. For more information, see “IPv6 Addressing.”Header includes a checksum. Header does not include a checksum. For more information, see “IPv6 Header.”Header includes options. All optional data is moved to IPv6 extension headers. For more information, see “IPv6 Header.”Address Resolution Protocol (ARP) ARP Request frames are replaced withuses broadcast ARP Request multicast Neighbor Solicitation messages.frames to resolve an IPv4 address For more information, see “Neighborto a link layer address. Discovery.”Internet Group Management IGMP is replaced with Multicast ListenerProtocol (IGMP) is used to manage Discovery (MLD) messages. For morelocal subnet group membership. information, see “Multicast Listener Discovery.”ICMP Router Discovery is used to ICMP Router Discovery is replaced withdetermine the IPv4 address of the ICMPv6 Router Solicitation and Routerbest default gateway and is optional. Advertisement messages and is required. For more information, see “Neighbor Discovery.”Broadcast addresses are used to There are no IPv6 broadcast addresses.send traffic to all nodes on a subnet. Instead, a link-local scope all-nodes multicast address is used. For more information, see “Multicast IPv6 Addresses.”Uses host address (A) resource Uses host address (AAAA) resourcerecords in the Domain Name records in the Domain Name System (DNS)System (DNS) to map host names to map host names to IPv6 addresses. Forto IPv4 addresses. more information, see “IPv6 and DNS.”Uses pointer (PTR) resource Uses pointer (PTR) resource records in therecords in the IN-ADDR.ARPA DNS IP6.ARPA DNS domain to map IPv6domain to map IPv4 addresses to addresses to host names. For morehost names. information, see “IPv6 and DNS.”Must support a 576-byte packet size Must support a 1280-byte packet size(possibly fragmented). (without fragmentation). For more information, see “IPv6 MTU.”

Fig. 1 Differences between IPv4 and IPv6

3IPv6 4/14/2008

 IPv6 HeaderThe IPv6 header is a streamlined version of the IPv4 header. It eliminatesfields that are unneeded or rarely used and adds fields that provide bettersupport for real-time traffic.Structure of an IPv6 PacketFig 2 shows the structure of an IPv6 packet.

Fig. 2 the structure of an IPv6 packet

The IPv6 header is always present and is a fixed size of 40 bytes.

IPv6 is using two distinct types of headers:

Main/Regular IPv6 Header and IPv6 Extension Headers.

The main IPv6 header is equivalent to the basic IPv4 one despite some field differences.The IPv4 and IPv6 main headers are shown in Fig 3.

Fig3. IPv4 and IPv6 Headers

4IPv6 4/14/2008

The fields in the main IPv6 header are:

Version – 4 bits are used to indicate the version of IP and is set to 6.Traffic Class – Like the IPv4 Type of Service field, specifies a DSCP values and flags for ECN. The size of this field is 8 bits.Flow Label – Indicates that this packet belongs to a specific sequence of packets between a source and destination, requiring special handling by intermediate IPv6 routers. The size of this field is 20 bits. The Flow Label is used for non-default quality of service connections, such as those needed by real-time data (voice and video). For default router handling, the Flow Label is set to 0. There can be multiple flows between a source and destination, as distinguished by separate non- zero Flow Labels. The use of the Flow Label field is defined in RFC 3697.Payload Length – Indicates the length of the IPv6 payload. The size of this field is 16 bits. The Payload Length field includes the extension headers and the upper layer PDU. With 16 bits, an IPv6 payload of up to 65,535 bytes can be indicated. For payload lengths greater than 65,535 bytes, the Payload Length field is set to 0 and the Jumbo Payload option is used in the Hop-by- Hop Options extension header.

Next Header – Indicates either the first extension header (if present) or the protocol in the upper layer PDU (such as TCP, UDP, or ICMPv6). The size of this field is 8 bits. When indicating an upper layer protocol above the Internet layer, the same values used in the IPv4 Protocol field are used here.Hop Limit – Indicates the maximum number of links over which the IPv6 packet can travel before being discarded. The size of this field is 8 bits. The Hop Limit is similar to the IPv4 TTL field except that there is no historical relation to the amount of time (in seconds) that the packet is queued at the router. When the Hop Limit equals 0, an ICMPv6 Time Exceeded message is sent to the source address and the packet is discarded.Source Address – Stores the IPv6 address of the originating host. The size of this field is 128 bits.Destination Address – Stores the IPv6 address of the current destination host. The size of this field is 128 bits. In most cases the Destination Address is set to the final destination address. However, if a Routing extension header is present, the Destination Address might be set to the next router interface in the source route list.

IPv6 Extension Headers:

The IPv4 header includes all options. Therefore, each intermediate router mustcheck for their existence and process them when present. This can causeperformance degradation in the forwarding of IPv4 packets. With IPv6, delivery andforwarding options are moved to extension headers. The only extension header thatmust be processed at each intermediate router is the Hop-by-Hop Options extensionheader. This increases IPv6 header processing speed and improves forwardingprocess performance.

5IPv6 4/14/2008

RFC 2460 defines the following IPv6 extension headers that must be supported by all IPv6nodes:Hop-by-Hop Options headerDestination Options headerRouting headerFragment headerAuthentication headerEncapsulating Security Payload headerIn a typical IPv6 packet, no extension headers are present. If special handling is required byeither the intermediate routers or the destination, one or more extension headers are addedby the sending host.Each extension header must fall on a 64-bit (8-byte) boundary. Extension headers of variablesize contain a Header Extension Length field and must use padding as needed to ensure thattheir size is a multiple of 8 bytes.Fig 4 shows the Next Header field in the IPv6 header and zero or more extension headersthat form a chain of pointers. Each pointer indicates the type of header that comes after theimmediate header until the upper layer protocol is ultimately identified.

Fig 4. Chaining Extension Headers in IPv6 Packets

6IPv6 4/14/2008

RFC2460 defines the extension headers as shown in the following table alongFig 5 :

Next header 0 194 0

Jumbo payload length

Fig. 7 The extension header for routing

Next header 0 Number addresses Next address

Bit map

Jumbo payload length

Fig. 7 The extension header for routing

7IPv6 4/14/2008

 Concluding :Extension headers are an intrinsic building block of IPv6. tI is criticallyimportant to understand their role and mode of use as well as theprocessing requirements they have on various network devices. DeployedIPv6 networks must be capable to handle IPv6 traffic containingextension headers. They must orward f such IPv6 traffic at op timal,production level performance in the presence of adv anced features suchas Access Lists.

In IPv6 ,unlike in IPv4 , only the source host can fragment a

packet . If a router is confronted with a packet that I too large , itdiscards the packet and sends an ICMP packet back to the source ,so the source fragments the packet and tries again .