首页 > 其他分享 >期末复习——数据链路层

期末复习——数据链路层

时间:2023-02-07 22:44:06浏览次数:40  
标签:复习 校验 发送 CRC 期末 ESC 接收 链路层 size

数据链路层

功能

为网络层提供的服务

有连接就一定要确认

  • 无确认 无连接服务
  • 有确认 无连接服务
  • 有确认 面向连接服务

组帧

4种方法
3.4较为常用

    1. 字节计数法

    Byte Count
    很少使用
    第一个byte表示紧跟着(包括它自己)有多少个byte
    51234 51234 80123456 87890123

    1. 字符填充的首尾定界符法

    标志字节 flag byte
    界定一帧的开始和结束。特殊字符FLAG填充
    转义字符ESC !not 'ESC'!
    放在特殊字符之前
    例 A FLAG B ... A ESC FLAG B
    填充后 A ESC FLAG B ... A ESC ESC ESC FLAG B

    较复杂

    1. 比特填充的标志比特法

    USB常用
    改进,在byte = 8 bits基础上改进,从而帧可以不再是8b的倍数长。
    性能better than 字符填充
    01111110标志一帧的开始and结束(中间是连续6个1)
    ∴发送方 在这一帧中间连续5个1后自动插入一个零
    接收方遇到连续5个1减掉后面那个0

    1. 物理层编码违禁法

    曼彻斯特编码 高低——码元1,低高——码元0
    so, 高高or低低都是违禁的,可以用来标志帧的开始和终止

差错控制

detect检错 correct纠错

  • ARQ 自动重传请求 3种

    ARQ Automatic Repeat reQuest 自动重传请求
    使用检错码

    ARQ控制方法:
    发送方将要发送的数据帧附加CRC 冗余校验码一起发送;
    接收方根据这部分CRC码进行校验;
    发现错误——丢弃-->发送方超时重传。

      1. 停止-等待 ARQ
      1. Go-Back-N 后退N帧 ARQ
      1. 选择性重传 ARQ
  • FEC 前向纠错

    使用纠错码的技术

  • 检错编码

    • 奇偶校验码

      只能发现奇数个 位错误,看1的个数
      偶校验:加上最后一位校验位,有偶数个1
      奇校验:加上最后一位校验位,有奇数个1

    • CRC循环冗余校验

      also. 多项式编码、Cyclic Redundancy Check
      除法皆为模2除法,不同为1相同为0
      几个量:
      G(x) :CRC的生成多项式,接收方与发送方的约定,已经规定好了。传输过程中,始终保持不变。最高位、最低位都是1
      C(x):发送的原始数据,原始多项式
      R(x):CRC多项式,即余数
      T(x) = C(x) << R + R(x)
      K:C(x) 的位数,or 最高幂次 +1
      R:CRC码位数 = G(x) 位数 - 1
      原理:
      发送端、接收端预先商定一个生成多项式 G(x)
      K位的原始数据帧C(x),比G(x)长
      在C(x)尾部附加校验和,生成T(x),能够被G(x)除尽
      计算过程
      r位的G(x),发送K位的原始帧C(x)
      1. C(x) 尾部加 R 位0
      2. C(x) 除以 G(x),得到余数,即CRC校验码R(x)
      3. 余数替换末尾的 R 个0,得到T(x),余数位数不够在前面补0
      4. 接收端收到T(x) + E(x)
      错误分析 接收端收到T(x) + E(x)
      奇数个位发生错误——E(x) 有x奇次项
      只有1位错误——E(x) = xi
      两个独立的1位错误,E(x) = xi + xj

      举例 G(x) = x4 + x + 1 计算帧1101011111校验和
      解:
      G(x) = x4 + x + 1 即:10011
      G(x)5位,M(x)补上4个0--M(x)帧11010111110000,再除G(x)10011
      余10
      发出帧T(x) = 1101011110010,T(x)能被G(x)整除

  • 纠错编码

    • 海明码

      海明距离
      多对数据取最小值

      海明距离(d + 1) 最多检测detect d个错误
      海明距离(2d + 1) 最多纠正correct d个错误
      m+r+1≤2r
      海明码默认一串数据 只错一位,so只能检查一个错误位。
      原data = 1001101 r = 4;
      r1、r2、r4、r8 插入
      r1画一隔一、r2画二隔二、r4画4隔4、r8画8隔8
      偶校验,使得画出来的部分是偶数个1
      得到code
      检查code
      不要改变code,依次检查r1、r2、r4、r8 ,错误位记为1,正确记为0
      写成r8 r4 r2 r1,转换成十进制,即为错误位

    • 二进制卷积码

