在以下TCP连接建立图中,tcp表示tcp_syn_retries
指定SYN
的重试计数,tcp_synack_retries
指定SYN+ACK
的重试计数。没有像tcp_ack_retries
这样的内容来指定ACK
的重试次数。
side-a side-b
SYN
------->
SYN+ACK
<-------
ACK
------->
但有tcp_retries1
和tcp_retries2
。 tcp_retries1
的说明是:
TCP将尝试在已建立的连接上重新传输数据包的次数。
在side-a
收到SYN+ACK
后,建立了向side-b发送数据的连接。因此,我认为tcp_retries1
和tcp_retries2
指定了ACK
的重试次数。我的理解是否正确?
答案 0 :(得分:1)
我认为你错过了对ACK的理解
ACK是对收到某些数据的确认。 ACK没有预期的响应。并且,如果没有预期的响应,则不知道ACK是否已经发送,即是否需要重新发送。
相反,如果ACK丢失,则对等体将重新发送尚未确认的数据,假设原始数据丢失或ACK丢失。并且,这将导致另一个ACK被发送回对等体。