概述
理想的传输条件有以下两个特点:
(1)传输信道不产生差错。(2)不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据。
停止等待协议(ARQ):
(a)无差错情况:A发送分组M1,发送就暂停发送,等待B的确认。B收到M1就向A发送确认。A在收到了对M1的确认后,就再发送下一个分组M2。同样,在收到B对M2的确认后,再发送M3。
(b)超时重传:B接收M1时检测出了差错,就丢弃M1。(超时重传:A只要过了一段时间仍然没有收到确认,就认为刚才发送的分组丢失了,因而重传前面发送过的分组。)
(c)确认丢失 (d)确认迟到
c)确认丢失:B所发送的对M1的确认丢失了,A在设定的超时重传时间内没有收到确认,但无法知道是自己的分组出错、丢失,或者是B发送的确认丢失了。因此A在超时计时器到期后就要
重传M1。假定B又收到了重传的分组M1,这时丢弃这个重复的分组M1,向A发送确认。
(d)确认迟到:传输过程中没有出现差错,但B对分组M1的确认迟到了。A会收到重复的确认。对重复的确认处理很简单:收下后丢弃。B仍会收到重复的M1,并且同样要丢弃重复的M1,并重传
确认分组。
为了提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输。发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。这样可使信道上一直有数据不间断地传送。
当使用流水线传输时,就要使用连续ARQ协议和滑动窗口协议。
(a):表示位于发送窗口内的5个分组都可以连续发送出去,而不需要等待对方的确认。
(b):表示发送方收到了对第1个分组的确认,于是把发送窗口向前移动一个分组的位置。如果原来已经发送了前5个分组,那么现在可以发送窗口内的第6个分组了。
接收方采用累计确认:接收方不必对收到的分组逐个发送确认,而是在收到几个分组后,对按序到达的最后一个分组发送确认,这就表示到这个分组为止飞所有分组都已经正确收到了。
优点:容易实现,即使确认丢失也不必重传。
缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息。
最后
以上就是和谐雪碧为你收集整理的(运输层)TCP可靠传输原理之停止等待协议(ARQ)/连续ARQ协议的全部内容,希望文章能够帮你解决(运输层)TCP可靠传输原理之停止等待协议(ARQ)/连续ARQ协议所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复