标签:BB ack 报文 server client FIN oscillate
拓扑: client--->AA-tproxy-BB----------server
client server 之间使用tproxy 代理
从抓取报文来看,在管理连接的时候出现大量ack报文,以上不是完整报文
直接给结论吧:
- server主动关闭发出FIN, BB 收到FIN后,发出Fin-ack,同时去AA 主动关闭;所以socket 状态为:BB为last_ack
- server 收到BB 的fin_ack后,主动发出ack 此时server 进入time_wait 状态, 同时BB收到ack 就进入close状态
- client 收到fin 后 内核协议栈回复ack 同时应用层会发出fin,如果此时client 的被动FIN 延时发送, 同时 AA socket 处于Fin2 状态 如果FIN2 超时被回收, 此时server 处于time_wait 状态
- client 响应发送FIN 此时 tproxy 代理没有找到之前的socket,FIN2 下超时回收,此时应该怎么处理??
- 如果不转发 就会触发client的超时重传最后回收
- 如果转发就转发到server 端 ,但是server 端处于time-wait 状态,此时就会响应ack 报文然后就出现了ack 震荡!!
目前想到的解决办法是:使用rst 关闭或者 不转发了
标签:BB,ack,报文,server,client,FIN,oscillate 来源: https://www.cnblogs.com/codestack/p/14954555.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。