计网必会:GAN协议(后退N帧协议)


在数据链路层,数据是以帧的形式传输的。帧由帧首部、数据部分、帧尾部这三个部分组成。帧的数据部分是从网络层传送到数据链路层的IP数据报,为了提高帧的传输效率,应当使数据部分的长度尽可能地大于帧首部和帧尾部的总长度。

后退N帧协议(GBN)

----发送窗口大小>1,接收窗口大小=1

1.GBN协议是为了解决什么?

解决停等协议的弊端:
  1. 必须增加序号范围
  2. 发送方需缓存多个分组
后退 N 帧协议 ( GBN ) 协议性能 :

① 优点 : 发送端可以先 连续 发送 滑动窗口中的 N 帧 数据帧 , 提高了信道利用率 ;
② 缺点 : 选择重传时 , 将某些正确发送的数据帧进行了重传 , 降低了传输效率 ;
解决办法:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧
为了解决上述弊端 , 引入了 选择重传协议 ;


发送窗口:发送方维持一组连续的允许发送的帧的序号
<1>发送窗口 : 发送方维持一组连续的允许发送的帧的序号

接收窗口:接收方维持一组连续的允许接收帧的序号
<2>接收窗口 : 接收方维持一组连续的允许接收帧的序号


GBN发送方必须响应的三件事

1.上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送:如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满,上层等一会再发送(实际实现中,发送方可以先缓存这些数据,窗口不满时再发送帧)

2.收到了一个ACK
GBN协议中,对n号帧的确认采用累计确认的方式,标明接收方已经收到n号帧和它之前的全部帧。

3.超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧

GBN 接收方要做的事

如果正确收到n号帧,并且按序,那么接受方为n帧发送一个ACK,并将该帧中的数据部分交付给上层
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)

后退 N 帧协议 运行细节 :

① 发送端连续发送 :
发送窗口 大小为 4 , 可以一次性发送 4 帧数据 , { 0 , 1 , 2 , 3 } ;
发送端 发送 0 0 0 帧 , 接收方 接收到 0 0 0 帧 , 返回 ACK 0 0 0 ;
发送端 发送 1 帧 , 接收方 接收到 1 帧 , 返回 ACK 1


② 丢失 2 帧 :
发送端 发送2 帧 , 2 号帧 半路丢失 , 接收方 没有收到 2 帧 ;


③ 期待 2 帧 : 接收方 的 期待帧是 第 2 帧 ; ④ 接收方 获知 丢帧 :
发送方 发送3 帧 , 接收方 接收到 3 帧 , 此时发现 2 帧丢失 , 直接丢弃3 帧 , 并向接收方 发送 上一个成功接收的帧的确认信息 ACK 1 , 让发送方从 第2 帧开始发送 ;

⑤ 发送方 收到 ACK 确认帧 :
发送方 收到 ACK 0 之后 , 发送窗口 向后 滑动一位 , 变成 {1,2,3,4} ;
发送方 收到 ACK 1 之后 , 发送窗口 向后 滑动一位 , 变成 {2,3,4,5} ;


⑥ 发送超时处理 : 如果 发送方 一直 没有收到 ACK 2 , 等待时间超时 , 就会 后退 N 帧 , 重发2,3,4,5 帧 ;


重点总结

1.累计确认(捎带确认)
2.接收方只按顺序接收帧,不按序无情丢弃
3.确认序列号最大的、按序到达的帧
4.发送窗口最大为2^n -1,接收窗口大小为1

浅析GBN协议的核心

基础前提
信道:信号传输的媒介
数据链路层传送的是帧

理解

首先我来说一下这个协议的核心,提高了信道的利用率,因为在数据通信的过程中,主机A传递信息给主机B,在数据链路层获取的是“帧”,传递帧的时候,一个小块帧传递到了物理层,直接就变成了数字信号?模拟信号?,当然只要知道是信号就可以了,这时候就要考虑到他的发送时延了吧,我其实不建议采用发送时延这个词的,因为我觉得应该是我当时也很疑惑。信号除了有发送时延,剩下的就算传播时延,一般会给出单向时延,算RTT的时候*2倍,别忘了哦。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tomorrowave

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值