Its most visible shortcoming is the growing shortage of IPv4 addresses needed by all the new devices connecting to the Internet. Other limitations are in such areas as QoS, security, autoconfiguration, and mobility.
As a result, the IETF defined IPv6 to fix the problems in IPv4, and added many enhancements to cater the future Internet. This article addresses the problems in IPv4 that lead to the design of IPv6, presenting the IPv6 design philosophies and IPv6 features, as well as a technical tutorial to enable IPv6 support on your Linux machines.
The link for this article located at LinuxWorld is no longer available.