You are previewing IPv6 Essentials, 2nd Edition.
O'Reilly logo
IPv6 Essentials, 2nd Edition

Book Description

IPv6 Essentials, Second Edition provides a succinct, in-depth tour of all the new features and functions in IPv6. It guides you through everything you need to know to get started, including how to configure IPv6 on hosts and routers and which applications currently support IPv6. The new IPv6 protocols offers extended address space, scalability, improved support for security, real-time traffic support, and auto-configuration so that even a novice user can connect a machine to the Internet. Aimed at system and network administrators, engineers, network designers, and IT managers, this book will help you understand, plan for, design, and integrate IPv6 into your current IPv4 infrastructure.

Beginning with a short history of IPv6, author Silvia Hagen provides an overview of new functionality and discusses why we need IPv6. Hagen also shares exhaustive discussions of the new IPv6 header format and Extension Headers, IPv6 address and ICMPv6 message format, Security, QoS, Mobility and, last but not least, offers a Quick Start Guide for different operating systems. IPv6 Essentials, Second Edition also covers:

  • In-depth technical guide to IPv6

  • Mechanisms and Case Studies that show how to integrate IPv6 into your network without interruption of IPv4 services

  • Routing protocols and upper layer protocols

  • Security in IPv6: concepts and requirements. Includes the IPSEC framework and security elements available for authentication and encryption

  • Quality of Service: covers the elements available for QoS in IPv6 and how they can be implemented

  • Detailed discussion of DHCPv6 and Mobile IPv6

  • Discussion of migration cost and business case

  • Getting started on different operating systems: Sun Solaris, Linux, BSD, Windows XP, and Cisco routers

Whether you're ready to start implementing IPv6 today or are planning your strategy for the future, IPv6 Essentials, Second Edition will provide the solid foundation you need to get started.

"Silvia's look at IPv6 is always refreshing as she translates complex technology features into business drivers and genuine end-user benefits to enable building new business concepts based on end to end models." Latif Ladid, President IPv6 Forum, Chair EU IPv6 Task Force

