Monday, 9 January 2012

IPv6 Address Syntax, Address Types and Headers

The most attractive and distinguishing feature of IPv6 is its use of much larger addresses.IPv6 is based on 128 bits, IPv6 is four times longer than the 32-bit IPv4 address. A 32-bit address space allows for 232, or 4,294,967,296, possible addresses. A 128-bit address space allows for 2128, or 340,282,366,920,938,463,463,374,607,431,768,211,456 (or 3.4 x 1038), possible addresses. IPv4 was developed and implemented in 1970′s it was 32bit and due to recent change in technology and rapidly growth of devices which are interacting with internet and few years back internet technology stack holder decided to replace the IPv4 with IPv6. Looking at future, technology developer says With IPv6, it is even harder to conceive that the IPv6 address space will ever be consumed. To help put this number in perspective, a 128-bit address space provides 665,570,793,348,866,943,898,599 (6.65 x 1023) addresses for every square meter of the Earth’s surface. Remember that the decision to make the IPv6 address 128 bits in length was not so that every square meter of the Earth could have 6.65 x 1023 addresses. IPv6 Address Syntax IPv4 addresses are delineated in dotted-decimal format. The 32-bit IPv4 address is separated along 8-bit boundaries. 8 bits is converted to its decimal equivalent and separated by periods. For IPv6, the 128-bit address is divided along 16-bit boundaries, and each 16-bit block is converted to a 4-digit hexadecimal number and separated by colons. The resulting representation is called colon hexadecimal.

The following is an IPv6 address in binary form:
0000001010101010000000001111000000111110001010001001110001010101

The 128-bit address is divided along 16-bit boundaries:
0010000111011010 0000000011010011 0000000000000000 0010111100111011

Each 16-bit block is converted to hexadecimal and delimited with colons. The result is:
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A

IPv6 address representation is further simplified by suppressing the leading zeros within each 16-bit block.

However, each block must have at least a single digit. With leading zero suppression, the result is:
21DA:D3:0:2F3B:2AA:FF:FE28:9C5A

There are three types of IPv6 addresses:

1.Unicast

A unicast address associates a single interface within the scope of the type of address. The scope of an address is the region of the IPv6 network over which the address is unique. With the appropriate unicast routing topology, packets addressed to a unicast address are delivered to a single interface. To accommodate load-balancing systems, RFC 2373 allows for multiple interfaces to use the same address as long as they appear as a single interface to the IPv6 implementation on the host.

2.Multicast

A multicast address identifies zero or more interfaces. With the appropriate multicast routing topology, packets addressed to a multicast address are delivered to all interfaces identified by the address.

3.Anycast

An anycast address identifies multiple interfaces. With the appropriate unicast routing topology, packets addressed to an anycast address are delivered to a single interface-the nearest interface that is identified by the address. The nearest interface is defined as being the closest in terms of routing distance. A multicast address is used for one-to-many communication, with delivery to multiple interfaces. An anycast address is used for one-to-one-of-many communication, with delivery to a single interface. In all cases, IPv6 addresses identify interfaces, not nodes. A node is identified by any unicast address assigned to any one of its interfaces. IPv6 header As you know that IPv6 Is a streamlined version of the IPv4 header. Developers wipe out fields that are either unneeded or rarely used, and adds a field that provides better support for real-time traffic. we can see here all headers details

IPv6 header

As you know that IPv6 Is a streamlined version of the IPv4 header. Developers wipe out fields that are either unneeded or rarely used, and adds a field that provides better support for real-time traffic. we can see here all headers details

Version Version field points the version of IP and is set to 6. The size of this field is 4 bits. While the purpose of the Version field is defined in the same way for both IPv4 and IPv6, its value is not used to pass the packet to an IPv4 or IPv6 protocol layer. Version identification is performed through a protocol identification field in the link-layer header.

Traffic Class Traffic Class field points the IPv6 packet’s class or priority. The size of this field is 8 bits. This field provides functionality similar to the IPv4 Type of Service field. In RFC 2460, the values of the Traffic Class field are not defined. However, an IPv6 implementation is required to provide a means for an application layer protocol to specify the value of the Traffic Class field for experimentation. Like the Type of Service field in the IPv4 header, RFC 2474 provides an alternate definition of the Traffic Class field in the form of the Differentiated Services (DS) field.

Flow Label The Flow Label field 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 (QoS) connections, such as those needed by real-time data (voice and video). For default router handling, the Flow Label field is set to 0. There can be multiple flows between a source and destination, as distinguished by separate non-zero flow labels. Like the Traffic Class field, exact details of the Flow Label field’s use are not yet defined.

Payload Length The Payload Length field 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, which is covered later in this chapter.

Next Header The Next Header field indicates either the type of 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, the Next Header field uses the same values that are used in the IPv4 Protocol field.

Hop Limit The Hop Limit field 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 field 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 Hop Limit equals 0 at a router, the router sends an ICMPv6 Time Exceeded-Hop Limit Exceeded in Transit message to the source and discards the packet.
Source Address The Source Address field indicates the IPv6 address of the originating host. The size of this field is 128 bits.

Destination Address The Destination Address field indicates the IPv6 address of the current destination node. The size of this field is 128 bits. In most cases the Destination Address field is set to the final destination address. However, if a Routing extension header is present, the Destination Address field might be set to the address of the next intermediate destination.

No comments:

Post a Comment