计算机网络学习笔记——差错控制停等协议回退N帧选择性重传滑动窗口数据链路层HDLCPPP协议有限状态机

Posted Couldhelp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络学习笔记——差错控制停等协议回退N帧选择性重传滑动窗口数据链路层HDLCPPP协议有限状态机相关的知识,希望对你有一定的参考价值。

文章目录

前言

笔者系电子科技大学2019级在读本科生,针对本学期学校开设的计算机通信网课程,将学习笔记以博客形式上传到CSDN上以便日后复习整理,其中的瑕疵欢迎大家向我指正,在评论区多多交流讨论。

概念

一、差错控制

1、停等协议

核心:发送方完成一帧数据的发送后,等到接收方应答后再继续传输下一帧的方式;如果没有收到确认帧,发送方将重传数据帧

重传的两种可能性
(1)接受方负确认(NAK)导致重传:如果是校验出错,不能进行负确认,因为序号可能本身就是错的,只能超时重传;只有当连续发送的帧出现前后序号不一致时进行负确认
(2)超时重传

①发送帧需要编号,便于区分不同的帧,避免重复接收
②确认帧ACK也需要进行编号,以区别不同的确认帧


效率估计

传播延时Tp = 距离/(2/3C) = d/(2/3C)
固体介质如同轴电缆-传输速度为2/3c
传输时间Tr = 帧长/数据传输速率 = L/D
应答时延T = Tr +TA +2Tp ≈ Tr + 2Tp(TA很短)

效率

α = Tr/T = Tr / Tr+2Tp

①α越小,信道空闲比例越大,效率越低
②🔺随着数传速率的增加,效率下降;随着距离的增加,效率在下降

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开始编号)

Nmax+1≥Ws+Wr(保证局部窗口内序号唯一)

假设序号位数为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)

特点

  1. 适应PSTN-需要拨号上网,差控流控较弱
  2. 面向字符同步:字符填充法、适应异步传输——信道质量差干扰多、兼顾同步传输和块传输
  3. 可支持多种网络层协议-以适应多种上层网络
  4. 支持用户身份认证—:PAP口令认证、CHAP质询式握手认证协议
  5. 支持IP地址协商:客户端可从服务器获取IP

帧格式

工作流程

PPP协议组件及功能

  1. 链路控制协议(LCP):管理PPP链路,包括参数协商,建立、拆除和监控数据链路等
  2. 网络控制协议(NCP):协商所承载网络协议与属性,协商在数据链路上传输的数据包的格式和类型,配置网络层协议
  3. 验证协议CHAP和PAP:验证PPP对端设备的合法性

注:
①IP over PPP是无连接协议使用底层面向连接服务的案例
②PPP协商技术-对等实体之间商定某些参数
例MTU(最大传输单元)、认证方式、IP、头部压缩及方法

四、有限状态机——协议验证

协议描述方法

  • 文档——RFC
  • 时序图
  • 有限状态机FSM

有限状态机四要素:状态、转换、事件、动作
保持状态的事件可以不画

协议验证
(1) 可靠性:
①协议失败、协议死锁-子集只有入没有出
②协议失败-半双工信道的停等协议没有协议失败、全双工信道的停等协议有失败序列
(2) 完备性:状态可达性-所有节点可达
停等协议的验证步骤
(1) 确定变量及状态
(2) 选择正确的状态
(3) 验证可达性
(4) 验证协议死锁
(5) 验证协议失败

参考资料

中国大学MOOC电子科技大学计算机通信网络
计算机网络(第五版) 清华大学出版社 严伟、潘爱民 译

以上是关于计算机网络学习笔记——差错控制停等协议回退N帧选择性重传滑动窗口数据链路层HDLCPPP协议有限状态机的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络学习笔记第三章(数据链路层)超详细整理

计算机网络-----数据链路层

数据链路层概述

TCP可靠传输:ARQ协议(停止等待超时重传滑动窗口回退N帧选择重传)

计算机网络基础数据链路层(目录)

信道速率为8kb/s,采用停止等待协议,传播时延tp=20ms,假定信道无差错,确认帧长度和处理时间不记