-
2020-08-18 14:22:03
文章目录
一、 选择重传协议 ( SR ) 引入
后退 N N N 帧协议 ( GBN ) 弊端 : 累计确认 机制 , 导致的批量重传 , 这些重传的帧 , 可能已经传输成功 , 就是因为之前的帧出错 , 导致传输成功的帧被丢弃 ;
上述弊端 解决方案 : 设置 单个帧确认机制 , 加大 接收窗口 , 设置接收缓存 , 可处理乱序到达的帧 ;
二、 选择重传协议 ( SR ) 帧分类
发送方 帧 分类 :
① 发送窗口外 , 发送完毕 , 被确认的帧 ; 滑动窗口已经划过的位置 ;
② 发送窗口内 , 发送完毕 , 被确认的帧 ;
③ 发送窗口内 , 发送完毕 , 等待确认的帧 ; 此时该数据帧需要被缓存 ;
④ 发送窗口内 , 还能发送的帧 ;
⑤ 发送窗口外 , 还不能发送的帧 ; 滑动窗口还没有滑到的位置 ;
接收方 帧 分类 :
① 接收窗口外 , 已经成功接收的帧 ;
② 接收窗口内 , 希望收到 , 但是未收到的帧 ;
③ 接收窗口内 , 希望收到 , 刚收到的帧 ;
④ 接收窗口内 , 不希望收到 , 却提前收到的帧 , 已经缓存下来 ;
⑤ 接收窗口内 , 等待接收的帧 ;
三、 发送方 事件 ( 确认帧、超时事件 )
上层调用事件 : 上层发送数据时 , 先检查 发送窗口 ;
① 如果 发送窗口 未满 : 则 生成 数据帧 , 发送数据 ;
② 如果 发送窗口 已满 : 发送方将该信息通知上层 , 让 上层 延迟发送 ;
A C K ACK ACK 确认帧 事件 : 逐一确认 ;
① 接收确认帧 : 接收方收到 ACK 确认帧 ;
② 标记已接收 : 发送窗口 内 将该 帧序号 对应的帧 标记为 已接收 ;
③ 移动发送窗口 : 如果 该 帧序号 是 发送窗口 的下界 ( 最左侧窗口 ) , 将 发送窗口 移动到 最小序号的 没有确认 的帧位置 ; 可能移动 一个位置 , 也可能移动多个位置 ;
④ 发送未发送帧 : 发送窗口 移动完毕后 , 如果发现 该 发送窗口 中有没有发送的帧 , 就将这些帧发送出去 ;
超时事件 : 每个帧 都有 自己的定时器 , 如果 某个 帧出现了定时器超时事件 , 重传该单个帧 ;
四、 接收方 事件 ( 接收帧 )
接收方 事件 :
① 接收正确帧 : 接收方 接收 正确的帧 , 不管其帧的顺序 ;
② 失序处理 : 失序的帧 , 将会被缓存起来 , 并向 发送方 发送该 失序帧 的 ACK 确认帧 ;
③ 移动接收窗口 : 如果 接收到的 帧序号 是 接收窗口 的下界 ( 最左侧窗口 ) , 将成功接收到的连续数据交付给上层 , 将 接收窗口 移动到 最小序号的 没有接收到 的帧位置 ; 可能移动 一个位置 , 也可能移动多个位置 ;
五、 滑动窗口长度
发送窗口 与 接收窗口 大小相等 , 便于流量控制 ;
使用 n n n 比特 对 帧进行编号 , 发送窗口的尺寸 W T W_T WT 和 接收窗口尺寸 W R W_R WR满足如下公式要求 :
W T = W R = 2 n − 1 W_T = W_R = 2^{n - 1} WT=WR=2n−1
五、 选择重传协议 SR 重点
选择重传协议 SR 重点 :
① 数据帧 逐一确认 , 接收方收到一个帧 , 就会单独发送该帧的确认帧 ;
② 重传 出错 的 单个帧 ;
③ 接收方 有缓存 ;
④ 滑动窗口大小 : W T = W R = 2 n − 1 W_T = W_R = 2^{n - 1} WT=WR=2n−1 ;
六、 选择重传协议 SR 计算示例
数据链路层 使用 选择重传协议 SR , 发送方发送了 0 , 1 , 2 , 3 0 , 1, 2,3 0,1,2,3 帧 , 当前时刻 , 收到了 1 1 1 号确认帧 , 0 , 2 0, 2 0,2 号帧出现超时 , 则需要重发哪些帧 ? ? ?
SR 协议是收到一帧 , 确认一帧 ;
1 1 1 号帧 已经确认 , 不用重发 ;
0 , 2 0 , 2 0,2 帧 超时 , 必须重发 ;
3 3 3 号帧 等待确认 , 当前时刻不用管 , 如果超时 , 就需要重发 , 当前没有超时 , 等待即可 ;
因此最终只需要重发 0 , 2 0 , 2 0,2 数据帧 ;
更多相关内容 -
使用选择性重传协议实现UDP可靠通信
2010-05-07 02:23:09语言为C++,在单机上模拟UDP可靠通信,使用选择性重传协议. -
十七、选择重传协议
2021-11-20 19:50:40文章目录1、GBN的弊端2、选择重传协议中的滑动窗口2.1 SR发送方必须相应的三件事2.1.1 上层的调用2.1.2 收到了一个ACK2.1.3 超时事件2.2 SR接收方必须相应的三件事2.3 运行中的SR2.4 滑动窗口的长度3、SR协议的重点...文章目录
1、GBN的弊端
\qquad 累积确认导致批量重传,所以想要有一种协议可以只重传出错的帧;解决方法是:设置单个确认,同时加大接收窗口,设计接收缓存,缓存乱序到达的帧。这种机制就是选择重传协议(SR协议)。
2、选择重传协议中的滑动窗口
2.1 SR发送方必须相应的三件事
2.1.1 上层的调用
\qquad 从上层网络层收到数据之后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
2.1.2 收到了一个ACK
\qquad 如果收到ACK,假如该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
2.1.3 超时事件
\qquad 每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
2.2 SR接收方必须相应的三件事
\qquad SR接收方将确认一个正确接收的帧而
不管其是否按序
。失序的帧将被缓存
,并返回给发送方一个该帧的确认帧【收到谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层网络层,然后向前移动滑动窗口。
\qquad SR接收方如果收到了窗口序号之外并且小于窗口下界的帧,则直接返回一个ACK。其他情况忽略该帧。2.3 运行中的SR
\qquad 假设发送窗口和接收窗口尺寸大小都是4。
2.4 滑动窗口的长度
\qquad 发送窗口最好等于接收窗口,发送窗口大了会发生溢出,发送窗口小了没有意义。窗口最大尺寸计算公式如下: W T m a x = W R m a x = 2 n − 1 W_{Tmax}=W_{Rmax}=2^{n-1} WTmax=WRmax=2n−1 \qquad 其中n表示帧的序号使用多少个比特标示。如果帧的序号有0,1,2,3,共有四种,则n的取值为2( 2 2 = 4 2^2=4 22=4)。
\qquad 窗口过大会产生二异性的问题,即接收方无法判断当前发送方发送的帧是某个序号下新的的帧还是旧的帧。3、SR协议的重点
\qquad 对数据帧逐一确认,收一个确认一个;
\qquad 只重传出错帧;
\qquad 接收方有缓存;
\qquad W T m a x = W R m a x = 2 n − 1 W_{Tmax}=W_{Rmax}=2^{n-1} WTmax=WRmax=2n−1THE END
-
选择重传协议(SR)
2020-03-19 14:43:38选择重传协议中的滑动窗口:【自行百度】 SR发送方必须响应的三件事: 1,上层的调用 2,收到了一个ACK 3,超时事件 SR接收方要做的事情: 运行中的SR: 滑动窗口长度: SR协议重点总结: 1,对...GBN协议的弊端:
选择重传协议中的滑动窗口:【自行百度】
SR发送方必须响应的三件事:
1,上层的调用
2,收到了一个ACK
3,超时事件
SR接收方要做的事情:
运行中的SR:
滑动窗口长度:
SR协议重点总结:
1,对数据帧逐一确认
2,只重传出错帧
3,接收方有缓存
4,
-
计算机网络(19)数据链路层:停止-等待协议、后退N帧协议、选择重传协议
2020-05-09 21:36:31例如,在面向帧的自动重传请求系统中,当待确认帧的数量增加时,有可能超出缓冲存储空间而造成过载。流量控制的基本方法是接收方控制发送方发送数据的速率,常见的方式有两种: 1.1、停止-等待流量控制基本原理 ...目录
2、单帧滑动窗口与停止-等待协议(stop-and-wait)
3、多帧滑动窗口和后退N帧协议(GBN,Go-Back-N ARQ)
1、流量控制的方式
流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每个帧。例如,在面向帧的自动重传请求系统中,当待确认帧的数量增加时,有可能超出缓冲存储空间而造成过载。流量控制的基本方法是接收方控制发送方发送数据的速率,常见的方式有两种:
1.1、停止-等待流量控制基本原理
发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直等待。每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因此传输效率极低。
1.2、滑动窗口流量控制基本原理
在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。发送窗口用来对发送方进行流量控制,而发送窗口的大小Wt代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些数据帧。在接受方,只有收到的数据帧的序号落入接收窗口内时,才允许将该数据帧收下,若接收到的数据帧落在接收窗口之外,则一律将其丢弃。
图19-1 发送窗口的工作原理
上图中:
(a)允许发送0~4号共5个帧
(b)允许发送1~4号共4个帧
(c)不允许发送任何帧
(d)允许发送5~7共3个帧
发送端每收到一个确认帧,发送窗口就向前滑动一个帧的位置,当发送窗口内没有可以发送的帧(即窗口内的帧全部是已发送但未收到确认的帧)时,发送方就会停止发送,直到收到接收方发送的确认帧使窗口移动,窗口内有可以发送的帧后,才开始继续发送。
图19-2 接收窗口的工作原理
(a)准备接收0号帧
(b)准备接收1号帧
(c)准备接收4号帧
接收端收到数据帧后,将窗口向前移一个位置,并发回确认帧,若收到的数据帧落在接收窗之外,则一律丢弃。
滑动窗口有以下重要特性:
- 只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧后才是一定)向前滑动。
- 从滑动窗口的概念看,停止-等待协议,后退N帧协议和选择重传协议只在发送窗口大小与接收窗口大小上有所差别:
停止-等待协议:发送窗口大小=1,接收窗口大小=1;
后退N帧协议 :发送窗口大小>1,接收窗口大小=1;
选择重传协议 :发送窗口大小>1,接收窗口大小>1。
- 接收窗口的大小为1时,可保证帧的有序接收。
- 数据链路层的欢动窗口协议中,窗口的大小在传输过程中是固定的(注意与传输层的滑动窗口协议的区别传输层内容博主会后续陆续推出)
1.3、可靠传输机制
数据链路层的可靠传输通常使用确认和超时重发两种机制来完成。
确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认。
超时重传是指发送方在发送某个数据帧后就开启一个计数器,在一定时间内如果没有得到发送的数据的确认帧,那么就重新发送该数据帧,直到接收端得到确认帧为止,即发送成功。
2、单帧滑动窗口与停止-等待协议(stop-and-wait)
在停止-等待协议中,源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。从滑动窗口机制的角度来看,停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。
在停止-等待协议中,除数据帧丢失外,还可能出现以下两种错差。
到达目的站的帧可能已经遭到破坏,接收站利用差错校验技术检出后,简单地将该帧丢弃。为了对付这种可能发生的情况,源站装备了计时器。在一个帧发送之后,源站等待确认,如果在计时器计满时仍未收到确认,那么在此发送相同的帧。如此重复,知道该数据帧无错误地达到为止。
另一种可能的差错时数据帧正确而确认帧被博怀,此时接收方已收到正确的数据帧,但发送方收不到确认帧,因此发送方会重传已被接收的数据帧,接收方收到同样的数据帧时会丢弃该帧,并重传一个该帧对应的确认帧。
发送的帧交替地用0和1来标识,肯定确认(Acknowledge character)分别用ACK0和ACK1来标识,收到的确认有误的时候,重发已发送的帧。
停止-等待协议算法实现步骤如下:
在发送结点:
- 从主机取一个数据帧,送交发送缓存;
- V(S)<-0; {发送状态变量V(S)初始化}
- N(S)<-V(S);{将发送状态变量值写入数据帧中的发送序号N(S)}
- 将发送缓存中的数据帧发送出去;{这个数据帧的副本仍保留在发送缓存中}
- 设置超时计数器;{选择适当的超时重传时间t}
- 等待。{等待第7步和第8步这两个时间中最先出现的一个}
- 收到确认帧ACKn后,若n=1-V(S),
则已发送的数据帧被接收方确认{收到的n为下一个待发数据的发送序号}
从主机取一个新的数据帧,放入发送缓存。
V(S)<-[1-V(S)],转到第4步;{更新发送状态变量,变为下一个序号}
否则,丢弃这个确认帧,转到第6步。{重传已发送的数据帧} - 若超时计时器时间到,转到第四步
在接收结点:
- V(R)<-0;{接收状态变量初始化,其数值等于欲接收的数据帧的发送序号}
- 等待
- 收到一个数据帧,检查有无产生传输差错(如用CRC)
若检查结果正确无误,则执行后续后续算法。否则,直接丢弃,转第2步 - 若N(S)=V(R),则执行后续算法。{收到发送序号正确的数据帧}
否则丢弃此数据帧,然后转到第7步;{此时丢弃的帧就是重复帧} - 将收到的数据帧中的数据部分送交主机;
- V(R)<-[1-V(R)];{更新接收状态变量,准备接收下一个数据帧}
- 发送确认帧ACKn,并转到第2步;{n=V(R),标明期望收到V(R)}
由以上算法可知,对于停止-等待协议,由于每发送后一个数据帧就停止并等待,因此用1bit来编号就已足够。在停止-等待协议中,若出现相同发送序号的数据帧,表名发送端进行了超时重传。连续出现相同序号的确认帧时,表明接收端收到了重复帧。
此外,为了超时重发和判定重复帧的需要,发送方和接收方都需要设置一个帧缓冲区。发送端在发送完数据帧时,必须在其发送缓冲中保留次数据帧的副本,这样才能在出差错时进行重传。只有在收到对方发来的确认帧ACK时,方可清除此副本。
图19-3 停止-等待协议中数据帧和确认帧的发送时间关系
由图19-3可以看出,停止-等待协议通信信道的利用率很低。为了克服这一缺点,就产生了另外两种协议,即后退N帧协议和选择重传协议。
3、多帧滑动窗口和后退N帧协议(GBN,Go-Back-N ARQ)
在后退N帧式ARQ(Automatic Repeat-reQuest,自动重传请求)中,发送方无需在收到上一个帧的ACK后才能开始发送下一帧,而是可以连续发送帧。当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回确认信息,则该帧被判为出错或丢失,此时发送方就不得不重传该出错帧及随后的N个帧。换句话说,接收方只允许按顺序接收帧。
图19-4 GBN协议的工作原理:对出错数据帧的处理
如图19-4所示,源站向目的站发送数据帧。当源站发完0号帧后,可以继续发送后续的1号帧、2号帧等。源站每发送完 一帧就要为该帧设置超时计时器。由于连续发送了许多帧,所以确认帧必须要指明是对哪一帧进行确认。为了减少开销,GBN协议还规定接收端不一定每收到一个正确的数据就必须立即发回一个确认帧,而可以在连续收到好几个正确的数据帧后,才对最后一个数据帧发确认信息,或者可在自己有数据要发送时才将对以前收到的帧加以捎带确认。这就是说,对某一数据帧的确认就表明该数据帧和此前所有的数据帧均已正确无误地收到。
在图19-4中,ACKn表示对第n号帧的确认,表示接收方已正确收到第n号帧及以前的所有帧,下一次期望收到第N+1号帧(也可能是第0号帧)。接收端指按序接收数据帧。虽然在有差错的2好帧之后接着又收到了正确的6个数据帧,但接收端都必须将这些帧丢弃,接收端虽然丢弃了这些不按序的无差错帧,但应重复发送已发送的最后一个确认帧ACK1(这是为了防止已发送的确认帧ACK1丢失)
后退N帧协议的接收窗口为1,可以保证按序接收数据帧。若采用n比特对帧编号,则其发送窗口的尺寸Wt应该满足 1<=Wt<=(2^n)-1,则会造成接收方无法分辨新帧和旧帧。
从图19-4不难看出,后退N帧协议一方面因连续发展数据帧而提高了信道的利用率,另一方面在重传的时候又必须把原来已传送正确的数据帧进行重传(即使这些数据帧前面仅有一个数据帧出错),这种做法优势的传送效率降低。
由此可见,若信道的传输质量很差导致误码率较大是,后退N帧协议不一定优于停止-等待协议。
4、多帧滑动窗口与选择重传协议(SR)
为进一步提高信道的利用率,可设法只重传出现差错的数据帧或计时器超时的数据帧,但此时必须加大接收窗口,以便于先收下发送序号不连续但仍处于接收窗口中的这些数据帧。等到所缺的数据帧收到后一并再交给主机,这就是重传ARQ协议。
在选择重传协议中,每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。另外,该协议使用了比上述其他协议更有效的差错处理策略,即一旦接收方怀疑帧出错,就会发一个否定帧NAK(Negative Acknowledgment)中指定的帧进行重传。如图19-5所示
图19-5 选择重传协议
选择重传协议的接收窗口尺寸Wr和发送窗口尺寸Wt都大于1,一次可以发送或接收多个帧。若采用n比特对帧编号,为了保证接收方 向前移动窗口后,新窗口的序号与旧窗口的序号没有重叠部分,需要满足条件:接收窗口Wr+发送窗口Wt<=2^n。假定仍然采用累计确认的方法,并且接收窗口Wr显然不应超过发送窗口Wt(否则无意义),那么接收窗口尺寸不应该超过序号范围的一般,即Wr<=2^(n-1)。接收窗口为最大值时,Wtmax=Wrmax=2^(n-1)。一般情况下,在SR协议中,接收窗口的大小和发送窗口的大小是相同的。
选择重传协议可以避免重复传送那些本已经正确达到接收端的数据帧,但在接收端要设置具有相当容量的缓冲区来暂存那些未按序正确收到的帧。接收端不能接受窗口下界以下或窗口上界以上的序号的帧,因此所需缓冲区的数目等于窗口的大小,而不是序号数目。
人,总是要有一点精神的,不是吗
-
【学习笔记】数据链路层——流量控制:停止等待协议、后退N帧协议(GBN)、选择重传协议(SR)
2021-02-17 14:10:49文章目录一. 流量控制① 必要性② 数据链路层 VS 传输层... 选择重传协议(SR)三. 后退N帧协议(GBN) ppt来源:王道考研B站教程 一. 流量控制 ① 必要性 较高的发送速度和较低的接收能力不匹配的话,会造成传输出错 -
传输层: 选择重传协议
2013-12-21 22:06:57选择重传协议 返回N协议简化了接收方的处理过程.接收方只需跟踪一个变量,并且不需要对失序到达的分组缓存,而是简单地把失序到达的分组它们丢掉.但是如果低下的网络层协议丢失了很多分组,那么返回N协议的效率就会... -
3.4.1 计算机网络之流量控制(停止-等待协议、滑动窗口、后退N帧协议GBN、选择重传协议SR)、滑动窗口、...
2020-03-17 14:58:464.停止-等待协议(1)为什么要有停止-等待协议?(2)研究停止等待协议的前提(3)停止-等待协议有几种应用情况?1️⃣ 无差错2️⃣ 有差错情况① 数据帧丢失或检测到帧出错② ACK确认帧丢失② ACK确认帧迟到超时(4... -
TCP中Go Back N 重传和选择重传(SR协议)
2019-04-24 10:51:38理论:https://blog.csdn.net/qq_22238021/article/details/80325285... SR协议理论上使用对于每个分组都使用一个计时器,但实际中在传输层只使用一个计时器来完成,需要一个ack数组记录窗口大小内分组是否被确认。 ... -
返回N协议与选择重传协议的发送窗口大小问题
2015-12-23 15:59:33在返回N协议中,发送窗口大小必须本质就是窗口大小不能 超过序号能表示的范围,例如最大序号是3,窗口是6窗口比最大序号大,会出现0,1,2,3,0,1这样的窗口,你无法判断接收窗口返回的ACK0是代表第一个0收到还是第... -
回退N帧协议与选择重传协议
2017-02-27 17:06:51滑动窗口协议 一图胜千言,看下面的图,简单解释下: 发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口。发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大,而导致溢出... -
计算机网络-为什么回退N协议、选择重传协议需要使用2^n-1
2018-04-08 21:53:39在阅读此文之前请务必确保您已经了解回退N协议、选择重传协议的整体思路。 解析 不妨假设使用了2^n作为窗口。这里n取3. 按照我们的假设发送方“一组”信息一共有8个(2^3=8)。发送方这些信息的编号:0-7。 当... -
TCP协议的学习(六)滑动窗口 停止等待 退后N帧 选择重传
2016-04-18 15:58:34滑动窗口 停止等待 退后N帧 选择重传 -
选择性重传ARQ基本原理
2019-01-26 23:20:00发送发可以连续发送多个数据包,接收方对于无差错的数据包进行正常接收,对于有差错数据包进行丢弃并发送NAKn进行差错反馈,对于n号数据包之后正确到达的数据包进行缓存,直到收到重发的,正确的n号数据包,再依次... -
选择性重传
2018-05-20 16:40:04用管道化技术发送帧面临的新问题出错情况:连续发送W个数据帧,其中有一帧出错,但其后续帧被成功发送接收方的接收策略选择:丢弃错帧,缓存后续正确接收帧发送方的重传策略选择:只重发出错帧协议6:选择性重传接收... -
可靠数据传输协议之选择重传
2017-11-12 21:14:07选择重传协议通过让发送方仅重传那些它怀疑在接收方出错的分组而避免了不必要的重传。选择重传要点选择重传个别的、按需的重传要求接收方逐个地确认接收的分组。 选择重传发送方的事件与动作 - 从上层收到数据。... -
TCP可靠传输:ARQ协议(停止等待、超时重传、滑动窗口、回退N帧、选择重传)
2021-08-28 11:29:49ARQ协议,即自动重传请求(Automatic Repeat-reQuest),是OSI模型中的错误纠正协议之一,它通过使用确认和重传这两个机制,在不可靠服务的基础上实现可靠的信息传输。 -
互联网协议 — TCP — 重传机制(可靠传输保障)
2021-07-10 20:41:28SACK(选择性确认)。 D-SACK(Duplicate SACK)。 超时重传 重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对方的 ACK 确认应答报文,就会重发该数据,也就是我们常说... -
【动图讲解】计算机网络之回退N步与选择重传
2019-11-13 18:33:35发送方在接收到接收方传回来的ACK前已经一直没有事做了。 等待时间过长,这会造成资源的极大浪费。 而解决这个问题的简单方法就是不以停等方式运行,运行发送方发送多个分组而无需等待确认。因为许多从发送方向... -
滑动窗口/拥塞控制/拥塞控制的四种算法/后退N协议/选择重传协议/拥塞控制有什么问题/滑动窗口的作用等一些...
2018-04-26 09:32:44这样有可能把正确的数据帧重传一遍,降低了传送效率,在线路很差的时候,使用后退N的协议会浪费掉大量的带宽,会导致不停的重发。 (6) 拥塞控制有什么问题 拥塞控制的代价:需要控制网络内部流量的分布的信息,... -
Go-back-N(GBN)协议&选择性重复(SR)协议的区别
2021-01-19 15:13:45选择性重复(SR)协议 主要区别 GBN协议使用累积确认,其中发送方有缓冲区而接收方没有;发送方同时对封装的包进行计时。 SR协议的接收方对每个包都发送一个单独的ACK,发送方和接收方都有一个缓冲区,发送方为每个未... -
三种自动请求重传
2019-05-03 20:24:49停止-等待协议 停止-等待协议相当于发送窗口和接收窗口大小均为 1 的滑动窗口协议。 也就是说,发送方发送一个帧后,必须接收到一个确认帧才能发送下一个。 算法实现的步骤 发送端 Created with Raphaël 2.2.0Start... -
基于选择重传ARQ传输协议的数据重传机制方案设计
2012-08-12 11:02:55于是我就想起了在计算机网络中讲数据链路层协议时的“选择重传ARQ”协议(见《计算机网络》第四版 AndrewS.Tanenbaum的p187)来解决丢包问题。我不是一个好学生,所以具体细节忘了一些,遂找出那本书,把那一小节... -
关于计算机网络的计算题(二)
2020-12-16 12:55:30一个使用选择性重传协议的数据链路层协议,如果采用了5位的帧序列号,那么可以选用的最大接收窗口是() A.15 B.16 C.31 D.32 13.对于滑动窗口协议,若分组序号采用 3 比特编号,发送窗口大小为 5,则接收窗口最大是()... -
2017-02-10 可靠数据传输原理、可靠数据传输协议、自动重传请求协议、停等协议、冗余分组、比特交替协议、...
2017-02-12 15:27:392017-02-10 可靠数据传输原理、可靠数据传输协议、自动重传请求协议、停等协议、冗余分组、比特交替协议、滑动窗口协议 《计算机网络-自顶向下方法》(原书第6版) 3.4 可靠数据传输原理 可靠数据... -
TCP超时与重传
2018-04-09 20:33:171、超时重传 1、引言 TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重... -
TCP重传机制
2018-09-18 21:47:57为保证数据传输的正确性,TCP会重传其认为已丢失(包括报文中的比特错误)的包。TCP使用两套独立的机制来完成重传,一是基于时间,二是基于确认信息的构成。 第一种基于时间的重传在其下的数据链路层、网络层乃至... -
【计算机网络】数据链路层 : 后退 N 帧协议 GBN ( 滑动窗口 | 发送窗口长度 | “发送方“ 累计确认、超时...
2020-08-18 12:59:13一、 滑动窗口协议引入、 二、 后退 N 帧协议 滑动窗口、 三、 后退 N 帧协议 运行过程、 四、 后退 N 帧协议 发送方数据分类、 五、 后退 N 帧协议 发送方 需要 响应的事件、 六、 后退 N 帧协议 接收方 需要 ...