计算机网络学习笔记(三)——数据链路层功能和服务、帧定位、差错、海明距离、检错码和纠错码

文章目录

  • 前言
  • 概念
    • 一、链路层功能与服务
    • 二、成帧和帧同步(帧定位)
      • [1]字节计数法
      • [2]字符填充首尾定界法
      • [3]位填充首尾定界法
      • [4]块传输与物理层违例编码定界法
      • [5]校验和法
    • 三、链路层的差错产生及类型
      • (一)产错产生的原因
      • (二)误码类型及影响
    • 四、检错码和纠错码
      • (一)海明距离与误码检测
      • (二)纠错码(前向纠错)
        • 1、海明码(汉明码)
      • (三)检错码
        • 1、奇偶校验
        • 2、循环冗余校验(CRC校验)
        • 3、校验和
  • 参考资料

前言

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

概念

一、链路层功能与服务

特点

  1. 相连-①通过通信信道道进行物理连接,没有“智能”的中介节点②特点:a.不乱序b.可能出错c.不会随机“插值”
  2. 可靠-差错:①评价信道-误码率(物理层)②评价链路-误帧率(链路层)③一定帧长下,误码率越高,误帧率越高
  3. 有效-①开销少②延时短

链路层效率定义

η = 有效/理想 = r/R(η≤1)
R(b/s)——信道容量,理想吞吐量

有效数据率

r = ∑ni/T
ni:第i个有效帧的bit数;T:测量总时间

链路层的功能和服务

服务

  1. 无确认的无连接服务
  2. 有确认的无连接服务
  3. 有确认的面向连接服务
    在这里插入图片描述

链路层功能

  1. 成帧:定位,标明起始与终止
  2. 差错检测与控制
  3. 流量控制
  4. 链路管理:建链、通信、拆链

二、成帧和帧同步(帧定位)

帧:一个完整的数据块
帧定位:从原始的bit流中提取出离散的帧

不同传输方式下的帧同步

  • 同步传输(Sync,连续bit流)bit流的起始和终止,没有帧传输时也存在bit流;一次传一个数据块(连续一串字符);收发双方同步;信道良好,高速传输
  • 异步传输(Async,异步字节序列)一次只传输一个字符(8位),字符之间有不确定延时;收发双方不要求同步;使用信道质量较差
  • 数据块传输方式(Block)若干字节构成一个连续的数据块,数据块前有若干先导bits

帧同步常用方法

  1. 字节计数法
  2. 字符填充首尾定界法(面向字符)
  3. 位填充首位定界法(面向位)
  4. 物理层编码违例法
  5. 校验和法

[1]字节计数法

发方在每个帧头部中的第一个字段,标识该帧的长度,总共有多少字符数。
特点

  • 优点:简单
  • 缺点:一旦出错,无法再同步;一旦帧首标记符出错,无法正确检测后续所有帧;很少被使用

[2]字符填充首尾定界法

定界字符F=01111110;转义符(Esc)
发送-在所有通信控制字符(特殊字符)前增加转义符【包含转义符】
接收-(1)前面没有转移符的控制字符以控制符解释(2)前面有转义符的控制字符作为数据字符解释

[3]位填充首尾定界法

定界标志F(Flag)= ‘01111110’
位填充:实际传输数据中出现连续5个1直接插入0,然后接收方去掉0(便于用硬件移位实现)

[4]块传输与物理层违例编码定界法

块传输(数据块传输:(1)块长度可变(2)块间间隔可变
——看作是增强型的异步传输,速率高,应用有计算机网络电缆连接,以太网信号。
块传输每个块即为一个帧:前同步码(Preamble)+后同步码(Postmable)
违例编码法:利用信息bit流特性,用非正常码型进行位置界定(有NRZ、曼彻斯特、HDB3、以太网、SDH)

[5]校验和法

(PS:此处笔者仍然没有搞清楚校验和具体细节,故暂且将其归纳为两种不同的校验和方法,如有错误,欢迎指正)
块传输的校验和法:应用于帧长度固定、帧与帧首尾相接的传输中
ATM帧长53字节-信元)两种校验和帧定位方法

整个帧进行校验和Checksum:B[4] = B[0] +…+B[52]
帧同步技术(1)粗同步-校验一个信元(2)精同步-连续校验N个块

头部进行校验和,使用循环冗余校验:B[4] ? B[0]+…+B[3]

优点:(1)无定界符开销(2)可靠性高
缺点:(1)有附加条件-固定信元(2)环境要求高-足够的寄存器、计算速度高

三、链路层的差错产生及类型

(一)产错产生的原因

1、衰减-信号随传播距离的增长,能量的消耗信号强度减弱到一定成都导致对方误判
在这里插入图片描述

