Network Basics: Comparing IPv4 and IPv6 Address Structures
Essentially, IPv6 dramatically increases the number of addresses available in IPv4. This is due to major change in the addressing structure between the Internet protocols.
When working with IPv4, you have a 32-bit address format broken into byte size units, or octets. IPv4 allows for a total of 4.3 billion addresses (2^32). After you get rid of special address spaces such as loopback, multicast, and reserved blocks, you have only about 3.7 billion addresses to work with.
Of that, approximately 2.4 billion are already assigned to exiting users, so you do not end up with very many left for all the new people and their myriad of devices. Well, IPv6 increases that address space up to 128 bits, or 2^128 addresses, or 3.4 x 10^38 addresses. Now that is a lot. Check out the following table, where it might make a little more sense.
|Binary address||10011101.10010001.11111011.01101110||10011101.10000010.00010010.10010010. 00011101.00111011.10001101.11110001. 00111011.11000111.11000011.10001110. 11001111.00001111.00111110. 00001110|
|Alternate address display||126.96.36.199||9D82:1292:1D3B:8DF1:3BC7:C38E:CF0F:3E0E|
|Total number of addresses||4.3 x 10^9||3.4 x 10^38|
You may have noticed the rather odd-looking alternate IPv6 address in the table. That is done to keep you from getting a cramp in your hand when writing decimal numbers. This is hex-colon notation, which takes 16 bits and converts them to four hexadecimal numbers, rather than six decimal numbers in dotted-decimal notation.