对于 TCP 层消息,我们收到了 7% 的重置消息。我们有两组日志。
第一个 Wireshark 日志显示了一个很好的请求和响应这里客户端用同步确认回复,例如 [syn, ack] seq=0 ack=1
[syn, ack] seq=0 ack=1
第二组日志显示,服务器直接回复了 SEQ=1,ACK 有一个很大的 ACK 号,发帖的客户端向其发送了重置消息。
我们应该在 Linux 服务器上更改什么服务器设置来更改 ACK 消息,以便这些重置可以停止。
如果之前的 TCP 连接没有正确关闭,您所看到的是正常行为。
如果端口号与之前在客户端完全关闭但在服务器上保持建立的连接匹配,则会发生您看到的序列。
客户端将发送SYN
,因为它不记得旧连接。服务器将看到SYN
到达处于已建立状态的连接,这是出乎意料的。但由于它是一个有效的连接,服务器不能以RST
. 相反,它将发送一个ACK
对应于服务器已知的当前序列号。
客户端将接收一个ACK
尚未建立的连接。每个方向的第一个数据包都需要SYN
设置位。因此,客户端知道ACK
之前连接的 是 ,并将以RST
. 该RST
会清除来自服务器的旧连接。
发送完SYN
、ACK
和RST
数据包后,客户端可以重新传输SYN
数据包。这次握手将起作用。
首先,旧连接最终处于断开状态有多种可能的原因。这里有几种可能性:
归档时间: |
|
查看次数: |
10617 次 |
最近记录: |