Figure 8.10 IPv4 header Version Traffic class Flow label 4 bits 8 bits 20 bits Pay load length Next header Hop limit 16 bits 8 bits 8 bits Source address 128 bits Destination address 128 bits Figure 8.11 IPv6 header version 4 (IPv4) is an older version which is still commonly used, and IP version 6 (IPv6) which is gradually replacing it. Figure 8.10 shows the IPv4 header structure. The header size is 20 bytes4 and carries device address information, a checksum to ensure correct detection of header data, and other information such as the length of the payload and time to live. 5 The length of the two address fields of 32 bits is of special interest. These address fields provide for some 4.3x109 (4.3 bil- lion) addresses, and were standardised in the early days of the internet when the number of devices connected to the internet were very few, and therefore the field size was expected to be sufficient. With the explosive growth of the internet in recent decades, this address field is now exhausted leading to a shortage of addresses for devices using IPv4. Furthermore, a number of IP header fields were proven to be redundant. These gave rise to the development of a new version of the IP approach in the early 1990s. The new version, IPv6, has been stan- dardised with a much larger address field and provision for more efficient, more secure usage of header space. The IPv6 header structure is shown in Figure 8.11. It is 40 bytes long and provides 128-bit addresses, or 3.4x1038 addresses for source and destination. This provides 4 The IP header size can be as long as 40 bytes. Time-to-live is used to ensure infinite transmission loops are avoided. Since IP protocol is connection-less, there exist the possibility that a packet is routed in a loop without finding its way to the final destination. This field ensures that a packet is discarded after a certain number of hops between 'relay' points. Broadband Telecommunications Technologies and Management Preamble Start of the 802.1Q 7 bytes of frame destination source Header