- 可靠传输的工作原理和具体实现方法
TCP 之所以具备极强的容错率(不担心出错),在于它有让两个运输层之间的通信可靠的方法。
理想的传输条件需要有的特点:
(1)传输信道不产生差错。
(2)不管对方以多快的速度发送数据,接收方总是来得及处理收到的数据。
实际情况满足不了这两个特点。但是可以使用一些协议,当出现差错时让对方重发数据(满足第一点)。同时当接收方来不及处理收到的数据时,及时通知对方降低速度(满足第二点)。所以原本不可靠的传输信道,就能够实现可靠传输了。
具体实现方法是:停止等待协议(这是早期使用的协议,真正使用的协议,比这个要复杂得多)、连续 ARQ 协议、滑动窗口协议。
如果是自动重发协议(不过好像都是自动重发协议)的话,意思是重传的请求是自动进行的,接收方不需要请求发送方重发某个出错的分组(甚至,哪个数据出错,都是发送方自己确定的,真是报喜不报忧)。
-
停止等待协议(自动重传请求 ARQ(automatic repeat request)):
——正常收发:
停止等待,就是发送完一个数据,就停止发送,等待对方的确认。收到确认后,才能够发送下一个数据(对于运输层来说