建立连接后,有:

当终止发生时,有:

我的问题是为什么②和③不能像①一样设置在同一包中,而ACK和SYN设置在一个包中?

最佳答案

  • 三向握手(连接设置)中:服务器必须确认( ACK )客户端的 SYN ,并且服务器还必须发送自己的 SYN YNt_rstrong,其中包含数据的初始序列号将发送连接。
    这就是服务器为何在单个段中发送其 SYN 和客户端的 SYN ACK 的原因。
  • 连接终止:需要四个段来终止连接,因为在每个方向上都需要 FIN ACK
    (2)表示TCP已确认接收到的 FIN (第一段)( ACK )
    (3)表示稍后会收到文件结束的应用程序将关闭其套接字。这将导致其TCP发送 FIN
    然后,最后一段将表示接收到此最终 FIN 的系统上的TCP确认( ACK ) FIN
  • 关于tcp - 为什么TCP连接终止需要4次握手?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46212623/

    10-13 05:56