❶ 求高手解答一个关于2011年计算机网络中选择重传的考研真题题目
这个啊 其实是考试的文字游戏 题目已经说了 已知0到3号四个帧 1号帧确认收到 0、2依次超时 那么此时需要重传(注意是需要) 而不是现在让你当机器 就得重传;故而选0和2重传 因为根本没说3怎么回事。。。。当然啦 如果是做学问深究的话 这题目没意义。。。首先一个IP数据包封装到数据链路层 分帧 发送。。。这其实是有一个窗口的 在发送方 接收方都有个缓冲的窗口。。。我们知道一个IP数据包你必须收全 但是数据链路层往往是不保持状态的载波侦听协议 他就是能发就发 不发就等 故而在接受和发送方都有窗口缓冲。。。在接收方 其实也不是要求就得按序收到 他可以缓冲一下 在有限时间内收全即可。。。所以啊 要深究起来 指不定重传多少帧 因为你在有限时间内可能是重传未收到帧 而在整个IP包超时后可能得全部重来 另外 又比如你是1号确认收到 0 2依次超时 那么它超时后是重新滚入待发送序列的 当然这里有算法 有不同算法把这些或而放最后 或而按照优先级插入队列等等 但是这个时候又可能0的收回来了 这个时候还有可能把0从二次待发送列中移除 所以说啊 网络协议知识的学习 就是要实打实的考虑复杂网络状况下网络协议的运行情况 可不是简简单单就这么回事 要是真是这么简单的情况 网络协议就不会那么多 也不会有那么多优先级啊、重传、排序啊等等算法
❷ 数据链路层中选择重传为何接收窗口小于等于发送窗口
问题提问比较久远了,但是搜索的网友看到应该能给予一些帮助 . 刚要考计算机网络,这一块回答了也相当于总结了.
我们假设帧序号采用3bit表示,那么帧序号为 0, 1, 2, 3, 4, 5, 6, 7在采用SR(选择重传)协议时,发送窗口时理论上满足的原则是
发送窗口大小等于接收窗口(默认情况下,除非特殊说明)
发送窗口大小 + 接收窗口大小 <= 2^n = 8
问题一 : 那么发送窗口为5 接收窗口为3 (即发送窗口大于接收窗口)会发生什么情况?
首先发送方一次性连续发送了 0,1,2,3,4 帧序号的比特流 , 因为接收方的接收窗口为3 , 那么在0,1,2号帧正确无误的被接收方接收后,接收方向上交付0,1,2号帧 . 3,4号帧虽然被正确接收,但接收方现在还未将接收到的0,1,2号帧向上交付,并发回ack(n)的确认收到信息 ,多余的3,4号帧将被抛弃,只有在接收方发回确认信息后,接收窗口才会向后移动, 接收方下一个窗口便才会期待3,4,5 号帧 .因此早到的帧会被抛弃. 那么发送方迟迟收不到3,4号帧的ack3,ack4 .只收到ack0,ack1,ack2 , 因此发送方的计时器超时后接收方才会再次发送3,4号帧,这时候接收方才能正确接收. 这样的配合方式使得每个周期都会有数据超时重传,因此传输效率是低下的,也是没必要的.
问题二: 如果发送窗口大小为5,接收窗口大小为5 (即发送窗口+接收窗口>2^n)会发生什么情况?
我们来分析,发送方一次性发送0,1,2,3,4号帧的比特流, 接收方接收窗口为5
情况1: 在没有差错发生的情况下(此处差错考虑帧差错的帧丢失) : 发送方发送的所有数据都被正确接收了 , 并且接收方所有确认数据都正常接收到了.那么这种情况将一个周期一个周期的循环下去.
情况2: 发送方发送了0-4号帧,接收方正确接收,但是接收方的回复的所有确认收到信息全部丢失 , 发送方以为自己的数据发送失败,即没有到达接收方,因为如果到达了接收方即使发生了帧差错,接收方也会返回NAK(n)的回复信息 , 那么在计时器超时后发送方再次发送在缓存中的0-4号旧帧,那么接收方因为正确之前已经正确接收到0-4号帧后,它的接收窗口已经向后移动,此时接收窗口期望的是5,6,7,0号帧 . 当接收方再次接收到0-4号帧时,他并不能区别此时的0号帧是旧帧还是新帧,实际上是我们知道是旧帧,但是接收方接收到此0号帧了,它只能以为是新帧.那么此时就造成了帧重复的差错了.
问题2是我回复其他问题的答案 , 如果觉得有帮助请点赞支持.
❸ 后退N帧协议和选择重传协议的原理是什么分别有哪些优缺点
后退N帧策略的基本原理
当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。这就是GO-DACK-N(退回N)法名称的由来。因为,对接收方来说,由于这一帧出错, 就不能以正常的序号向它的高层递交数据,对其后发送来的N帧也可能都不能接收而丢弃。
后退N帧的工作情况
GO-DACK-N法操作过程如下图。图中假定发送完8号帧后,发现2号帧的确认返回在计时器超时后还未收到,则发送方只能退回从2号帧开始重发。
选择重传ARQ协议
为了进一步提高信道的利用率,可设法只重传出现差错的数据帧或者是定时器超时的数据帧。但这时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。这就是选择重传ARQ协议。
使用选择重传ARQ协议可以避免重复传送那些本来已经正确到达接收端的数据帧。但我们付出的代价是在接收端要设置具有相当容量的缓存空间,这在许多情况下是不够经济的。
正因如此,选择重传ARQ协议在目前就远没有连续则协议使用得那么广泛。今后存储器芯片的价格会更加便宜,选择重传ARQ协议还是有可能受到更多的重视。
❹ 选择重传ARQ协议中,为什么发送窗口要和接收窗口相等,如果不等会怎样
1、如果发送窗口>接收窗口。
比如接收窗口长度为2,准备接收序号为1和2的帧,发送窗口长度为4,正在发送1-4号的帧,此时如果4先到达了,因为不在接收窗口的范围内,接收窗口就直接丢弃了。为了让接收窗口正确接收4号帧,发送窗口还需要一直重传,直到接收窗口接收。
所以如果发送窗口>接收窗口,会导致数据链路资源的浪费(重传机会大大增加)。
2、如果发送窗口<接收窗口。
如发送窗口长度为2,正在发送1和2号帧,接收窗口长度为4,准备接收1-4号帧。这时,发送窗口要确认接收窗口接收了帧才能继续发,所以接收窗口至少有两个位置为空,得不到使用,也浪费了资源。
所以发送窗口=接收窗口是最好的。
❺ 数据链路层的流量控制与可靠传输机制
流量控制涉及对链路上的帧的发送速率的控制 ,以使接收方有足够的缓冲空间来接收每一个帧。例如,在面向帧的自动重传请求系统中 ,当待确认帧的数量增加时 ,有可能超出缓冲存储空间而造成过载 。流量控制的基本方法是由接收方控制发送方发送数据的速率 ,常见的方式有两种 : 停止-等待协议和滑动窗口协议 。
停止-等待流量控制基本原理
发送方每发送一帧 ,都要等待接收方的应答信号 ,之后才能发送下一帧;接收方每接收一帧 , 都要反馈一个应答信号 ,表示可接收下一帧,如果接收方不反馈应答信号,则发送方必须一直等待。每次只允许发送一帧 ,然后就陷入等待接收方确认信息的过程中 ,因而传输效率很低 。
滑动窗口流量控制基本原理
在任意时刻 ,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号 ,称为接收窗口。发送窗口用来对发送方进行流量控制,而发送窗口的大小 W T 代表在还没有收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧而不可以接收哪些帧 。在接收方只有当收到的数据帧的序号落入接收窗口内才允许将该数据帧收下 。若接收到的数据帧落在接收窗口之外 ,则一律将其丢弃。
下图给出了发送窗口和接收窗口的工作原理。
在发送端,每收到一个确认帧,发送窗口就向前滑动一个帧的位置,当发送窗口内没有可以发送的帧 (即窗口内的帧全部是己发送但未收到确认的帧) ,发送方就会停止发送 ,直到收到接收方发送的确认帧使窗口移动 ,窗口内有可以发送的帧,之后才开始继续发送 。
在接收端 ,当收到数据帧后 ,将窗口向前移一个位置,并发回确认帧 ,若收到的数据帧落在接收窗口之外则一律丢弃 。
滑动窗口有以下重要特性 :
1) 只有接收窗口向前滑动时(同时接收方发送了确认帧),发送窗口才有可能(只有发送方收到确认帧才是一定)向前滑动。
2)从滑动窗口的概念看 ,停止-等待协议、后退 N 帧协议和选择重传协议只在发送窗口大小和接收窗口大小上有所差别 :
停止等待协议 :发送窗口大小 =1,接收窗口大小=1 ; 后退 N 帧协议:发送窗口大小>1 ,接收窗口大小=1; 选择重传协议 :发送窗口大小>1,接收窗口大小>1。
3) 当接收窗口的大小为 1 时,可保证帧的有序接收 。
4) 数据链路层的滑动窗口协议中 ,窗口的大小在传输过程中是固定的(注意与传输层的滑动窗口协议的区别)。
可靠传输机制
数据链路层的可靠传输通常使用确认和超时重传两种机制来完成 。确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认 。超时重传是指发送方在发送某一个数据帧以后就开启一个计时器 ,在一定时间内如果没有得到发送的数据帧的确认帧 ,那么就重新发送该数据帧,直到发送成功为止 。
自动重传请求 (Auto Repeat Request, ARQ ) ,通过接收方请求发送方重传出错的数据帧来恢复出错的帧 ,是通信中用于处理信道所带来差错的方法之一 。传统自动重传请求分为三种,即停-等式 ( Stop-and-Wait) ARQ、后退 N 帧 ( Go-Back-N) ARQ 以及选择性重传(Selective Repate) ARQ 。后两种协议是滑动窗口技术与请求重发技术的结合 ,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动 ,因此又称其为连续 ARQ协议。注意,在数据链路层中流量控制机制和可靠传输机制是交织在一起的 。
在停止-等待协议中 ,源站发送单个帧后必须等待确认 ,在目的站的回答到达源站之前 ,源站不能发送其他的数据帧 。从滑动窗口机制的角度看 ,停止-等待协议相当于发送窗口和接收窗口大小均为 1 的滑动窗口协议。
在停止-等待协议中 ,除了数据帧丢失 ,还可能出现以下两种差错 : 到达目的站的帧可能己遭破坏 ,接收站利用差错检测技术检出后,简单地将该帧丢弃。为了对付这种可能发生的情况,源站装备了计时器 。在一个帧发送之后 ,源站等待确认,如果在计时器计满时仍未收到确认 ,则再次发送相同的帧 。如此重复 ,直到该数据帧无错误地到达为止 。
另一种可能的差错是数据帧正确而确认帧被破坏 ,此时接收方已经收到了正确的数据帧,但发送方收不到确认帧 ,因此发送方会重传已经被接收的数据帧 ,接收方收到同样的数据帧时会丢弃该帧,并重传一个该帧对应的确认帧 。发送的帧交替地用0和1来标识 ,肯定确认则分别用 ACK0和 ACK1 来表示 ,当收到的确认有误时 ,则重传己发送的帧。
对于停止-等待协议,由于每发送一个数据帧就停止并等待 ,因此用 1bit 来编号就够 。在停止-等待协议中 ,若连续出现相同发送序号的数据帧 ,表明发送端进行了超时重传。连续出现相同序号的确认帧 ,表明接收端收到了重复帧 。
此外,为了超时重发和判定重复帧的需要,发送方和接收方都须设置一个帧缓冲区。发送端在发送完数据帧时 ,必须在其发送缓存中保留此数据帧的副本 ,这样才能在出差错时进行重传 。 只有在收到对方发来的确认帧 ACK 时,方可清除此副本 。
由下图可知,停止-等待协议通信信道的利用率很低 。为了克服这一缺点 ,就产生了另外两种协议 ,即后退 N帧协议和选择重传协议 。
在后退 N 帧式 ARQ 中,发送方不需要在收到上一个帧的 ACK 后才能开始发送下一帧 ,而是可以连续发送帧 。当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了 N个帧后 ,若发现该 N个帧的前一个帧在计时器超时后仍未返回其确认信息 ,则该帧被判为出错或丢失 ,此时发送方就不得不又重传该出错帧及随后的 N个帧 。换句话说 ,接收方只允许按顺序接收帧 。
如图所示,源站向目的站发送数据帧 。当源站发完 0 号帧后,可以继续发送后续的 1 号帧、2 号帧等。源站每发送完一帧就要为该帧设置超时计时器 。由于连续发送了许多帧,所以确认帧必须要指明是对哪一帧进行确认 。为了减少开销 ,GBN协议还规定接收端不一定每收到一个正确的数据帧就必须立即发回一个确认帧 ,而是可以在连续收到好几个正确的数据帧后,才对最后一个数据帧发确认信息 ,或者可以在当自己有数据要发送时才将对以前正确收到的帧加以捎带确认 。这就是说 ,对某一数据帧的确认就表明该数据帧和这以前所有的数据帧均己正确无误地收到了。在图中,ACKn 表示对第 n 号帧的确认 ,表示接收方己正确收到了第 n 号帧及以前的所有帧,下一次期望收到第 n+1 号帧 (也可能是第 0 号帧)。接收端只按序接收数据帧 。 虽然在有差错的 2 号帧之后接着又收到了正确的 6 个数据帧,但接收端都必须将这些帧丢弃。接收端虽然丢弃了这些不按序的无差错帧 ,但应重复发送己经发送过的最后一个确认帧 ACK1 ( 这是防止己经发送过的确认帧 ACK1 丢失)。
后退 N帧协议的接收窗口为1,可以保证按序接收数据帧。若采用n个比特对帧编号 ,则其发送窗口的尺寸 W T 应满足:1 <= W T <= 2^n - 1。若发送窗口的尺寸大于2^n - 1,则会造成接收方无法分辨新帧和旧帧。
从图中不难看出 ,后退 N 帧协议一方面因连续发送数据帧而提高了信道的利用率 ,但另一方面,在重传时又必须把原来己传送正确的数据帧进行重传 (仅因这些数据帧的前面有一个数据帧出了错) ,这种做法又使传送效率降低。由此可见,若信道的传输质量很差导致误码率较大时,后退 N帧协议不一定优于停止-等待协议。
为进一步提高信道的利用率 ,可设法只重传出现差错的数据帧或者是计时器超时的数据帧。
但此时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧 。等到所缺序号的数据帧收到后再一并送交主机 。这就是选择重传 ARQ 协议。
在选择重传协议中 ,每一个发送缓冲区对应一个计时器 ,当计时器超时时,缓冲区的帧就会重传 。另外,该协议使用了比上述其他协议更有效的差错处理策略 ,即一旦接收方怀疑帧出错,就会发一个否定帧 NAK 给发送方 ,要求发送方对 NAK 中指定的帧进行重传 。如图所示。
选择重传协议的接收窗口尺寸 W R 和发送窗口尺寸 W T 都大于 1,一次可以发送或接收多个帧。若采用n比特对帧编号,为了保证接收方向前移动窗口后 ,新窗口序号与旧窗口序号没有重叠部分,需要满足条件:接收窗口 W R +发送窗口 W T <= 2^n。假定仍然采用累计确认的方法 ,并且接收窗口 W R 显然不应超过发送窗口 W T ( 否则无意义),那么接收窗口尺寸不应超过序号范围的一半:WR <= 2^(n - 1)。当接收窗口为最大值时 ,W T max=W R max=2^(n - 1)。需要提醒读者的是 ,一般情况下,在 SR 协议里面 ,接收窗口的大小和发送窗口的大小是相同的。
选择重传协议可以避免重复传送那些本己正确到达接收端的数据帧 ,但在接收端要设置具有相当容量的缓冲区来暂存那些未按序正确收到的帧 。接收端不能接收窗口下界以下或窗口上界以上的序号的帧 ,因此所需缓冲区的数目等于窗口的大小 ,而不是序号数目 。
在停止-等待协议中 ,确认帧为什么不需要序号(如用 ACK0 和 ACK1 ) ?
为什么当用n个比特进行编号时 ,若接收窗口的大小为 1,则只有在发送窗口的大小 W T <= 2^n-1 时,连续ARQ 协议才能正确运行 ?
❻ 滑动窗口机制的选择重传协议
在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发(SELECTICE REPEAT),显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。
❼ GBN具体是说的什么
在理解GBN协议之前,先了解滑动窗口是怎么回事?
在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。
若从滑动窗口的观点来统一看待停等、后退n及选择重传三种协议,它们的差别仅在于各自窗口尺寸的大小不同而已。停等:发送窗口= 1,接收窗口=1; 后退n协议:发送窗口>1,接收窗口=1;选择重传协议:发送窗口>1,接受窗口>1;
停等协议很好理解,这里主要解释后退n协议和选择重传协议。
GBN协议中,发送方在发完一个数据帧后,连续发送若干个数据帧,即使在连续发送过程中收到了接收方发来的应答帧,也可以继续发送。且发送方在每发送完一个数据帧时都要设置超时定时器。只要在所设置的超时时间内仍收到确认帧,就要重发相应的数据帧。如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。
接受帧只允许按顺序接受帧。为了减少开销,累计确认允许接收端在连续收到好几个正确的确认帧后,只对最后一个数据帧发确认信息,或者可以在自己有数据要发送时才将对以前正确收到的帧加以捎带确认。这就是说,对某一数据帧的确认就表明该数据帧和这以前所有的数据帧均已正确无误地收到了。
后退N帧协议的接受窗口为1,可以保证按序接受数据帧。若采用n个比特对帧编号,则其发送窗口的尺寸应满足:1~2^(n-1)。若发送窗口的尺寸大于2^(n-1),则会造成接受方无法分辨新帧和旧帧。(具体例子见书)
SR协议是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。显然,SR减少了浪费,但要求接收方有足够大的缓冲区空间。
若采用n比特对帧编号,为了保证接收方向向前移动窗口后,新窗口序号与旧窗口序号没有重叠部分,需要满足条件:接受窗口+发送窗口<=2^n。假定仍然采用累计确认的方法,并且接受窗口显然不应超过发送窗口,那么接受窗口尺寸不应超过序号范围的一半<=2^(n-1)。
假设n取3,序号空间即0~7 (S:sender R:receiver)
S 发送了0,1,2,3,4,5,6 号帧
R 接受上述帧并且捎带发送 ACK6,但是丢失了
S的0号帧首先超时,S 重发发送0号帧
R收到0号帧,但是因为之前它已经接受0~6,发送了ACK6,它会认为0号帧是一个新的帧,而在0号帧之前的一个7号帧丢失(注意这里是一个环的结构)。因为是选择重传协议,R会接受0号帧( the old)作为新帧(暂时放在缓存区),并通知S重发7号帧。
S 发送7号帧
R接受了7和0号帧,并且发送ACK0
这就出现了问题:
1、R接受错误的0号帧作为新的帧
2、S在发送完7号帧之后收到了ACK0,而不是ACK7,此时对于S而言,它的0号帧早已在ACK6中确认。
出现这个问题的主要原因是我们不能区别新旧帧,现在我们将序号空间一分为二,首先发送0~3,继续上面的步骤。走到步骤4的时候R不会接受0作为新帧,因为R知道新的帧是4而不是0。这样就避免了上面的问题。
❽ 选择重传协议 发送窗口 接收窗口 都小于2^(n-1)
如果发送窗口大于接收窗口,接收方的缓冲区最终会溢出,接收方会死在那里
❾ 02 - 数据链路层的详细认识
时间有限我这里只写了一部分内容,更详细的内容可以直接看我的笔记 第三章数据链路层
数据链路层的任务就是将分组从一个网络中或一个链路上的一端传送到另一端。数据链路层传送的数据单元称为帧(frame)。所以也可以说数据链路层的任务就是在一个网络(或一段链路上)传送以帧为单位的数据
数据链路层属于计算机网络的底层,仅在物理层的上方,在网络层的下方,网络中的主机、路由器等都必须实现数据链路层。数据链路层使用的信道主要有两种类型,点对点信道,广播信道
在点对点信道中最重要的是如何实现可靠传输(在实际中并不会在数据链路层实现可靠传输,而是交给上层)
网络层的IP数据报必须向下传达到数据链路层,在数据报前后分别加上首部和尾部,封装成为一个完整的帧。因为在数据链路层就是以帧为单位传输和处理数据,因此,数据链路层中的帧长就是数据部分加上首部和尾部的长度。
发送方将帧以比特流的形式发送给接收方(在物理层会转换成电信号),接收方为了能够处理帧数据,必须正确认识每个帧的开始和结束,这就需要进行帧定界
帧定界有很多种,比如以太网就是在传输的帧与帧之间插入时间间隔来实现,只有首部有帧定界符,尾部没有帧定界符。还有一种就是在帧的首部和尾部都加上一个帧定界符。
帧定界符:
不同类型:
帧定界符在透明传输中的问题和解决
问题: 传输数据存在使用帧定界符所使用的字符或比特组合,会出现错误的帧定界
解决:
注意:
通信链路的传输都不会是理想的,比特在传输过程中可能会产生差错,比如1变为0,0变为1,这叫做比特差错,因此就需要在接收端进行差错检测。
发送方需要采用某种差错检测算法,使用发送的数据计算出差错检测码EDC,差错检测码随数据一起发送给接收方,接收方使用同样的差错检测算法计算出差错检测码EDC',如果两者不一致,则表示出现差错,一般采用循环冗余检验(CRC)来检错
差错检测算法:
接收双方需要约定好一个多项式,之后按照下图的方式进行处理
案例说明
发送方的冗余校验:
说明:
接收方的冗余校验:
说明:
注意:
有些情况下数据链路层需要向上层的网络层提供“可靠传输”的服务,也就是发送端发送什么,对应的接收端就必须接收什么。我们通过可靠传输协议来实现数据链路层的可靠传输,有三种,停止等待协议SW、回退N步协议GBN、选择重传协议SR。
可靠传输协议就是要在不可靠的信道上实现可靠的数据传输服务。
在计算机网络中实现可靠传输的基本方法就是:如果发现错误就重传
使用分组确认和超时重传机制就可以在不可靠的信道上实现可靠的数据传输。
解决: 可以在发送方发送完一个数据分组后,启动一个超时计时器,若超出了设置的重传时间,发送方仍没有收到接收方的任何确认分组,就会重传原来的分组。
注意: 重传时间的选择一般是略大于“从发送方到接收方的平均往返时间”数据链路层的往返时间是比较确定的,可以使用这种方式
说明:
上面也可以看到停止等待协议的信道利用率很低,所以需要采用流水线传输方式,发送方不间断的发送分组来提高信道利用率。但是这种方式有可能会使接收方来不及处理这些分组,从而导致分组的丢失。因此需要限制发送方连续发送分组的个数避免这个问题,而这种方式就是回退N步协议。
简单理解回退N步协议就是停止等待协议只能发送一个分组就等待,回退N步协议是发送多个分组才处于等待状态
原理: 回退N步协议在流水线传输的基础上利用发送窗口来限制发送方连续发送分组的个数,是一种连续的ARQ协议
注意:
选择重传协议是在回退N步协议的基础上,只重传出现差错的分组,这时接收窗口不再为1,以便先收下失序到达但仍然处于接收窗口中的分组,等到所缺分组收齐后再一并送交上层,这就是选择重传协议。
注意:
❿ ARQ协议的工作原理是什么
数据链路层的差错控制问题。但提问的背景信息太少,你的问题是没有明确什么样的前提条件。只按照一般:
1,车架号码由3位数字尝试回答。当发送序列号由三个比特占用,可以由总共有八个不同的发送序列号,从000到111。当数据帧的发送序列号为111,下一个序列号发送到另一台000。
2,默认使用的网络是一个连续ARQ协议的工作原理。要点是:发送一个数据帧后,该帧是不是停下来等待一个答案,但你就可以发送一个连续的数据帧数量。如果你再收到发送确认帧的接收端,然后你就可以发送数据帧。由于减少的等待时间,提高通信的吞吐量。 /> 3,根据题意,我们正在设立发送3个比特用于编码的序列号,它可以发送的帧的编号从0到7,8个不同的序列号;设置发送窗口WT = 5。然后,在开始发送侧传输,传输窗口将指示:如果还没有收到一个确认消息的情况下,发送方可以发送连续#0#4,5帧。如果发送方发送了这五个帧(#0#4),但最终还是收到一条确认消息,因为已经坐满传输窗口,它必须停止发送和进入等待状态。当您收到确认消息帧0号后,发送窗口,可以向前移动一个数字,然后,#5属于发送窗口,发送者现在可以发送#5。假设有三个随后的帧(#1至#3)到达的确认帧的发送端。因此,发送窗口,可以向前移动再次三个数字。此时,发送方也继续发送#6,#7和新的第0。
4,当使用n位的编号,如果发送窗口的大小WT,接收窗口大小是WR,那么只有WT≤2 ^ N - 1和WT + WR≤2正日已经形成,滑动窗口协议才能正常工作。然而,根据题目描述
例如,设n = 3,WT = WR = 5,当一个数据帧的数目的时候,ACK丢失时,接收器将可能#作为一个新的数据帧的数据帧倒闭,所以滑动窗口可能无法正常工作。
5,选择重传ARQ协议可以尝试只是
错误重传数据帧或数据帧计时器到期。但是,那么我们就必须增加了接收窗口,先接受发送序列号不连续的,但仍然在接收窗框。等待,直到接收的数据帧丢失的数目,然后被发送到主机。这是一种选择性的重传ARQ协议。
使用选择性重传ARQ协议发送那些已经避免重复正确到达接收端的数据帧。但成本要设置在接收器中的缓冲区空间,具有相当大的容量,这在许多情况下,是不经济的。
出于这个原因,选择重传ARQ协议已经远远的当前行中,所使用的协议是如此广泛。未来内存芯片的价格会更便宜,选择重传ARQ协议还是有可能得到更多的关注。 。 />选择重传ARQ协议,接收窗口显然是不大于发送窗口。如果n位的数量,最大接收窗口必须满足以下条件:WR≤2N-1。当一支球队最大接收窗口时,WR = 2N-1。例如:n = 3时,可以计算出WT = WR = 4。