剖析Windows Vista中的IPv6自动配置功能
2007-11-10 16:48:09 来源:WEB开发网如果收到的路由器公告包含一个全局或唯一本地前缀,则 IPv6 会使用相同的随机派生接口 ID 配置全局或唯一本地地址,并将其分配给收到路由器公告的 LAN 接口。此类地址称为公用地址。
默认情况下,Windows Vista 中的 IPv6 还会使用不同的随机派生接口 ID 配置临时全局或唯一本地地址,并将其分配给收到路由器公告的 LAN 接口。临时地址在 RFC 3041 中定义,在一定程度上使客户端发起的通信成为匿名通信。而 Windows Server 2008 中的 IPv6 默认情况下不创建临时地址。您可以使用以下命令启用临时地址:
netsh interface ipv6 set privacy-enabled
如果收到的路由器公告消息中的 M 标记设置为 1,则 IPv6 使用 DHCPv6 对 LAN 接口配置其他全局或唯一本地地址。
IPv6还会为该主机的每个 LAN 接口创建一个站内自动隧道寻址协议 (ISATAP) 隧道接口。RFC 4214 描述了 ISATAP IPv6 转换技术。利用 ISATAP,IPv6 主机可以通过使用 IPv4 头封装 IPv6 包在仅支持 IPv4 的 Intranet 内进行通信。有关 ISATAP 的详细信息,请参阅“IPv6 转换技术”。
对于每个 ISATAP 隧道接口,IPv6 都会为分配给其相应 LAN 端口的 IPV4 地址配置链接本地 ISATAP 地址。例如,如果一个 LAN 接口分配的 IPv4 地址为 192.168.91.211,则对于与之相对应的 ISATAP 隧道接口,IPv6 会为其分配链接本地 ISATAP 地址 FE80::0:5EFE:192.168.91.211。
ISATAP 主机还执行 ISATAP 路由器发现。为了从 ISATAP 路由器接收路由器公告,IPv6 默认情况下必须能够将主机名称“ISATAP”解析为 IPv4 地址。这是通过基于 Windows 的主机名称解析方法(如 DNS)完成的。解析该名称后,主机向 ISATAP 路由器发送 IPv4 封装的路由器请求。然后,ISATAP 路由器会向该主机发送 IPv4 封装的路由器公告。根据收到的路由器公告内容,IPv6 还对 ISATAP 隧道接口配置全局或唯一本地 ISATAP 地址。
Windows Vista 还支持 6to4 和 Teredo 转换技术。但是,为了简化问题,在此我不讨论基于 Windows Vista 的 IPv6 主机如何自动配置 6to4 和 Teredo 隧道接口。
侧栏的“Windows Vista IPv6 自动配置过程”描述了基于 Windows Vista 的 IPv6 主机的地址自动配置过程,该主机的一个 LAN 接口是通过对其 LAN 或 ISATAP 隧道接口添加全局或唯一本地地址前缀配置的。
例如,一个运行 Windows Vista 的主机具有一个 LAN 接口。在该主机的 LAN 接口收到的路由器公告中,M 和 O 标记设置为 0,并且包含前缀 2001:DB8:D005:F282::/64 和 FD4A:3A9:27A1:F282::/64。该主机没有收到来自 ISATAP 路由器的路由器公告消息。
netsh interface ipv6 show address
后得到的输出结果示例。与名为“本地连接”的 LAN 接口对应的 ISATAP 隧道接口名为“本地连接* 9”。
除了自动配置地址外,Windows Server 2008 和 Windows Vista 的 IPv6 协议还支持使用以下命令
netsh interface ipv6 add address
或通过“网络连接”文件夹中连接属性的 Internet 协议版本 6 (TCP/IPv6) 组件手动配置静态 IPv6 地址。
如果您需要有关此主题的更多信息,我建议您从“IPv6 简介”白皮书开始,该白皮书可以从以下位置找到:microsoft.com/technet/ network/ipv6/introipv6.mspx。
更多精彩
赞助商链接