首页 > 其他 > 详细

tcp 状态转换.

时间:2017-02-05 14:07:01      阅读:346      评论:0      收藏:0      [点我收藏+]

命令行:
root@ubuntu:/home/linson# netstat -apt | grep 3030

server,listen
tcp 0 0 localhost:3030 *:* LISTEN 11170/epoll

server 还没应答之前
tcp 0 0 localhost:3030 *:* LISTEN 11170/epoll
tcp 0 0 localhost:3030 localhost:33092 ESTABLISHED -
tcp 0 0 localhost:33092 localhost:3030 ESTABLISHED 11504/esocket6


应答之后
tcp 0 0 localhost:3030 *:* LISTEN 11170/epoll
tcp 0 0 localhost:3030 localhost:33092 ESTABLISHED 11170/epoll
tcp 0 0 localhost:33092 localhost:3030 ESTABLISHED 11504/esocket6

客户端关闭.服务断还未应答.
tcp 0 0 localhost:3030 *:* LISTEN 11170/epoll
tcp 1 0 localhost:3030 localhost:33092 CLOSE_WAIT 11170/epoll
tcp 0 0 localhost:33092 localhost:3030 FIN_WAIT2 11504/esocket6

服务端应答
tcp 0 0 localhost:3030 *:* LISTEN 11170/epoll
tcp 0 0 localhost:33092 localhost:3030 TIME_WAIT -

服务端应答 之后某几分钟之内.
tcp 0 0 localhost:3030 *:* LISTEN 11170/epoll

 

 

知识点

1)客户端的fin_wait_1在局域网应该是看不到的.猜测是服务端内核马上发送 ack (cfin+1),

  但是服务端的fin是要等待调用close才会发送.

2)客户断的 TIME_WAIT是等待2msl.因为最后一个分组信息是客户端发送的.发送完毕之后.服务端并不会回应.所以

  客户端辛苦一点,迟点下班,万一路由发生错误,还可以再发一次.

3)客户端连续发送2次close,是会导致发送rst?这个要再测试下.

 

tcp 状态转换.

原文:http://www.cnblogs.com/lsfv/p/6367395.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!