【数据链路层】三个协议治你的错---差错控制
来源:互联网 发布:加内特生涯数据 编辑:程序博客网 时间:2024/06/04 17:48
差错控制是指在数据通信过程中能发现或纠正差错,把差错限制在尽可能小的允许范围内的技术和方法。
1、什么是差错?
信号在物理信道中传输时,由于各种因素导致接收端收到的二进制位数和发送端实际发送的二进制位数
不一致,从而造成由“0”变成“1”或由“1”变成“0”的差错。
2、差错控制方法主要分为两类:
自动请求重发(ARQ),前向纠错(FEC)。
本文主要分享ARQ的几种实现方案:空闲重发请求和连续重发请求。实现这几种重发需要遵循以下的三个
协议,它们是逐级递进的,对信道的利用率逐渐升高。
协议/区别
方案
优点
缺点
滑动窗口
停等协议
空闲重发
发、收双方所需缓存空间最小
发送方收到接收方的应答后才能继续发送,信道浪费
发送窗口=1;接收窗口=1
顺序管道
连续请求重发
发送方不用等前一帧被确认便可连续发送下一帧
需要分配较大的内存给发送方重发表来存储待确认帧(Go-back-N策略)
发送窗口>1;接收窗口=1
选择重传
选择重传
在某帧出错时,减少了后面所有帧都要重传的浪费
对接收方的缓存要求大
发送窗口>1;接收窗口>1
3、涉及的概念:
重发表:存放若干待确认的信息帧;
计时器:约定发送方等待时长,超时即确认该帧传输出错;
基于窗口的流量控制方法:限制发送方已发送而未确认的帧数目。注意:重发表存放的是未确认的
信息帧,此控制方法专用来限制数目;用发送方允许打开窗口的数目来表示允许发送方未被确认的接
收的信号帧数目;
总结:
这三种协议都可以看成滑动窗口协议,只是各自窗口尺寸的大小不同。
0 0
- 【数据链路层】三个协议治你的错---差错控制
- 《数据通信与网络》笔记--数据链路层的差错控制协议
- 数据链路层和运输层的流量控制及差错控制
- 数据链路层的三个基本问题:封装成帧 透明传输 差错检测
- 数据链路层----差错检测
- 数据链路层三个问题---封装成帧、透明传输、差错检查
- 数据链路层的介质访问控制协议
- 原创-“差错控制”在数据链路层和运输层中的区别(不同)
- 【计算机网络-4】 【第三章】数据链路层笔记1——组帧、差错控制、流量控制
- 数据链路层的协议
- 数据链路层的三个基本问题
- 数据链路层的三个基本问题
- 数据链路层的三个基本问题
- 数据链路层的三个问题
- 数据链路层的三个基本问题
- 数据链路层协议
- 数据链路层协议
- 数据链路层协议
- Php如何屏蔽页面显示的警告信息
- BZOJ 3301: [USACO2011 Feb] Cow Line
- AZURE云上 mkfs.ext4 /dev/sdc 导致宕机问题解决纪实
- codeforces contest 785 b题
- OpenCV学习(一)图像的读取
- 【数据链路层】三个协议治你的错---差错控制
- 2017最新win7、windows7、winXP电脑系统下载
- 深入理解ajax系列第三篇——响应解码
- Java 实现 FTP 服务
- javacc安装教程
- CvArr、Mat、CvMat、IplImage、BYTE转换
- PHP判断手机端、PC端 、微信代码实例
- YOLO在windows下的配置
- 基于注解和反射的Java ORM框架(2)-设计理念