omain Routing (CIDR) system [19], which means the prefix length is appended to the end of an IPv6 address using a slash-character. For example, if the length of the prefix is 64 bits, the address is presented as 2001: db8 a/64. Zone Identifiers On some occasions, it is necessary to include a zone identifier into the Uniform Resource Identifier (URI) or Uniform Resource Locator (URL). This is needed, for example, if a link-local IPv6 address literal needs to be used by the web browser, and a node has multiple interfaces in use. Due to link-local scope of link-local addresses, it is impossible to determine the network interface that a link-local address is meant to be using. To solve this problem, IETF has defined the syntax for presenting a zone identifier in RFC 4007 [5] and is currently improving the syntax to be more exact [20]. In URIs the defined % symbol for presenting the zone identifier needs to be "escaped", and hence syntax containing an escaped %, that is %25, is needed. The following examples illustrate valid IPv6 address and URL formats for presenting a zone identifier eth0, and its use: 2001 db8 : %eth0 2001: db8 : : 42%25eth0 http: // [2001 db8 : 42%eth0] http // [2001 db8 42%25eth0], The exact values for zone identifiers are implementation specific and are different in each operating system. 3.2 IPv6 Packet Header Structure and Extensibility The IPv6 packet header shown in Figure 3.8 was designed to be as compact as possible to minimize increased overhead of IPv6 addresses that take four times the space of IPv4 addresses. The first 8 bytes of the IPv6 header include fields for Version information, Traffic Class, Flow Label, Payload Length, Next Header type, and Hop Limit. The source and destination IPv6 addresses take 16 bytes each and hence the length of the IPv6 header is 40 bytes [21]. The 4-bit Version-field always contains decimal six, indicating that the IP version is IPv6. The contents of Traffic Class and Flow Label are described in Section 3.2.1. People familiar with IPv4 will notice the l