This book began in the spring of 1999, when I developed a set of slides and presented an "Introduction to IPv6" course at Bellevue Community College in Bellevue, Washington, to four students. Although the turnout was not what I expected, the time spent learning IPv6, creating the slide presentation, and presenting IPv6 technology to these curious students proved to be an invaluable experience and laid down a firm foundation for future endeavors.
The next steps in the evolution of this book came in the spring of 2000, when the Windows product team was adapting the Microsoft Research IPv6 protocol stack to a developer-preview version for Microsoft Windows XP. At the time, I was writing the product documentation for TCP/IP and insisted upon also writing the product documentation for IPv6. Along the way, I also wrote the "Introduction to IP version 6" white paper that is published on the Microsoft Windows IPv6 Web site (http://www.microsoft.com/ipv6), managed the documentation for Microsoft Windows 2000 IPv6 Technology Preview, wrote the initial drafts of the Microsoft Windows .NET Server 2003 Resource Kit chapters about IPv6, and generally inserted myself in any documentation task associated with IPv6.
During the Windows XP product cycle, it became clear that many in the Windows Networking group and beyond knew little about IPv6 and would need to be educated before they began to adapt their applications and components to use it. I took it upon myself as a special project to develop and deliver an "IPv6 Overview" internal course, with help on Windows Sockets from Tom Fout. This one-day course was taught to Microsoft software design engineers, software test engineers, program managers, and technical writers beginning in October of 2000.
My transition to a program manager for technical content development and my previous endeavors as co-author of Microsoft Windows 2000 TCP/IP Protocols and Services Technical Reference (Microsoft Press, ISBN 0-7356-0556-4) afforded me the time, focus, and experience to turn the "IPv6 Overview" courseware and numerous other white papers and articles about IPv6 into this book.
It has been a long road, filled with the normal triumphs and frustrations of writing any book about networking technology that is rapidly changing. It is my fervent hope that the work that I started in the spring of 1999 has culminated into a well-organized and readable text from which you can learn and understand the concepts, principles, and processes of IPv6.