| About the Author | p. xiii |
| About the Technical Reviewers | p. xv |
| Acknowledgments | p. xvii |
| Introduction | p. xix |
| IPv6 | p. 1 |
| IPv6-Why? | p. 1 |
| IPv6 Benefits | p. 2 |
| More Address Space | p. 2 |
| Innovation | p. 3 |
| Stateless Autoconfiguration | p. 3 |
| Renumbering | p. 4 |
| Efficiency | p. 4 |
| Myths | p. 4 |
| Security | p. 4 |
| Mobility | p. 5 |
| Quality of Service | p. 5 |
| Routing | p. 5 |
| The Transition Will Be Too Expensive | p. 5 |
| IPv6-When? | p. 6 |
| Differences Between IPv4, IPv6, and Other Protocols | p. 6 |
| IPX | p. 8 |
| DECnet Phase IV | p. 8 |
| Apple Talk | p. 9 |
| OSI CLNP | p. 9 |
| TCP/IP | p. 10 |
| IP Version 6 | p. 12 |
| Getting Started | p. 13 |
| IPv6 Addressing | p. 15 |
| Interface Identifiers | p. 16 |
| Multicast Scoping | p. 17 |
| Special Addresses | p. 18 |
| Address Allocation and Assignment | p. 20 |
| Enabling IPv6 | p. 21 |
| Windows | p. 22 |
| Address Privacy | p. 24 |
| FreeBSD | p. 24 |
| Triggering Router Solicitations | p. 25 |
| Address Privacy | p. 26 |
| Linux | p. 26 |
| MacOS | p. 27 |
| The DNS Problem | p. 29 |
| Diagnostics | p. 29 |
| Ping and Traceroute | p. 30 |
| Tunnels | p. 33 |
| "Automatic Tunneling" | p. 34 |
| 6over4 and ISATAP | p. 34 |
| Teredo | p. 35 |
| 6to4 | p. 35 |
| 6to4 Under Windows | p. 36 |
| 6to4 Under MacOS | p. 37 |
| 6to4 Under FreeBSD | p. 39 |
| 6to4 Under Linux | p. 40 |
| 6to4 on a Cisco Router | p. 43 |
| 6to4 Security Issues | p. 44 |
| Monitoring 6to4 | p. 44 |
| Manually Configured Tunnels | p. 46 |
| Windows | p. 46 |
| FreeBSD | p. 48 |
| MacOS X | p. 50 |
| Linux | p. 50 |
| Cisco | p. 54 |
| Manually Configured Tunnels and NAT | p. 55 |
| Getting a Tunnel | p. 56 |
| Routing | p. 57 |
| Routing IPv6 | p. 58 |
| Routing on Windows XP | p. 58 |
| FreeBSD | p. 61 |
| MacOS | p. 61 |
| Linux | p. 62 |
| Static Routes | p. 63 |
| Dynamic Routing | p. 66 |
| Installing Zebra | p. 67 |
| Enabling IPv6 on Cisco and Zebra | p. 71 |
| RIPng | p. 74 |
| OSPFv3 | p. 76 |
| Areas and Metrics | p. 76 |
| Redistribution | p. 77 |
| Neighbors | p. 78 |
| BGP | p. 80 |
| Address Families | p. 81 |
| iBGP | p. 84 |
| Global and Link-Local Next Hop Addresses | p. 86 |
| Interdomain Routing Guidelines | p. 87 |
| Avoiding Tunnels | p. 90 |
| OSPFv3 and BGP for IPv6 on Juniper | p. 92 |
| Site-Local Addresses | p. 96 |
| The DNS | p. 99 |
| Representing IPv6 Information in the DNS | p. 100 |
| RFC 1886: AAAA and ip6.int | p. 101 |
| RFC 2874: A6, DNAME Bitlabels, and ip6.arpa | p. 101 |
| The A6 Name-to-Address Mapping | p. 102 |
| The Bitlabel and DNAME Address-to-Name Mapping | p. 102 |
| RFC 1886 vs. RFC 2874 | p. 104 |
| RFC 3596: AAAA and ip6.arpa | p. 104 |
| The Current Situation | p. 105 |
| Installing and Configuring BIND | p. 106 |
| Installing BIND | p. 106 |
| Starting BIND at Boot Time | p. 106 |
| Configuring BIND | p. 107 |
| Choosing an Address for Your Nameserver | p. 110 |
| Adding IPv6 Information to Zone Files | p. 110 |
| AAAA Records | p. 111 |
| Reverse Mapping | p. 113 |
| RFC 1886 and 2874 Reverse Mapping Hacks | p. 115 |
| Dynamic DNS Updates | p. 116 |
| Applications | p. 117 |
| API Issues | p. 117 |
| IPv4-Mapped IPv6 Addresses | p. 118 |
| Handling Multiple Addresses | p. 119 |
| Old School: FTP, Telnet, and SSH | p. 120 |
| Browsing the Web | p. 121 |
| Mail Clients | p. 123 |
| Media Players | p. 124 |
| The Apache 2 Web Server | p. 127 |
| Listening | p. 127 |
| Virtual Hosting | p. 128 |
| The Sendmail Mail Transfer Agent | p. 130 |
| The UW POP and IMAP Servers | p. 131 |
| The Transition | p. 133 |
| Planning the Transition | p. 134 |
| IPv4 Address Depletion and the HD Ratio | p. 134 |
| IPv6 vs. Network Address Translation | p. 135 |
| Making a Plan | p. 135 |
| Turning Off IPv4? | p. 137 |
| Application Transition Scenarios | p. 138 |
| Proxying | p. 140 |
| Apache as a Proxy | p. 141 |
| Caching | p. 143 |
| Using a Proxy | p. 144 |
| Transport Protocol Translation | p. 146 |
| DNS ALG: Trick-or-Treat Daemon | p. 146 |
| Faith on FreeBSD | p. 147 |
| pTRTd on Linux | p. 148 |
| Network Address Translation-Protocol Translation | p. 148 |
| IPv6 Internals | p. 151 |
| Differences Between IPv4 and IPv6 | p. 151 |
| Checksums | p. 154 |
| Extension Headers | p. 154 |
| ICMPv6 | p. 155 |
| Neighbor Discovery | p. 157 |
| Neighbor Unreachability Detection | p. 158 |
| Stateless Address Autoconfiguration | p. 158 |
| Duplicate Address Detection | p. 159 |
| Address Lifetime | p. 161 |
| Renumbering | p. 161 |
| Address Prefix and Router Lifetime Mismatch | p. 163 |
| Address Selection | p. 163 |
| Path MTU Discovery and Fragmentation | p. 166 |
| DHCPv6 | p. 167 |
| KAME DHCP6 | p. 168 |
| Linux DHCPv6 | p. 169 |
| Cisco IOS DHCPv6 | p. 169 |
| IPv6 Over | p. 171 |
| IPv6 over Ethernet | p. 171 |
| Multicast | p. 171 |
| Group Membership Management | p. 173 |
| IPv6 over Wi-Fi | p. 174 |
| IPv6 over IEEE 1394 | p. 175 |
| IPv6 over PPP | p. 176 |
| Security | p. 179 |
| Differences from IPv4 | p. 179 |
| Leveraging the Hop Limit | p. 179 |
| The Larger Address Space | p. 180 |
| On-link Dangers | p. 180 |
| Node Information Queries | p. 181 |
| Filters | p. 182 |
| TCP Wrappers | p. 183 |
| Stateful Filtering to Replace NAT | p. 184 |
| Linux ip6tables | p. 185 |
| MacOS and FreeBSD ip6fw | p. 186 |
| IPFilter | p. 188 |
| FreeBSD Packet Filter | p. 190 |
| Windows netsh firewall | p. 193 |
| Cisco IPv6 Access Lists | p. 193 |
| Applying Access Lists to Interfaces | p. 194 |
| Stateful Filtering with Reflexive Access Lists | p. 195 |
| Filtering Services on the Router | p. 197 |
| Unicast Reverse Path Forwarding | p. 198 |
| Filter Limitations | p. 199 |
| IPsec | p. 200 |
| IPsec Headers, Modes, and Algorithms | p. 200 |
| Exchanging Keys and Security Associations | p. 202 |
| IPsec on the Wire | p. 204 |
| The KAME IPsec Implementation | p. 205 |
| IPsec Advantages and Limitations | p. 208 |
| Troubleshooting | p. 209 |
| tcpdump | p. 209 |
| tcpdumping ICMPv6 | p. 210 |
| tcpdumping UDP | p. 212 |
| tcpdumping TCP | p. 214 |
| Promiscuity | p. 216 |
| Filters | p. 217 |
| IPv6 Connectivity | p. 219 |
| Address Availability and DAD Failures | p. 219 |
| ndp | p. 221 |
| traceroute6 | p. 221 |
| traceroute and ping on a Cisco Router | p. 222 |
| Forcing the IP Version | p. 223 |
| Path MTU Discovery and Fragmentation | p. 223 |
| Providing Transit Services | p. 227 |
| Getting Address Space | p. 227 |
| Provisioning Customers | p. 228 |
| Single Address Customers | p. 228 |
| Single Subnet Customers | p. 228 |
| Stateless Autoconfiguration | p. 229 |
| Manual Configuration | p. 229 |
| Multi-Subnet Customers | p. 231 |
| Manual Configuration | p. 232 |
| DHCPv6 Prefix Delegation | p. 233 |
| Using a Routing Protocol Toward the Customer | p. 233 |
| Multihomed Customers | p. 235 |
| Hybrid Autoconfig/Manual Configuration | p. 236 |
| IPv6 Dial-Up | p. 238 |
| DNS and Customer Service | p. 238 |
| Running a Private 6to4 Gateway | p. 239 |
| The IETF and RFCs | p. 243 |
| Startup Scripts | p. 249 |
| Red Hat Linux | p. 249 |
| FreeBSD | p. 251 |
| MacOS | p. 252 |
| Postscript | p. 255 |
| MIPv6, SEND, and Shim6 | p. 255 |
| The IETF Attitude Toward IPv6 | p. 256 |
| Index | p. 257 |
| Table of Contents provided by Ingram. All Rights Reserved. |