数据链路控制:停止等待与滑动窗口流量控制
需积分: 10 85 浏览量
更新于2024-08-20
收藏 1.48MB PPT 举报
"停止等待的链路利用率-数据链路控制"
在数据通信中,数据链路控制(Data Link Control, DLC)是实现可靠通信的关键部分,它包括帧同步、流量控制、差错控制、寻址以及链路管理等多个方面。本话题主要关注的是停止等待协议的链路利用率问题。
停止等待协议是一种简单的流量控制策略,它确保发送实体不会过快地发送数据,以免接收实体无法处理。在这种协议中,发送方发送一个帧后,必须等待接收方的确认才能发送下一个帧。这样做的目的是防止接收方的缓存溢出,确保数据的正确接收。传输时间和传播时间是衡量链路性能的重要指标,前者表示发送一帧数据所需的时间,后者表示一个比特在链路上从源点到终点所需的时间。
然而,停止等待协议的链路利用率较低。因为每次只能发送一个帧,当链路长度远大于帧长度时,大部分时间链路是空闲的,只有在发送或接收帧的瞬间才被占用。此时,链路的比特长度远大于帧长度,导致效率严重低下。链路利用率可以用传输时间除以(传输时间 + 传播时间)来表示,在停止等待协议中,这个比值通常是1(归一化值),这意味着链路几乎只在发送帧的瞬间被使用。
为提高链路利用率,滑动窗口流量控制被引入。滑动窗口协议允许发送方在一个窗口内的多个帧同时发送,而不需要等待每一个帧的确认。窗口大小W表示发送方可以在未收到确认的情况下发送的最大帧数。接收方通过确认帧中的下一个期待帧编号来告诉发送方哪些帧已被成功接收。这样,即使在某些帧丢失或损坏的情况下,也能有效地利用链路。
滑动窗口协议有多种变体,如选择重传ARQ(Selective Repeat ARQ)和Go-Back-N ARQ。在选择重传ARQ中,接收方可以针对丢失的特定帧发送否定确认,而在Go-Back-N ARQ中,如果发现错误,发送方会回退到最早未确认的帧并重新发送整个窗口内的帧。
差错控制是数据链路控制的另一重要组成部分,其目标是检测和纠正传输过程中可能出现的错误。常见的差错检测方法包括校验码,如CRC(循环冗余校验)。当接收方检测到错误时,它可以发送否认信息要求重传。另外,超时重传机制也被用于检测丢失的帧,即发送方在等待一段时间后仍未收到确认,则假设帧丢失并重新发送。
数据链路控制通过各种策略如停止等待和滑动窗口协议来平衡传输效率和可靠性,同时结合差错控制技术来确保数据的准确无误传输。这些机制对于构建高效且可靠的网络通信至关重要。
2020-10-25 上传
2022-09-14 上传
2021-10-01 上传
2021-04-27 上传
2022-07-14 上传
2022-09-23 上传
2022-07-14 上传
2021-10-01 上传
2021-09-29 上传
Pa1nk1LLeR
- 粉丝: 66
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