目 录
第 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 通过Internet 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 ipconfig 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-NetIsatapConfiguration -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章 DirectAccess 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