Bootstrap

计算机网络 ACK机制---确认应答机制

ACK机制

由于通信过程的不可靠性,传输的数据不可避免的会出现丢失、延迟、错误、重复等各种状况,TCP协议为解决这些问题设计了一系列机制。这个机制的核心,就是发送方向接收方发送数据后,接收方要向发送方发送ACK(回执)。如果发送方没接收到正确的ACK,就会重新发送数据直到接收到ACK为止。比如:发送方发送的数据序号是seq,那么接收方会发送seq + 1作为ACK,这样发送方就知道接下来要发送序号为seq + 1的数据给接收方了。

数据丢失或延迟:发送方发送数据seq时会起一个定时器,如果在指定时间内没有接收到ACK seq + 1,会触发超时重传把数据seq再发一次。

数据乱序:接收方上一个收到的正确数据是seq + 4,它返回seq + 5作为ACK。这时候它收到了seq + 7,因为顺序错了,所以接收方会再次返回seq + 5给发送方。

数据错误:每一个TCP数据都会带着数据的校验和。接收方收到数据seq + 3以后会先对校验和进行验证,如果结果不对,则发送ACK seq + 3,让发送方重新发送数据。

数据重复:接收方直接丢弃重复的数据即可。

 

;