ABSTRACT

IPv6 increases the size of the IP address from 32 bits to 128 bits. This results in a very large pool of IP addresses, which allow for a broader range of addressing hierarchies and a much larger number of addressable nodes. This eliminates IP address scarcity and, hence, the NAT deployment. Getting rid of NAT results in a simplified network configuration and reduces hardware/software complexity. The large IPv6 address space also fits well with the

future vision of networked homes, in which various appliances and gadgets will be networked and managed over the Internet. Hence, now onward, the deployment of wireless and mobile devices will not be hampered because of IP address scarcity.We begin this section with a discussion on IPv6 address representation and then look into the IPv6 header format, which contains IPv6 addresses of the source and the destination. We also discuss the classification of IPv6 addresses and end the section with a discussion on some special types of IPv6 addresses. 2.2.1.1 Address representation

A 128-bit (16 bytes) IPv6 address is represented by a sequence of eight components separated by colons as follows: < comp.0>: < comp.1>: …< comp.7>Each component <comp.i> consists of 16 bits (0 or 1), represented as four hexadecimal digits. Each hexadecimal digit represents 4 bits as per the mapping of each hexadecimal digit (0 to F) to its 4-bit binary mapping as follows: 0 = 0000 4 = 0100 8 = 1000 C = 1100 1 = 0001 5 = 0101 9 = 1001 D = 1101 2 = 0010 6 = 0110 A = 1010 E = 1110 3 = 0011 7 = 0111 B = 1011 F = 1111Note that hexadecimal letters in IPv6 address are not case sensitive (Request for Comments (RFC) 2373 [2]). The following are some IPv6 address examples: 4FDE:0000:0000:0002:0022:F376:FF38:AB3F 3FFE:80F0:0002:0000:0000:0010:0000:0000 2001:0660:3003:0002:0a00:20ff:fe18:964c

To represent an IPv6 address more succinctly, RFC 4291 [12] gives the following rules: • Drop the leading zeros within any 16-bit component. • Represent any consecutive set of zero components into a double-colon but use only one.Applying these two rules to the above IPv6 address examples, they can be written as follows:

4FDE::2:22:F376:FF38:AB3F 3FFE:80F0:2::10:0:0 or 3FFE:80F0:2:0:0:10:: 2001:660:3003:2:a00:20ff:fe18:964cNote that there are always eight components in an IPv6 address representation.Hence, it is easy to calculate how many of them are zeros with a single double-colon. However, with more than one double-colon, it becomes ambiguous.