You are previewing Understanding IPv6, Second Edition.
O'Reilly logo
Understanding IPv6, Second Edition

Book Description

Now updated for Windows Server 2008 and Windows Vista, this guide delivers in-depth technical information on Internet Protocol version 6 (IPv6). IPv6 greatly improves on IPv4, the current protocol, by vastly increasing the number of available addresses and by adding enhancements for security, multimedia traffic management, routing, and network configuration. Written by a popular author and networking expert, this reference details the protocol, from its features and benefits to its packet structure and protocol processes. It also describes how to migrate to IPv6-based internetworking, with tips about coexistence with IPv4-based systems, DHCP, DNS, and routing infrastructure. It discusses how IPv6 is supported by the Windows Server 2008 family of operating systems and Windows Vista. Includes companion CD with fully searchable eBook and other references.

Key Book Benefits

Offers updated coverage of the IPv6-based stack in Windows Server 2008 and Windows Vista

Covers applications and implications of the IPv6 protocol and migration from IPv4 to IPv6 on your Intranet

Includes companion CD with fully searchable eBook and other references

Table of Contents

  1. Understanding IPv6, Second Edition
  2. Dedication
  3. A Note Regarding Supplemental Files
  4. List of Figures
  5. List of Tables
  6. Foreword
    1. Why Does Microsoft Care About IPv6?
  7. Preface
  8. Acknowledgments
  9. Introduction
    1. Who Should Read This Book
    2. What You Should Know Before Reading This Book
    3. Organization of This Book
    4. Appendices of This Book
    5. About the Companion CD-ROM
    6. System Requirements
    7. IPv6 Protocol and Windows Product Versions
    8. A Special Note to Teachers and Instructors
    9. Disclaimers and Support
      1. Technical Support
  10. 1. Introduction to IPv6
    1. Limitations of IPv4
      1. Consequences of the Limited IPv4 Address Space
    2. Features of IPv6
      1. New Header Format
      2. Large Address Space
      3. Stateless and Stateful Address Configuration
      4. IPsec Header Support Required
      5. Better Support for Prioritized Delivery
      6. New Protocol for Neighboring Node Interaction
      7. Extensibility
    3. Comparison of IPv4 and IPv6
    4. IPv6 Terminology
    5. The Case for IPv6 Deployment
      1. IPv6 Solves the Address Depletion Problem
      2. IPv6 Solves the Disjoint Address Space Problem
      3. IPv6 Solves the International Address Allocation Problem
      4. IPv6 Restores End-to-End Communication
      5. IPv6 Uses Scoped Addresses and Address Selection
      6. IPv6 Has More Efficient Forwarding
      7. IPv6 Has Support for Security and Mobility
    6. Testing for Understanding
  11. 2. IPv6 Protocol for Windows Server 2008 and Windows Vista
    1. Architecture of the IPv6 Protocol for Windows Server 2008 and Windows Vista
    2. Features of the IPv6 Protocol for Windows Server 2008 and Windows Vista
      1. Installed, Enabled, and Preferred by Default
      2. Basic IPv6 Stack Support
      3. IPv6 Stack Enhancements
      4. GUI and Command-Line Configuration
      5. Integrated IPsec Support
      6. Windows Firewall Support
      7. Temporary Addresses
      8. Random Interface IDs
      9. DNS Support
      10. Source and Destination Address Selection
      11. Support for ipv6-literal.net Names
      12. LLMNR
      13. PNRP
      14. Literal IPv6 Addresses in URLs
      15. Static Routing
      16. IPv6 over PPP
      17. DHCPv6
      18. ISATAP
      19. 6to4
      20. Teredo
      21. PortProxy
    3. Application Support
    4. Application Programming Interfaces
      1. Windows Sockets
      2. Winsock Kernel
      3. Remote Procedure Call
      4. IP Helper
      5. Win32 Internet Extensions
      6. .NET Framework
      7. Windows Filtering Platform
    5. Manually Configuring the IPv6 Protocol
      1. Configuring IPv6 Through the Properties of Internet Protocol Version 6 (TCP/IPv6)
        1. General Tab
        2. Advanced TCP/IP Settings
      2. Configuring IPv6 with the Netsh.exe Tool
        1. Configuring Addresses
        2. Adding Default Gateways
        3. Adding DNS Servers
    6. Disabling IPv6
    7. IPv6-Enabled Tools
      1. Ipconfig
      2. Route
      3. Ping
      4. Tracert
      5. Pathping
      6. Netstat
    8. Displaying IPv6 Configuration with Netsh
      1. Netsh interface ipv6 show interface
      2. Netsh interface ipv6 show address
      3. Netsh interface ipv6 show route
      4. Netsh interface ipv6 show neighbors
      5. Netsh interface ipv6 show destinationcache
    9. References
    10. Testing for Understanding
  12. 3. IPv6 Addressing
    1. The IPv6 Address Space
    2. IPv6 Address Syntax
      1. Compressing Zeros
      2. IPv6 Prefixes
    3. Types of IPv6 Addresses
    4. Unicast IPv6 Addresses
      1. Global Unicast Addresses
      2. Topologies Within Global Addresses
      3. Local-Use Unicast Addresses
        1. Link-Local Addresses
        2. Site-Local Addresses
        3. Zone IDs for Local-Use Addresses
      4. Unique Local Addresses
      5. Special IPv6 Addresses
      6. Transition Addresses
    5. Multicast IPv6 Addresses
      1. Solicited-Node Address
      2. Mapping IPv6 Multicast Addresses to Ethernet Addresses
    6. Anycast IPv6 Addresses
      1. Subnet-Router Anycast Address
    7. IPv6 Addresses for a Host
    8. IPv6 Addresses for a Router
    9. Subnetting the IPv6 Address Space
      1. Step 1: Determining the Number of Subnetting Bits
      2. Step 2: Enumerating Subnetted Address Prefixes
        1. Using the Binary Method
        2. Using the Hexadecimal Method
        3. Using the Decimal Method
    10. IPv6 Interface Identifiers
      1. EUI-64 Address-Based Interface Identifiers
        1. IEEE 802 Addresses
        2. IEEE EUI-64 Addresses
          1. Mapping IEEE 802 Addresses to EUI-64 Addresses
        3. Obtaining Interface Identifiers for IPv6 Addresses
          1. Converting IEEE 802 Addresses to IPv6 Interface Identifiers
          2. IEEE 802 Address Conversion Example
      2. Temporary Address Interface Identifiers
    11. IPv4 Addresses and IPv6 Equivalents
    12. References
    13. Testing for Understanding
  13. 4. The IPv6 Header
    1. Structure of an IPv6 Packet
    2. IPv4 Header
    3. IPv6 Header
      1. Network Monitor Capture
      2. Values of the Next Header Field
      3. Comparing the IPv4 and IPv6 Headers
    4. IPv6 Extension Headers
      1. Extension Headers Order
      2. Hop-by-Hop Options Header
        1. Option Type Field
        2. Pad1 Option
        3. PadN Option
        4. Jumbo Payload Option
        5. Router Alert Option
          1. Network Monitor Capture
      3. Destination Options Header
        1. Home Address Option
        2. Summary of Option Types
      4. Routing Header
        1. Network Monitor Capture
      5. Fragment Header
        1. IPv6 Fragmentation Process
          1. Network Monitor Capture
        2. IPv6 Reassembly Process
      6. Authentication Header
      7. Encapsulating Security Payload Header and Trailer
    5. IPv6 MTU
    6. Upper-Layer Checksums
    7. References
    8. Testing for Understanding
  14. 5. ICMPv6
    1. ICMPv6 Overview
      1. Types of ICMPv6 Messages
      2. ICMPv6 Header
    2. ICMPv6 Error Messages
      1. Destination Unreachable
        1. Network Monitor Capture
      2. Packet Too Big
        1. Network Monitor Capture
      3. Time Exceeded
      4. Parameter Problem
    3. ICMPv6 Informational Messages
      1. Echo Request
        1. Network Monitor Capture
      2. Echo Reply
        1. Network Monitor Capture
    4. Comparing ICMPv4 and ICMPv6 Messages
    5. Path MTU Discovery
      1. Changes in PMTU
    6. References
    7. Testing for Understanding
  15. 6. Neighbor Discovery
    1. Neighbor Discovery Overview
    2. Neighbor Discovery Message Format
    3. Neighbor Discovery Options
      1. Source and Target Link-Layer Address Options
        1. Network Monitor Capture
      2. Prefix Information Option
        1. Network Monitor Capture
      3. Redirected Header Option
        1. Network Monitor Capture
      4. MTU Option
        1. Network Monitor Capture
      5. Route Information Option
    4. Neighbor Discovery Messages
      1. Router Solicitation
        1. Network Monitor Capture
      2. Router Advertisement
        1. Network Monitor Capture
      3. Neighbor Solicitation
        1. Network Monitor Capture
      4. Neighbor Advertisement
        1. Network Monitor Capture
      5. Redirect
        1. Network Monitor Capture
      6. Summary of Neighbor Discovery Messages and Options
    5. Neighbor Discovery Processes
      1. Conceptual Host Data Structures
      2. Address Resolution
        1. Address Resolution Example—Part 1
          1. Network Monitor Capture
        2. Address Resolution Example—Part 2
          1. Network Monitor Capture
      3. Neighbor Unreachability Detection
        1. Neighbor Cache Entry States
        2. Neighbor Unreachability Detection and Dead Gateway Detection
      4. Duplicate Address Detection
        1. Duplicate Address Detection Example—Part 1
          1. Network Monitor Capture
        2. Duplicate Address Detection Example—Part 2
          1. Network Monitor Capture
      5. Router Discovery
        1. Router Discovery Example—Part 1
          1. Network Monitor Capture
        2. Router Discovery Example—Part 2
          1. Network Monitor Capture
      6. Redirect Function
        1. Redirect Example—Part 1
        2. Redirect Example—Part 2
        3. Redirect Example—Part 3
    6. Host Sending Algorithm
    7. IPv4 Neighbor Messages and Functions and IPv6 Equivalents
    8. References
    9. Testing for Understanding
  16. 7. Multicast Listener Discovery and MLD Version 2
    1. MLD and MLDv2 Overview
    2. IPv6 Multicast Overview
      1. Host Support for Multicast
      2. Router Support for Multicast
        1. Receive All IPv6 Multicast Traffic
        2. Forward IPv6 Multicast Traffic
        3. Receive and Process MLD or MLDv2 Multicast Listener Report and MLD Multicast Listener Done Messages
        4. Query Attached Subnets for Host Membership Status
        5. Communicate Group Membership to Other IPv6 Multicast Routers
    3. MLD Packet Structure
    4. MLD Messages
      1. Multicast Listener Query
      2. Multicast Listener Report
        1. Network Monitor Capture
      3. Multicast Listener Done
    5. Summary of MLD
    6. MLDv2 Packet Structure
    7. MLDv2 Messages
      1. The Modified Multicast Listener Query
      2. MLDv2 Multicast Listener Report
        1. Network Monitor Capture
    8. Summary of MLDv2
    9. MLD and MLDv2 Support in Windows Server 2008 and Windows Vista
    10. References
    11. Testing for Understanding
  17. 8. Address Autoconfiguration
    1. Address Autoconfiguration Overview
      1. Types of Autoconfiguration
      2. Autoconfigured Address States
    2. Autoconfiguration Process
    3. DHCPv6
      1. DHCPv6 Messages
      2. DHCPv6 Stateful Message Exchange
      3. DHCPv6 Stateless Message Exchange
      4. DHCPv6 Support in Windows
        1. DHCPv6 Client
        2. DHCPv6 Relay Agent
        3. DHCPv6 Stateless and Stateful Server
    4. IPv6 Protocol for Windows Server 2008 and Windows Vista Autoconfiguration Specifics
      1. Autoconfigured Addresses for the IPv6 Protocol for Windows Server 2008 and Windows Vista
    5. References
    6. Testing for Understanding
  18. 9. IPv6 and Name Resolution
    1. Name Resolution for IPv6
      1. DNS Enhancements for IPv6
      2. LLMNR
        1. LLMNR Message Structure
    2. Source and Destination Address Selection
      1. Source Address Selection Algorithm
      2. Destination Address Selection Algorithm
      3. Example of Using Address Selection
    3. Name Resolution Support in Windows Server 2008 and Windows Vista
      1. Hosts File
      2. DNS Resolver
      3. DNS Server Service
      4. DNS Dynamic Update
      5. Source and Destination Address Selection
      6. LLMNR Support
      7. Support for ipv6-literal.net Names
      8. Peer Name Resolution Protocol
    4. References
    5. Testing for Understanding
  19. 10. IPv6 Routing
    1. Routing in IPv6
      1. IPv6 Routing Table Entry Types
      2. Route Determination Process
      3. Strong and Weak Host Behaviors
      4. Example IPv6 Routing Table for Windows Server 2008 and Windows Vista
        1. The netsh interface ipv6 show route Command
        2. The route print Command
    2. End-to-End IPv6 Delivery Process
      1. IPv6 on the Sending Host
      2. IPv6 on the Router
      3. IPv6 on the Destination Host
    3. IPv6 Routing Protocols
      1. Overview of Dynamic Routing
      2. Routing Protocol Technologies
        1. Distance Vector
        2. Link State
        3. Path Vector
      3. Routing Protocols for IPv6
        1. RIPng for IPv6
        2. OSPF for IPv6
        3. Integrated IS-IS for IPv6
        4. BGP-4
    4. Static Routing with the IPv6 Protocol for Windows Server 2008 and Windows Vista
      1. Configuring Static Routing with Netsh
        1. Additional Netsh Command Options to Configure IPv6 Router Behavior
      2. Configuring Static Routing with Routing and Remote Access
      3. Dead Gateway Detection
    5. References
    6. Testing for Understanding
  20. 11. IPv6 Transition Technologies
    1. Overview
      1. Node Types
      2. IPv6 Transition Addresses
    2. Transition Mechanisms
      1. Using Both IPv4 and IPv6
        1. Dual IP Layer Architecture
        2. Dual-Stack Architecture
      2. IPv6-over-IPv4 Tunneling
        1. Network Monitor Capture
      3. DNS Infrastructure
        1. Address Records
        2. Pointer Records
        3. Address Selection Rules
    3. Tunneling Configurations
      1. Router-to-Router
      2. Host-to-Router and Router-to-Host
      3. Host-to-Host
      4. Types of Tunnels
        1. Configured Tunnels
        2. Automatic Tunnels
    4. PortProxy
    5. References
    6. Testing for Understanding
  21. 12. ISATAP
    1. ISATAP Overview
      1. ISATAP Tunneling
      2. ISATAP Tunneling Example
    2. ISATAP Components
    3. Router Discovery for ISATAP Hosts
      1. Resolving the Name "ISATAP"
        1. Network Monitor Capture
      2. Using the netsh interface isatap set router Command
    4. ISATAP Addressing Example
    5. ISATAP Routing
    6. ISATAP Communication Examples
      1. ISATAP Host to ISATAP Host
      2. ISATAP Host to IPv6 Host
    7. Configuring an ISATAP Router
    8. References
    9. Testing for Understanding
  22. 13. 6to4
    1. 6to4 Overview
      1. 6to4 Tunneling
      2. 6to4 Tunneling Example
    2. 6to4 Components
    3. 6to4 Addressing Example
      1. 6to4 Routing
    4. 6to4 Support in Windows Server 2008 and Windows Vista
      1. 6to4 Host/Router Support
      2. 6to4 Router Support
        1. Automated 6to4 Router Configuration
        2. Manual 6to4 Router Configuration
    5. 6to4 Communication Examples
      1. 6to4 Host to 6to4 Host/Router
      2. 6to4 Host to IPv6 Host
        1. Network Monitor Capture
    6. Example of Using ISATAP and 6to4 Together
      1. Part 1: From ISATAP Host A to 6to4 Router A
      2. Part 2: From 6to4 Router A to 6to4 Router B
      3. Part 3: From 6to4 Router B to ISATAP Host B
    7. References
    8. Testing for Understanding
  23. 14. Teredo
    1. Introduction to Teredo
      1. Benefits of Using Teredo
      2. Teredo Support in Microsoft Windows
      3. Teredo and Protection from Unsolicited Incoming IPv6 Traffic
      4. Network Address Translators (NATs)
        1. Types of NATs
    2. Teredo Components
      1. Teredo Client
      2. Teredo Server
      3. Teredo Relay
      4. Teredo Host-Specific Relay
      5. The Teredo Client and Host-Specific Relay in Windows
    3. Teredo Addresses
    4. Teredo Packet Formats
      1. Teredo Data Packet Format
      2. Teredo Bubble Packets
      3. Teredo Indicators
        1. Authentication Indicator
        2. Origin Indicator
    5. Teredo Routing
      1. Routing for the Teredo Client in Windows
        1. On-Link Teredo Client Destinations
        2. Intersite Teredo Client Destinations
        3. IPv6 Internet Destinations
    6. Teredo Processes
      1. Initial Configuration for Teredo Clients
        1. Network Monitor Capture
      2. Maintaining the NAT Mapping
      3. Initial Communication Between Teredo Clients on the Same Link
      4. Initial Communication Between Teredo Clients in Different Sites
        1. Cone NAT
        2. Restricted NAT
      5. Initial Communication from a Teredo Client to a Teredo Host-Specific Relay
        1. Cone NAT
        2. Restricted NAT
      6. Initial Communication from a Teredo Host-Specific Relay to a Teredo Client
        1. Cone NAT
        2. Restricted NAT
      7. Initial Communication from a Teredo Client to an IPv6-Only Host
        1. Cone NAT
        2. Restricted NAT
      8. Initial Communication from an IPv6-Only Host to a Teredo Client
        1. Cone NAT
        2. Restricted NAT
    7. References
    8. Testing for Understanding
  24. 15. IPv6 Security Considerations
    1. IPv6 Security Considerations
    2. Authorization for Automatically Assigned Addresses and Configurations
      1. Recommendations
    3. Protection of IPv6 Packets
      1. Recommendations
    4. Host Protection from Scanning and Attacks
      1. Address Scanning
      2. Port Scanning
      3. Recommendations
    5. Control of What Traffic Is Exchanged with the Internet
      1. Recommendations
    6. Summary
    7. References
    8. Testing for Understanding
  25. 16. Deploying IPv6
    1. Introduction
    2. Planning for IPv6 Deployment
      1. Platform Support for IPv6
      2. Application Support for IPv6
      3. Unicast IPv6 Addressing
      4. Tunnel-Based IPv6 Connectivity
        1. ISATAP
        2. 6to4
        3. Teredo
        4. Manually Configured Tunnels
        5. Disabling Tunneling Technologies
      5. Native IPv6 Connectivity
        1. Unicast Routing
        2. Multicast Routing
      6. Name Resolution with DNS
      7. DHCPv6
      8. Host-Based Security and IPv6 Traffic
      9. Prioritized Delivery for IPv6 Traffic
    3. Deploying IPv6
      1. Set Up an IPv6 Test Network
      2. Begin Application Migration
        1. Inventory Your Applications
        2. Scope the Work and Schedule Application Migration
      3. Configure DNS Infrastructure to Support AAAA Records and Dynamic Updates
      4. Deploy a Tunneled IPv6 Infrastructure with ISATAP
      5. Upgrade IPv4-Only Hosts to IPv6/IPv4 Hosts
      6. Begin Deploying a Native IPv6 Infrastructure
      7. Connect Portions of Your Intranet over the IPv4 Internet
        1. 6to4 with IPsec Protection of 6to4-tunneled Traffic
        2. Site-to-Site VPN Connections
      8. Connect Portions of Your Intranet over the IPv6 Internet
    4. Summary
    5. References
    6. Testing for Understanding
  26. A. Link-Layer Support for IPv6
    1. Basic Structure of IPv6 Packets
    2. LAN Media
      1. Ethernet: Ethernet II
        1. Network Monitor Capture
      2. Ethernet: IEEE 802.3 SNAP
      3. Token Ring: IEEE 802.5 SNAP
      4. FDDI
    3. IEEE 802.11
      1. Frame Control Field
    4. WAN Media
      1. PPP
      2. X.25
      3. Frame Relay
      4. ATM: Null Encapsulation
      5. ATM: SNAP Encapsulation
    5. IPv6 over IPv4
    6. References
  27. B. Windows Sockets Changes for IPv6
    1. Added Constants
    2. Address Data Structures
      1. in6_addr
      2. sockaddr_in6
      3. sockaddr_storage
    3. Wildcard Addresses
      1. in6addr_loopback and IN6ADDR_LOOPBACK_INIT
    4. Core Sockets Functions
    5. Name-to-Address Translation
    6. Address-to-Name Translation
      1. Using getaddrinfo
    7. Address Conversion Functions
    8. Socket Options
    9. New Macros
    10. References
  28. C. IPv6 RFC Index
    1. General
    2. Addressing
    3. Applications
    4. Sockets API
    5. Transport Layer
    6. Internet Layer
    7. Network Layer Security
    8. Link Layer
    9. Routing
    10. IPv6 Transition Technologies
  29. D. Testing for Understanding Answers
    1. Chapter 1: Introduction to IPv6
    2. Chapter 2: IPv6 Protocol for Windows Server 2008 and Windows Vista
    3. Chapter 3: IPv6 Addressing
    4. Chapter 4: The IPv6 Header
    5. Chapter 5: ICMPv6
    6. Chapter 6: Neighbor Discovery
    7. Chapter 7: Multicast Listener Discovery and MLD Version 2
    8. Chapter 8: Address Autoconfiguration
    9. Chapter 9: IPv6 and Name Resolution
    10. Chapter 10: IPv6 Routing
    11. Chapter 11: IPv6 Transition Technologies
    12. Chapter 12: ISATAP
    13. Chapter 13: 6to4
    14. Chapter 14: Teredo
    15. Chapter 15: IPv6 Security Considerations
    16. Chapter 16: Deploying IPv6
  30. E. Setting Up an IPv6 Test Lab
    1. IPv6 Test Lab Setup
      1. DNS1
      2. CLIENT1
      3. ROUTER1
      4. ROUTER2
      5. CLIENT2
    2. IPv6 Test Lab Tasks
      1. Performing Link-Local Pings
      2. Enabling Native IPv6 Connectivity on Subnet 1
      3. Configuring ISATAP
      4. Configuring Native IPv6 Connectivity for All Subnets
      5. Using Name Resolution
      6. Configuring an IPv6-Only Routing Infrastructure
  31. F. Mobile IPv6
    1. Overview
      1. Mobile IPv6 Components
      2. Mobile IPv6 Transport Layer Transparency
    2. Mobile IPv6 Messages and Options
      1. Mobility Header and Messages
        1. Mobility Header
      2. Type 2 Routing Header
      3. Home Address Option for the Destination Options Header
      4. ICMPv6 Messages for Mobile IPv6
        1. Home Agent Address Discovery Request
        2. Home Agent Address Discovery Reply
        3. Mobile Prefix Solicitation
        4. Mobile Prefix Advertisement
      5. Modifications to Neighbor Discovery Messages and Options
        1. Modifications to the Router Advertisement Message
        2. Modified Prefix Information Option
        3. Advertisement Interval Option
        4. Home Agent Information Option
    3. Mobile IPv6 Data Structures
      1. Binding Cache
      2. Binding Update List
      3. Home Agents List
    4. Correspondent Registration
      1. Return Routability Procedure
      2. Detecting Correspondent Nodes That Are Not Mobile IPv6–Capable
    5. Mobile IPv6 Message Exchanges
      1. Data Between a Mobile Node and a Correspondent Node
        1. Indirect Delivery via the Home Agent
        2. Direct Delivery
      2. Binding Maintenance
        1. Home-Agent Binding Maintenance
        2. Correspondent Node Binding Maintenance
      3. Home Agent Discovery
      4. Mobile Prefix Discovery
    6. Mobile IPv6 Processes
      1. Attaching to the Home Link
      2. Moving from the Home Link to a Foreign Link
        1. Attaching to the Foreign Link
        2. Mobile Node Initiates Communication with a New Correspondent Node
        3. A New Correspondent Node Communicates with a Mobile Node
        4. A Node on the Home Link Communicates with the Mobile Node
        5. Mobile Node Changes Its Home Address
      3. Moving to a New Foreign Link
      4. Returning Home
    7. Mobile IPv6 Host Sending Algorithm
    8. Mobile IPv6 Host Receiving Algorithm
    9. References
  32. G. IPv6 Reference Tables
  33. Glossary
  34. H. About the Author
  35. I. System Requirements
  36. J. Get Certified—Windows Server 2008
    1. Additional Resources for IT Professionals
  37. K. Windows Server 2008—Resources for Administrators
    1. Additional Resources for IT Professionals
  38. L. Windows Server 2008 Resource Kit—Your Definitive Resource!
    1. Also available as single volumes
  39. Index
  40. About the Author
  41. Copyright