【问题标题】:What specifies the retry count of ACK during TCP connection establishment?TCP连接建立过程中ACK的重试次数是多少?
【发布时间】:2017-08-08 20:53:21
【问题描述】:

在下面的TCP连接建立图中,tcp表示tcp_syn_retries指定SYN的重试次数,tcp_synack_retries指定SYN+ACK的重试次数。没有像 tcp_ack_retries 这样的东西来指定 ACK 的重试次数。

side-a        side-b
       SYN
      ------->
       SYN+ACK
      <-------
       ACK
      ------->

但是有tcp_retries1tcp_retries2tcp_retries1 的描述说:

TCP 尝试在已建立的连接上正常重新传输数据包的次数。

并且side-a收到SYN+ACK后,就建立了向side-b发送数据的连接。所以我认为tcp_retries1tcp_retries2指定了ACK的重试次数。我的理解正确吗?

【问题讨论】:

    标签: tcp


    【解决方案1】:

    我认为您缺少对 ACK 的理解。
    ACK 是对接收到某些数据的确认。 ACK 没有预期的响应。而且,如果没有预期响应,则不知道 ACK 是否已传递,即是否需要重新传递。
    相反,如果 ACK 丢失,则对等方将重新发送尚未确认的数据,假设原始数据丢失或 ACK 丢失。而且,这将导致另一个 ACK​​ 发送回对等方。

    【讨论】:

    • 所以 ACK 不会被 side-a 重试。因此,没有这样的重试计数选项。对吗?
    • @JingguoYao:正是
    猜你喜欢
    • 2014-03-04
    • 2015-10-01
    • 2013-08-11
    • 1970-01-01
    • 2012-11-11
    • 2016-09-27
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多