【计算机网络】数据链路层 : 流量控制 ( “流量控制“ 机制 | 停止-等待协议 | 滑动窗口协议 | 后退 N 帧协议 GBN | 选择重传协议 SR | 滑动窗口 与 流量控制、可靠传输 )





一、 数据链路层 流量控制



发送方 发送数据 速率高 , 接收方 接收数据 能力差 , 造成传输出错 , 数据链路层 的 负责进行流量控制的工作 ;


数据链路层 流量控制 是 点对点的 ;每两个相邻节点间的流量控制 ; 如 主机 到 路由器 , 路由器 到 路由器 ;

传输层 流量控制 是 端到端的 ; 两个主机端的 流量控制 ;





二、 数据链路层 与 传输层 流量控制 机制



数据链路层 流量控制 机制 : 如果接收方发现接收不了 , 就不再回复 确认帧 ; 确认帧 是 不包含数据的 控制帧 ;

传输层 流量控制 机制 : 接收方 给 发送方 发送 窗口公告 ; 窗口公告 就是接收方的 接收缓冲区大小 , 让发送方不要发送太多数据 ;





三、 数据链路层 流量控制



数据链路层 流量控制 : 发送方 向 接收方 发送数据 , 如果接收方 接收了数据 , 还能再继续接收 , 就会向 发送方 发送 确认帧 , 发送方 接收到 接收方 的 确认帧 后 , 就会继续发送 数据帧 ;





四、 数据链路层 流量控制 方法分类



流量控制方法 :

① 停止等待协议 : 发送端 每发送 完一帧 , 就停止发送 , 等待 接收方 确认 , 收到 接收方 的确认信息后 , 再发送下一帧 ;

② 滑动窗口协议 :

  • 后退 N 帧协议 ( GBN )
  • 选择重传协议 ( SR )




五、停止等待协议



停止等待协议 :

① 发送端 : 发送端 发送 M 1 M_1 M1 信息 给 接收端 ;

② 接收端 : 接收端 收到 M 1 M_1 M1 信息后 , 向 发送端 回送 M 1 M_1 M1 确认帧 ;

③ 发送端 : 发送端 继续 发送 M 2 M_2 M2 信息 给 接收端 ;

④ 接收端 : 接收端 收到 M 2 M_2 M2 信息后 , 向 发送端 回收 M 2 M_2 M2 确认帧 ;


停止等待协议 , 效率比较低 ;





六、滑动窗口协议



滑动窗口 协议 :

① 发送窗口 : 发送端 维持 一段连续的 帧序号 , 这一串 帧序号 称为 发送窗口 ;

  • 不等待确认帧持续发送 : 发送窗口 发送 一帧数据后 , 不用等待确认信息 , 可以继续发送发送窗口的后续信息 ;
  • 收到确认帧滑动 : 发送端 接收到 确认信息后 , 滑动窗口就会向前滑动一位 ;

② 接收窗口 : 接收端 维持 一段连续的 帧序号 ; 这一串 帧序号 称为 接收窗口 ;

  • 接收信息 : 接收端 收到 信息后 滑动窗口 向前滑动 一位 , 并回送 确认帧 ;




七、滑动窗口协议



滑动窗口 协议 示例 :

① 发送窗口 : 6 6 6 个帧序号 0 0 0 ~ 5 5 5 ;

② 接收窗口 : 1 1 1 个 ;

③ 发送数据 : 发送端 发送 0 0 0 序号帧 给接收端 ;

④ 接收数据 : 接收端接收到 0 0 0 序号帧 , 接收端 回送 确认 0 0 0 号帧 数据 给 发送端 , 接收端的 接收窗口 向前移动一位 ;

⑤ 发送窗口移动 : 发送端 接收到 0 0 0 序号帧 确认信息 , 发送端的发送窗口 向前移动一格 , 继续发送 ;

⑥ 持续发送 : 如果 发送端 没有收到 0 0 0 序号帧 确认信息 , 会继续发送 1 , 2 , 3 , 4 , 5 1 , 2, 3, 4, 5 1,2,3,4,5 序号帧给接收端 ;





八、滑动窗口 大小



滑动窗口 大小 :

① 停止等待协议 : 发送窗口 1 1 1 , 接收窗口 1 1 1 ;

② 后退 N N N 帧协议 ( GBN ) : 发送窗口 > 1 > 1 >1 , 接收窗口 1 1 1 ;

③ 选择重传协议 ( SR ) : 发送窗口 > 1 >1 >1 , 接收窗口 > 1 >1 >1 ;


数据链路层 流量控制中 , 发送过程中的 发送窗口 和 接收窗口 大小都是固定值 ;





九、滑动窗口 解决 流量控制、可靠传输 问题



可靠传输 : 发送端发送什么数据 , 接收端就接收什么数据 ; 如果 出现 帧丢手 , 帧失序 , 帧重复 等问题 , 都需要解决 , 保证接接收端 接收的数据 与 发送端 发送的数据 一致 ;

流量控制 : 控制 发送端 发送数据的速率 , 让 接收方 有足够的缓冲空间 接收 发送端发送的每一帧数据 ;


滑动窗口 就是 解决 上述 可靠传输 与 流量控制的问题 :

① 滑动窗口 解决 流量控制 问题 : 发送方 接收到 确认帧 后 , 才能向前移动 发送窗口 , 如果发送端 一致没有收到确认帧 , 其发送窗口一直不动 , 卡死在原位置 , 无法发送后续帧 , 该过程就是对流量的控制 ;

② 滑动窗口 解决 可靠传输 问题 : 发送方 如果 一直没有收到 接收方 的确认帧 , 超过超时等待时间 , 发送方就会重传一次 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值