Acknowledge and flow control

The Link Layer acknowledgment and flow control scheme shall be used in all Link Layer connections 。

 

 

 


简称是 SN 和 NESN,这两个也是存在于 Connection State 的包体的 Header 中。

SN 和 NESN 都是由 1  bit 构成,他们两个共同组成了 Connection State 的应答和流控机制(重传)。


SN 的物理含义是当前发送的包的序号

NESN 的物理含义是下一个期待接收的数据包序号


SN 和 NESN 在 Connection 建立时都初始化为 0

1)无论是 Master 还是 Slave,发送 packet 的时候,都会将当前的 sn 和 nesn copy 到 packet 的 SN 和 NESN bit中。

2)无论是 Master 还是 Slave,当接收到一个 packet 的时候,会将该 packet 的 NESN bit 和本地的 sn 比较:如果相同,说明该packet 是对端设备发来的 NAK packet(请求重发),则需要将旧的 packet 重新发送出去;如果不同,说明是对端设备发来的ACK packet(数据被正确接收),则需要将本地的sn加1,接着发送新的 packet 。

3)无论是 Master 还是 Slave,当接收到一个packet的时候,会将该 packet 的 SN bit 和本地的 nesn 比较:如果相同,则说明是一个新的 packet,接收即可,同时将本地的 nesn 加1;如果不同,则说明是一个旧的 packet,什么都不需要处理。

4)当一个设备无法接收新的packet的时候(例如RX buffer已满),它可以采取不增加nesn的方式,发送NAK packet。对端设备收到该类型的packet之后,会发送旧的packet。该设备收到这样旧的packet的时候,不会做任何处理。这就是Link Layer的流控机制(Flow control)
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值