第1章 IPv6入门 1
1.1 IPv4的局限 1
1.2 IPv4地址空间受限的后果 2
1.3 IPv6的特性 5
1.3.1全新的数据包头部格式 5
1.3.2广大的地址空间 6
1.3.3无状态和状态化的地址配置 6
1.3.4对于IPsec头部的支持 6
1.3.5对于按照优先级传输的支持更加完善 6
1.3.6全新的邻居节点交互协议 7
1.3.7可扩展 7
1.4 IPv4和IPv6的对比 7
1.5 IPv6的术语 8
1.6部署IPv6. 10
1.6.1 IPv6能解决地址耗尽问题 11
1.6.2 IPv6能解决地址空间不连续的问题 11
1.6.3 IPv6能解决Internet地址分配问题 11
1.6.4 IPv6能恢复端对端通信 11
1.6.5 IPv6使用了限域地址和地址选择 12
1.6.6 IPv6的发送效率更高 12
1.6.7 IPv6有安全性和移动性支持 13
1.7理解测试 13
第2章 Windows的IPv6协议 14
2.1 Windows的IPv6协议架构 14
2.2 Windows的IPv6协议特性 15
2.2.1默认已安装、启用,且己选用 16
2.2.2基本IPv6栈支持 17
2.2.3 IPv6协议栈增强 17
2.2.4通过GUI和命令行进行配置 18
2.2.5集成了对IPSec的支持 18
2.2.6 Windows防火墙支持 18
2.2.7临时地址 19
2.2.8随机接口ID 19
2.2.9 DNS支持 20
2.2.10源和目的地址的选择 20
2.2.11支持ipv6-literal.net域名 20
2.2.12 LLMNR 21
2.2.13 PNRP 21
2.2.14 URL中的原生IPv6地址 21
2.2.15 静态路由 21
2.2.16 IPv6 over PPP 22
2.2.17 DHCPv6 22
2.2.18 ISATAP 22
2.2.19 6to4 23
2.2.20 Teredo 23
2.2.21端口代理 23
2.2.22 IP-HTTPS 23
2.2.23 NAT64/DNS64 24
2.2.24对过渡技术设置组策略 24
2.3应用程序支持 25
2.4应用程序开发接口 25
2.4.1 Windows Sockets 26
2.4.2 Winsock Kernel 26
2.4.3 Remote Procedure Call(远程过程调用) 26
2.4.4 IP Helper (IP助手) 26
2.4.5 Win32 Internet扩展 27
2.4.6 .NET Framework 27
2.4.7 Windows Runtime 27
2.4.8 Windows过滤平台 27
2.4.9 Windows管理规范(Windows Management Instrmentation)版本2 28
2.5手动配置IPv6协议 28
2.5.1通过Intermet Protocol Version 6 (TCP/IPv6)的属性来配置IPv6 28
2.5.2用Windows PowerShell配置IPv6 31
2.5.3用Netsh.exe工具配置IPv6 32
2.6禁用IPv6 34
2.7支持IPv6的工具 35
2.7.1 ipconfiig 36
2.7.2 route 36
2.7.3 ping 37
2.7.4 tracert 38
2.7.5 pathping 39
2.7.6 netstat 40
2.8使用Windows PowerShell来查看IPv6配置信息 42
2.8.1 Get-NetIPInterface -AddressFamily IPv6 42
2.8.2 Get-NetIPAddress -AddressFamily IPv6 43
2.8.3 Get-NetRoute -AddressFamily IPv6 43
2.8.4 Get-NetNeighbor -AddressFamily IPv6 44
2.9用Netsh显示IPv6配置 44
2.9.1 Netsh interface ipv6 show interface 44
2.9.2 Netsh interface ipv6 show address 45
2.9.3 Netsh interface ipv6 show route 45
2.9.4 Netsh interface ipv6 show neighbors 45
2.9.5 Netsh interface ipv6 show destinationcache 46
2.10参考文献 46
2.11理解测试 47
第3章 IPv6编址 48
3.1 IPv6地址空间 48
3.2 IPv6地址语法 49
3.2.1压缩零位 50
3.2.2 IPv6前缀 50
3.3 IPv6地址的类型 51
3.4单播IPv6地址 52
3.4.1全球单播地址 52
3.4.2链路本地地址 54
3.4.3唯一的本地地址 55
3.4.4特殊的IPv6地址 56
3.4.5过渡地址 56
3.5组播IPv6地址 57
3.5.1请求节点地址 59
3.5.2映射IPv6组播地址到以太网地址 59
3.6任播IPv6地址 60
3.7主机的IPv6地址 61
3.8路由器的IPv6地址 62
3.9 IPv6地址空间的子网划分 62
3.9.1第1步:决定用于子网划分的位数 63
3.9.2第2步:计算出子网划分后的新地址前缀 63
3.10 IPv6地址分配策略 67
3.11 IPv6接口标识符 69
3.11.1基于EUI-64地址的接口标识符 70
3.11.2临时地址接口标识符 73
3.12 IPv4地址和IPv6等价地址 74
3.13参考资料 74
3.14理解测试 75
第4章 IPv6头部 76
4.1 IPv6数据包的结构 76
4.2 IPv4头部 77
4.3 IPv6头部 78
4.3.1下一个头部字段的值 80
4.3.2 IPv4和IPv6头部的比较 81
4.4 IPv6扩展头部 83
4.4.1扩展头部的顺序 84
4.4.2逐跳可选项头部 85
4.4.3目的可选项头部 88
4.4.4路由头部 90
4.4.5片头部 91
4.4.6认证头部 94
4.4.7封装安全负载头部和尾部 95
4.5 IPv6 MTU 95
4.6上层协议校验和 96
4.7参考资料 97
4.8理解测试 97
第5章 ICMPv6 98
5.1 ICMPv6概述 98
5.1.1 ICMPv6的消息类型 99
5.1.2 ICMPv6头部 99
5.2 ICMPv6错误类消息 99
5.2.1目的不可达 100
5.2.2数据包过大 101
5.2.3超时 102
5.2.4参数问题 103
5.3 ICMPv6信息类消息 104
5.3.1 Echo请求 104
5.3.2 Echo应答 105
5.4 ICMPv4与ICMPv6消息的对比 106
5.5路径MTU发现 106
5.6 PMTU的修改 107
5.7参考资料 108
5.8理解测试 108
第6章 邻居发现 110
6.1邻居发现概述 110
6.2邻邻居发现消息的格式 111
6.3邻居发现可选项 112
6.3.1源和目标的链路层地址选项 113
6.3.2前缀信息可选项 114
6.3.3重定向头部可选项 116
6.3.4 MTU可选项 117
6.3.5路由信息可选项 119
6.4邻居节点发现消息 120
6.4.1路由器请求 121
6.4.2路由器通告 122
6.4.3邻居节点请求 125
6.4.4邻居节点通告 126
6.4.5重定向 128
6.4.6邻居节点发现消息和可选项小结 130
6.5邻居节点发现过程 131
6.5.1主机数据结构的框架 131
6.5.2地址解析 132
6.5.3邻居节点不可达性检测 135
6.5.4重复地址检测 138
6.5.5路由器发现 141
6.5.6重定向功能 145
6.6主机发送算法 148
6.7 IPv4邻居节点消息和功能以及对应的IPv6消息和功能 149
6.8参考资料 150
6.9理解测试 150
第7章 组播侦听发现和MLD版本2 151
7.1 MLD和MLDv2概述 151
7.2 IPv6组播概述 151
7.2.1主机对于组播的支持 152
7.2.2路由器对组播的支持 153
7.3 MLD数据包结构 155
7.4 MLD消息 156
7.4.1组播侦听查询(Multicast Listener Query) 156
7.4.2组播侦听报告 157
7.4.3组播侦听己完成 159
7.5 MLD小结 160
7.6 MLDv2数据包结构 160
7.7 MLDv2消息 160
7.7.1修改过的组播侦听查询 160
7.7.2 MLDv2组播侦听报告 162
7.8 MLDv2小结 165
7.9 Windows对MLD和MLDv2的支持 165
7.10参考资料 166
7.11理解测试 166
第8章 地址自动配置 167
8.1地址自动配置概述 167
8.1.1自动配置的类型 167
8.1.2自动配置地址的状态 168
8.2自动配置过程 168
8.3 DHCPv6 170
8.3.1 DHCPv6消息 172
8.3.2 DHCPv6状态化消息交换 175
8.3.3 DHCPv6无状态消息交换 175
8.3.4 Windows对DHCPv6的支持 175
8.4 Windows中IPv6协议的自动配置特点 179
8.5 Windows中IPv6协议的地址自动配置 180
8.6参考资料 183
8.7理解测试 183
第9章 IPv6与地址解析 184
9.1 IPv6的域名解析 184
9.1.1 IPv6 DNS的改进 184
9.1.2 LLMNR 185
9.2源和目的地址的选择 188
9.2.1源地址选择算法 189
9.2.2目的地址选择算法 190
9.2.3在Windows Server 2012和Windows 8中解决IPv6中断的问题 192
9.2.4使用地址选择的示例 192
9.3 Windows对域名解析的支持 194
9.3.1 Hosts文件 194
9.3.2 DNS解析器 195
9.3.3 DNS Server服务 195
9.3.4 DNS动态更新 197
9.3.5 DNS区域传送(Zone Transfer) 198
9.3.6源和目的地址的选择 198
9.3.7 LLMNR支持 199
9.3.8对于ipv6-literal.net名称的支持 200
9.3.9对等体域名解析协议 201
9.3.10域名解析策略表 202
9.3.11 DNS Security Extensions 203
9.4参考资料 203
9.5理解测试 204
第10章 IPv6路由选择 205
10.1 IPv6中的路由选择 205
10.1.1 IPv6路由表条目类型 205
10.1.2路由判断过程 206
10.1.3强主机行为和弱主机行为 206
10.1.4 Windows Server 2008和Windows Vista的IPv6路由表示例 207
10.2 IPv6端到端的传输过程 211
10.2.1发送方主机的IPv6 211
10.2.2路由器的IPv6 212
10.2.3目的主机的IPv6 214
10.3 IPv6路由协议 217
10.3.1动态路由概述 217
10.3.2路由协议技术 218
10.3.3 IPv6路由协议 218
10.4 Windows的IPv6协议的静态路由 220
10.4.1用Windows PowerShell配置静态路由 221
10.4.2用Netsh配置静态路由 223
10.4.3使用路由和远程访问来配置静态路由 225
10.5失效网关检测 226
10.6参考资料 227
10.7理解测试 227
第11章 IPv6过渡技术 229
11.1概述 229
11.1.1节点类型 230
11.1.2 IPv6过渡地址 230
11.2过渡机制 231
11.2.1同时使用IPv4和IPv6 231
11.2.2 IPv6-over-IPv4隧道 234
11.2.3 DNS架构 235
11.3隧道配置 236
11.3.1路由器到路由器 236
11.3.2主机到路由器和路由器到主机 237
11.3.3主机到主机 238
11.3.4隧道类型 238
11.4流量转换 240
11.4.1 NAT 64/DNS64 240
11.4.2端口代理 241
11.5参考资料 242
11.6理解测试 243
第12章 ISATAP 244
12.1 ISATAP概述 244
12.1.1 ISATAP隧道 245
12.1.2 ISATAP隧道示例 246
12.2 ISATAP组件 247
12.3 ISATAP主机的路由器发现 249
12.3.1解析名称“ISATAP” 249
12.3.2使用ISATAP路由器域名组策略参数 253
12.3.3使用Windows PowerShell命令Set-NetlsatapConfiiguration -Router 253
12.3.4使用netsh interface isatap set router命令 253
12.4 ISATAP寻址示例 254
12.5 ISATAP路由选择 255
12.6 ISATAP通信示例 256
12.6.1 ISATAP主机到ISATAP主机 256
12.6.2 ISATAP主机到IPv6主机 257
12.7配置ISATAP路由器 258
12.7.1使用Windows PowerShell命令的示例 259
12.7.2使用Netsh命令的示例 260
12.8 Windows Server 2012和Windows 8中的ISATAP 261
12.9参考资料 261
12.10理解测试 261
第13章 6to4 263
13.1 6to4概述 263
13.1.1 6to4隧道封装 264
13.1.2 6to4隧道化示例 265
13.2 6to4组件 266
13.3 6to4寻址示例 268
13.3.1 6to4路由选择 269
13.4 Windows的6to4支持 270
13.4.1 6to4主机/路由器支持 270
13.4.2 6to4路由器支持 271
13.5 6to4通信示例 274
13.5.1 6to4主机到6to4主机/路由器 274
13.5.2 6to4主机到IPv6主机 275
13.6将ISATAP和6to4一起使用的示例 279
13.6.1第1部分:从ISATAP主机A到6to4路由器A 281
13.6.2第2部分:从6to4路由器A到6to4路由器B 282
13.6.3第3部分:从6to4路由器B到ISATAP主机B 282
13.7参考资料 283
13.8理解测试 283
第14章 Teredo 284
14.1 Teredo简介 284
14.1.1使用Teredo的好处 285
14.1.2 Microsoft Windows中的Teredo支持 285
14.1.3未经请求的入站IPv6流量的Teredo和保护 286
14.1.4网络地址转换(NAT) 286
14.2 Teredo组件 287
14.2.1 Teredo客户端 288
14.2.2 Teredo服务器 289
14.2.3 Teredo中继 289
14.2.4 Teredo特定主机中继 289
14.2.5 Windows中的Teredo客户端和特定主机中继 290
14.3 Teredo地址 292
14.4 Teredo数据包格式 295
14.4.1 Teredo数据包格式 295
14.4.2 Teredo冒泡数据包 296
14.4.3 Teredo指示 296
14.5 Teredo路由 298
14.5.1目的为链路内的Teredo客户端 299
14.5.2站点间Teredo客户端目标 299
14.5.3 IPv6 Internet目标 300
14.6基于Windows的Teredo服务器与中继 300
14.6.1配置Teredo服务器 300
14.6.2配置Teredo中继 301
14.7参考资料 301
14.8理解测试 302
第15章 IP-HTTPS 303
15.1 IP-HTTTPS简介 303
15.2 IP-HTTTPS流量 304
15.3 IP-HTTTPS的构成 305
15.4建立一个IP-HTTPS连接 305
15.5 IP-HTTP客户端的路由选择 306
15.6配置IP-HTTPS客户端的设置参数 307
15.7 Windows Server 2012和Windows 8中的IP-HTTPS特性 308
15.8总结 308
15.9参考资料 308
15.10理解测试 308
第16章 NAT64/DNS64 309
16.1 NAT64/DNS64简介 309
16.2 NAT64/DNS64的工作方式 310
16.2.1 NAT64/DNS64的配置需求 311
16.2.2 DNS域名查询与响应 311
16.2.3纯IPv6节点发来的IPv6流量 313
16.3 Windows Server 2012中对NAT64/DNS64的配置方法 315
16.4总结 316
16.5参考资料 316
16.6理解测试 317
第17章 IPv6安全的考量因素 318
17.1 IPv6安全的考量因素 318
17.2自动分配的地址和配置的授权 318
17.3防止无赖IPv6路由器 319
17.4 IPv6数据包的保护 320
17.5保护主机免遭扫描和攻击 320
17.5.1地址扫描 321
17.5.2端口扫描 321
17.5.3推荐做法 321
17.6控制内联网中封装进隧道中的IPv6流量 322
17.7控制与Internet交换的流量 323
17.8总结 325
17.9参考资料 325
17.10理解测试 325
第18章 Di rectAccess 327
18.1 DirectAccess概述 327
18.2 DirectAccess如何使用IPv6 328
18.2.1穿越IPv4 Internet的DirectAccess客户端流量 329
18.2.2穿越内联网的DirectAccess客户端流量 329
18.2.3强制隧道发送 330
18.2.4 DirectAccess与IPv6路由转发 330
18.3 IPSec的作用与DirectAccess 332
18.3.1加密 333
18.3.2数据完整性 333
18.4 NRPT的作用与DirectAccess 334
18.5网络位置检测 335
18.5.1网络位置识别(Network Location Awareness) 336
18.5.2网络位置检测进程 336
18.6 DirectAccess的工作方式 336
18.6.1内联网上的DirectAccess客户端 337
18.6.2 Internet上的DirectAccess客户端 338
18.7总结 339
18.8参考资料 340
18.9理解测试 340
第19章 在内联网中部署IPv6 341
19.1介绍 341
19.2 IPv6部署的规划 341
19.2.1支持IPv6的平台 342
19.2.2支持IPv6的应用 342
19.2.3支持IPv6的网络管理设备 343
19.2.4单播IPv6地址 343
19.2.5基于隧道的IPv6连接 344
19.2.6其他IPv6过渡技术 347
19.2.7本地IPv6连接性 347
19.2.8 DNS名称解析 348
19.2.9本地IPv6地址分配 349
19.2.10基于主机的安全和IPv6流量 350
19.2.11 IPv6流量的可控及有序传递 351
19.3部署IPv6 352
19.3.1获取全局地址空间 353
19.3.2建立IPv6测试网络 353
19.3.3开始应用程序迁移 353
19.3.4配置DNS设施,使其支持AAAA记录和动态升级 355
19.3.5将纯IPv4主机升级为IPv6/IPv4主机 355
19.3.6开始部署本地IPv6设施 356
19.3.7穿越IPv4 Internet连接内联网的部分网络 357
19.3.8穿越IPv6 Internet连接内联网的部分网络 358
19.4总结 358
19.5参考资料 359
19.6理解测试 359
第20章 微软企业网中的IPv6 360
20.1介绍 360
20.1.1微软企业网的特征 360
20.1.2微软使用IPv6的历史 361
20.1.3部署条件 361
20.2微软企业网当前的IPv6部署 362
20.3微软企业网对于IPv6的短期与长期规划 365
20.4部署细节 365
20.4.1编址计划与路由设施 365
20.4.2 DirectAccess 366
20.4.3微软企业网中的IPv6流量安全 366
20.5部署规划及推荐方案 367
20.5.1整体规划 367
20.5.2推荐的部署方法 369
20.6总结 370
20.7理解测试 370
附录A IPv6 RFC索引 371
附录B 理解测试答案 376
附录C 建立IPv6测试实验室 398
附录D IPv6参照表 422
附录E IPv6的链路层支持 426
附录F IPv6的Windows套接字变化 442
附录G 移动IPv6 450
附录H Teredo协议进程 494
词汇表 512