We discuss IPv6 in today's lesson. IPv4 has played an essential role in the internet working for many years. However, 32 bits of the IPv4 address eventually cannot accommodate its explosive growth. New version IPv6 was designed to interoperate with IPv4 since it would take years to complete the transition from v4 to v6. Two major changes from IPv4 to IPv6 a longer address field and the simplified header format. IPv6 uses 128 bits for addressing that can support 3.4x10 to the 36 hosts. IPv6 also simplifies header format. So as to speed to a processing of each packet header, all fields are of fixed size in IPv6. Let's take an overview of IPv4 and IPv6 comparison. Both keep the version, IPv6 jumps header length, ID, flags, offset and a header checksum. IPv6 further replace the datagram length by payload length. Protocol type by next header, time to leave by Hop limit and type of service by traffic class. It also created a new field, flow field. The IPv6 header consists of a header and optional extension header. The format of the basic header is shown in the figure. So, traffic class is intended to support a differentiated of services. The flow label field can be used to identify quality of service requested by the packet. The IPv6, a flow is defined as a sequence of packets from particular source to a particular destination for which source requires special handling by the intervening routers. Payload length indicates the length of date excluding header with 16 piece allocated to this field. The payload at length is limited to 64K bytes, but it is possible to send it larger payloads by using the option in the extension header. To support extra functionalities that are not provided by the basic header, IPv6 allows an arbitrary number of extension headers to be placed between the basic header and the payload. The extension headers are chained up by the next header field. Extension headers act like options in IPv4, but are more efficient and flexible. IPV6 allows a payload size of more than 64K bytes called a Jumbo packet by using an extension header. The use of larger payload size is promoted by high speed networks, by bigger data applications and by super computing applications. The figure shows the format of the extension header for a packet with a Jumbo Payload. The next header field identifies the type of header immediately following this header. The value 194 defines the Jumbo Payload option. The payload lengths in the basic header must be set to zero. The option lengths field specifies the size of the Jumbo Payload lengths field in the bytes. Finally, the 32-bit Jumbo Payload lengths field specifies that payload size which can be as large as 4 gigabytes. IPv6 allows only the source host to perform fragmentation. Intermediate routers no longer perform fragmentations. The rationale is to speed up routing under the intermediate routers. If the packeting lengths is greater than the max of transfer unit, MTU of the network, a router simply discards the packet and it sends an SMP error message back to the source. A source hold can find a minimal MTU along the path from the source to the destination by performing a path MTU discovery procedure. One disadvantage is that the path between a source and destination must remain reasonably static. So that as a path, MTU discovery doesn't make that updated information. If a source was to fragment a packet, the source will include a fragment extension header as shown in the figure for each fragment of the packet. Like IPv4, IPv6 allows a soft host to specify the sequence of routers to be visited up by a packet to reach the destination. This option is defined by a routing extension header shown in this figure. IPv6 addresses are divided into three categories. Unicast addresses, multicast addresses and anycast addresses. So, don't leave the decimal notation would have been right along when applied to IPv6 long addresses. A more compact notation to use is hexadecimal notation. Because IPv4 networks and hosts widely deployed, migration issues need to be resolved to insure that the transition from IPv4 to IPv6 is small. Current solutions are mainly based on the dual IP layer or dual stack approach whereby both IPv4 and IPv6 functions are present. Routers support both IPv4 and IPv6 protocols, and can forward both types of packets. When islands of IPv6 networks are separated by IPv4 networks, one approach is to build a tunnel across an IPv4 network connecting two IPv6 networks. As shown you this figure, a tunnel is a path created between two nodes, so that a tunnel appears as a single link to the users. A tunnel is typically realized by encapsulating each user packet and another packet that can be forwarded along the tunnel.