[TOC]

Chap3 数据链路层

功能

  • 成帧(Framing)

    将bit流划分成"帧"的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助帧的各个域来实现

  • 差错控制(Error Control)

    处理传输中出现的差错

  • 流量控制

    确保发送方的发送速率,不大于接收方的处理速率,避免接收缓冲区溢出

服务

无确认 无连接 服务(Unacknowledged connectionless)

  • 接收方不对收到的帧进行确认
  • 适用场景:误码率低的可靠信道
  • 网络实例:以太网

有确认 无连接服务 (acknowledged connectionless)

  • 每一帧都得到单独的确认
  • 适用场景:不可靠的信道(无线信道)
  • 网络实例:802.11

有确认 有连接服务(Acknowledged connection-oriented)

  • 适用场景:长延迟的不可靠信道

成帧

标识帧的开始

  • 接收方必须能从物理层接收的bit流中明确区分出一帧的开始和结束,这个问题被称为帧同步或帧定界
  • 关键:选择何种定界符?定界符出现在数据部分如何处理?

成帧的方式

带bit填充的定界符法

定界符:两个0bit之间,连续6个1bit,即01111110,0x7E

image-20240713143434614

发送方检查有效载荷:若在有效载荷中出现连续5个1比特,则直接插入1个0比特

image-20240713143556254

接收方的处理:
若出现连续5个1比特,
若下一比特为0,则为有效载荷,直接丢弃0比特;
若下一比特为1,则连同后一比特的0,构成定界符,一帧结束

物理层编码违例
  • 核心思想: 选择的定界符不会在数据部分出现

  • 4B/5B编码方案

    4bit数据映射成5bit编码,剩余的一半码字未使用,可以用作帧定界符

    例如:00110组合不包含在4B/5B编码中,可做帧定界符

  • 前导码

    存在很长的 前导码(preamble),可以用作定界符

    例如:传统以太网,802.11

  • 曼切斯特编码/差分曼切斯特编码

    正常的信号在周期中间有跳变,持续的高电平(或低电平)为违例码,可以用作定界符

    例如:802.5令牌环网

差错控制

背景

链路层存在的一个问题:信道的噪声导致数据传输问题

  • 差错(incorrect):数据发生错误
  • 丢失(lost): 接收方未收到
  • 乱序(out of order): 先发后到,后发先到
  • 重复(repeatedly delivery):一次发送,多次接收

解决方案:差错检测与纠正,确认重传

  • 确认:接收方校验数据(差错校验),并给发送方应答,防止查错
  • 定时器:发送方启动定时器,防止丢失
  • 顺序号:接收方检查序号,防止乱序递交,重复递交
差错检验与纠正
  • 目标

    保证一定差错检测和纠错能力的前提下,如何减少冗余信息量?

  • 考虑的问题

    • 信道的特征和传输需求
    • 冗余信息的计算方法,携带的冗余信息量
    • 计算的复杂度等
  • 两种主要策略

    • 检错码(error-detecting code)

    在被发送的数据块中,包含一些冗余信息,但这些信息只能使接收方推断是否发送错误,而不能判断哪位发生错误,接收方可以请求发送方重传数据主要用在高可靠,误码率较低的信道上,例如光纤链路偶尔发生的差错,可以通过重传解决差错问题

    • 纠错码(error-correcting code)

    发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误定位出错的位置)主要用于错误发生比较频繁的信道上,如无线链路也经常用于物理层,以及更高层(例如,实时流媒体应用和内容分发)使用纠错码的技术通常称为前向纠错(FEC,Forward Error Correction)

常用的检错码包括:

①奇偶检验 (Parity Check)
1位奇偶校验是最简单、最基础的检错码。

1位奇偶校验:增加1位校验位,可以检查奇数位错误

  • 偶校验 :1的个数为偶数个,则校验位为0
  • 奇效验:1的个数为奇数个,则校验位为1

②校验和 (Checksum)

主要用于TCP/IP体系中的网络层和传输层

在这里插入图片描述