2、失真-畸变,信号在传输过程中与原有信号相比发生的偏差
(1) 衰减失真-不同频率分量衰减不同在合成之后改变波形
(2) 时延失真-信号传播速度因频率不同,某个码元频率成分溢出到下一个码元,码元之间串扰而失真
3、噪声
(1) 白/热噪声
(2) 互/交调噪声——共享信道
(3) 串扰——相邻线路耦合
(4) 冲激噪声——开关电流冲激

(二)误码类型及影响

1、误码类型

误码率 = 传输的误码/总码数

(1)随机错-1位
(2)突发错-多位“连续”错(连续指错误位置距离较近
PS:随机错更容易被发现
2、误码的影响
(1) 帧体错-内容错
(2) 帧界定错-帧数据不可信,可能连锁反应,信道失序——收发无法同步
(3)不会出现“插值”、复制、乱序错误

四、检错码和纠错码

(一)海明距离与误码检测

海明距离-两个码字中不同的位的个数
🔺通过增加冗余位(增加开销)来拉开海明距离
(1) 检验d比特错,需要距离为d+1的编码
(2) 纠正d比特错,需要距离为2d+1的编码
给定码长m,纠正1位错需要增加r位纠错码
🔺满足

(m+r+1)≤2 r

(二)纠错码(前向纠错)

1、海明码(汉明码)

海明纠错码的位置:1,2,4,8……
(1) 计算纠错码,每一位的位置换算成2的幂次的和:x=2i+2j+……
凡是和里面包含2k的位共同参与2k偶检验计算,然后决定海明纠错码的数值
(2) 接收方反过来计算校验位,错误的检测码的位置之和就是错误位
发送方纠错码的计算
在这里插入图片描述
接收方对纠错码进行校验
在这里插入图片描述

(三)检错码

1、奇偶校验

偶校验(even-parity)
①除校验位以外的其余位=1的个数为偶数——校验位=0
②除校验位以外的其余位=1的个数为奇数——校验位=1
奇校验(odd-parity)
①除校验位以外的其余位=1的个数为偶数——校验位=1
②除校验位以外的其余位=1的个数为奇数——校验位=0
PS:只能检测出奇数个误码,漏检率高
🔺纵横式冗余校验-海明距离为3
(黄色为原始数据,红色为校验位)
在这里插入图片描述

2、循环冗余校验(CRC校验)

步骤假定有r位的数据位,CRC生成多项式位数为d
(1)在数据位后面添加d-1个0,构成r+d-1位作为被除数
(2)利用模2除法,除以d位生成多项式
(3)除到余数剩下d-1位为冗余校验码,以此校验码跟随在r位数据后面作为CRC校验码
(4)接收方将完整数据除以同一个CRC生成多项式:若余数为0,则数据位没有出错;反之,数据位出错
在这里插入图片描述
生成多项式的表示
在这里插入图片描述
常用生成式:CRC-12、CRC-16、CRC-CCITT——均含有x+1的因子
🔺校验能力
a. 所有的单位错
b. 所有的两位错
c. 所有奇数个位错
d. 所有突发长度小于等于r(r是校验和长度)
e. 突发错长大于r,有漏检率

①突发长度=r+1 漏检率=1/2 ^r-1
②突发长度>r+1 漏检率=1/2^r

特定:适合用硬件实现——得益于移位寄存器,方便进行模2除法
在这里插入图片描述

3、校验和

PS:区别帧定位中的校验和,此处校验和用于检错

步骤
(1)以16位(2个字节)作为一个单元,依次累加
(2)将得到的累加值和进位值再相加得到一个16位的累加和
(3)将累加和取反作为校验码跟随在发送码串的末尾
(4)接收方校验时将所有位累加:若结果=0,则数据未出错;反之,则数据出错
🔺若码串长度为奇数,则在末尾添加一个全0字节进行累加,最后得到的结果需要交换两个字节,作为最终的校验和
在这里插入图片描述

检错能力:CRC16相当,但适合用于软件实现
在这里插入图片描述

参考资料

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

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

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

相关文章

物联网全称_物联网的魔力世界

物联网顾名思义就是一种万物相连的网,英文全称:Internet of Things,缩写IoT。物联网可以让所有能行使独立功能的物体实现相互连接,通过物联网技术,可以用中心计算机对机器、设备或人员进行集中管理、控制,也…

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

文章目录前言概念一、差错控制1、停等协议2、回退N帧协议(GoBack_N,GB_N)3、选择性重传协议(Selective Repeat,SR)4、单帧确认和累计确认、捎带应答二、链路层流量控制——滑动窗口机制三、数据链路层典型协议1、HDLC协议(High-le…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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