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

文章目录

  • 前言
  • 概念
    • 一、差错控制
      • 1、停等协议
      • 2、回退N帧协议(GoBack_N,GB_N)
      • 3、选择性重传协议(Selective Repeat,SR)
      • 4、单帧确认和累计确认、捎带应答
    • 二、链路层流量控制——滑动窗口机制
    • 三、数据链路层典型协议
      • 1、HDLC协议(High-level Data Link Control)
      • 2、PPP协议(Point-to-Point Protocol)
    • 四、有限状态机——协议验证
  • 参考资料

前言

笔者系电子科技大学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电子科技大学计算机通信网络
计算机网络(第五版) 清华大学出版社 严伟、潘爱民 译

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络学习笔记(五)——介质访问控制子层、ALOHA、CSMA/CD、CSMA/CA、有限竞争协议、非竞争式协议、网桥、交换机、以太网

文章目录前言概念一、介质访问控制子层和广播式信道二、多路信道分配三、竞争式访问协议&#xff08;一&#xff09;ALOHA及时隙ALOHA&#xff08;S-ALOHA&#xff09;协议&#xff08;二&#xff09;CSMA协议&#xff08;三&#xff09;CSMA/CD协议&#xff08;四&#xff09;…

隐藏画质代码_优秀的模糊测试代码是如何炼成的?

所谓模糊测试&#xff0c;是指一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法&#xff0c;它经过了近 20 年的发展&#xff0c;早已在程序员圈中成为一种主流漏洞挖掘技术。基于此&#xff0c;开发者们该如何编写良好的模糊测试代码&#xff1f;作者 |…

计算机网络学习笔记(六)——网络层、虚电路和数据报交换、路由(距离矢量、链路状态算法)、IP编址、网络拥塞控制、网络互联

文章目录前言概念一、网络层相关概述&#xff08;一&#xff09;三大核心功能&#xff08;二&#xff09;通信两大阵营二、交换技术&#xff08;一&#xff09;交换技术的分类&#xff08;二&#xff09;电路交换和分组交换&#xff08;三&#xff09;虚电路与数据报三、路由&a…

计算机网络学习笔记(七)——传输层、TCP三次握手、四次挥手、TCP流量控制、大总结

文章目录前言概念一、传输层概述二、传输层问题三、端到端寻址四、TCP三次握手和四次挥手&#xff08;一&#xff09;三次握手建立连接&#xff08;二&#xff09;四次挥手拆除连接五、带拥塞的TCP流量控制六、传输层实例计网大总结思维导图参考资料前言 笔者系电子科技大学20…

开发接口文档_更优更稳更好,看文档驱动开发模式在AIMS中的优势

​【摘要】程序员常会说&#xff1a;我最讨厌别人写的代码没有文档&#xff0c;我也最讨厌自己需要写文档。有一个很老的梗: 我最讨厌别人写的代码没有文档&#xff0c;我也最讨厌自己需要写文档。有这种想法的程序员应该算是一个老鸟了&#xff0c;对于大多数程序员来说&#…

人声处理_人声美化:人声后期处理方法

最近在整理美声方面的相关资料&#xff0c;主要是EQ方法的搜集和归纳。声音的压限&#xff08;压缩处理&#xff09;、均衡、混响是做好人声处理的关键。[1]&#xff11;Ultrafunk fx: Equalizer R3&#xff08;均衡&#xff09;声音过暗会感觉吐词含糊不清&#xff0c;声音过亮…

计算机网络项目——最小网元设计(阶段二)

目录阶段目标设计描述1、帧结构2、帧定位3、差错检测4、差错控制5、流量控制6、长帧传输——分片测试情况其他想说的话阶段目标 用链路层例程代码&#xff08;LnkTester.sln&#xff09;设计实现链路层上点到点之间的通信过程&#xff0c;具体包括&#xff1a;两点之间帧同步、…

计算机网络项目——最小网元设计(阶段三)

目录阶段目标设计描述1、帧结构2、按目的转发3、反向地址学习4、未知广播测试情况其他想说的话阶段目标 本阶段主要完成链路层交换机的功能实现&#xff1a;单播目的地址判收、支持广播、有端口地址表、反向地址学习&#xff0c;并在含交换机的多网元情况下完成测试。 设计描…

计算机网络项目——最小网元设计(阶段四)

目录阶段目标设计描述1、实体编址2、路由表设计3、路由配置4、路由器的存储转发5、端到端的图片传输测试情况其他想说的话阶段目标 本阶段需要对实体进行编址&#xff0c;实现NET层的IP地址到MAC层地址的映射&#xff0c;解决各层实体的标定区分和数据投递&#xff0c;同时网络…

