问题介绍
今天,有内部模块与外部系统断连。 (外部系统smgw,内部接口interface)
smgw <----> interface 有消息交互。
通过tcpdump -xns0 port 16362 > smgw_interface &
得到了相应的抓包。
win--就是告诉对方自己能接受多大的数据。
抓包分析
过滤出所有的Packet包后,发现问题是发送了一段时间以后,interface-->smgw发送数据超时。
经过分析,是因为smgw系统win(窗口)耗尽,因此interface无法发送成功,有超时发送失败机制,因而断连。
分析packet,发现通过win(窗口大小)可以分为三个阶段:平稳,下降,耗尽。
平稳(16379,501)
上升至稳定(16379,6176)
稳定(11048,6312)
下降(6357,5482)
单向窗口耗尽(6402,1)
彻底沦为单向发送(xxx,0)