2012-01-24 126 views
1

请帮我解码以下内容。我在网络中遇到问题,无法确定它在哪里。 Follow是通过运行OPNET软件从捕获中获得的解码摘要。网络连接关闭

我认为连接2是成功的,客户端以FIN结束,并且连接1过早地结束发出RST,可能是什么原因..?

连接1 帧源目标解码摘要

480服务器客户端d = 3590 S = 443 FIN ACK = 3832271994 SEQ = 1338775336 LEN = 0 WIN = 11088 481客户端服务器d = 443 S = 3590 ACK = 1338775337 SEQ = 3832271994 LEN = 0 WIN = 64512 502客户端服务器d = 443 S = 3590 RST ACK = 1338775337 SEQ = 3832271994 LEN = 0 WIN = 0

连接2

855服务器客户端d = 3600秒= 443 FIN ACK = 3778329063 SEQ = 3650187663 LEN = 0 WIN = 26328

856客户端服务器d = 443 S = 3600 ACK = 3650187664 SEQ = 3778329063 LEN = 0 WIN = 63297

857客户端服务器d = 443 S = 3600 FIN ACK = 3650187664 SEQ = 3778329063 LEN = 0 WIN = 63297

859服务器客户端d = 3600 S = 443 ACK = 3778329064 SEQ = 3650187664 LEN = 0 WIN = 26328

总之连接结局是,

1 - 服务器:FIN,客户:RST
2 - 服务器:FIN,客户端:FIN

回答

1

Wikipedia page on TCP

某些主机TCP栈可以实现半双工关闭序列,Linux或HP-UX做。如果这样的主机主动关闭连接,但仍未读取从链路已经收到的所有入站数据,则该主机将发送RST而不是FIN(RFC 1122中的第4.2.2.13节)。

难道它是这样的,你看到了吗?

+0

感谢您的回答,可能是客户端过早关闭的原因..? – satti

+0

@satti因为你必须检查客户端的功能,我们不可能通过查看网络数据包转储来知道。 –