目的
保证 TCP 协议可靠的核心机制。
示例
背景:我给老板发微信。
- 场景一:
我:老板,我想删库!
老板:滚!(确认应答,ACK)
我收到老板的确认应答(ACK) 之后,才能知道自己不可以删库。
- 场景二:
我:老板,我想加班,今天不回家了!(消息 1 )
我:老板,能给我加薪吗?(消息 2)
老板:同意!(回复消息 1 )
老板:你明天不用来了(回复消息 2)
这是正常情况下,而有可能因为网络原因导致消息发送的顺序改变,即非正常情况如下
我:老板,能给我加薪吗?(消息 1)
我: 老板,我想加班,今天不回家了!(消息 2)
老板:你明天不用来了!(回复消息 1)
老板:同意!(回复消息 2)
我以为老板同意我 加薪 并且看在我通宵 加班 的情况下明天给我放一天的假。
因此就有了 TCP 协议中 32 位序号 给数据编号的行为,防止出现歧义。