业务报障过来,从client抓包如下,故障现场中没有抓到整条流,只抓到了如下部分:
通过wireshark的提示,有重传,而且有acked unseen segment的提示,以为是server返回的ack不对导致的一直卡住的现象。
解释:
上面No为[13,14]和[25,26] 4个包为TCP keepAlive包,心跳包的特点是seq为上一个服务端(对端)发来的ack号减1,本case中在第6号packet中,13号packet的seq为第6号ack减1,本case的心跳间隔在40s。
最终业务发现问题在客户端代码,传到一半不继续传了,和中间的proxy没有关系。
wireshark在抓到整条tcp flow的时候会提示keepalive报文,平时还真没关注过^—^记录下
赞赏支持一下