Foreword xxiii
Preface xxvii
1 IPv6 Rationale and Features 1
1.1 Internet Growth 1
1.2 Real Issues and Trouble with IPv4 10
1.3 Architectural Considerations 20
1.4 Paradigm Shift 26
1.5 IETF Work Towards IPv6 27
1.6 IPv6 Main Features 30
1.7 IPv6 Milestones 32
1.8 IPv6 Return on Investment 32
1.9 What Happened to IPv5? 33
1.10 Summary 34
1.11 References 34
1.12 Further Reading 36
2 I Can't Wait to Get my Hands Dirty! 37
2.1 Setup Description 37
2.2 Steps 38
2.3 Summary 42
2.4 References 42
2.5 Further Reading 42
3 IPv6 Datagram 43
3.1 Description of the IP Datagram 43
3.2 IPv4 Header 44
3.3 IPv6 Header 46
3.4 Header Fields 47
3.5 Extension Headers 50
3.6 Datagram Size 53
3.7 Upper-layer Protocols 58
3.8 Summary 59
3.9 References 59
4 Addressing 61
4.1 Address Space 61
4.2 Format of an Address 62
4.3 Unicast Addresses 64
4.4 Multicast Addressing 71
4.5 Anycast 74
4.6 Addressing Architecture 74
4.7 Summary 76
4.8 References 76
4.9 Further Reading 77
5 Configuring Node Addresses 79
5.1 Static Address Configuration 79
5.2 Address Auto-Configuration 79
5.3 Lifetime of Advertised Prefixes 84
5.4 Node Booting Process 87
5.5 DHCPv6 88
5.6 Node Addresses 93
5.7 Configuring Interfaces and Router Advertisements on Hosts and Routers 93
5.8 Summary 107
5.9 Appendix 108
5.10 References 111
5.11 Further Reading 111
6 Link-layer Integration 113
6.1 Solicited-Node Multicast Address 113
6.2 Neighbor Solicitation and Advertisement 115
6.3 Duplicate Address Detection 117
6.4 Neighbor Cache 117
6.5 EUI-64 and Neighbor Discovery 118
6.6 IPv6 over Ethernet 119
6.7 Point-to-Point Links 122
6.8 Multi-link Subnets 124
6.9 Router Advertisements of the Link MTU 125
6.10 Managing Neighbors on Hosts and Routers 125
6.11 Summary 129
6.12 References 129
6.13 Further Reading 130
7 Internet Control Message Protocol 131
7.1 ICMP 131
7.2 Neighbor Discovery 136
7.3 Hop Limit Set to 255 136
7.4 Managing ICMP on Hosts and Routers 136
7.5 Summary 138
7.6 References 138
8 Naming with DNS and Selecting an Address 139
8.1 Hostname To IPv6 Address with the AAAA Record 139
8.2 IPv6 Address To Hostname 140
8.3 Transport 141
8.4 DNS Server Discovery 143
8.5 Node Information Query 143
8.6 IP Address Selection 143
8.7 Configuring DNS and Address Selection on Hosts and Routers 144
8.8 Summary 148
8.9 References 148
8.10 Further Reading 149
9 Routing 151
9.1 Required Router Addresses 151
9.2 Source Routing with the Routing Header 151
9.3 Route Redirect 154
9.4 Static Routes 155
9.5 RIP 155
9.5.1 Changes 156
9.6 OSPF 157
9.7 IS-IS 158
9.8 BGP 159
9.9 Tunneling IPv6 160
9.10 Renumbering Routers 162
9.11 Internet Routing 163
9.12 Multihoming 166
9.13 Summary 171
9.14 References 171
9.15 Further Reading 172
10 Configuring Routing 173
10.1 Considerations on Using Autoconfiguration for Router Interfaces 173
10.2 FreeBSD 174
10.3 Linux 176
10.4 Solaris 177
10.5 Windows 178
10.6 Cisco 179
10.7 Hexago 184
10.8 Juniper 184
10.9 Quagga 190
10.10 Summary 193
10.11 Further Reading 193
11 Mobility 195
11.1 Overview 196
11.2 MobileIP 202
11.3 Applications are not Aware of Mobility 202
11.4 Mobile Node is at Home 202
11.5 Mobile Node is away from Home 203
11.6 Mobile Node is Moving Again 206
11.7 Mobile Node Comes Back Home 207
11.8 Securing the Binding Update 207
11.9 Correspondent Node is Not MobileIP Aware 209
11.10 Advanced Features 212
11.11 MobileIP Messaging 215
11.12 Deployment Considerations 218
11.13 Configuring Mobility 219
11.14 Summary 223
11.15 References 223
11.16 Further Reading 224
12 Wireless IP 225
12.1 Characteristics of Wireless Links 225
12.2 Header Compression over Limited Bandwidth Link Layers 226
12.3 TCP Behavior over Wireless 228
12.4 3GPP 229
12.5 3GPP2 231
12.6 Summary 231
12.7 References 231
12.8 Further Reading 232
13 Security 233
13.1 IP Security (IPsec) 234
13.2 Secure Shell (SSH) 243
13.3 Filtering and Firewalls 244
13.4 Temporary Addresses 244
13.5 More Secure Protocols 245
13.6 Securing IPv6 on the Link 245
13.7 Is IPv6 More Secure? 248
13.8 Configuring Security on Hosts and Routers 248
13.9 Summary 253
13.10 References 253
14 Quality of Service 255
14.1 IPv5: Streaming Protocol 255
14.2 Diffserv 256
14.3 Integrated Services 256
14.4 Network Address Translation 260
14.5 Hardware processing 260
14.6 Configuring QoS on Hosts and Routers 261
14.7 Summary 262
14.8 References 262
15 Multicast and Anycast 265
15.1 Multicast Basics 265
15.2 Multicast Listener Discovery 267
15.3 Multicast Routing 270
15.4 Multicast Address Allocation 270
15.5 Unicast-based Multicast Addressing 271
15.6 Allocation of Multicast Addresses 271
15.7 Multicast Reserved Addresses 272
15.8 Anycast 273
15.9 Configuring Anycast and Multicast on Hosts and Routers 275
15.10 Summary 275
15.11 References 275
16 Deploying IPv6 in IPv4 Dominant Networks 277
16.1 Combined IPv4 and IPv6 Network 277
16.2 Tunneling IPv6 in IPv4 278
16.3 Tunneling IPv6 in GRE-IPv4 325
16.4 Comparing IPv6 in IPv4 Solutions 326
16.5 Configuring IPv6 in IPv4 Dominant Networks 326
16.6 Summary 343
16.7 References 343
17 Deploying IPv6 Dominant Networks with IPv4 Support 345
17.1 Tunneling IPv4 in IPv6 345
17.2 IP Packet and Transport Translation 350
17.3 Configuring IPv4 in IPv6 Dominant Networks 351
17.4 Summary 355
17.5 References 355
18 Migrating with Application Level Gateways 357
18.1 Application Level Gateway 357
18.2 Application Specific Proxy 358
18.3 Considerations of Application Level Gateways 358
18.4 Summary 358
19 Transport Protocols 359
19.1 Checksum 359
19.2 Transmission Control Protocol (TCP) 360
19.2.1 Explicit Congestion Notification (ECN) 360
19.3 User Datagram Protocol (UDP) 362
19.4 Internet Control Message Protocol (ICMP) 363
19.5 Summary 363
19.6 References 363
20 Network Management 365
20.1 SNMP Transport 365
20.2 Management Information Base (MIB) 366
20.3 Other Management Tools 367
20.4 Authentication, Authorization and Accounting using RADIUS 367
20.5 Configuring SNMP on Hosts and Routers 368
20.6 Summary 369
20.7 References 369
21 Porting Applications 371
21.1 Introduction 371
21.2 Considerations 371
21.3 Structures 373
21.4 Functions 375
21.5 Change Table 376
21.6 Best Practice 377
21.7 Basic Example 377
21.8 Summary 380
21.9 References 380
21.10 Further Reading 380
22 Configuration and Usage of IPv6-enabled Open Source Software 381
22.1 Apache Web Server 381
22.2 Sendmail 382
22.3 Postfix 382
22.4 SSH 383
22.5 XFree86 383
22.6 MRTG 383
22.7 Dovecot 384
22.8 Summary 384
22.9 References 384
23 Best Current Practices and Case Studies 385
23.1 IPv6 Internet Address Space 385
23.2 IPv6 Address Policy 385
23.3 IPv6 Address Planning 387
23.4 Incremental Deployment 389
23.5 DNS Considerations 390
23.6 Routing Considerations 391
23.7 Security Considerations 391
23.8 Mail Considerations 393
23.9 Deploying IPv6 and Connecting to the IPv6 Internet 393
23.10 Summary 407
23.11 References 407
23.12 Further Reading 407
24 Conclusion 409
25 Quick Reference 411
Index 413