Networking_Basic_LinuX: IPv6 IPv6 What is IPv6 ? Mobile IPv6 IPv6 Addressing IPv6 Deployment Status IPv6 & Beijing Olympics 2008 IPv6 & Enterprise IPsec - Security IPv6 & VOIP IPv6 & Sensor Networks IPv6 & NAT IPv6 Interoperability History of IPv6 Microsoft Vista & IPv6 WiMax - Wireless Broadband P2P BitTorrent Filtering ICMPv6 Technical Details End 2 End Solution NextGen Networking IETF History Organization - ARIN IPv6 Header The Future of the Internet Transition Mechanisms IPv6 Hardware Vendor Support IPv6 & The Military NAT - In Depth IPv6 & RFID -RealTime Tracking Internet Appliances Kame Project IPv6 & BioSensors Stateless Auto Configuration IPv6 Business Guide IP Based Technologies MPLS & IPv6 Tech Guide IPTV IPv6 & Auto Industry IPv6 & Video Conferencing Research of IP Sprint & IPv6 Ubiquitous Computing Auto Config - DHCPv6 Bluetooth Technology GSM Mobile Networks IP Multimedia Subsystem IPv6 Multihoming IPv6 Mobile Ecommerce Network Traffic Monitors Secure Neighbor Discovery Telecommunications Industry US Government IPv6 IP PBX SIP - Session Initiation Protocol ALG & IPv6 Mobile Phone Era IPv6 for Linux & BSD IPv6 and the World of Gaming IPv6 Deployment in North America General TCP/IP UDP - User Datagram Protocol 802.11n Wireless 802.1x Wireless Windows Server 2008 WEP - Wired Equivalent Privacy Identity-Based Networking 10 Gigabit Ethernet Traffic Management Network Infrastructure Address Resolution Protocol LTE - Long Term Evolution Fixed Mobile Convergence VPN & IPv6 Open Cellular Networks Submit this article to your favorite social bookmarking websites Digg Facebook Technorati Google BlinkList Del.icio.us Yahoo StumbleUpon Ma.gnolia Reddit Simpy IPv6 Header Deconstructed by Kaushik Das What is an IPv6 Header? An Internet Protocol version 6 (IPv6) data packet comprises of two main parts: the header and the payload. The first 40 bytes/octets (40x8 = 320 bits) of an IPv6 packet comprise of the header (see Figure 1) that contains the following fields: IPv6 IPv6 Source address (128 bits) The 128-bit source address field contains the IPv6 address of the originating node of the packet. It is the address of the originator of the IPv6 packet. Destination address (128 bits) The 128-bit contains the destination address of the recipient node of the IPv6 packet. It is the address of the intended recipient of the IPv6 packet. Version/IP version (4-bits) The 4-bit version field contains the number 6. It indicates the version of the IPv6 protocol. This field is the same size as the IPv4 version field that contains the number 4. However, this field has a limited use because IPv4 and IPv6 packets are not distinguished based on the value in the version field but by the protocol type present in the layer 2 envelope. Packet priority/Traffic class (8 bits) The 8-bit Priority field in the IPv6 header can assume different values to enable the source node to differentiate between the packets generated by it by associating different delivery priorities to them. This field is subsequently used by the originating node and the routers to identify the data packets that belong to the same traffic class and distinguish between packets with different priorities. Flow Label/QoS management (20 bits) The 20-bit flow label field in the IPv6 header can be used by a source to label a set of packets belonging to the same flow. A flow is uniquely identified by the combination of the source address and of a non-zero Flow label. Multiple active flows may exist from a source to a destination as well as traffic that are not associated with any flow (Flow label = 0). The IPv6 routers must handle the packets belonging to the same flow in a similar fashion. The information on handling of IPv6 data packets belonging to a given flow may be specified within the data packets themselves or it may be conveyed by a control protocol such as the RSVP (Resource reSerVation Protocol). When routers receive the first packet of a new flow, they can process the information carried by the IPv6 header, Routing header, and Hop-by-Hop extension headers, and store the result (e.g. determining the retransmission of specific IPv6 data packets) in a cache memory and use the result to route all other packets belonging to the same flow (having the same source address and the same Flow Label), by using the data stored in the cache memory. Payload length in bytes(16 bits) The 16-bit payload length field contains the length of the data field in octets/bits following the IPv6 packet header. The 16-bit Payload length field puts an upper limit on the maximum packet payload to 64 kilobytes. In case a higher packet payload is required, a Jumbo payload extension header is provided in the IPv6 protocol. A Jumbo payload (Jumbogram) is indicated by the value zero in the Payload Length field. Jumbograms are frequently used in supercomputer communication using the IPv6 protocol to transmit heavy data payload. Next Header (8 bits) The 8-bit Next Header field identifies the type of header immediately following the IPv6 header and located at the beginning of the data field (payload) of the IPv6 packet. This field usually specifies the transport layer protocol used by a packet's payload. The two most common kinds of Next Headers are TCP (6) and UDP (17), but many other headers are also possible. The format adopted for this field is the one proposed for IPv4 by RFC 1700. In case of IPv6 protocol, the Next Header field is similar to the IPv4 Protocol field. Time To Live (TTL)/Hop Limit (8 bits) The 8-bit Hop Limit field is decremented by one, by each node (typically a router) that forwards a packet. If the Hop Limit field is decremented to zero, the packet is discarded. The main function of this field is to identify and to discard packets that are stuck in an indefinite loop due to any routing information errors. The 8-bit field also puts an upper limit on the maximum number of links between two IPv6 nodes. In this way, an IPv6 data packet is allowed a maximum of 255 hops before it is eventually discarded. An IPv6 data packet can pas through a maximum of 254 routers before being discarded. In case of IPv6 protocol, the fields for handling fragmentation do not form a part of the basic header. They are put into a separate extension header. Moreover, fragmentation is exclusively handled by the sending host. Routers are not employed in the Fragmentation process. For further details, please see RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification.