不是 Cisco Packet Tracer 中的四次握手?

网络工程 通讯协议 数据包追踪器
2021-07-05 08:25:24

TCP连接终止是通过四次握手来完成的,如下图(图片取自这里)。

四次握手

我尝试在 Cisco Packet Tracer 上进行验证。使用以下拓扑,我通过发起 http 请求捕获了一些数据包(如下所示)。

在 Cisco Packet Tracer 上捕获数据包

通过分析最后四个 tcp 数据包(tcp 连接终止),我得到了这个:

在此处输入图片说明

看起来像是三次握手。请解释一下。

我想知道从服务器到 PC 的请求数据包(标签中2)是否携带额外的 ACK 信息(搭载 ACK)?如果是,我怎么知道数据包是否在捎带?

2个回答

这看起来像一个四次握手,其中服务器在客户端关闭其一半连接之前完成向客户端发送数据。

服务器执行了一个快捷方式,它使用相同的数据包来发出确认关闭客户端与服务器的连接 (ACK) 并启动关闭服务器与客户端的连接 (FIN) 的信号。

我可能是错的,我对第三张图中的序列号有点好奇,但我也不确定混淆在哪里。

请注意,如果客户端请求一个大(例如 500MB)文件,然后立即关闭其一侧的连接,您会更清楚地看到四路关闭,它看起来像:

C -> FIN -> S
C <- ACK <- S
C <- [DATA] <- S (lots of these)
C <- FIN <- S
C -> ACK -> S (Final ACK, connection closed)

我希望有帮助

它被称为四次握手,因为每一方都发送一个 FIN 信号并期待一个 ACK​​。

接收第一个 FIN 的一侧通常将两个标志组合在一个段中,就像在您的模拟中一样。