0

我正在尝试通过带有 Firefox 6 的 Windows xp sp3 的 IPv6 链接本地地址连接到 http 服务器。虽然通过服务器的 IPv4 地址连接效果很好,但 IPv6 因连接失败错误而失败。

通过 Wireshark,该序列被观察为:

         direction    protocol    port         transmission
1. client -> server:  tcp         1061-> 80   [syn]
2. server -> client:  tcp         80->1061    [syn, ack]
3. client -> server:  tcp         1061->80    [ack]
4. client -> server:  http                    [get /]
5. server -> client:  http                    [200 OK]

在第 5 次传输中,包含请求的 html 文件。但是浏览器显示连接失败。tcp 层似乎收到了消息,无法将其传递到 http 层或浏览器。我禁用了防火墙,结果是一样的。

有人可以提供线索或提示进行追踪。谢谢你。

4

1 回答 1

0

我怀疑这不是数据包 5 中的全部响应。

通常这样的问题是由损坏的路径 MTU 发现引起的。如果路径中有隧道,则 MTU 可能小于 1500 字节,即 1480 字节。所有小于 1480 字节的包都会通过。当服务器发送一个 1500 字节的数据包时,它对于隧道来说太大了。隧道路由器发回一个 Packet-too-big ICMP 错误,服务器以 1480 字节的块发送数据。如果永远不会产生 ICMP 错误或者防火墙阻止了 ICMP 数据包,那么服务器永远不会知道它应该发送较小的数据包,它会继续发送大数据包,并且它们永远不会到达......

大多数情况下,此类问题是由配置错误的防火墙引起的。有时是硬件或软件损坏。

于 2011-09-02T06:26:13.057 回答