ngth is fixed. Protocol field is not needed because Next header (in the fixed header or in last exten- sion header) determines the higher layer protocol, for example, TCP or UDP. Fragmentation field is not present in IPv6 header. A router that has received a longer packet than it can handle sends back an error message. Then the originating host splits up data into smaller packets. In this way, later transmission is much more efficient because routers need not fragment packets on the fly. Checksum is not present in IPv6 header in Figure 6.42 because its recalculation in every router reduces performance. The network is currently quite reliable and error checking is done at each data link layer of each connection and also end-to-end at the transport layer. 6.6.4.5 IPv6 Addresses The most important problem with IPv4 is the shortage of addresses. IPv6 extends the address range SO that approximately 3 X 10 38 addresses are Data Communications available. If the entire Earth, land and water, were covered with computers, IPv6 would allow 7 X 1023 IP addresses per every square meter [3]. Addresses need not to be used efficiently and even in the most pessimistic scenario it is estimated that more than 1,000 addresses will be available for each square meter of earth surface. This seems to be far more than enough. A notation that is used to write 16-byte addresses contains eight groups of four hexadecimal digits with colons between groups. An example address could look like this: (8000:0000:0000:0000:0ABC:DEF1:2345:789A Because addresses have a lot of zeros, leading zeros in a group can be omitted and, for example, 0ABC can be written as ABC. If one or more groups are zero, they can be replaced by a pair of colons. The address above may then be written as follows: 8000::ABC:DEF1:2345:789A An IPv4 address can be used in an IPv6 address field, and then the first 80 bits are zeros. This form of address can be written as a pair of colons followed by ordinary dotted decimal notation; for example: ::221.109.65.192. IPv6 addresses s