为了更好的理解,在介绍确认应答特性之前,先举一个简单的例子
假设你正处于想要表白的时期,并且你很怂,只想用发微信的方式给小姐姐表白,由于利用发短信的形式进行传输并不可靠,因此需要用对方返回一个应答报文(ACK)来表示已经收到消息了,那么就会有以下情况:
此时小姐姐回应的两个答案分别是“喜欢”和“不喜欢”,但是因为有网络先发后至的可能性,不知道这两个答案分别对应的哪个问题,也可能你的表白会空欢喜一场。
那么怎么让信息的传输更为准确没有歧义呢,那就在回答的前面加上一个限定标志,比如说:
加上两个限定词之后,恭喜你,表白失败!
当然,引入了这些额外信息也就让信息的传输更加准确可靠了。
但是这样也有一些弊端,就是额外的信息太过于冗长,占用带宽太多了,那么我们就可以将这么多限定饿额外信息换成编号,这样可以保证可靠传输的同时还能保证不占用太多的带宽:
在真实的传输过程中,是按照字节编号联系的连接,会有一个特殊的应答报文,ACK字段为1的报文,此时报头中“确认序号”的字段才能生效: