我正在学习关闭 TCP 连接的过程,这个过程在我遇到的许多来源中都不同。在官方 Cisco cert guide (100-105) 中,过程如下:
1) ACK, FIN ---->
2) <---- ACK
3) <---- ACK, FIN
4) ACK ---->
我只是没有看到 3) 中 ACK 的目的,因为 2) 中已经有一个确认。此外,在较旧的 Cisco 学习材料中,该过程也没有 2)。
最重要的是,我有这个 WireShark 捕获让我更加困惑:
基本上相同的事情,数据包#38 中额外的 ACK 是做什么用的?确认已在#37 中发送。并且两者也具有相同的确认号。
如果在某些情况下所有这些都是可能的,或者哪一个是正确的,有人能给我一点见解吗?