循环冗余校验 (Cyclic Redundancy Check,CRC)
数据链路层广泛使用的校验方法

CRC校验码计算方法

设原始数据D为k位二进制位模式
如果要产生n位CRC校验码,事先选定一个n+1位二进制位模式G (称为生成多项式,收发双方提前商定),G的最高位为1
将原始数据D乘以2^n (相当于在D后面添加 n 个 0),产生k+n位二进制位模式,用G对该位模式做模2除,得到余数R(n位,不足n位前面用0补齐)即为CRC校验码

在这里插入图片描述

CRC校验码计算示例

  • D = 1010001101
  • n = 5
  • G = 110101 或 G = x5 + x4 + x2 + 1
  • R = 01110
  • 实际传输数据:101000110101110
在这里插入图片描述

汉明码

目标:以奇偶校验为基础,找到出错位置,提供1位纠错能力

  • 给定n位待发送的数据,首先确定校验位的个数k(根据2^k≥k+n+1)

  • 确定校验位在码流中的位置,2^i,i=0,1,2,……,得到校验位P_1,P_2,P_4,P_8,……

  • 确定分组,即每个校验位分别负责哪些数据位

    P_1负责位置号的二进制符合XXXX1形式的数据位,即1,3,5,7,9,……
    P_2负责位置号的二进制符合XXX1X形式的数据位,即2,3,6,7,10,……
    P_3负责位置号的二进制符合XX1XX形式的数据位,即4,5,6,7,12,13,14,15,……

  • 基于偶校验确定每组的校验位(0或1)

注: 汉明码是采用奇偶校验的码。它采用了一种非常巧妙的方式,把这串数字分了组,通过分组校验来确定哪一位出现了错误。

实际的海明码编码的过程也并不复杂,我们通过用不同过的校验位,去匹配多个不同的数据组,确保任何一个数据位出错,都会产生一个多个校验码位出错的唯一组合。这样,在出错的时候,我们就可以反过来找到出错的数据位,并纠正过来。当只有一个校验码位出错的时候,我们就知道实际出错的是校验码位了。

流量控制

链路层存在的另一个问题:接收方的处理速率

  • 接收方的接收缓冲区溢出

解决方案

  • 基于反馈 (feedback-based) 的流量控制
    接收方反馈,发送方调整发送速率

  • 基于速率 (rate-based) 的流量控制
    发送方根据内建机制,自行限速

媒体介入控制MAC

MAC(Medium Access Control)

数据链路层分为两个子层:
MAC子层:介质访问
LLC子层:承上启下(弱层)

在这里插入图片描述

信道分配问题

  • 时分多址接入-TDMA

    TDMA:time division multiple access

    • 按顺序依次接入并使用信道
    • 每个用户使用固定且相同长度的时隙
    • 某时隙轮到某用户使用时,该用户没有数据要发送,则该时隙被闲置

    例子:6-user LAN,1,3,4时隙有数据发送,2,5,6时隙被闲置

    image-20240713175427901
  • 频分多址接入-FDMA

    FDMA:frequency division multiple access

    • 信道总频带被划分为多个相同宽度的子频带
    • 每个用户占用一个子频带,不管用户是否有数据发送

    例如:6-user LAN 1,3,4频带有数据发送 2,5,6频带被闲置

多路访问协议

在这里插入图片描述
随机访问协议

