我是靠谱客的博主 和谐雪碧,最近开发中收集的这篇文章主要介绍(运输层)TCP可靠传输原理之停止等待协议(ARQ)/连续ARQ协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

理想的传输条件有以下两个特点:

(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协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部