Table of Contents

  1. IPv6 Essentials
  2. A Note Regarding Supplemental Files
  3. Preface
    1. Audience
    2. About This Book
    3. Organization
    4. Conventions Used in This Book
    5. Using Code Examples
    6. Safari® Enabled
    7. Comments and Questions
    8. Acknowledgments
  4. 1. Why IPv6?
    1. 1.1. The History of IPv6
    2. 1.2. What's New in IPv6?
    3. 1.3. Why Do We Need IPv6?
    4. 1.4. Common Misconceptions
    5. 1.5. When Is It Time for IPv6?
    6. 1.6. IPv6 Around the World
      1. 1.6.1. Asia
      2. 1.6.2. Europe
      3. 1.6.3. The United States
    7. 1.7. IPv6 Status and Vendor Support
    8. 1.8. References
      1. 1.8.1. RFCs
  5. 2. The Structure of the IPv6 Protocol
    1. 2.1. General Header Structure
    2. 2.2. The Fields in the IPv6 Header
      1. 2.2.1. Version (4 Bits)
      2. 2.2.2. Traffic Class (1 Byte)
      3. 2.2.3. Flow Label (20 Bits)
      4. 2.2.4. Payload Length (2 Bytes)
      5. 2.2.5. Next Header (1 Byte)
      6. 2.2.6. Hop Limit (1 Byte)
      7. 2.2.7. Source Address (16 Bytes)
      8. 2.2.8. Destination Address (16 Bytes)
    3. 2.3. Extension Headers
      1. 2.3.1. Hop-by-Hop Options Header
        1. 2.3.1.1. Option Type Jumbogram
        2. 2.3.1.2. Option Router Alert
      2. 2.3.2. Routing Header
      3. 2.3.3. Fragment Header
      4. 2.3.4. Destination Options Header
    4. 2.4. References
  6. 3. IPv6 Addressing
    1. 3.1. The IPv6 Address Space
    2. 3.2. Address Types
      1. 3.2.1. Unicast, Multicast, and Anycast Addresses
      2. 3.2.2. Some General Rules
    3. 3.3. Address Notation
    4. 3.4. Prefix Notation
    5. 3.5. Global Routing Prefixes
    6. 3.6. Global Unicast Address
      1. 3.6.1. International Registry Services and Current Address Allocations
      2. 3.6.2. Prefixes
      3. 3.6.3. The Interface ID
      4. 3.6.4. Address Privacy
    7. 3.7. Special Addresses
      1. 3.7.1. IPv6 Addresses with Embedded IPv4 Addresses
      2. 3.7.2. 6to4 Addresses
      3. 3.7.3. ISATAP addresses
      4. 3.7.4. Teredo Addresses
    8. 3.8. Link- and Site-Local Addresses
    9. 3.9. Anycast Address
    10. 3.10. Multicast Address
      1. 3.10.1. Well-Known Multicast Addresses
      2. 3.10.2. Solicited-Node Multicast Address
      3. 3.10.3. Dynamic Allocation of Multicast Addresses
    11. 3.11. Required Addresses
    12. 3.12. Default Address Selection
    13. 3.13. References
      1. 3.13.1. RFCs
      2. 3.13.2. Drafts
  7. 4. ICMPv6
    1. 4.1. General Message Format
      1. 4.1.1. Type (1 Byte)
      2. 4.1.2. Code (1 Byte)
      3. 4.1.3. Checksum (2 Bytes)
      4. 4.1.4. Message Body (Variable Size)
    2. 4.2. ICMP Error Messages
      1. 4.2.1. Destination Unreachable
      2. 4.2.2. Packet Too Big
      3. 4.2.3. Time Exceeded
      4. 4.2.4. Parameter Problem
    3. 4.3. ICMP Informational Messages
      1. 4.3.1. Echo Request Message
      2. 4.3.2. Echo Reply
    4. 4.4. Processing Rules
    5. 4.5. The ICMPv6 Header in a Trace File
    6. 4.6. Neighbor Discovery (ND)
      1. 4.6.1. Router Solicitation and Router Advertisement
      2. 4.6.2. Neighbor Solicitation and Neighbor Advertisement
      3. 4.6.3. The ICMP Redirect Message
      4. 4.6.4. Inverse Neighbor Discovery
      5. 4.6.5. Neighbor Discovery Options
      6. 4.6.6. Secure Neighbor Discovery
      7. 4.6.7. ND in the Trace File
      8. 4.6.8. Link-Layer Address Resolution
      9. 4.6.9. Neighbor Unreachability Detection (NUD)
      10. 4.6.10. Neighbor Cache and Destination Cache
    7. 4.7. Autoconfiguration
    8. 4.8. Network Renumbering
    9. 4.9. Path MTU Discovery
    10. 4.10. Multicast Listener Discovery (MLD)
      1. 4.10.1. MLDv1
      2. 4.10.2. MLDv2
    11. 4.11. Multicast Router Discovery (MRD)
    12. 4.12. References
      1. 4.12.1. RFCs
      2. 4.12.2. Drafts
  8. 5. Security with IPv6
    1. 5.1. General Security Concepts
    2. 5.2. General Security Practices
    3. 5.3. IPsec Basics
      1. 5.3.1. Security Associations
      2. 5.3.2. Key Management
        1. 5.3.2.1. IKEv1
        2. 5.3.2.2. IKEv2
      3. 5.3.3. IPsec Databases
      4. 5.3.4. IPsec Performance
    4. 5.4. IPv6 Security Elements
      1. 5.4.1. Authentication Header
      2. 5.4.2. Encapsulating Security Payload Header
      3. 5.4.3. Combination of AH and ESP
    5. 5.5. Overview of New IPsec RFCs
    6. 5.6. Interaction of IPsec with IPv6 Elements
    7. 5.7. IPv6 Security "Gotchas"
      1. 5.7.1. Native IPv6
        1. 5.7.1.1. Public Key Infrastructure (PKI)
        2. 5.7.1.2. Firewalls and intrusion detection/prevention systems
        3. 5.7.1.3. Implementation issues
        4. 5.7.1.4. Neighbor Discovery issues
        5. 5.7.1.5. Port scanning
        6. 5.7.1.6. Multicast issues
      2. 5.7.2. Transition and Tunneling Mechanisms
    8. 5.8. Enterprise Security Models for IPv6
      1. 5.8.1. The New Model
      2. 5.8.2. IPv6 Firewall Filter Rules
    9. 5.9. References
      1. 5.9.1. RFCs
      2. 5.9.2. Drafts
  9. 6. Quality of Service
    1. 6.1. QoS Basics
      1. 6.1.1. Integrated Services
      2. 6.1.2. Differentiated Services
    2. 6.2. QoS in IPv6 Protocols
      1. 6.2.1. IPv6 Header
        1. 6.2.1.1. Traffic Class
        2. 6.2.1.2. Flow Label
      2. 6.2.2. IPv6 Extension Headers
      3. 6.2.3. IPv6 Label Switch Architecture (6LSA)
    3. 6.3. Using QoS
    4. 6.4. References
      1. 6.4.1. RFCs
  10. 7. Networking Aspects
    1. 7.1. Layer 2 Support for IPv6
      1. 7.1.1. Ethernet (RFC 2464)
      2. 7.1.2. FDDI (RFC 2467)
      3. 7.1.3. Token Ring (RFC 2470)
      4. 7.1.4. Point-to-Point Protocol (RFC 2472)
      5. 7.1.5. ATM (RFC 2492)
      6. 7.1.6. Frame Relay (RFC 2590)
    2. 7.2. Detecting Network Attachment (DNA)
    3. 7.3. References
      1. 7.3.1. RFCs
      2. 7.3.2. Drafts
  11. 8. Routing Protocols
    1. 8.1. The Routing Table
      1. 8.1.1. Routing Table Lookup and Content
      2. 8.1.2. Default Route
    2. 8.2. RIPng
      1. 8.2.1. Distance-Vector Algorithm for RIPng
      2. 8.2.2. Limitations of the Protocol
      3. 8.2.3. Changes in Topology and Preventing Instability
        1. 8.2.3.1. Route poisoning and the hold-down timer
        2. 8.2.3.2. Split horizon, with or without poison reverse
        3. 8.2.3.3. Triggered updates
      4. 8.2.4. RIPng Message Format
      5. 8.2.5. Next Hop Information
      6. 8.2.6. Timers
      7. 8.2.7. Packet Processing
        1. 8.2.7.1. Request message
        2. 8.2.7.2. Response message
      8. 8.2.8. Control Functions and Security
    3. 8.3. OSPF for IPv6 (OSPFv3)
      1. 8.3.1. Overview of OSPF for IPv6
        1. 8.3.1.1. Differences between OSPF for IPv4 and OSPF for IPv6
        2. 8.3.1.2. Link state-based protocol
        3. 8.3.1.3. OSPF areas and external routes
      2. 8.3.2. OSPF Areas and External Routes
        1. 8.3.2.1. The backbone area
        2. 8.3.2.2. Nonbackbone areas
        3. 8.3.2.3. Virtual links
        4. 8.3.2.4. External routes
        5. 8.3.2.5. Stub areas
        6. 8.3.2.6. Not-so-stubby areas
      3. 8.3.3. Message Format of OSPF for IPv6
        1. 8.3.3.1. Encapsulation in IP datagrams
        2. 8.3.3.2. OSPF header
        3. 8.3.3.3. Processing OSPF packets
      4. 8.3.4. Forming Adjacencies
        1. 8.3.4.1. The Hello packet
        2. 8.3.4.2. Interface status and election of DR/BDR
        3. 8.3.4.3. Processing of Hello packets
        4. 8.3.4.4. Database description exchange
        5. 8.3.4.5. The loading phase
      5. 8.3.5. The Link State Database
        1. 8.3.5.1. Contents of the LSDB
        2. 8.3.5.2. LSAs
        3. 8.3.5.3. LSA header
        4. 8.3.5.4. Router-LSA (type 0x2001)
        5. 8.3.5.5. Network-LSA (type 0x2002)
        6. 8.3.5.6. Inter-Area-Prefix-LSA (type 0x2003)
        7. 8.3.5.7. Inter-Area-Router-LSA (type 0x2004)
        8. 8.3.5.8. AS-External-LSA (type 0x4005)
        9. 8.3.5.9. Link-LSA (type 0x0008)
        10. 8.3.5.10. Intra-Area-Prefix-LSA (type 0x2009)
      6. 8.3.6. Calculation of the OSPF Routing Table (Dijkstra Algorithm)
        1. 8.3.6.1. Step 1: Intra-area routes
        2. 8.3.6.2. Step 2: Inter-area routes
        3. 8.3.6.3. Step 3: External routes
      7. 8.3.7. LSA Flooding
        1. 8.3.7.1. Aging an LSA
        2. 8.3.7.2. Self-originating LSAs
        3. 8.3.7.3. Handling of unknown LSAs
    4. 8.4. BGP-4 Support for IPv6
      1. 8.4.1. BGP-4 Overview
        1. 8.4.1.1. Establishing a BGP connection
        2. 8.4.1.2. Route storage and policies
      2. 8.4.2. BGP Message Header
      3. 8.4.3. OPEN Message
      4. 8.4.4. UPDATE Message
      5. 8.4.5. BGP Attributes
      6. 8.4.6. NOTIFICATION and KEEPALIVE Messages
      7. 8.4.7. BGP Multiprotocol Extension for IPv6
        1. 8.4.7.1. MP_REACH_NLRI path attribute
        2. 8.4.7.2. MP_UNREACH_NLRI path attribute
    5. 8.5. Additional Routing Protocols for IPv6
      1. 8.5.1. Routing IPv6 with IS-IS
        1. 8.5.1.1. Integrated IS-IS
        2. 8.5.1.2. Routing IPv6 with IS-IS
      2. 8.5.2. EIGRP for IPv6
        1. 8.5.2.1. Protocol-dependent modules
        2. 8.5.2.2. EIGRP packet types
        3. 8.5.2.3. EIGRP neighbors
        4. 8.5.2.4. The Diffuse Update Algorithm (DUAL)
        5. 8.5.2.5. EIGRP packet format
        6. 8.5.2.6. EIGRP support for IPv6
      3. 8.5.3. Multicast Routing for IPv6
    6. 8.6. References
      1. 8.6.1. Drafts
  12. 9. Upper-Layer Protocols
    1. 9.1. UDP/TCP
    2. 9.2. DHCP
      1. 9.2.1. DHCP Terms
      2. 9.2.2. DHCPv6 Header Format
        1. 9.2.2.1. Client-Server messages
      3. 9.2.3. Relay Agent—Server Message Format
      4. 9.2.4. DHCP Unique Identifier
      5. 9.2.5. Identity Association
      6. 9.2.6. DHCP Communication
        1. 9.2.6.1. Client and server communication
        2. 9.2.6.2. Renew/Rebind
        3. 9.2.6.3. Information Request
        4. 9.2.6.4. Reconfigure process
        5. 9.2.6.5. Relay Agent communication
      7. 9.2.7. Security Considerations
        1. 9.2.7.1. Security for messages between Relay Agents and DHCP servers
        2. 9.2.7.2. DHCP Authentication
      8. 9.2.8. Dynamic Updates to DNS
      9. 9.2.9. Stateless DHCP
    3. 9.3. DNS
      1. 9.3.1. AAAA Records (RFC 3596)
      2. 9.3.2. DNS Servers
      3. 9.3.3. DNS Resolvers
      4. 9.3.4. DNS Lookup
      5. 9.3.5. Issues with DNS Lookups
    4. 9.4. SLP
    5. 9.5. FTP
    6. 9.6. Telnet
    7. 9.7. Web Servers
      1. 9.7.1. Browser Support
      2. 9.7.2. Proxy Support and Scenarios
    8. 9.8. References
      1. 9.8.1. RFCs
      2. 9.8.2. Drafts
  13. 10. Interoperability
    1. 10.1. Dual-Stack Techniques
    2. 10.2. Tunneling Techniques
      1. 10.2.1. How Tunneling Works
      2. 10.2.2. Automatic Tunneling
      3. 10.2.3. Configured Tunneling (RFC 4213)
      4. 10.2.4. Encapsulation in IPv6 (RFC 2473)
      5. 10.2.5. Transition Mechanisms
        1. 10.2.5.1. 6to4 (RFC 3056)
        2. 10.2.5.2. ISATAP
        3. 10.2.5.3. Teredo
        4. 10.2.5.4. Silkroad
        5. 10.2.5.5. Proto 41 Forwarding
        6. 10.2.5.6. Tunnel Broker
        7. 10.2.5.7. Dual-Stack IPv6 Dominant Transition Mechanism (DSTM)
        8. 10.2.5.8. IPv4/IPv6 coexistence by using VLANs
        9. 10.2.5.9. IPv6 in MPLS networks
        10. 10.2.5.10. Cisco's 6PE
        11. 10.2.5.11. Generic Routing Encapsulation (GRE)
        12. 10.2.5.12. SSH (Secure SHell) Tunnels
    3. 10.3. Network Address and Protocol Translation
      1. 10.3.1. Stateless IP/ICMP Translation
        1. 10.3.1.1. Translating IPv4 to IPv6
        2. 10.3.1.2. Translating ICMPv4 to ICMPv6 and vice versa
        3. 10.3.1.3. Translating IPv6 to IPv4
      2. 10.3.2. NAT-PT
      3. 10.3.3. Limitations
      4. 10.3.4. Other Translation Techniques
        1. 10.3.4.1. Bump-in-the-Stack
        2. 10.3.4.2. Bump-in-the-API
        3. 10.3.4.3. Transport Relay Translator
    4. 10.4. Comparison
      1. 10.4.1. Dual Stack
      2. 10.4.2. Tunneling
      3. 10.4.3. NAT-PT
      4. 10.4.4. When to Choose IPv6?
    5. 10.5. Integration Scenarios
      1. 10.5.1. Organizations
      2. 10.5.2. ISPs
    6. 10.6. Case Studies
      1. 10.6.1. NTT Communications—An ISP Case Study
      2. 10.6.2. University of Porto
        1. 10.6.2.1. Access/perimeter technology
        2. 10.6.2.2. Core and vertical distribution
        3. 10.6.2.3. Network services
        4. 10.6.2.4. Security
        5. 10.6.2.5. Cost of introduction
        6. 10.6.2.6. Conclusions
      3. 10.6.3. University of Strasbourg
      4. 10.6.4. This Book Has Been Reviewed over IPv6
      5. 10.6.5. Moonv6—The Largest IPv6 Test Network
        1. 10.6.5.1. Phase I
        2. 10.6.5.2. Phase II
        3. 10.6.5.3. Phase III
    7. 10.7. What Is Missing?
      1. 10.7.1. IPv6 Routing
      2. 10.7.2. Protocol Selection on Dual-Stack Nodes
      3. 10.7.3. Multihoming with IPv6
      4. 10.7.4. DNS
      5. 10.7.5. Network Management
      6. 10.7.6. IPv4 Dependencies
    8. 10.8. Security Aspects
    9. 10.9. Applications
    10. 10.10. Cost of Introduction
      1. 10.10.1. Hardware and Operating Systems
      2. 10.10.2. Software
      3. 10.10.3. Education
      4. 10.10.4. Planning
      5. 10.10.5. Other Costs
    11. 10.11. Vendor Support
      1. 10.11.1. Operating Systems
      2. 10.11.2. Router Support
      3. 10.11.3. IP Address Management
      4. 10.11.4. Firewalls
    12. 10.12. References
      1. 10.12.1. RFCs
      2. 10.12.2. Drafts
  14. 11. Mobile IPv6
    1. 11.1. Overview
      1. 11.1.1. Mobile IPv6 Terms
      2. 11.1.2. How Mobile IPv6 Works
    2. 11.2. The Mobile IPv6 Protocol
      1. 11.2.1. Mobility Header and Mobility Messages
      2. 11.2.2. The Binding Update Message
      3. 11.2.3. The Binding Acknowledgement
      4. 11.2.4. Mobility Options
      5. 11.2.5. Routing Header Type 2
    3. 11.3. ICMPv6 and Mobile IPv6
      1. 11.3.1. Home Agent Address Discovery
        1. 11.3.1.1. ICMPv6 Home Agent Address Discovery messages
        2. 11.3.1.2. Home agents list
      2. 11.3.2. Mobile Prefix Solicitation
      3. 11.3.3. Changes in Neighbor Discovery (ND)
        1. 11.3.3.1. Modified Router Advertisement format
        2. 11.3.3.2. Modified Prefix option
        3. 11.3.3.3. New Advertisement Interval option
        4. 11.3.3.4. New Home Agent Information option
        5. 11.3.3.5. Changes in the Router Advertisement Interval
    4. 11.4. Mobile IPv6 Communication
      1. 11.4.1. Binding Cache
      2. 11.4.2. Binding Update List
      3. 11.4.3. Return Routability Procedure
      4. 11.4.4. Home Agent Operation
        1. 11.4.4.1. Proxy Neighbor Discovery
        2. 11.4.4.2. Bidirectional Tunneling
      5. 11.4.5. Mobile Node Operation
        1. 11.4.5.1. Route Optimization in detail
        2. 11.4.5.2. Communication with Bidirectional Tunneling
        3. 11.4.5.3. Movement Detection
        4. 11.4.5.4. Returning home
    5. 11.5. Security
    6. 11.6. Extensions to Mobile IPv6
      1. 11.6.1. NEMO
      2. 11.6.2. Hierarchical Mobile IPv6
      3. 11.6.3. Fast Handover
    7. 11.7. References
      1. 11.7.1. RFCs
      2. 11.7.2. Drafts
  15. 12. Get Your Hands Dirty
    1. 12.1. Linux
      1. 12.1.1. Where to Get Linux
      2. 12.1.2. Installation
      3. 12.1.3. Utilities
    2. 12.2. BSD
      1. 12.2.1. Installation
      2. 12.2.2. Utilities
      3. 12.2.3. KAME Project
    3. 12.3. Sun Solaris
      1. 12.3.1. Enable IPv6 and Get Started
      2. 12.3.2. Utilities
    4. 12.4. Macintosh
    5. 12.5. Microsoft
      1. 12.5.1. Windows .NET Server 2003
      2. 12.5.2. Windows XP
        1. 12.5.2.1. Installation and configuration
        2. 12.5.2.2. Utilities
      3. 12.5.3. Microsoft's Roadmap
    6. 12.6. Cisco Router
    7. 12.7. Applications
    8. 12.8. Description of the Tests
      1. 12.8.1. Pinging with IPv6
      2. 12.8.2. Pinging the 6Bone over the IPv4 Infrastructure
      3. 12.8.3. Traceroute with IPv6
      4. 12.8.4. Browsing with IPv6
  16. A. RFCs
    1. A.1. General RFC Information
    2. A.2. Drafts
    3. A.3. RFC Index for IPv6
      1. A.3.1. General IPv6 RFCs
      2. A.3.2. RFCs Referring to Topologies
  17. B. IPv6 Resources
    1. B.1. Ethertype Field
    2. B.2. Next Header Field Values (Chapter 2)
    3. B.3. Reserved Anycast IDs (Chapter 3, RFC 2526)
    4. B.4. Values for the Multicast Scope Field (Chapter 3, RFC 4291)
    5. B.5. Well-Known Multicast Group Addresses (Chapter 3, RFC 2375)
    6. B.6. ICMPv6 Message Types and Code Values (Chapter 4, RFC 2463)
    7. B.7. QoS in IPv6 (Chapter 6)
    8. B.8. Multicast Group Addresses and Token Ring Functional Addresses (Chapter 7)
    9. B.9. OSPFv3 Messages and the Link State Database (Chapter 8)
    10. B.10. BGP-4 Message Types and Parameters (Chapter 8)
    11. B.11. DHCPv6 and Multicast Addresses for SLP over IPv6 (Chapter 9)
    12. B.12. Mobile IPv6 (Chapter 11, RFC 3775)
  18. C. Recommended Reading
  19. Index
  20. About the Author
  21. Colophon
  22. Copyright