It’s an exciting and somewhat daunting time to be a network engineer. We’re living and working through an era of challenging but essential change in our chosen field. Think of the traditional protocols and operational practices that many of us cut our professional teeth on. They’ve helped deliver the Internet and sustained its initial period of unprecedented growth and success. But now they’re rapidly approaching the limits of their ability to enable the next critical stage of Internet and network evolution.
Virtualization, cloud computing, SDN, mobile devices, the Internet of Things—all of these trends are laying bare the weaknesses of traditional networking technology. Such trends would seem to simultaneously promise and demand limitless network scale and unprecedented business agility, but from the same old tubes and wires and the quaint rules that bind them together. You can almost hear Scotty inveighing, “She canna’ take anymore, Captain!”
Unless you’re Rip (or, perhaps, rIP) Van Winkle, none of these weaknesses is as familiar as the limited and rapidly dwindling supply of IPv4 addresses. Likely just as familiar is the remedy for this shortage, IPv6.
I’ve written this book with network architects, engineers and administrators for enterprises in mind. For practical examples, I’ve tried to stick with scenarios and network designs that will be familiar to enterprise IT personnel. However, much of the material presented should be suitable to anyone who needs to learn about network address planning using IPv6. The addressing plan concepts we’ll explore should be relevant and extensible to IP networks of any purpose or size.
The content of this book is based on the assumption that the reader has a working grasp of both the theory and practice of designing and operating computer networks. Universally deployed protocols like TCP/IP, and Ethernet and WAN and LAN architectures should already be very familiar to the reader, while a general knowledge of more recent trends in data-center virtualization, cloud computing, mobile networks, SDN, and the IoT may be helpful as we discuss how IPv6 addressing plan design is likely to be impacted by (and impact) these rapidly evolving technologies.
I’ve aspired to make IPv6 Address Planning durably useful to network architects and engineers, whether they are:
Whatever your particular situation, this book aims to help you design an addressing plan that will prove effective for years to come. To do that, you’ll need best-practice design concepts, principles, and practical examples. This book was conceived and written to help provide them.
Begining in 2008, I was tasked with deploying IPv6 on a large service provider network. At the time, there was already a decent amount of technical literature on IPv6—at least enough to make a substantial, if not entirely confident, start. (And whatever might have been lacking in terms of documented architectural and operational practices, we at least knew we’d need some IPv6 addresses!)
Since we had customers and infrastructure around the world, it made sense at the time to obtain IPv6 allocations from each of the Regional Internet Registries (RIRs). As a service provider, we were used to regularly requesting and obtaining IPv4 addresses, and it turned out to be remarkably easy to get three IPv6 allocations, one each from ARIN, APNIC, and RIPE (for North America, Asia Pacific, and Europe respectively).
Based on documentation we submitted, each RIR assigned us an allocation (still) fairly typical for a service provider request: one /32 of IPv6 address space (or 7.9x1028 addresses). Suddenly, after years of designing, deploying, and operating networks where every IPv4 subnet had to be carefully constrained to preserve a limited quantity of addresses for host assignment (along with the mostly futile attempt to preserve the ability to aggregate prefixes), I had the reverse problem on an astronomical scale: how the heck was I going to logically carve up a total of 3 times 7.9x1028 IPv6 addresses to number the network? What I needed was a comprehensive resource to walk me through how to design and manage an IPv6 addressing plan. But whatever task-specific information existed seemed to be scattered, very uncomprehensively, across many documents and sources.
This is, of course, not a particularly new kind of problem for any networking engineer. Arguably, it’s a perennial condition of our profession that hopefully keeps us challenged and engaged throughout our careers. Still, there’s no point in struggling needlessly. The right book at the right time can go a long way toward maximizing our effectiveness and satisfaction as network engineers and architects. More bluntly, if a book can help you avoid dumb and costly mistakes or having to reinvent operational and architectural practice from scratch, that’s probably a book worth reading and keeping handy.
And if you’re getting the idea that my own efforts in IPv6 address planning were thus afflicted by the lack of such a book, you’re absolutely right! My first IPv6 addressing plan design quickly became my second (and third, and fourth) as I struggled to shed habits of mind and practical experiences from IPv4 that were now, if not entirely useless, then greatly limiting.
Thus, as countless tech authors before me have similarly asserted, this is the book I wish I’d had when I started my first IPv6 addressing plan. I sincerely hope and believe you will find it useful.
This chapter introduces readers to the astronomical abundance of IPv6 addressing. The historical origins of IPv6 are explored while highlighting some of the protocol’s fundamental characteristics. We also look at IP addressing methods in the early Internet and the resulting dilemma of scale that led to the development of IPv6. The recent history of IPv6 deployment along with IPv4 exhaustion is covered. We conclude with the outlook for IPv6 along with the importance of IPv6 address planning.
Chapter 2 reviews the basics of IPv6 addressing in the context of IPv6 address planning, including address representation, structure, and types. Improvements to the protocol are covered, as well as the significance of a 64-bit host address portion. We’ll briefly cover some of the issues with NAT and conclude with a real-world production loopback address example.
The necessary elements of a successful overall IPv6 adoption effort are covered in this chapter. We look at the challenge surrounding recognizing a business case for IPv6 deployment and how the cross-functional nature of the undertaking introduces unique organizational requirements and challenges. The phases of IPv6 adoption are explored with special attention on phase 1 tasks that entail the lowest risk and cost to the existing production network operation.
Chapter 4 explores the methods and concepts of IPv6 subnetting in the context of address planning (and in contrast to legacy practices in IPv4). Nibble-boundary subnetting and its benefits are introduced along with hierarchical subnet grouping. Additional subnetting methods are reviewed, and numerous examples provide an opportunity for the reader to become more comfortable working with hexadecimal.
The principles and techniques that will guide the reader’s IPv6 address planning efforts are covered in Chapter 5. These include the various allocation methods, as well as planning frameworks that have proven the most useful for other IPv6 adoption initiatives. The key idea of site definition is covered as is the method of assigning subnets by location and function. These and other foundational concepts aim to assist the reader in designing an IPv6 address plan that is both immediately effective, as well as long lasting.
IPv6 addresses are readily available through ISPs or Regional Internet Registries. In this chapter, readers will learn typical IPv6 allocation types and sizes. The standards and administrative policies guiding these allocations will be explored. Using the information provided in the previous chapters, the reader will scope their IPv6 address plan to determine the appropriate size and type of IPv6 allocation required.
This chapter brings together the concepts and methods of the previous chapters to walk the reader through IPv6 address planning examples. Techniques such as consistent hierarchical subnetting using nibble boundaries and the encoding of functional and geographical significance into allocated subnet prefixes will be applied. These examples will help demonstrate how the abundant address space available with most IPv6 allocations provides new opportunities for building an operationally efficient address plan.
DDI (DNS, DHCP, and IP Address Management) products and features are helping network administrators and IT managers effectively run their networks. Chapter 8 introduces DDI and reviews how aspects of IPv6 (e.g., the 32-character hexadecimal format of the IPv6 address) create new operational challenges for managing and monitoring change. Auto-addressing via DHCPv6 and DDNS (Dynamic DNS) offer more scalable and flexible methods for deploying and tracking hosts. Readers will learn the key features of DDI, as well as some of its IPv6 capabilities.
Networks are organic entities that change and grow (or shrink!) over time. In this chapter, we review methods for IPv6 renumbering that, combined with abundant addressing, will allow for easier network scale and integration. In addition, we’ll take a look at some of the next-generation network technologies likely to create new integration and address planning challenges—technologies like cloud and the Internet of Things (IoT), which are rapidly becoming part of the networking landscape for enterprises.
In Chapter 10, we’ll learn some of what we need to know to help keep our IPv6 addresses reachable. IPv6 routing protocols will be reviewed along with the pros and cons of adopting each. We’ll examine some of the ways in which particular protocols have been optimized to increase resiliency or conserve router resources when running both IPv4 and IPv6 (dual-stack). We’ll also look at the impact of IPv6 packet and prefix size on routing table limits. Finally, securing the global IPv6 routing table will be discussed along with the associated ACL creation and maintenance best-practices.
The following typographical conventions are used in this book:
Constant width bold
Constant width italic
This icon signifies a tip, suggestion, or general note.
This icon indicates a warning or caution.
Technology professionals, software developers, web designers, and business and creative professionals use Safari Books Online as their primary resource for research, problem solving, learning, and certification training.
Members have access to thousands of books, training videos, and prepublication manuscripts in one fully searchable database from publishers like O’Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology, and hundreds more. For more information about Safari Books Online, please visit us online.
Please address comments and questions concerning this book to the publisher:
|O’Reilly Media, Inc.|
|1005 Gravenstein Highway North|
|Sebastopol, CA 95472|
|800-998-9938 (in the United States or Canada)|
|707-829-0515 (international or local)|
We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at http://bit.ly/ipv6_address_plan.
To comment or ask technical questions about this book, send email to firstname.lastname@example.org.
For more information about our books, courses, conferences, and news, see our website at http://www.oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://www.youtube.com/oreillymedia
We’ve all forced ourselves to read enough acknowledgement sections to read time and again that “book writing is a collaborative effort.” Boy, is that the truth!
First, big thanks to my esteemed technical reviewers Silvia Hagen, Ed Horley, and Cricket Liu for helping make the book so much better than I could have made it on my own. And thanks to Jeff Carrell for providing his expert IPv6 auto-addressing configuration guidance.
Thanks to everyone at O’Reilly, especially Mike Loukides for running with the idea in the first place and to my editor, Brian Anderson, for providing feedback and encouragement.
Much gratitude to everyone at Limelight Networks (AS22822) who helped make the IPv6 project a success, beginning with Denver Maddux who assigned the project in the first place (and removed many barriers to help it move forward). Next, the network engineering team members: Guy Tal, Akito Kurokawa, Ken Penttinen, Brent Van Dussen, Gabe Snook, Elisa Jasinska, and Aaron Selenak. Thanks for your invaluable collaboration on IPv6 (all while helping keep the IPv4 network growing and running smoothly). And big thanks to Colin Rasor, without whose efforts our effective demonstration and rollout of IPv6 as a CDN production service, as well as our participation in World IPv6 Day, might not have been possible.
Thanks to members of the IPv6 adoption community who went out of their way to help inspire and guide my initial efforts at adopting IPv6 on a large network, especially John Jason Brzozowski, Erik Kline, and Phil Roberts.
Thanks to all of my coworkers and colleagues at Infoblox, present and past—especially Paul Ebersman, whose abundant knowledge, generosity, and cultivation were a pleasure to work with and Dave Funk, who intrepidly tackled in-house IPv6 adoption with both aplomb and good humor.
Many blessings to the memory of Erwin Schulhoff (1894-1942), whose exquisite and precociously modern piano music was a constant companion during my writing sessions.
It’s not hyperbole to say that without Ed Horley’s initial encouragement (nagging, really), I would have never believed I could write this book or even gotten started on it. So remember: If this book annoys you for any reason, Ed is at least partially to blame. Of course, his motives were somewhat selfish as he related more than once how weary he was of being asked for a title on IPv6 address planning. And now that he has one, I expect many more sales as a result. On a more serious note, Ed was a tireless advocate, a bottomless wealth of bulletproof professional expertise and wisdom, and a living example of the dictum that knowledge is meant to be shared (cheerfully, at that). I’m lucky to count him as a friend and colleague.
In that same category, Scott Hogg was equally encouraging and available, a true expert across every area of IPv6, and an abiding friend (with a surprisingly bent sense of humor). He’s also living proof that the smartest, most capable experts are often the most humble and accessible.
Much appreciation and thanks to Cricket Liu, without whom it’s exceedingly unlikely I’d have ever had the chance to write this book. I’ll be forever grateful for the opportunity he afforded me to work at Infoblox and for all the subsequent opportunities for professional growth that have arisen since. His tireless enthusiasm, accessibility, and dear friendship made relocation and transition to the new job as painless as such challenges can be.
To these kind people and the many others in the Internet engineering community and IT industry I have had the privilege to learn from, and be inspired by, over the years, whatever might be valuable in this book is a reflection of their knowledge, experience, and patience. Whatever I’ve gotten correct and that proves to be helpful to the reader is entirely thanks to them, while any errors or omissions belong exclusively to me.
Finally, to my beautiful and talented partner, Eva Valencia, goes my deepest gratitude and love. Your patience, encouragement, friendship and love have sustained me not only through this project but through all of my previous professional and creative endeavors—truly, through my life of the last 18 years. I’m looking forward to many more years together. I love you, Eva!