计算机网络——数据链路层-功能、组帧和差错控制

devtools/2025/1/8 4:30:51/

一、数据链路层

   数据链路层传送的是帧

  

数据链路层的功能:

  1. 提供给网络层服务
  2. 组帧、帧同步与透明传输
  3. 差错控制
  4. 流量控制
  5. 可靠传输机制
  6. 链路管理 

二、组帧

      组帧的关键问题是能够让接收端在接收到物理层上交的比特流后, 就可以根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束,这样在出错时就不必重发全部数据而只重发出错的帧即可。
• 字符计数法
• 字符填充的首尾定界符法
• 比特填充的首尾标志法

1、封装成帧

• 封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
• 首部和尾部的一个重要作用就是进行帧定界。

2、字符填充的首尾定界符法 

3、透明传输

• 发送端的数据链路层在数据中出现控制字符“SOH”或"EOT"的前面插入一个转义字符“ESC”(其十六进制编码是1B)

• 字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络
层之前删除插入的转义字符。
• 如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

4、差错控制
检错编码:高度可靠的信道上,比如光纤
纠错编码:错误发生频繁的信道,如无线链路

5、检错编码

• 在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
• 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。
1)奇偶校验码
2)循环冗余检验码

6、纠错编码
纠错编码在接收端不但能检查错误,而且能纠正检查出来的错误。


    海明码将码字内的位从左到右依次编号,第1位是1号,第2位是2号……第 n 位是 n 号,记为 M ;( i =1,…, n )。其中,编号为2的幂的位(1号位、2号位、4号位、8号位等)是校验位,其余的位填入 k 位数据。为了知道编号为 k 的数据位对哪些校验位有影响,将编号 k 改写为2的幂的和,如10=2+8,31=1+2+4+8+16等。一个位只有扩展式中所示编号的位检测,如编号为10的位只有编号为2和8的校验位检测。


海明码的构造及检验方法如下:
1)根据关系式2"≥ k + r +1计算冗余位(即检验码)的位数;
2)确定信息位与冗余位(即检验码)的位置关系,2'( i =0,1,…, r )的位置上放冗余位(即检验码) P ,其余位置上放信息位(即数据位) D ,( j =1,… j );
3)找出冗余位(即检验码)与信息位(即数据位)的校验关系;
4)根据校验关系来确定冗余位(即检验码)


http://www.ppmy.cn/devtools/148477.html

相关文章

[Qt] 万字详解 | 常用控件 | Button | Label | LCD | ProgressBar

目录 按钮类控件 1、Push Button 按钮 2、Radio Buttion 单选 click、press、release、toggled 的区别 3、Check Box 复选 4、Tool Button 显示类控件 1、Label 2、LCD Number 3、ProgressBar 4、Calendar Widget 按钮类控件 1、Push Button 按钮 概述&#xff1a…

安卓漏洞学习(十八):Android加固基本原理

APP加固技术发展历程 APK加固整体思路 加固整体思路:先解压apk文件,取出dex文件,对dex文件进行加密,然后组合壳中的dex文件(Android类加载机制),结合之前的apk资源(解压apk除dex以外…

[CTF/网络安全] 攻防世界 PHP2 解题详析

翻译:你能给这个网站进行身份验证吗? index.php index.php是一个常见的文件名,通常用于Web服务器中的网站根目录下。它是默认的主页文件名,在访问一个网站时,如果没有特别指定页面文件名,则服务器会自动加…

U盘提示格式化?原因、恢复方案与预防措施全解析

一、U盘提示格式化现象概述 在日常使用U盘的过程中,我们有时会遇到一个令人头疼的问题——U盘插入电脑后,系统却弹出一个提示框,告知我们U盘需要格式化才能访问。这个提示往往伴随着数据的潜在丢失风险,让我们不禁为之心焦。U盘提…

Oracle删除归档日志

Oracle删除归档日志 1.运行环境2.检查数据库的归档配置3.使用RMAN删除归档文件4.归档状态不匹配 1.运行环境 操作系统:Windows Server 2019  Oracle版本:11gr2,即11.2 2.检查数据库的归档配置 打开CMD或POWERSHELL(win键R键后输入对应名称)…

掌握机器学习与MySQL集成实战Ruby和JavaScript辅助Redis缓存策略

掌握机器学习与MySQL集成实战Ruby和JavaScript辅助Redis缓存策略 文章导读 本文将深入探讨掌握机器学习与MySQL集成实战Ruby和JavaScript辅助Redis缓存策略的技术实践和创新方法。 掌握机器学习与MySQL集成实战:利用Ruby和JavaScript辅助Redis缓存策略 引言 随…

JVM类加载器

什么是类加载器 类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。 类加载器只参与加载过程中的字节码获取并加载到内存这一部分 类加载器的分类 类加载器分为两类,一类是Java代码中实现的&#xff0…

新零售模式下开源AI智能名片2+1链动模式S2B2C商城小程序源码的应用研究

摘要:新零售作为线上线下零售融合的新型商业模式,正在逐步改变传统零售业的面貌。然而,小型门店在SKU管理、供应商管理、运营效率等方面仍面临诸多挑战。本文旨在探讨开源AI智能名片21链动模式S2B2C商城小程序源码在新零售中的应用&#xff0…