Running IPv6, by Iljitsch van Beijnum, ISBN 1-59059-527-0, Apress, 2005. http://www.apress.com/
I’ve read a lot of books about emerging standards that read like “How I spent my summer vacation at a Standards Body.” Running IPv6 is not one of those. While van Iljitsch van Beijnum has been an active part of the IPv6 standards community, he has clearly done the homework of making it all work together. Weighing in at a compact 265 pages, Running IPv6 really gets right to the point. The reader is assumed to have a working knowledge of IPv4.
The book starts off with a fairly typical introduction that explains why the author believes IPv6 is necessary. I find such introductions tedious, because if you’ve already forked out US $44.95 for the book, the chances are that you’re already motivated enough. This is, however, the only tedious chapter in the book.
What follows is a well written and organized primer for network administrators that covers how to configure end hosts, how get address space allocated, set up tunnels, and configure routers and the Domain Name System (DNS). The author covers in detail Linux, Windows, MacOS, Cisco’s IOS (as well as that of other routing vendors), and Bind. We next move on to applications, IPv6 internals, transition strategies, and transit services.
Throughout, van Beijnum provides practical tips and advice on some of the pitfalls he found so the reader can avoid them. I particularly liked one case of whether to use eui-64 for the lower 64 bits of the address, pointing out the conflict between reducing configuration information (a good thing) and reduced readability (a bad thing).
The book primarily highlights differences between IPv4 and IPv6. This is important because it helps competent IPv4 administrators build on their existing knowledge. I know the last thing I want read about is how routing works when routing itself hasn’t changed between versions. And I enjoyed reading, for instance, how Dynamic Host Configuration Protocol Version 6 (DHCPv6) and stateless address auto-configuration differ from DHCPv4. I did not need nor want a primer in DHCP, but I did want to know about prefix delegation, which is not present in DHCPv4.
The author wastes no time on fluffy protocol niceties. Who cares, for instance, how a flow identifier is selected? What’s important is that firewalls of the future may take advantage of it to determine flow direction, a major advance. Packet formats and semantics are only provided as they are needed by engineers to determine whether each component is performing correctly. The book is perhaps, therefore, best commended for what it lacks.
Unfortunately it lacks some subject matter I would like to have seen. Although van Beijnum covers how some common user applications, such as telnet, ftp, Web browsers and servers, and media players can use IPv6, business applications folks will be disappointed as there is no discussion of Oracle, SAP, or the like. The same is true for network management applications. And this may be a key roadblock to deployment of IPv6, as no self-respecting IT manager would deploy a service that cannot be managed. Such an obvious absence begs the question of whether those applications are IPv6 capable. On the bright side, you can try just about everything mentioned in the book because just about every tool mentioned either comes with the operating system or is freely available on the Internet. This book is not just theory.
A Must Read
It therefore shouldn’t surprise anyone that I consider Running IPv6 a “must read” for network engineers who have not yet played with IPv6. Even though Network Management Systems and business applications aren’t covered, necessary protocol internals, semantics, operations, and troubleshooting are covered, therefore giving the reader a good knowledge base.
—Eliot Lear, Cisco Systems, Inc.