欢迎关注:1,欢迎关注本博客,你可点击右手边的【QQ邮件订阅】订阅本博客!2,本博客推出江湖救急计划,主要为工作中遇到疑难杂症的兄弟提供远程技术支持和分析,如有需要,请在江湖救急计划页面给我留言!

关于服务器端发送FIN报文之前的数秒等待时间行为的分析

作者:易隐者 发布于:2012-8-21 22:40 Tuesday 分类:网络分析

       就这个问题,我来简单分析一下基于TCP的应用,正常释放TCP连接的行为

       在实际环境下,我们可以抓到各种FIN正常释放连接的报文,大部分交互完毕应用数据之后立即发送FIN报文释放连接,如下图所示:

点击查看原图

       有些交互完毕应用数据后,服务器端立即发送FIN报文,客户端在确认FIN报文之后,发送RST报文,释放TCP连接,这样做主要视为了提高交互的效率,省去了服务器确认客户端FIN报文和客户端等等服务器端确认的过程和时间,如下图所示:

点击查看原图

       有些则如上面兄弟遇到的那个情况,双方在建立TCP连接后,进行应用数据的交互,应用数据交互完毕之后,服务器端并不是立即发送FIN报文,正常释放该TCP连接,而是等待一段时间,看客户端是否有新的应用数据需要交互,如果有,则不需要再建立一个新的TCP连接,直接使用已有连接进行交互,如果超出时间客户端无应用数据交互,则服务器端主动发送FIN报文,正常释放该TCP连接。

       这个过程,是由应用程序控制的,跟操作系统无关。另这种机制一般情况下能够提高应用交互的效率,这个服务器端等待客户端是否有应用数据交互的时间不能算作是应用响应时间。

阅读全文>>

标签: TCP RST 延时 响应时间 应用响应时间 FIN 正常释放 TCP行为 长连接 短连接

评论(2) 引用(0) 浏览(20360)

Powered by 易隐者 基于emlog 皖ICP备12002343号-1