我一直在使用启用了默认 Teredo IPv6 隧道的 Windows7 客户端试验 IPv6。
我可以使用 PING -6 成功访问 IPv6 主机(ipv6.google.com 和 www.v6.facebook.com)。我还可以使用 Python 脚本(使用基于 IPv6 的套接字)成功地向这些主机发出 HTTP 请求。
使用 Firefox/Chrome/IE 不起作用。数据包捕获显示这些浏览器正在进行 DNS A 查询,而我的 Python 脚本导致 AAAA 查询以成功解析 Ipv6 查询。
更新 1: 我使用Matt 建议的(非常有用的)链接进行了测试,并获得了以下信息:
您似乎还启用了 Teredo。在此测试期间,您确实成功连接到 IPv6 站点 - 但仅当通过连接到 IPv6 数字地址而不是网站名称来强制连接时。此设置不会帮助或伤害您继续访问 IPv6 网站。Teredo(Windows 计算机的隧道协议)建议有望很快发布
更新 2 我已经得出结论,我的问题的答案是“不使用 IPv6 的 teredo”。此页面底部包含以下声明:
由于目前 Internet 上没有 Teredo 中继,因此通过 Teredo 接口连接到本地 IPv6 地址不太可能成功。如果调用 WSAConnectByName,当 Teredo 是唯一支持 IPv6 的接口可用时,Windows Vista 将不会发出 AAAA 查询。这可确保不会获取本机 IPv6 地址作为目标,并且尝试通过 …
我已经检查了所有内容 - 流程资源管理器中的所有流程。IP Helper 服务导致 CPU 使用率每 1 分钟超过 50%,持续 3-4 秒,然后恢复正常。在任务管理器中,进程为 svchost.exe,服务为 iphlpsvc。
这是“ipconfig /all”和“netsh interface teredo show state”命令的结果:
此外,uTorrent 无法获取 teredo 地址。
Microsoft Windows 允许创建“ IPv6-in-IPv4 点对点隧道”:
>netsh interface ipv6 add v6v4tunnel "My Tunnel" 192.168.1.13 209.51.181.2
Run Code Online (Sandbox Code Playgroud)
我的问题是:这是什么协议?
我知道netsh
可以访问其他隧道或 IPv6 转换协议:
6to4
: RFC3056 - 通过 IPv4 云连接 IPv6 域isatap
: RFC5214 - 站点内自动隧道寻址协议 (ISATAP)teredo
: RFC4380 - Teredo:通过网络地址转换 (NAT) 在 UDP 上隧道传输 IPv6v6v4tunnel
:?httpstunnel
:?portproxy
:?正在v6v4tunnel
实施什么协议?
我问的原因是因为没有来自 Microsoft 的文档;所以阅读 RFC 必须是我的文档。