数据链路控制:停止等待与滑动窗口流量控制
需积分: 10 192 浏览量
更新于2024-08-20
收藏 1.48MB PPT 举报
"停止等待流量控制是数据链路控制中的一种简单机制,用于管理两个通信实体间的传输速率,确保发送方不会淹没接收方。在停止等待流量控制中,源实体发送一个帧后,必须等待接收方返回确认帧才能发送下一次数据。如果接收方因缓存满或其他原因未发送确认,源实体将暂停数据传输,以此实现流量控制。这种策略适用于少量但较长的帧,因为它确保了接收方有足够的时间处理和确认每个帧。
流量控制的目标是防止发送实体发送的数据超过了接收实体的处理能力,从而避免缓存溢出。传输时间和传播时间是计算链路利用率的关键因素。传输时间是指将一帧数据发送到介质上的时间,而传播时间是指一个比特在链路上从源点到终点所需的时间。当帧传输模型采用停止等待策略时,每次只能传输一个帧,这可能导致链路利用率低下,特别是在链路比特长度远大于帧长度的情况下。
为了解决停止等待的效率问题,引入了分块技术。大块数据被分割成小块,这样一旦发生错误,只需要重传较小的帧,同时也可防止单个站点长时间独占传输介质。然而,仅依赖停止等待的流量控制无法有效地利用链路资源。
滑动窗口流量控制是一种更高效的方法,它允许发送方在收到确认之前发送多个帧。发送方和接收方都维护一个窗口,窗口内的帧可以被发送或接收,无需立即确认。窗口大小为W,这意味着发送方可以连续发送W个帧而不需等待确认。每个帧都有唯一的编号,接收方通过发送包含下一个期待帧编号的确认来跟踪接收。如果出现异常,接收方可以发送"Receive Not Ready (RNR)"通知发送方暂停传输,直到准备好接收数据。
滑动窗口机制还支持捎带确认,即在发送数据帧时同时附带确认信息,或者在没有新确认信息时重复发送上一次的确认。这有助于减少通信开销并提高效率。
此外,差错控制是数据链路控制的另一重要方面,包括帧的错误检测和丢失或损坏帧的恢复。通常采用错误检测码如CRC来检查帧的完整性,并通过肯定确认和超时重传策略处理丢失的帧。在全双工系统中,还可以使用捎带确认或单独的确认帧来增强数据传输的可靠性。
数据链路控制包括帧同步、流量控制、差错控制、寻址等关键功能,它们共同确保了在一跳间进行有效且可靠的数据通信。滑动窗口流量控制和差错控制机制是实现这一目标的关键技术,能够在保证传输效率的同时,提供必要的错误恢复能力。"
2021-10-01 上传
2022-09-14 上传
2022-12-01 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
Pa1nk1LLeR
- 粉丝: 66
- 资源: 2万+
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析