【问题标题】:procedures in opening and closing a TCP connection打开和关闭 TCP 连接的过程
【发布时间】:2011-08-28 16:42:07
【问题描述】:

谁能告诉我关闭tcp连接的过程。

假设有A(Client)和B(Server),A建立TCP连接

A 正在与 B

创建 TCP 连接
  1. 在打开连接时,如果来自 A 的 SYN 数据包在到达 B 时丢失,即使您进行了一些重传,会发生什么情况。

  2. 如果 B 向 A 发送数据包,SYN+ACK 在网络中掉线会发生什么。

  3. 如果网络中的 ACK 从 A 掉到 B 会发生什么。

A 正在关闭与 B 的连接。

  1. 在关闭连接时,如果来自 A 的 FIN 数据包在到达 B 时丢失,即使您进行了一些重传,会发生什么情况。
  2. 如果 B 向 A 发送数据包,如果 FIN+ACK 在网络中掉线会发生什么。
  3. 如果网络中的 ACK 从 A 掉到 B 会发生什么。

【问题讨论】:

    标签: tcp


    【解决方案1】:

    初始 SYN 数据包以指数退避方式重新传输,通常从 2 秒开始。 IE。 2s、4s、8s、16s等

    对于重新传输的 SYN-ACK 数据包也是如此(尽管有一些你真的不想知道的奇怪实现)。

    任何 ACK 都不会盲目重传。如果对方重传一个数据包,就会再发送一个ACK。

    以上对 FIN 也是如此,只需将 FIN 替换为您看到 SYN 的位置。当然,开始重传时间不是 2 秒,而是在会话过程中计算得出的往返时间。

    在重传和可靠性方面,SYN/FIN 数据包与数据包相同。这些标志甚至占用了一个序列号,因此可以正确跟踪它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 2018-11-09
      • 1970-01-01
      相关资源
      最近更新 更多