流量控制

点对点
限制发送方的数据流量,不超过接收方的接收能力。只看两端,不看中间
传输层的流量控制是端到端

  • 停等

    发送方发一帧,等待接收方应答信号,等到之后才能发下一帧
    没收到就一直等

    效率低

  • 滑动窗口

    • 单帧 停等

      发送窗口 size = 1
      接收窗口 size = 1
      源收到ACK才可以发下一帧,缓冲区才可以删除备份文件

    • Go-Back-N

      对ACK进行 n bit 编号:0 ~ 2n - 1 号码
      发送窗口 1 ≤ size ≤ 2n - 1
      接收窗口 size = 1 按顺序接收
      源可连发,对ACK进行 n bit 编号,每帧都有超时计时器;
      ACKn 表示前n帧都已经正确接收

    • SR 选择性重传

      对ACK进行 n bit 编号,否定帧NAK,
      发送窗口 1 ≤ size ≤ 2n-1
      接收窗口 size > 1收发双方窗口大小相同

  • 信道利用率

    针对发送方而言,一个发送周期内,有效发送数据时间/整个发送周期
    T发送周期,C 数据传输速率,L 共发送了L bits数据,( L/C) / T
    信道吞吐率 = 信道利用率 * 发送方发送速率

协议

HDLC

面向比特
使用序号、确认机制,提供可靠传输

SONET

PPP

面向字节
不使用序号、确认机制,只保证无差错接收CRC校验

ADSL 拨号上网

用户可以边打电话边上网,一条电话线可同时接听,拨打电话并进行数据传输,两者互不影响。
ADSL传输的数据并不通过电话交换机,所以adsl上网
不需要缴付额外的电话费,节省了费用。

标签:复习,校验,发送,CRC,期末,ESC,接收,链路层,size
From: https://www.cnblogs.com/sectumsempra/p/17100067.html

相关文章

  • java——spring boot集成redis——首先进行复习——本机环境安装(windows环境下)
    鉴于之前学习的时候已经安装完成,此处不重复安装,有需要的可以参考网上各种教程。 本章节以黑马教程为准开始进行复习和学习,进一步提高后端能力 黑马教程:redis——B站......
  • 期末复习——应用层
    应用层DNS域名系统DomainNameSystem主要功能:域名与IP地址之间的映射基于客户服务器模型的分布式数据库系统协议运行在UDP上层次域名空间顶级域名通用com/e......
  • 期末复习——物理层
    物理层基本概念码元传输速率波特率RB单位:波特Baud码元传输速率=单位时间脉冲个数=单位时间信号变化次数信息传输速率比特率Rb相位相位其实就是log2(V),带宽......
  • 【C++复习】模板与群体数据(2)
    学习重点:容器类型内部的实现机制,顺便复习前面各章内容。容器类型的具体实现不需要特别关注(目前不需要会裸手写这么一个容器类型)1、群体/线性群体群体的概念群体是指由......
  • 【C++复习】5.7 多文件结构与编译预处理命令
    1、C++项目结构C++程序的一般组织架构类声明文件(.h文件)类实现文件(.cpp文件)类的使用文件(main()所在的.cpp文件)用工程组合各文件2、编译链接编译链接过程3、外部......
  • 复习redis持久化的两种方式RDB和AOF
    redis持久化----两种方式1、redis提供了两种持久化的方式,分别是RDB(RedisDataBase)和AOF(AppendOnlyFile)。2、RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并......
  • Spring再次复习之相关笔记
    实例化建BeanDefinition读取器:AnnotatedBeanDefinitionReader:其主要做了2件事情1.注册内置BeanPostProcessor2注册相关的BeanDefinition.Spring涉及的设计模式......
  • 数据库系统工程师软考复习
    文章目录​​计算机基础​​​​硬件基础​​​​体系结构​​​​安全性可靠性​​​​数据库基础​​​​三级模式两级架构​​​​数据模型​​​​ER图​​计算机基础硬......
  • 你校思博 CSC 3002 期末复习
    全是思博不定项选择,出题人柠檬水了Compiler\[\begin{aligned}&Compilers,e.g.,\\&–Microsoft\Visual\C++compiler\\&–GCC(GNU\Compiler\Collection)\\&......
  • 代码随想录算法训练营Day5 数组、链表复习
    数组部分数组最重要的思维方式是双指针的使用。快慢指针在进行元素移除和元素操作时会使用两个for循环嵌套,此时时间复杂度为O(n²)。在for循环中通过双指针(快慢指针)的使......