我们看到这种行为突然间我们的TCP响应没有被发送。即使连接正常(即我们能够接收请求)
TCP客户端通过VPN连接到服务器。它大部分时间都可以工作,但是有些时候我们没有看到ngrep
上有关回复的任何信息,而这些信息都被发送回服务器。
ngrep命令
ngrep -t -d en01 port 8067
TCP客户端是Twisted TCP客户端。
我尝试使用netstat来检查发送队列的大小。
netstat ouptut
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 x.x.x.x.:47617 y.y.y.a:8067 ESTABLISHED
tcp 0 0 x.x.x.x.:50626 y.y.y.b:8067 ESTABLISHED
y.y.y.a - TCP server 1
y.y.y.b - TCP server 2
SEND-Q(0)对我好看
即使是lsof输出也提到QS为0
lsof -Tqs -i TCP:8067
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
twistd 19561 viren 3u IPv4 183882947 0t0 TCP x-x-x-x:47617->y.y.y.a:8067 (ESTABLISHED QR=0 QS=0)
twistd 19564 viren 3u IPv4 183879151 0t0 TCP x-x-x-x:50626->y.y.y.b:8067 (ESTABLISHED QR=0 QS=0)
重要说明我重启TCP客户端的那一刻我看到了消息流。
不确定出现了什么问题以及数据包发生了什么。
任何线索??
操作系统
CentOS Linux版本7.2.1511(核心)