Skip to content

概述

  • 数据链路层负责将 bit 分成若干帧

封装成帧 + 透明传输

  • 只有链路层加帧首和帧尾。因为只有这层用于定界,其他首部只是附带信息
  • MTU: 最大传送单元

  • 定界符 + 字节填充法

    • 指定帧开始符和帧结束符 SOH 和 EOT。帧内数据的 SOH, EOT 和 ESC 前面都加 ESC
    • 0 比特填充:定界符不限长度 #qm
    • 也可以在物理层特殊编码(0 1 以外)表示帧定界。

差错控制

  • 纠错码:海明码等,找到错误位置,用于频繁出错处(如无线链路)
  • 检错码:奇偶校验 / CRC 校验,错了就丢弃 + arq 重发 (arq: 确认+重传机制确保可靠),用于光纤等
    • image.png
  • 奇偶校验:奇偶校验核心就是补充校验位后让1的数量是奇/偶数个 比如奇校验,00101变成001011
  • 无差错和无错误:无差错是以接近 1 的概率无误

PPP 协议

  • 用于两个节点之间建立点对点协议,适用于远程访问等场景
  • PPP 子协议:LCP 链路控制协议 身份验证 链路管理 + NCP 网络控制协议 与网络层协议配合
  • PPP 协议:

    • image.png

    • 同步传输: 面向比特传输,定界符为 bit 序列。例如定界符是 01111110,则一旦发现五个连续 1,就插入一个 0,接收端遇到 5 个连续 1 就忽略后面的 0

    • 异步传输:以字节为单位,用字节填充法保证透明传输 (防止传输的内容对帧定界造成干扰)
    • 跳过

广播信道链路层

  • 一般称局域网 = 以太网。其实还有令牌环网和 FDDI。以太网适合多点接入的局域网
  • 本质上所有机器共享一条总线信道,一定会发生碰撞
    • 静态分配:适用于用户少的场景
      • 频分复用,时分复用 ...
    • 动态分配:bandwidth 会动态分配
      • 随机接入
      • 受控接入
  • 以太网为什么快:
    • 直接发帧,不建立逻辑连接和确认身份
    • 功能精简,消除比特差错,忽略传输差错
    • 曼彻斯特编码,自带同步信息便于广播
  • 只需要广播的时候附带目标 mac,只有 mac 地址匹配的才会做出响应

网卡

  • image.png
  • 功能:
    • 向上在操作系统中安装驱动,向下实现以太网协议
  • CSMA / CD 协议 #在后面
  • 集线器和总线没啥区别,用 CDMA / CD 协议,半双工,在物理层工作;交换机摒弃 CSMA / CD,全双工,工作在链路层

利用率分析

  • image.png
  • image.png

MAC 层

  • IP 地址随着局域网变化而变化而 MAC 物理地址固化在适配器的 ROM (read-only) 上全球 48 位标准
  • mac 帧是链路层帧的一种实现方式

    • 46 - 1500 字节的 MTU,总长度 64-1518B
    • 除了数据以外,有目标地址和原地址各占 6 字节
    • 2 字节表示上一层协议
    • 4 字节 FCS 校验码(比如使用 CRC)
    • 没有界定符,采用物理层前导码,尾部则是以太网强制两个帧之间有间隔
    • image.png
    • mac 帧有以太网 V2 格式和 IEEE 的 802.3 格式,前者常用

    收发逻辑

    适配器收到一个帧检查目标 MAC 地址与自己是否匹配。如果不匹配,或出现 FCS 校验错误或者帧长度错误,就丢弃。 - 单播帧 unicast:一对一 - 广播帧 broadcast: 给局域网所有机器返送 - 多播真 multicast 组播

介质访问控制 MAC

为了避免信道冲突,需要使用 Mac - image.png

### CDMA 协议