特点:冲突不可避免

  • ALOHA

    1. 纯ALOHA协议

      原理:随意发送

      特点:

      1. 冲突:两个或以上的帧
      2. 随时可能冲突
      3. 冲突的帧完全破坏
      4. 破坏的帧要重传
    2. 分隙ALOHA

      • 分隙ALOHA是把时间分为时隙
      • 时隙的长度对应一帧的传输时间
      • 帧的发送必须在时隙的起点
      • 冲突只发生在时隙的起点
    在这里插入图片描述
  • 载波侦听多路访问协议CSMA

    在这里插入图片描述
    • 特点: 先听后发
    1. 非持续式CSMA

      特点

      • 经侦听,如果介质空闲,开始发送
      • 如果介质忙,则等待一个随机分布的时间,然后重复

      好处

      • 等待一个随机事件可以减少再次碰撞冲突的可能性

      缺点

      • 等待时间内介质上如果没有数据传送,会浪费这段时间
    2. 持续式CSMA

      • p-持续式CSMA

        1. 特点

          • 经侦听,如果介质空闲,那么以p的概率发送,以(1-p)的概率延迟一个时间单元发送

          • 如介质忙,持续侦听,一旦空闲重复1

          • 如果发送已推迟一个时间单元,再重复1

      • 1-持续式CSMA

        1. 特点

          • 经侦听,如介质空闲,则发送
          • 如介质忙,持续侦听,一旦空闲立刻发送
          • 如果发生冲突,等待一个随机分布的时间再重复步骤1
        2. 好处

          持续式的延迟时间少于非持续式

        3. 问题

          如果两个以上的站等待发送

          一旦介质空闲就一定发生冲突

      • 1-持续式是p-持续式的特例

受控访问协议
在这里插入图片描述

特点:解决了冲突

位图协议
image-20240713181039743

竞争期:在自己的时槽内发送竞争bit

  • 举手示意
  • 资源预留

传输期:按序发送

  • 明确的使用权,避免了冲突
令牌传递

令牌:发送权限

令牌的运行:发送工作站去抓取,获得发送权

  • 除了环,令牌也可以运行在其他拓扑上,如令牌总线
  • 发送的帧需要目的站或发送站将其从共享信道上去除,防止无限循环

缺点:令牌有维护代价

在这里插入图片描述
二进制倒计数协议
image-20240713181414609

站点:编序号,序号长度相同
竞争期:有数据发送的站点从高序号到低序号排队,高者得到发送权
特点:高序号站点优先

有限竞争协议

利用上述二者的优势

①自适应树搜索协议(Adaptive Tree Walk Protocol)
  • 在一次成功传输后的第一个竞争时隙,所有站点同时竞争。
  • 如果只有一个站点申请,则获得信道。
  • 否则在下一竞争时隙,有一半站点参与竞争(递归),下一时隙由另一半站点参与竞争
  • 即所有站点构成一棵完全二叉树。
在这里插入图片描述
虚拟局域网VLAN
广播域(Broadcasting Domain)
  • 广播域是广播帧能够到达的范围;
  • 缺省情况下,交换机所有端口同属于一个广播域,无法隔离广播域;
  • 广播帧在广播域中传播,占用资源,降低性能,且具有安全隐患。
在这里插入图片描述

VLAN是一个在物理网络上根据用途,工作组、应用等来逻辑划分的局域网络,与用户的物理位置没有关系。

在这里插入图片描述

通过路由器或三层交换机进行VLAN间路由,实现VLAN间通信。

在这里插入图片描述
VLAN类型
  • 基于端口的VLAN
在这里插入图片描述
  • 基于MAC地址的VLAN
在这里插入图片描述
  • 基于协议的VLAN

    在这里插入图片描述
  • 基于子网的VLAN

    在这里插入图片描述
无限局域网WLAN

无线局域网(Wireless Local Area Network,WLAN):指以无线信道作为传输介质的计算机局域网

基础架构模式(Infrastructure)

在这里插入图片描述
  • 分布式系统(DS)
  • 访问点(AP)
  • 站点(STA)
  • 基本服务集(BSS)
  • 扩展服务集(ESS)
  • 站点之间通信通过AP转发

自组织模式(Ad hoc)

在这里插入图片描述
  • 站点(STA)
  • 独立基本服务集(IBSS)
  • 站点之间直接通信
  • 共享同一无线信道

无线局域网需要解决的问题

1.有限的无线频谱带宽资源

通道划分、空间重用
提高传输速率,解决传输问题
提高抗干扰能力和保密性
2.共享的无线信道

介质访问控制方法(CSMA/CA)
可靠性传输、安全性
3.组网模式管理

BSS构建、认证、关联
移动性支持(漫游)
睡眠管理(节能模式)