扫一扫 移动端_移动端手机APP 身份证识别 手机扫一扫离线识别

证件识别是指能实现拍照自动输入身份信息&#xff0c;让用户完全告别手动输入身份证、驾驶证、行驶证等证件信息。它支持Android、 iOS 、Java、Linux等多终端形式接入&#xff0c;电 一山一&#xff0c;领九九&#xff0c;六八九八菱还能通过多样化的结果输出&#xff0c;满足…

figma应用——面向用户的咖啡点单APP的设计过程记录

目录概述设计阶段1、Brainstorm2、用户分析&#xff08;1&#xff09;用户画像&#xff08;2&#xff09;竞品分析&#xff08;3&#xff09;用户旅程地图&#xff08;4&#xff09;用户需求分析3、点单APP的demo设计&#xff08;1&#xff09;整体布局逻辑概览&#xff08;2&a…

打docker镜像_使用docker构建自己的镜像

在docker中&#xff0c;我们使用docker build构建一个新的镜像&#xff0c;构建镜像之前需要去编写Dockerfile这个文件才能否建一个新的镜像。官方文档&#xff1a;https://docs.docker.com/engine/reference/builder/#fromFROM&#xff1a;用于指定基础镜像RUN&#xff1a;构建…

3d打印主要的切片参数类型_3D打印混凝土工艺参数对成型精度的影响

3D打印混凝土技术作为新兴技术&#xff0c;由于其不需要模板&#xff0c;节省大量劳动力和可打印复杂造型的特点&#xff0c;得到了大家的关注。但是&#xff0c;利用3D打印技术建造想要的结构&#xff0c;成型精度是必须考虑的一个问题。成型精度受材料性能、打印设备及打印工…

web中hasmoreelements_Web开发模式【Mode I 和Mode II的介绍、应用案例】

开发模式的介绍在Web开发模式中&#xff0c;有两个主要的开发结构&#xff0c;称为模式一(Mode I)和模式二(Mode II).首先我们来理清一些概念吧&#xff1a;DAO(Data Access Object)&#xff1a;主要对数据的操作&#xff0c;增加、修改、删除等原子性操作。Web层&#xff1a;界…

网络传输大端序_大端、小端与网络字节序

大端(Big-Endian)&#xff0c;小端(Little-Endian)以及网络字节序的概念在编程中经常会遇到&#xff0c;网络字节序(Network Byte Order)一般是指大端(Big-Endian&#xff0c;对大部分网络传输协议而言)传输&#xff0c;大端小端的概念是面向多字节数据类型的存储方式定义的&am…

cupload怎么保存图片_原生js的图片上传插件cupload

插件描述&#xff1a;支持图片预览、像素限制、大小限制、多图上传、更新模式下页面初始化加载图片更新时间&#xff1a;2020-09-25 00:23:49更新说明&#xff1a;添加 删除时&#xff0c;同时删除服务器图片的功能&#xff0c;文档提供php实例。添加参数Url参数更新 {ele: &q…

mysql 半同步_mysql 主从同步 与 半同步

mysql主从同步复制定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上&#xff0c;在复制数据时&#xff0c;一个服务器充当主服务器(master)&#xff0c;其余的服务器充当从服务器(slave)。通过配置文件&#xff0c;可以指定复制所有的数据库&#xff0c;某个数据…

java mysql jsp分页代码_JAVA/JSP学习系列之六(MySQL翻页例子)

JAVA/JSP学习系列之六(MySQL翻页例子)更新时间&#xff1a;2006年10月13日 00:00:00 作者&#xff1a;一、运行前准备下载了mysql的jdbc驱动(一个jar文件)并加载在CLASSPATH(方法见《JAVA/JSP学习系列之一(JDK安装) 》)(如果找不到&#xff0c;请从本站下载)建一个MySQL数据库…

gcn代码pytorch_GCN的简单实现(pytorch)

import torch import torch.nn as nn import torch.nn.functional as Fimport networkx as nxdef normalize(A , symmetricTrue):# A AIA A torch.eye(A.size(0))# 所有节点的度d A.sum(1)if symmetric:#D D^-1/2D torch.diag(torch.pow(d , -0.5))return D.mm(A).mm(D)e…

当电压放大电路的开路增益和输出电阻固定后_放大器的设计基础

放大器是电子电路(尤其是模拟电路)中的主要构件之一&#xff0c;使用放大器&#xff0c;它们会提高信号电平。放大器是一个术语&#xff0c;用于描述增加输入信号强度的电路。放大器广泛用于从音频应用到射频应用的各个领域中。但是&#xff0c;对于所有放大器&#xff0c;无论…