IPv4 has been around for quite a while now and up until recently it has worked fine. But with the address capacity limit of IPv4, new technology is needed. IPv4 has only a capacity of 4 billion addresses, and the introduction of handheld terminals and mobile phones with access to the internet are going to need more addresses than this.

IPv6 is not a new protocol, its ten years old but was released 6 years ago. It has many more addresses than IPv4, I don’t have the exact number but I’ve heard there are several hundred addresses for every square meter of the earths surface.

Even though IPv6 has a capacity of more addresses than IPv4, it’s actually smaller in space, about half. Here are the headers for both protocols:

IPv4:
Ver, IHL, ToS, Total Length
Identifier, Flags, Fragment Offset
TTL, Protocol, Cheksum
Source Address
Dest. Address
Options

IPv6:
Ver, Traffic Class, Flow Label
Payload Length, Next Header, Hop Limit
Source Address
Dest. Address

Details about the headers can be found here:
Short version
Long version

IPv6 has functionality that supports modern communication. One of the features is the possibility to prioritize data. This is very useful with broadband-services such as streaming of video and audio, wich is sensitive to slow connections. By giving this data higher priority it will be routed faster than e-mail and other internet-traffic on the network. This feature is also very useful for telephone services on the internet (VoIP, Voice over IP). This service is very sensitive to lost packages, as speech will become very unclear with just a little information lost.

The introduction of IPv6 is taking quite some time, because it’s not compatible with IPv4. You can’t just put an IPv6 router into an IPv4 network. Workarounds have to be created, here are two possibilities: 1. If an IPv6 router wants to gain access to a IPv4 network, it has to create a IPv4 wrapping around it’s packets. When another IPv6 router receives the IPv4 packet, it has to remove the wrapping. 2. Header translation, a way to translate an IPv6 packet to IPv4 and back again.

Ipv6 has built-in security. Perhaps this is going to compete with SSL. Her is a link on the issue.