The original intention was to assign a unique IP address to each computer that is connected to the Internet. But after the private networks developed and the address space needed to be conserved, this was found not to be always necessary. Today, Private Networks typically connect to the Internet using the Network Address Translation. Technologies such as “anycast” also allow multiple computers to use the same IP address but at different portions of the Internet, so that private networks can handle more consumers.
IPV4 and IPV6
There are two types of IP addresses: IPv4 and IPv6. An IPv4 address, for example, 184.108.40.206, has 4 octets separated by decimals. They are called octets because each of them represents 8 bits (in binary) of the address. The first octet represents the network address and the last three octets are to identify the host. Each of the octets can take any number from 0 to 255 as that is the largest number possible in an 8-bit binary. This limits the number of unique possible combinations of IPv4 addresses to 232.
IPv6 on the other hand uses hexadecimal system and each address is assigned a space of 16 bytes (compared to 4 bytes in IPv4). This increases the number of possibilities to 2128 or 3.408 X 1038, the number which looks vast enough to accommodate the need of all networks in the foreseeable future. A typical IPv6 address looks like this: 2001:0db8:85a3:08d3:1319:8a2e:0370:7334. Windows Vista, Mac OS X and all modern Linux distributions come with native support for this protocol.
The following differences are worth noticing between IPv4 and IPv6:
- IPv4 limits the packet size to 64KB of payload. IPv6 can handle much larger packets, called Jumbograms, which can reach upto 4GB. This can increase the speed of data transfer over high MTU networks.
- The packet header in IPv6 is simpler than the packet header that is used in IPv4.
- The packet header of IPv6 has many rarely-used fields moved to separate options. Hence, though the addresses in IPv6 are four times larger, the (option-less) IPv6 header is only twice the size of the (option-less) IPv4 header.
- The address space of IPv4 is 32 bit whereas the address space of IPv6 is 128 bit.
- With IPv6, stateless autoconfiguration of IP addresses becomes possible. Which means that we can create a unique IP address by combining its LAN address with a prefix provided by the network router.
- IPv4 does not support Multicast whereas with IPv6, multicast is possible. Multicast is transmission of a single datagram to multiple receivers. As a result, multi-media applications can be supported.
- With IPv6, secure VPN ( Virtual Private Network) will be easier to build and deploy.
The above differences show how advanced IPv6 is and how efficient it can be in data transfer. So let us wait for the time when IPv6 completely takes over IPv4.