The current underlying protocol used by TCP/IP applications and the Internet is called "IP version 4" (IPv4). It was implemented in the early 1980s. In the early 1990s proposals were made to replace IPv4 with a new version, mainly to overcome the addressing limitations of IPv4. In July 1994 the successor was chosen and named IPv6. Since that time numerous working groups have been busy completing the specifications for all facets of IPv6 and implementations are starting to appear. It is expected that vendor-supplied implementations of IPv6 will appear in the coming years and there will be a gradual transition of the Internet from IPv4 to IPv6.
This tutorial is an overview of all aspects of IPv6. It assumes a basic understanding of TCP/IP in general. But unlike other tutorials on this topic, this class is not just a description of how the protocols operate and what all the fields in the protocol headers mean. Instead, this class approaches IPv6 from the perspectives of a programmer who needs to convert applications from IPv4 to IPv6, and a system administrator who needs to transition a network from pure-IPv4 hosts and routers to a mixture of IPv4 and IPv6 nodes.