• 数据链路层(3.1)


    数据链路层

    概念

    传送门:b站湖科大教书匠
    链路:一个结点到其相邻结点的物理线路,两结点中间没有相邻交换结点
    数据链路:把实现通信协议的硬件和软件加在链路上就构成了数据链路

    点对点信道

    数据链路的三个重要问题

    封装成帧

    以以太网的MAC帧为例:
    在这里插入图片描述

    分析:

    • 接收上层传输的IP数据报,对IP数据报的头部和尾部添加帧头和帧尾
    • 帧头包含目的地址和源地址,帧尾FCS(检错码)检验接收方收到的数据是否出现误码

    问题:

    1. 接收方从获取物理层的比特流怎么解析成数据链路层的帧呢?
      • 对于以太网来说,发送方的数据链路层的帧传给物理层,物理层在帧的头部添加前导码(用来进行帧定界),接收方将根据前导码将物理层的一段段比特流区分成帧;
      • 对于ppp协议来说,它的帧格式头尾都有标志位,直接根据标志位识别即可;
      • 注意:前导码主要分为两部分,帧标志和时钟同步码共8个字节
    2. 万一帧定界(前导码或者ppp协议的首尾标志位)和传输的数据单元重复导致接收方不能很清楚的识别一段段比特流中的帧怎么办?
      • 第一种思维就是对上层传递的数据进行限制,上层传递过来的数据内容不能和前导码和ppp协议的首尾标志位冲突
      • 第二种思维就是使用字符填充(面向字节的物理链路)或者比特填充(面向比特的物理链路)来解决,这样就不用限制上层传递的数据,这种状态就叫做“透明传输”

    拓展:

    • MTU(最大传送单元):数据链路层都规定了帧的数据部分的最大上限,因此为了提高传输速率,应该使帧的数据部分尽可能的大些
    差错检测
    • 奇偶校验
      在这里插入图片描述
    • 循环冗余校验(CRC)
      在这里插入图片描述
      在这里插入图片描述
    可靠传输

    可靠传输:想办法实现发送方发送什么,接收方就接收什么
    不可靠传输:如果接收发检测出错误,就丢弃
    在这里插入图片描述
    注意:传输差错不仅仅只有比特差错,还包含分组丢失,分组重复和分组失序

    停止等待协议SW
    回退N帧协议GBN
    选择重传协议SR

    广播信道

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    设计模式(十六)----结构型模式之代理享元模式
    1742C
    R17 redcap
    【C++】智能指针
    windows命令行查看和终止进程
    UVM-什么是UVM方法学
    CSS记录
    HashMap 这套八股,不得背个十来遍?
    LeetCode | 850. 矩形面积 II
    java面试题续集(二)
  • 原文地址:https://blog.csdn.net/qq_48575500/article/details/127816864