【发布时间】:2020-02-24 16:47:08
【问题描述】:
所以基本上,我被问到这个问题是为了面试。问题是:
为什么 TCP 连接终止需要 4 个步骤?
来自this我知道,FIN和ACK需要双方发送才能完成终止,但另一个我无法回答的后续问题是为什么服务器必须发送2条消息(每条只有FIN 和 ACK 位分别设置)。
为什么不能一起做呢?
【问题讨论】:
-
来自一侧的 FIN 只是简单地告诉另一侧它已完成发送,但它仍然愿意收听。另一方对此表示赞同。当对方发送完毕时,它会发送一个 FIN 告诉对方它现在已经完成发送,并且第一方 ACKs 。如果一侧完成了发送和监听,它会发送一个 RST 立即关闭连接。
标签: networking tcp