Contents
Chapter 1 Introductic
1.1 Preparing for a Decision
1.2 Two Years of Competition
1.3 The New Specifications
1.4 PointsofControversy
1.5 Further Reading
Chapter 2 The Design of IPv6
2.1 The IPv6 Header Fonnat
2.1.1 A Comparison of Two Headers
2.1.2 Simplifications
2.1.3 Classic Parameters, Revised
2.1.4 NewFields
2.2 From Options to Extension Headers
2.2.1 A Daisy Chain of Headers
2.2.2 Routing Header
2.2.3 Fragment Header
2.2.4 Destination Options Header
2.2.5 Hop-by-Hop Options Header
2.2.6 Extension Header Order
2.3 The Evolution of ICMP
2.3.1 Error Messages
2.3.2 The IPv6 Ping
2.4 Impact on the Upper Layers
2.4.1 Upper-layer Checksums
2.4.2 IPv6 in the Domain Name Service
2.4.3 The Programming Interface
2.5 Points of Controversy
2.5.1 Do We Need More Than 255 Hops?
2.5.2 Is The Destination Address in the Right Place?
2.5.3 Should Packets Be Larger Than 64K?
2.5.4 Can We Live without a Checksum?
2.5.5 What Should Be the Structure of the Routing
Header?
2.5.6 Should the DNS Representation Be More
Flexible?
2.6 Further Reading
Chapter 3 Routing and Addressing
3.1 Address Architecture
3.1.1 Notation of IPv6) Addresses
3.1.2 Initial Assignment
3.1.3 Aggregatable Global Unicast Addresses
3.1.4 Special Address Formats
3.1.5 Test Addresses
3.2 Multicasting and Anycasting
3.2.1 Structure of Multicast Addresses
3.2.2 Structure of the Group Identifiers
3.2.3 Group Management
3.2.4 Multicast Routing
3.2.5 Anycast
3.3 Inter-domain Routing
3.3.1 From CIDR to Proviaers
3.3.2 FromBGP-4toIDRP
3.3.3 Provider Selection
3.4 Intra-domain Routing .
3.4.1 UpdatingOSPF
3.4.2 Updating RIP
3.4.3 Other Protocols
3.5 Points of Controversy
3.5.1 The Length of Addresses
3.5.2 Providers and Monopolies
3.5.3 Flows and Services
3.5.4 Variable Formats and Renumbering
3.5.5 From8+8 toGSE
3.5.6 End-point Identifiers and TCPng
3.6 Further Reading
Chapter 4 Plug and Play
4.1 Autoconfiguration
4.1.1 Link Local Addresses
4.1.2 Stateless Autoconfiguration
4.1.3 Duplicate Detection
4.1.4 Stateful Configuration
4.1.5 Lifetime of Addresses
4.1.6 Dynamic Host Configuration
4.1.7 Updating the Name Servers
4.2 Address Resolution
4.2.1 The Basic.Algorithm
4.2.2 Redirects
4.2.3 The Case of Nonconnected Networks
4.2.4 Getting Information from Routers
4.2.5 Black Hole Detection
4.2.6 RandomDelays
4.2.7 Protection Against Off-link Messages
4.2.8 Controlling Router Advertisements
4.3 Advanced Features
4.3.1 Serial Links
4.3.2 Nonbroadcast Multiple Access
4.3.3 Anycast Servers
4.3.4 Proxy Servers
4.3.5 Multi-homed Hosts
4.3.6 Changing Interface Boards
4.3.7 Handling of Mobile Nodes in IPv6
4.4 Mapping to Specific Link Technologies
4.4.1 IPv6 over Ethemet
4.4.2 IPv6 overFDDI
4.4.3 IPv6 over Token Ring
4.4.4 IPv6 over PPP
4.4.5 IPv6 overATM
4.5 Points of Controversy
4.5.1 Why Not Just ARP?
4.5.2 Broadcasting or Multicasting?
4.5.3 Should We Support Mobility?
4.5.4 Router Configuration
4.5.5 Specifying the Hop Limit
4.6 Further Reading
Chapter 5 Bringing Security to the Intemet
5.1 Encryption and Authentication
5.1.1 Security Association
5.1.2 Authentication Header
5.1.3 Computing the Authentication Data
5.1.4 Encrypted Security Payload
5.1.5 Authentication and Confidentiality
5.2 Key Distribution
5.2.1 Photuris
5.2.2 SKIP
5.2.3 ISAKMP-OAKLEY
5.2.4 Manual Key Distribution
5.2.5 Key Distribution for Multicast Groups
5.3 Usage of IPv6 Security
5.3.1 Steel Pipes and Firewalls
5.3.2 MobileHosts
5.3.3 Secure Hosts
5.3.4 Neighbor Discovery
5.3.5 Routing Protocols
5.4 Points of Controversy
5.4.1 Should We Mandate Security?
5.4.2 Did We Choose the Correct Algorithm?
5.4.3 Is This the Right Layer?
5.4.4 Do We Need Additional Protection?
5.5 Further Reading
Chapter 6 Real-time Support and Flows
6.1 An Elusive Specification
6.1.l Defining Flow Labels and Priorities
6.1.2 Flows and Policy Routes
6.1.3 Flows, Not Virtual Circuits
6.2 Supporting Reservations
6.2.1 Special Services
6.2.2 Using RSVP and Flows
6.2.3 Using Hop-by-Hop Options
6.3 Hierarchical Coding and Priorities
6.3.1 Hierarchical Transmission
6.3.2 Large Multicast Groups Don't Need Priorities
6.3.3 Source-relative Priorities Encourage Congestion
6.3.4 Adaptive Applications
6.3.5 Policing Network Usage
6.3.6 Revising the Priority Field
6.4 Points of Controversy
6.4.1 Will Flow Labels Be Used?
6.4.2 To Reserve or Not?
6.4.3 What about ATM?
6.5 Further Reading
Chapter 7 Transitioning the Intemet
7.1 Dual-stack Strategy
7.1.1 Supporting Two IP Layers
7.1.2 Name Servers and Decisions
7.1.3 Critical Points of Transition
7.2 Building the 6-Bone
7.2.1 Choosing the MTU
7.2.2 Tunnels and Routing Protocols
7.2.3 Time to Live in a Tunnel
7.2.4 Controlling the Tunnel's Share
7.2.5 Digging Tunnels and Closing Them
7.3 Connecting End Stations
7.3.1 Reaching the IPv6 Intemet
7.3.2 Reaching Isolated Hosts
7.3.3 MTU and TTL Values for Automatic Tunnels
7.3.4 Configurations and Decisions
7.4 Early Deployment.
7.4.1 ThePhasesofthe 6Bone
7.4.2 Joining the 6Bone
7.4.3 6Bone Addresses
7.5 Points of Controversy
7.5.1 Should We Perform Translations?
7.5.2 Security Risks of Tunnels
7.5.3 Life After Doomsday
7.6 Further Reading
Chapter 8 A Provisional Conclusion
8.1 The Right Solution
8.2 The Right Time
8.3 Milestones
8.4 The Future Will Tell
Glossary
Index