2011-09-02 82 views
0

我试图用Firefox 6 连接从Windows XP SP3通过IPv6链路本地地址的HTTP服务器虽然接发球效果很好IPv4地址连接,与IPv6的连接失败失败错误。Firefox的IPv6连接失败而TCP层连接

通过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] 

在第五传输,请求的HTML文件被包含。 但浏览器显示连接失败。 似乎tcp层收到消息,并不能将它传递到http层或浏览器。 我禁用了防火墙,结果是一样的。

有人可以提供线索或暗示追求。 谢谢。

+0

包5中的整个响应是什么?这将是一个微小的回应... –

回答

0

我怀疑它不是在包5

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

大多数情况下,由错误配置的防火墙造成的。有时它是破碎的硬件或软件。

+0

谢谢你的回复桑德。我检查了数据包5的大小,它是1475字节。另外一个312字节的HTTP重定向消息(302暂时移动)也不会被浏览器以相同的传输顺序接收。 – ning

+0

对于302(重定向)响应,只包含一个新的URL,它非常小。 – ning

+0

好的,所以这确实是一个软件问题,而不是网络问题。你有可能给我发送完整的数据包转储,以便我可以查看它吗? –