计算机网络学习笔记——差错控制停等协议回退N帧选择性重传滑动窗口数据链路层HDLCPPP协议有限状态机
Posted Couldhelp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络学习笔记——差错控制停等协议回退N帧选择性重传滑动窗口数据链路层HDLCPPP协议有限状态机相关的知识,希望对你有一定的参考价值。
文章目录
前言
笔者系电子科技大学2019级在读本科生,针对本学期学校开设的计算机通信网课程,将学习笔记以博客形式上传到CSDN上以便日后复习整理,其中的瑕疵欢迎大家向我指正,在评论区多多交流讨论。
概念
一、差错控制
1、停等协议
核心:发送方完成一帧数据的发送后,等到接收方应答后再继续传输下一帧的方式;如果没有收到确认帧,发送方将重传数据帧
重传的两种可能性:
(1)接受方负确认(NAK)导致重传:如果是校验出错,不能进行负确认,因为序号可能本身就是错的,只能超时重传;只有当连续发送的帧出现前后序号不一致时进行负确认
(2)超时重传
①发送帧需要编号,便于区分不同的帧,避免重复接收
②确认帧ACK也需要进行编号,以区别不同的确认帧
效率估计
效率
①α越小,信道空闲比例越大,效率越低
②🔺随着数传速率的增加,效率下降;随着距离的增加,效率在下降
2、回退N帧协议(GoBack_N,GB_N)
核心:发送方连续发送帧,在发送方发现帧出错以后,会从出错的那一帧开始重传后续所有帧
3、选择性重传协议(Selective Repeat,SR)
核心:发送方只重传出错的那一帧
- 接收方将后续帧缓存起来
- 接收方得到重传帧以后,重新排序,向高层递交
4、单帧确认和累计确认、捎带应答
单帧确认:对当前帧进行确认(发的N帧的ACK为N);帧太短而数量多、耗资源
累计确认:累计确认中确认的序号表示期望接收的下一帧的序号,表示此序号之前的帧已经妥收(也要拉大设定的超时的时间)
🔺序号含义不一样,故单帧确认和累计确认不能兼容
捎带应答:接收方在自己的数据帧头放入应答信息——双向传输;减少单独发送确认帧的开销
二、链路层流量控制——滑动窗口机制
窗口
- 发送窗口——发送方能连续发送多少个帧
- 接收窗口——接收方能连续接收多少个帧
滑动
- 根据接收方的确认,发送方可以发送新的帧,移除不需要重传的帧
- 接收方窗口向高层递交后,移除已经交给上层的帧,可以接纳新的帧
循环队列实现滑动窗口,实现连续的FIFO
窗口大小
GB_N:
(1)发送方窗口大小Ws ≥2Tp/(L/D)+1
(2)接收方窗口大小Wr=1
SR:
(1)发送方窗口大小Ws ≥2Tp/(L/D)+1
(2)接收方窗口大小Wr>1;为减少溢出重传,接收方窗口最好大于等于发送窗口即Wr≥Ws
🔺影响因素:发送窗口大小与往返时延有关——连续发送;接收窗口大小与上层处理速度(取走)有关
帧序号容量(从0开始编号)
假设序号位数为n,则最大窗口大小
①GB_N——窗口大小<=2n-1
②SR——窗口大小<=2(n-1)
三、数据链路层典型协议
1、HDLC协议(High-level Data Link Control)
基本:
(1) 面向位同步(成帧)-扩展性强,未限制数据类型
(2) 同步传输(一次传输一块数据)
(3) 格式帧-帧具有一定格式,特殊位置字段有特殊含义,与特殊字符不一样
(4)面向连接
基本工作模式
[1]站点类型:
- 主站(primary)
- 从站(secondary)
- 混合站(combined)
[2]系统配置模型:
①非平衡 - 点对点链路或多点链路-一个主站和多个从站-全双工或半双工
②对称(symmetrical)、平衡 - 点对点链路-两个复合站组成-全双工或半双工
[3]通信模式:
- 一般响应模式(NRM)
- 异步响应模式(ARM)
- 异步平衡模式(ABM)
[4]实例
(1)HDLC Unbalanced
Unbalanced NRM:主站控制通信,从站经主站允许才可发送数据,从站之间通信经过主站
Unbalanced ARM:从站在信道空闲时可发起通信、从站之间通信经过主站
(2)HDLC Symmetrical-两条独立信道
(3)HDLC ABM-必须是混合站,一条信道
HDLC帧格式
①管理帧-主要负责流量控制和差错控制
②无编号帧(unnumbered frames)-5位类型编码,32种;主要用于链路控制
③HDLC的P/F位
发方命令帧P设置1,接收方应答帧F设置1,表示对poll立即应答。
🔺P/F用来判断是否发生阻塞,因对方较长处理延时而对本方造成困惑。
2、PPP协议(Point-to-Point Protocol)
特点
- 适应PSTN-需要拨号上网,差控流控较弱
- 面向字符同步:字符填充法、适应异步传输——信道质量差干扰多、兼顾同步传输和块传输
- 可支持多种网络层协议-以适应多种上层网络
- 支持用户身份认证—:PAP口令认证、CHAP质询式握手认证协议
- 支持IP地址协商:客户端可从服务器获取IP
帧格式
工作流程
PPP协议组件及功能
- 链路控制协议(LCP):管理PPP链路,包括参数协商,建立、拆除和监控数据链路等
- 网络控制协议(NCP):协商所承载网络协议与属性,协商在数据链路上传输的数据包的格式和类型,配置网络层协议
- 验证协议CHAP和PAP:验证PPP对端设备的合法性
注:
①IP over PPP是无连接协议使用底层面向连接服务的案例
②PPP协商技术-对等实体之间商定某些参数
例MTU(最大传输单元)、认证方式、IP、头部压缩及方法
四、有限状态机——协议验证
协议描述方法:
- 文档——RFC
- 时序图
- 有限状态机FSM
有限状态机四要素:状态、转换、事件、动作
保持状态的事件可以不画
协议验证
(1) 可靠性:
①协议失败、协议死锁-子集只有入没有出
②协议失败-半双工信道的停等协议没有协议失败、全双工信道的停等协议有失败序列
(2) 完备性:状态可达性-所有节点可达
停等协议的验证步骤
(1) 确定变量及状态
(2) 选择正确的状态
(3) 验证可达性
(4) 验证协议死锁
(5) 验证协议失败
参考资料
中国大学MOOC电子科技大学计算机通信网络
计算机网络(第五版) 清华大学出版社 严伟、潘爱民 译
以上是关于计算机网络学习笔记——差错控制停等协议回退N帧选择性重传滑动窗口数据链路层HDLCPPP协议有限状态机的主要内容,如果未能解决你的问题,请参考以下文章