32. 传输层TCP协议十大主要特性(2) —— 超时重传

2022-10-26 15:51:34 浏览数 (1)

超时重传解决的问题:

在确认应答中描述了一种理想情况,也就是说在这种情况下没有考虑丢包的过程,但是如果在数据的传输过程中“丢包”了,那么就需要用到超时重传

假设再一下传输过程中丢包了,有两种情况: 情况一:主机A发送的请求丢了

情况二:主机B回复的ACK丢了

但是以上两种情况并没有办法区分开,那怎么办呢?解决方法如下:

既然区分不了那就等待一个规定的时间也就是定时器,到了这个时间还没有收到ACK那主机A就再次发送数据,假设第一次发送数据后等待的时间为t1,第二次发送数据后等待时间为t2,那么就会有t2>t1,也就是第二次等待 的时间会更长一点,其实也是TCP的一种很聪明的手段,在第一次丢包之后就不指望能成功了,也就隔了更长的时间,节省带宽。

当然,如果接收者发现读到的数据存在重复的现象,就会自动去重。

确认应答和超时重传就是TCP可靠性的两个最基本核心机制

0 人点赞