在从客户端第一次尝试进行连接到客户端计算机发送[SYN,ACK]数据包时,服务器计算机上会出现延迟。这些是使用嗅探器工具wireshark分析的一些观察结果:-
由于此延迟:-
- 客户端应用程序正在向服务器发送[TCP Retransmission]数据包。
- 稍后,客户端的连接超时到期(3秒),它尝试与服务器进行第二次连接尝试。
- 令人惊讶的是,服务器立即向客户端发送第二次连接尝试的[SYN,ACK]数据包。
- 在发送了[SYN,ACK]数据包进行第二次尝试后,服务器以[SYN,ACK]数据包进行了第一次尝试的响应。
为了更好地理解,客户端应用程序将连接请求发送给某些设置的服务器端口。服务器从侦听端口(这些端口之一)发送[SYN,ACK]数据包。
如果有人解释我会很高兴的:-
- 为什么来自服务器计算机的[SYN,ACK]数据包中存在延迟?
- 为什么服务器能够立即以[SYN,ACK]数据包响应以进行第二次尝试,但在发送[SYN,ACK]以进行首次尝试后又响应了第一次连接尝试。
- 谁负责将[SYN,ACK]数据包回复给客户端计算机?是服务器应用程序还是任何其他操作系统服务?
wireshark的屏幕快照位于此处。上述观察是基于帧#20145至帧#20428