nstead. How fast this kind of error recovery is implemented is, as at the time of writing, an implementation-dependent decision. The steps that follow the last entry of Figure 3.34 are the completion of the TCP hand- shake and initiation of data transfer from www.ietf.org. These are not shown. However, we have highlighted one packet from the actual website data transmission in Figure 3.35. In the link where this packet capture was taken from the MTU advertised in MTU option of Router Advertisement is 1400 bytes due to uplink limitations (Router Advertisement not shown). Because of this, the TCP data transmissions have been sized to fit the smallest MTU of the path, which in this case happens to be the MTU of the access link. From the 1400 bytes 40 bytes go to the IPv6 header itself, 20 bytes for the TCP header, and then 1340 bytes for the actual TCP segment data. We can determine the Path MTU used by the stack by adding 40 bytes (IPv6 header length) to the length shown inside the IPv6 header, and seeing from the trace that the amount of TCP data in transit significantly exceeds the 1340 bytes that happens to be in the payload of the highlighted packet. 3.13 Chapter Summary In this chapter, we have been through the essential features of IPv6. We looked at how the IPv6 addressing architecture is set up, what kind of addresses there are, how they are statelessly and statefully allocated to hosts, and how prefix delegation works for the routing scenarios. The IPv6 header structure was analyzed from the main header to the extension headers and with a peek to transport protocol headers and how the transport layer checksum includes the IPv6 pseudo header. The ICMPv6 and the key protocols it provides, such as Neighbor Discovery, were studied. We had a look to IPsec, mobile IP, routing, and protocol verification, and gave attention to a key set of IPv6's companion protocols: Deploying IPv6 in 3GPP Networks No. Time Source Destination Protocol 3.2007 2001:1590:120c: TILLP > 3.2688 2001:14b8:138:0:f4a2:39ea:d220:37ac 2001:1