无线网络和移动网络

无线网络与移动网络概述

无线网络技术使得设备可以在没有物理线缆连接的情况下进行通信,极大地增强了网络的灵活性和覆盖范围。移动性则允许设备在不同网络接入点之间切换,同时保持网络连接。本章将探讨无线链路的基本特性、关键的无线网络技术(如 Wi-Fi、蜂窝网络)以及支持设备移动性的网络机制。

无线 vs. 移动

需要区分无线移动两个概念:

  • 无线(Wireless):指通信链路本身不依赖物理线缆,使用电磁波(如无线电波)传输数据。一个设备可以是无线的但并非移动的(例如,固定位置的无线桌面电脑)。
  • 移动(Mobile):指设备能够在不同的地理位置或网络接入点之间移动,并维持其网络连接和服务。移动性通常依赖于无线技术,但核心在于网络层及更高层如何处理位置变化。

无线网络的基本构成

一个典型的无线网络环境包含以下核心元素:

  1. 无线主机
    • 可以是笔记本电脑、智能手机、平板电脑、物联网(IoT)设备等。
    • 运行各种网络应用程序。
    • 这些主机可能是固定的移动的
  2. 基站
    • 通常连接到有线网络基础设施
    • 作为无线主机接入有线网络的中继(Relay),负责在其覆盖区域内转发无线主机与有线网络之间的数据包。
    • 常见形式包括蜂窝网络的基站塔和 Wi-Fi 网络中的接入点(Access Point, AP)。
  3. 无线链路
    • 连接无线主机与基站,或在特定模式下直接连接无线主机。
    • 也可能用作连接基站之间的骨干链路
    • 其特性(如传输速率、覆盖距离、使用的频段)差异很大。
    • 由于共享无线媒介,需要多路访问协议来协调链路访问。

下图展示了一个包含这些元素的无线网络架构:

graph LR
    Infrastructure[有线网络基础设施]

    subgraph BSS1 [覆盖区域 1]
        direction LR
        AP1(基站/AP) --- Host1(笔记本)
        AP1 --- Host2(手机)
        AP1 --- Host3(平板)
    end

    subgraph BSS2 [覆盖区域 2]
        direction LR
        AP2(基站/AP) --- Host6(笔记本)
        AP2 --- Host7(IoT 设备)
    end

    AP1 -- 连接 --> Infrastructure
    AP2 -- 连接 --> Infrastructure

    style AP1 fill:#f9f,stroke:#333,stroke-width:2px
    style AP2 fill:#f9f,stroke:#333,stroke-width:2px
    style Infrastructure fill:#ccf,stroke:#333,stroke-width:2px

无线网络工作模式

无线网络主要有两种工作模式:

  1. 基础设施模式(Infrastructure Mode)
    • 无线主机通过基站AP)连接到有线网络。
    • 当移动主机从一个基站的覆盖范围移动到另一个基站时,会发生切换越区切换,将连接从旧基站转移到新基站。这是移动蜂窝网络和大多数 Wi-Fi 网络的工作方式。
  2. 自组织模式(Ad Hoc Mode)
    • 没有预设的基站或基础设施
    • 节点(主机)之间直接进行通信,但仅限于彼此的无线链路覆盖范围内。
    • 节点需要自组织形成网络,并自行负责节点间的路由。

无线网络分类

根据跳数和基础设施的存在与否,可以将无线网络大致分类:

单跳 多跳
有基础设施 主机通过一个基站(AP)连接到更大的互联网(如典型的 Wi-Fi、蜂窝网络接入)。 主机可能需要通过其他无线节点进行中继才能连接到连接互联网的基站。例如:无线 Mesh 网络
无基础设施 节点直接通信,不连接到互联网(如蓝牙、简单的 Ad Hoc 网络)。 节点间通过中继相互通信,不连接互联网或需要多跳才能到达某个特定节点。例如:移动自组织网络(MANET)、车载自组织网络(VANET)。

无线链路特性

无线链路与有线链路(如以太网)相比,具有显著不同的特性,这些特性对网络协议的设计和性能有重要影响。

信号衰减

无线电信号在传播过程中会衰减(损失功率)。

  • 自由空间路径损耗:即使在没有障碍物的理想空间中,信号强度也会随距离增加而减弱。损耗大致与距离 dd 的平方和频率 ff 的平方的乘积成正比:

    Path Loss(fd)2\text{Path Loss} \propto (f \cdot d)^2

  • 影响
    • 频率越高或距离越远,路径损耗越大
    • 信号强度减弱可能导致接收端难以正确解码数据。

多径传播

无线信号在传播过程中会遇到物体(地面、建筑物、车辆等)发生反射、衍射、散射。这导致同一信号的多个副本沿着不同的路径(具有不同的延迟)到达接收端。

  • 现象:发射的脉冲信号在接收端表现为多个延迟不同、幅度不同的脉冲叠加。
  • 相干时间:大致表示信道特性保持稳定的时间间隔。它影响了可以发送的比特在信道中保持可区分状态的时间长度。
    • 如果比特的发送间隔远小于相干时间,多径效应可能导致符号间干扰(Inter-Symbol Interference, ISI),即前一个符号的延迟副本干扰当前符号的接收,限制了最大传输速率。
    • 相干时间与载波频率接收端移动速度成反比。频率越高或速度越快,相干时间越短,信道变化越快。

噪声与干扰

无线信道容易受到各种噪声和干扰的影响:

  • 干扰:来自其他发射相同或相邻频率信号源的干扰(例如,其他 Wi-Fi AP、蓝牙设备、微波炉、无绳电话、电机等)。
  • 信噪比(Signal-to-Noise Ratio, SNR):接收到的信号功率与噪声(包括干扰)功率的比值。
    • 高 SNR 意味着信号远强于噪声,更容易从中提取有用信号,误码率(BER)低。
    • 低 SNR 则信号淹没在噪声中,误码率高。

SNR 与 BER 的权衡:

  • 对于给定的物理层调制编码方案,提高发射功率可以增加 SNR,从而降低误码率(Bit Error Rate, BER)。
  • 由于移动性或环境变化,SNR 会动态改变。无线系统通常会动态调整物理层参数(如调制方式、编码速率,即速率自适应)以在变化的 SNR 条件下维持可接受的 BER 或最大化吞吐量。

隐藏终端问题

这是无线网络中一个经典且重要的问题,尤其影响基于载波侦听的多路访问协议(如 CSMA)。

  • 场景:假设有三个节点 A、B、C。A 和 B 可以互相通信,B 和 C 可以互相通信,但 A 和 C 无法直接听到对方(可能因为距离远或有障碍物)。
  • 问题:如果 A 和 C 同时侦听信道,发现信道空闲,并决定向 B 发送数据,那么它们的信号将在 B 处发生冲突,导致 B 无法正确接收任何一方的数据。然而,A 和 C 自身都不知道发生了冲突,因为它们听不到对方的传输。
  • 原因:冲突发生在接收端(B),而发送端(A 和 C)无法感知到。信号衰减也会加剧此问题,即使 A 和 C 距离不远,它们到达 B 的信号可能足够强,但互相之间的信号却很弱。

隐藏终端的影响

隐藏终端问题使得在无线网络中检测冲突变得非常困难,这也是为什么 Wi-Fi 等协议采用避免冲突(CA)而非检测冲突(CD)的策略。

码分多址(CDMA)

码分多址(Code Division Multiple Access, CDMA)是一种允许多个用户在相同频率相同时间进行传输的多路访问技术,它通过为每个用户分配一个唯一的伪随机码序列(也称扩频码码片序列)来实现用户区分。

  • 核心思想:码集分割。不同用户的信号通过其独特的码序列进行编码(扩频),在接收端再用相同的码序列进行解码(解扩)来恢复原始信号,同时抑制其他用户的信号(视为噪声)。
  • 关键特性:
    • 所有用户共享同一频段。
    • 每个用户拥有独特的码片序列。
    • 允许多用户同时传输,且相互干扰较小(尤其当码序列之间具有良好的正交性时)。

CDMA 编解码过程

  1. 编码:将原始数据比特(通常表示为 +1 或 -1)与用户的码片序列进行内积或逐位相乘。如果码片序列长度为 MM,则一个数据比特会被扩展成 MM 个码片。

    • 假设用户 ii 的数据比特为 di{+1,1}d_i \in \left\lbrace +1, -1 \right\rbrace,其码片序列为 ci=(ci,1,ci,2,...,ci,M)\bm{c}_i = (c_{i,1}, c_{i,2}, ..., c_{i,M}),其中 ci,m{+1,1}c_{i,m} \in \{+1, -1\}
    • 编码后的信号(在一个比特时间内发送的码片序列)为 Zi=dici=(dici,1,dici,2,...,dici,M)\bm{Z}_i = d_i \cdot \bm{c}_i = (d_i c_{i,1}, d_i c_{i,2}, ..., d_i c_{i,M})
  2. 信道传输:多个用户的编码信号在无线信道中叠加。接收端收到的信号是所有用户信号的总和(可能还加上噪声)。

    • 假设有 NN 个用户同时发送,接收到的信号为 Zreceived=j=1NZj=j=1Ndjcj\displaystyle \bm{Z}_{\text{received}} = \sum_{j=1}^{N} \bm{Z}_j = \sum_{j=1}^{N} d_j \cdot \bm{c}_j
  3. 解码

    • 接收端若想解码用户 ii 的数据,需要将接收到的叠加信号 Zreceived\bm{Z}_{\text{received}} 与用户 ii 的码片序列 ci\bm{c}_i 进行内积运算,然后通常除以码片序列长度 MM
    • 解码结果 Di=1M(Zreceivedci)=1Mm=1M(j=1Ndjcj,m)ci,m\displaystyle D_i = \frac{1}{M} (\bm{Z}_{\text{received}} \cdot \bm{c}_i) = \frac{1}{M} \sum_{m=1}^{M} \left(\sum_{j=1}^{N} d_j c_{j,m}\right) c_{i,m}
    • 利用内积的线性性质,可以展开为:

    Di=1Mj=1Ndj(m=1Mcj,mci,m)=1Mj=1Ndj(cjci)D_i = \frac{1}{M} \sum_{j=1}^{N} d_j \left(\sum_{m=1}^{M} c_{j,m} c_{i,m}\right) = \frac{1}{M} \sum_{j=1}^{N} d_j (\bm{c}_j \cdot \bm{c}_i)

正交性的作用

如果码片序列设计得很好,具有正交性,即:

  • cicj=m=1Mci,mcj,m=0\displaystyle \bm{c}_i \cdot \bm{c}_j = \sum_{m=1}^{M} c_{i,m} c_{j,m} = 0(当 iji \neq j 时)
  • cici=m=1Mci,m2=M\displaystyle \bm{c}_i \cdot \bm{c}_i = \sum_{m=1}^{M} c_{i,m}^2 = M

在这种理想情况下,解码结果简化为:

Di=1M[di(cici)+jidj(cjci)]=di\begin{aligned} D_i &= \frac{1}{M} \left[d_i (\bm{c}_i \cdot \bm{c}_i) + \sum_{j \neq i} d_j (\bm{c}_j \cdot \bm{c}_i)\right] \\ &= d_i \end{aligned}

接收端可以完美恢复出用户 ii 的原始数据比特 did_i,而其他用户的信号干扰被完全消除。

在实际中,完全正交很难实现(尤其在异步系统中),但会选用具有低互相关性的码序列,使得 cjci\bm{c}_j \cdot \bm{c}_i (对于 jij \neq i) 的值很小,从而将多用户干扰(Multiple Access Interference, MAI)抑制到较低水平。

Wi-Fi: IEEE 802.11 无线局域网

IEEE 802.11 是定义无线局域网(Wireless Local Area Network, WLAN)通信的一系列标准,通常被称为 Wi-Fi

802.11 标准演进

标准 年份 最大数据速率 典型室内范围 频率(GHz) 主要特点/别名
802.11b 1999 11 Mbps ~30 m 2.4 最早广泛应用
802.11a 1999 54 Mbps ~30 m 5 较少干扰,但未普及
802.11g 2003 54 Mbps ~30 m 2.4 兼容 11b,速度提升
802.11n (Wi-Fi 4) 2009 600 Mbps ~70 m 2.4/5 MIMO,速度大幅提升
802.11ac (Wi-Fi 5) 2013 ~3.5+ Gbps ~70 m 5 更宽信道, MU-MIMO
802.11ax (Wi-Fi 6) 2020 ~10+ Gbps ~70 m 2.4/5 OFDMA, 效率/容量提升
802.11ad 2012 ~7 Gbps ~10 m 60 WiGig, 高频短距
802.11af 2014 ~560 Mbps ~1 Km TV White Space 利用未使用的电视频段
802.11ah 2017 ~347 Mbps ~1 Km Sub-1 GHz HaLow, 物联网应用
802.11be (Wi-Fi 7) 2024 ~30+ Gbps - 2.4/5/6 MLO, 4K QAM,极高吞吐
  • 所有这些标准都使用 CSMA/CA 作为多路访问控制方法。
  • 它们都支持基础设施模式(通过 AP)和自组织模式

802.11 架构

  • 基本服务集(Basic Service Set, BSS):构成一个基本无线局域网的单元。
    • 基础设施模式下,一个 BSS 包含一个接入点和若干个与之关联的无线站点AP 起到基站的作用,连接 STA 到有线网络(通常称为分布系统 DS)。
    • 自组织模式(也称独立基本服务集 Independent BSS, IBSS)下,BSS 只包含若干个相互直接通信的 STA,没有 AP
  • 服务集标识符(Service Set Identifier, SSID):用于标识一个 BSS 的名称(网络名)。
  • 扩展服务集(Extended Service Set, ESS):由多个通过分布系统互连的 BSS 组成,共享相同的 SSID,允许用户在不同 AP 覆盖范围之间漫游。

802.11 信道与关联

信道:为了减少干扰,802.11 使用的频段(如 2.4 GHz, 5 GHz)被划分为多个信道。例如,2.4 GHz 频段通常有 11 或 13 个重叠的信道,但只有少数(如 1, 6, 11)是不重叠的。AP 管理员需要为其 AP 选择一个工作信道。相邻 AP 如果使用相同或重叠的信道,可能会相互干扰。

关联:当一个无线主机(STA)进入一个或多个 AP 的覆盖范围时,它必须选择一个 AP 并与之关联,才能接入网络。过程如下:

  1. 扫描STA 寻找可用的 AP
    • 被动扫描STA 监听每个信道上的信标帧。信标帧由 AP 定期广播,包含 APSSID、MAC 地址、支持的速率、安全配置等信息。
    • 主动扫描STA 在每个信道上广播一个探测请求帧。覆盖该区域的 AP 会回复一个探测响应帧,包含类似信标帧的信息。
  2. 选择 APSTA 根据接收到的信标帧或探测响应帧(例如,基于信号强度、负载情况、安全策略等)选择一个 AP
  3. 认证:(可选,取决于网络安全设置)STAAP 进行身份验证。
  4. 关联STA 向选定的 AP 发送关联请求帧。如果 AP 接受,则回复关联响应帧。关联成功后,STA 才正式成为该 BSS 的一部分。
  5. DHCP:通常,关联成功后,STA 会运行 DHCP 协议从网络(通常是 AP 连接的路由器)获取 IP 地址等网络配置信息。
sequenceDiagram
    participant STA as 无线主机
    participant AP1 as AP 1(信道 6)
    participant AP2 as AP 2(信道 11)

    Note over STA: 开始扫描…(以主动扫描为例)
    STA->>AP1: 广播 Probe Request(信道 6)
    AP1-->>STA: Probe Response(含 SSID="NetworkA", MAC1)
    STA->>AP2: 广播 Probe Request(信道 11)
    AP2-->>STA: Probe Response(含 SSID="NetworkB", MAC2)

    Note over STA: 收到响应,决定关联 AP1
    STA->>AP1: Association Request
    AP1-->>STA: Association Response(成功)
    Note over STA: 关联成功!
    STA->>+AP1: DHCP Discover(通过 AP 转发)
    AP1-->>STA: DHCP Offer(从 DHCP 服务器)
    STA->>AP1: DHCP Request
    AP1-->>-STA: DHCP ACK(获取 IP 地址)

802.11 MAC 协议:CSMA/CA

由于无线信道的特性(尤其是隐藏终端问题),802.11 不能使用以太网的 CSMA/CD。它采用带有冲突避免的载波侦听多路访问(Carrier Sense Multiple Access with Collision Avoidance, CSMA/CA)。

  • 目标:尽量避免冲突的发生,而不是检测并处理冲突。
  • 基本机制
    1. 载波侦听:在发送前,站点首先侦听信道。
    2. 如果信道空闲:等待一段称为分布式帧间间隔(Distributed Inter-Frame Space, DIFS)的固定时间。如果在 DIFS 期间信道保持空闲,则发送整个数据帧。
    3. 如果信道忙:站点选择一个随机的退避时间,并在信道变为空闲后开始倒计时。
      • 退避计时器只在信道持续空闲时才递减。
      • 如果信道在倒计时期间再次变忙,计时器暂停,直到信道再次空闲并经过 DIFS 后才继续。
      • 当计时器减到零时,站点发送数据帧。
    4. 确认:由于无法检测冲突,接收方在成功收到数据帧后,需要等待一个短帧间间隔(Short Inter-Frame Space, SIFS,比 DIFS 短)后,立即回复一个确认帧
    5. 如果发送方未收到 ACK(可能因为数据帧丢失或 ACK 帧丢失):认为发生了冲突或传输失败,会增加退避窗口的大小(通常是指数退避),重新选择一个更大的随机退避时间,并重传数据帧。

解决隐藏终端:RTS/CTS 机制

基本的 CSMA/CA 机制本身并不能完全解决隐藏终端问题。为此,802.11 引入了一个可选的请求发送/清除发送(Request-to-Send/Clear-to-Send, RTS/CTS)握手机制,通常用于发送较大的数据帧。

  • 思想:在发送长的数据帧之前,先用短的控制帧(RTS 和 CTS)来预约信道,并通知可能存在的隐藏终端。
  • 过程
    1. 发送方 A 想给接收方 B(通常是 AP)发送数据。A 首先使用 CSMA/CA 规则发送一个短的 RTS 帧给 B。RTS 帧中包含了数据传输预计需要的时间。
    2. B 收到 RTS 后,如果准备好接收,则在等待 SIFS 后,回复一个 CTS 帧。CTS 帧也包含了(剩余的)传输时间信息。CTS 帧会广播给 B 覆盖范围内的所有站点。
    3. A 收到 CTS 后,等待 SIFS,然后发送数据帧
    4. B 成功收到数据帧后,等待 SIFS,回复 ACK 帧
  • 冲突避免效果
    • 听到 CTS 的站点(包括可能对 A 隐藏但能听到 B 的站点 C):知道即将有一次传输(从 A 到 B),并且知道传输将持续多长时间(从 CTS 帧中获取)。这些站点会在该时间段内延迟自己的传输,避免干扰 A \to B 的数据传输。
    • 听到 RTS 但未听到 CTS 的站点(例如,离 A 近但离 B 远的站点):知道 A 正在尝试发起传输,但可能因为 B 忙或其他原因未成功(没收到 CTS),它们也需要适当退避。
    • RTS 和 CTS 帧本身很短,即使它们发生冲突,浪费的信道时间也远小于长数据帧冲突所浪费的时间。

sequenceDiagram
    participant A as 发送方 A
    participant AP as 接收方 AP
    participant C as 隐藏终端 C(能听到 AP,听不到 A)
    participant D as 其他站点(能听到 A)

    A->>AP: RTS(预约信道)
    Note over D: D 听到 RTS,推迟发送
    AP-->>A: CTS(确认预约)
    Note over C: C 听到 CTS,推迟发送
    Note over D: D 听到 CTS,继续推迟
    A->>AP: DATA(长数据帧)
    AP-->>A: ACK(确认收到)
    Note over A,D: 信道预约结束, 其他站点可竞争信道

802.11 帧结构:地址字段

802.11 MAC 帧格式比较复杂,其中地址字段的设计是为了支持基础设施模式、Ad Hoc 模式以及与有线网络的交互。一个数据帧通常包含四个地址字段(每个 6 字节 MAC 地址),但并非所有字段在所有场景下都会使用。

字段 大小(字节) 描述
帧控制 2 包含帧类型(管理/控制/数据)、子类型、To DS/From DS 标志、WEP 标志等。
Duration/ID 2 在 RTS/CTS 中表示预约时间;在数据帧中表示 NAV(网络分配向量)值。
地址 1 6 接收方(RA):接收该 MAC 帧的直接无线接口的 MAC 地址。
地址 2 6 发送方(TA):发送该 MAC 帧的直接无线接口的 MAC 地址。
地址 3 6 目的地址/源地址(DA/SA):取决于 To DS/From DS 标志。用于在无线和有线网络间转发。
序列控制 2 用于帧分片和重组,以及重复帧检测。
地址 4 6 源地址/目的地址(SA/DA):仅在无线分布系统(WDS)或 Mesh 网络等特定场景下使用,用于标识原始发送者或最终接收者。在典型的基础设施或 Ad Hoc 模式下通常不用。
帧主体 0-2312 数据载荷,如 IP 数据报。
CRC 4 帧检验序列,用于差错检测。

地址字段的含义取决于帧控制字段中的 To DS 和 From DS 标志位:

  • 场景 1: STA \to AP(To DS=1, From DS=0) 例如,无线主机 H1 发送数据给路由器 R1

    • 地址 1 (RA): AP 的 MAC 地址
    • 地址 2 (TA): H1 的 MAC 地址
    • 地址 3 (DA): 最终目的地的 MAC 地址(例如 R1 的 MAC 地址)
    • 地址 4: 不使用
  • 场景 2: AP \to STA(To DS=0, From DS=1) 例如,路由器 R1 通过 AP 发送数据给无线主机 H1

    • 地址 1 (RA): H1 的 MAC 地址
    • 地址 2 (TA): AP 的 MAC 地址
    • 地址 3 (SA): 原始发送者的 MAC 地址(例如 R1 的 MAC 地址)
    • 地址 4: 不使用
  • 场景 3: STA \to STA (To DS=0, From DS=0) Ad Hoc 模式

    • 地址 1 (RA): 目的 STA 的 MAC 地址
    • 地址 2 (TA): 源 STA 的 MAC 地址
    • 地址 3 (BSSID): BSS 的标识符(通常是发起 Ad Hoc 网络的 STA 的 MAC 地址或随机生成)
    • 地址 4: 不使用
  • 场景 4: AP \to AP (To DS=1, From DS=1) 无线桥接/WDS

    • 地址 1 (RA): 接收 AP 的 MAC 地址
    • 地址 2 (TA): 发送 AP 的 MAC 地址
    • 地址 3 (DA): 最终目的地的 MAC 地址
    • 地址 4 (SA): 原始发送者的 MAC 地址

下图展示了场景 1 (H1 \to AP \to R1) 的地址使用情况:

802.11 高级特性

  • 子网内移动性:如果一个 STA 从一个 AP 漫游到同一 IP 子网内的另一个 AP,它的 IP 地址不需要改变。连接 AP 的交换机会通过自学习机制更新其转发表,将发往该 STA 的数据包转发到新的 AP 端口。
  • 速率自适应APSTA 会根据信道条件(如 SNR)动态调整传输速率和调制编码方案。当信道条件变差(如 STA 远离 AP),它们会切换到更低但更鲁棒的速率以降低 BER;当信道条件改善时,则切换回更高速率以提高吞吐量。
  • 电源管理:为了节省移动设备的电池,STA 可以通知 AP 它将进入睡眠模式,直到下一个信标帧到达时才醒来。AP 在此期间会缓存发往该 STA 的帧。信标帧中会包含一个流量指示图(Traffic Indication Map, TIM),告知哪些处于睡眠模式的 STA 有缓存帧等待接收。如果 TIM 中指示有发给自己的帧,STA 会保持清醒并向 AP 请求这些帧;否则,它可以再次进入睡眠模式直到下一个信标帧。

蓝牙与个人区域网

蓝牙是一种短距离(通常 < 10 米)无线技术标准,主要用于创建个人区域网(Personal Area Network, PAN),实现设备间的低功耗、低成本连接,常用于替代线缆(如连接鼠标、键盘、耳机)。

特点

  • 工作在 2.4 GHz ISM 频段。
  • 通常是自组织模式,无需基础设施。
  • 形成称为微微网的小型网络,包含一个主设备(Master[1])和最多七个从设备(Slave)。主设备控制通信时隙分配。
  • 使用时分双工(Time Division Duplex, TDD)和跳频扩频(Frequency Hopping Spread Spectrum, FHSS)技术。主从设备在一个伪随机序列决定的 79 个(或更多)信道上快速跳跃,以抵抗干扰和提高安全性。
  • 支持主设备轮询从设备。
  • 停放模式等低功耗状态。
  • 支持自举和即插即用组网。

蜂窝网络:4G 和 5G

蜂窝网络(Cellular Network)是为广域移动互联网接入设计的主要解决方案。

4G/5G 概述

  • 广泛部署:移动宽带连接设备数量已远超固定宽带。
  • 高速率:4G LTE 可提供数十至数百 Mbps 的速率,5G 则目标 Gbps 级别。
  • 技术标准:主要由 3GPP组织制定。
    • 4G:主要标准是 LTE
    • 5G:主要标准是 5G NR

与有线互联网的异同

相似之处:

  • 边缘-核心架构:虽然界限可能模糊,但仍有接入网络(RAN)和核心网络之分。
  • 网络互联:全球蜂窝网络也是一个由不同运营商网络互联组成的「网络的网络」。
  • 协议使用:广泛使用互联网协议栈(IP, TCP, UDP, HTTP, DNS 等)。
  • 数据/控制平面分离:在现代蜂窝网络(如 LTE, 5G)中是重要设计原则。
  • 与有线互联网互通:最终连接到全球互联网。

不同之处:

  • 链路层:使用专门为无线环境设计的复杂链路层和物理层协议。
  • 移动性是核心服务:网络架构原生支持用户移动性管理。
  • 用户身份:通过 SIM 卡(Subscriber Identity Module)进行用户身份识别和认证,而非仅仅 IP 地址。
  • 商业模式:用户通常需要向蜂窝运营商订阅服务。
  • 归属网络 vs. 漫游网络:有强烈的归属网络概念,用户在其他运营商网络(拜访网络 Visited Network)接入时称为漫游(Roaming),涉及运营商间的认证和结算。

4G LTE 网络架构

4G LTE 网络主要由以下几部分组成:

  1. 用户设备(User Equipment, UE):智能手机、平板、笔记本电脑、IoT 设备等,内置 LTE 无线模块和 SIM 卡(存储 IMSI - 国际移动用户识别码)。
  2. 演进型 UTRAN(Evolved UTRAN, E-UTRAN):即无线接入网(Radio Access Network, RAN),主要由 eNodeB 组成。
    • eNodeB(演进型 NodeB,即基站):管理无线资源(频谱、功率等),负责 UE 与核心网之间的无线通信,执行部分移动性管理功能(如切换决策)。
  3. 演进型分组核心网(Evolved Packet Core, EPC):全 IP 化的核心网络,负责数据路由、移动性管理、策略控制、用户认证等。主要网元包括:
    • 移动性管理实体(Mobility Management Entity, MME):控制平面核心。负责 UE 的附着/分离、跟踪区更新、寻呼、切换控制、用户认证(与 HSS 交互)、承载管理(建立/释放数据通道)。
    • 服务网关(Serving Gateway, S-GW):数据平面核心。作为 UE 在 E-UTRAN 内部移动的本地锚点,负责路由和转发用户数据包,对计费数据进行收集。
    • 分组数据网络网关(PDN Gateway, P-GW):数据平面核心。作为 UE 接入外部 IP 网络(如互联网)的接口,负责 IP 地址分配、策略执行(PCEF)、计费、数据包过滤。是 UE 在不同接入技术(如 LTE 与 Wi-Fi)间移动的锚点。
    • 归属用户服务器(Home Subscriber Server, HSS):控制平面数据库。存储用户的签约信息(包括 IMSI、服务权限、密钥等)、用户位置信息(当前 MME 地址)、认证信息。相当于用户的「家」。
    • 策略和计费规则功能(Policy and Charging Rules Function, PCRF):(未在图中显式标出)制定策略和计费规则(如 QoS、流量控制)。
graph LR
    UE(用户设备 UE) -- RRC/无线链路 --> eNodeB(基站 eNodeB)

    subgraph E-UTRAN [无线接入网 RAN]
        eNodeB
    end

    subgraph EPC [演进型分组核心网 EPC]
        MME(移动性管理实体 MME)
        SGW(服务网关 S-GW)
        PGW(PDN网关 P-GW)
        HSS(归属用户服务器 HSS)
    end

    eNodeB -- S1-MME(控制面) --> MME
    eNodeB -- S1-U(数据面) --> SGW

    MME -- S6a --> HSS
    MME -- S11 --> SGW
    SGW -- S5/S8 --> PGW
    PGW -- SGi --> Internet(外部 PDN 网络)

    style UE fill:#cff,stroke:#333
    style eNodeB fill:#f9f,stroke:#333
    style MME fill:#ccf,stroke:#333
    style HSS fill:#ccf,stroke:#333
    style SGW fill:#9cf,stroke:#333
    style PGW fill:#9cf,stroke:#333
    style Internet fill:#eee,stroke:#333

LTE 无线接入网(RAN)

  • 连接UE 通过无线链路连接到 eNodeB。一个 eNodeB 可以同时服务多个 UE
  • 频段与信道:LTE 支持多种频段(如 600MHz, 700MHz, 1.7GHz, 2.1GHz, 2.6GHz, 3.5GHz 等),每个频段内有多个信道。通常上行UE \to eNodeB)和下行eNodeB \to UE)使用不同的频段(频分双工 FDD)或不同的时隙(时分双工 TDD)。
  • 多路访问:LTE 主要使用 OFDMA(Orthogonal Frequency Division Multiple Access) 作为下行多址接入技术,SC-FDMA(Single Carrier FDMA) 作为上行多址接入技术。它们都基于正交频分复用(OFDM),将宽带信道划分为大量窄带正交子载波,并将这些子载波资源(时间和频率)分配给不同用户。这是一种 FDM 和 TDM 的结合。

LTE 数据平面与控制平面分离

LTE 架构清晰地分离了数据平面和控制平面:

  • 控制平面:处理信令消息,如移动性管理(附着、切换、位置更新)、会话管理(承载建立/修改/释放)、安全认证等。主要涉及 UE, eNodeB, MME, HSS。使用专门的控制协议。
  • 数据平面:处理用户的数据流量(IP 包)。主要路径是 UE \leftrightarrow eNodeB \leftrightarrow S-GW \leftrightarrow P-GW \leftrightarrow 外部网络。数据在 EPC 内部通过 GTP 隧道(GPRS Tunneling Protocol Tunnel)传输。

LTE 数据平面协议栈与隧道

  • 第一跳UE \leftrightarrow eNodeB):涉及复杂的物理层和链路层协议。
    • 物理层(PHY):负责无线传输、编码、调制。
    • MAC(Medium Access Control):负责资源调度(分配时频资源)、HARQ(混合自动重传请求)。
    • RLC(Radio Link Control):负责分段/重组、ARQ(自动重传请求,提供可靠/不可靠传输模式)。
    • PDCP(Packet Data Convergence Protocol):负责 IP 头压缩、加密、完整性保护。
  • 核心网(EPC):用户 IP 数据包在 EPC 内部被封装在 GTP 隧道中传输。
    • GTP 是一种基于 UDP/IP 的隧道协议。
    • UE \to Internet 路径UE 的 IP 包 \to (PDCP/RLC/MAC/PHY) \to eNodeB \to [GTP/UDP/IP 封装(eNodeB \to S-GW)] \to S-GW \to [GTP/UDP/IP 封装(S-GW \to P-GW)] \to P-GW \to [解封装] \to Internet。
    • 隧道的作用
      • 将用户的 IP 包透明地传输通过 EPC 网络。
      • 支持移动性:当 UEeNodeB 之间切换时,只需要改变 S-GW 侧的隧道端点(指向新的 eNodeB),而 P-GW 侧的隧道端点保持不变。当 UE 移动导致需要更换 S-GW 时,P-GW 与新 S-GW 建立隧道。这使得 UE 的 IP 地址可以保持不变,对外部网络透明。

LTE 附着与关联过程(简化)

  1. 同步UE 开机后,扫描各频段,侦听 eNodeB 广播的主同步信号(PSS)和辅同步信号(SSS),以实现时频同步,并获取小区的物理 ID。
  2. 系统信息获取UE 读取 eNodeB 广播的系统信息块(MIB, SIBs),了解小区配置(如带宽、载波信息、接入限制等)。
  3. 随机接入UE 发起随机接入过程,与 eNodeB 建立初始连接和 RRC(Radio Resource Control)连接。
  4. 附着请求UE 通过 RRC 连接向 MME 发送附着请求,其中包含 UE 的 IMSI 或临时标识符 GUTI。
  5. 认证与鉴权MME 根据 IMSI/GUTI 联系 UE 的 HSS,获取认证向量,对 UE 进行安全认证和鉴权。
  6. 位置更新:认证成功后,MME 在 HSS 处注册 UE 的当前位置。
  7. 承载建立MMES-GW、P-GW 交互,为 UE 建立默认的 EPS 承载(数据通道),P-GW 分配 IP 地址。
  8. 附着接受MMEUE 发送附着接受消息,包含分配的 IP 地址和 GUTI。
  9. 完成UE 完成附着,可以开始数据传输。

LTE 移动性管理:切换

UE 在激活状态下从一个 eNodeB(源 eNodeB)移动到另一个 eNodeB(目标 eNodeB)的覆盖范围时,需要进行切换以保持连接。LTE 中的切换是网络控制的,通常由源 eNodeB 基于 UE 上报的测量报告(邻近小区信号强度)来发起。

MME/S-GW 下的切换流程(简化):

  1. 测量与决策UE 测量邻近小区信号强度并上报给源 eNodeB。源 eNodeB 决定需要切换到目标 eNodeB
  2. 切换准备:源 eNodeB 向目标 eNodeB 发送切换请求,包含 UE 的上下文信息。
  3. 资源预留:目标 eNodeB 预留无线资源,并向源 eNodeB 回复切换请求确认,其中包含切换指令所需的信息。
  4. 切换指令:源 eNodeBUE 发送切换指令
  5. 同步与接入UE 与目标 eNodeB 同步,并发起随机接入。
  6. 路径切换:目标 eNodeB 通知 MME 切换完成。MME 指示 S-GW 将下行数据路径从源 eNodeB 切换到目标 eNodeB(更新 S1-U 隧道的端点)。
  7. 数据转发:(可选)在路径切换完成前,源 eNodeB 可以将尚未发送给 UE 的下行数据包转发给目标 eNodeB
  8. 资源释放MME 通知源 eNodeB 释放为该 UE 保留的资源。

LTE 睡眠模式

为了省电,LTE UE 也有类似 Wi-Fi 的睡眠模式:

  • 轻度睡眠:在短暂(如数百毫秒)无活动后进入。UE 会周期性地(如每隔数百毫秒)醒来一小段时间,检查是否有下行数据(寻呼 Paging)。
  • 深度睡眠:在较长时间(如 5-10 秒)无活动后进入。UE 在网络中只注册了其所在的跟踪区MME 不知道其具体在哪个小区。当有下行数据到达时,MME 会在该跟踪区的所有 eNodeB 上发起寻呼UE 需要周期性地醒来检查寻呼消息。如果 UE 在深度睡眠期间移动到新的跟踪区,需要发起跟踪区更新(Tracking Area Update, TAU)过程。如果移动到了新的小区但仍在原跟踪区,则无需立即通知网络,但在需要通信时需要重新建立 RRC 连接。

全球蜂窝网络:归属与漫游

  • 归属网络:用户签约的运营商网络。HSS 位于归属网络。
  • 拜访网络:用户当前接入的、非归属的运营商网络。
  • 漫游:当用户在拜访网络中接入服务时。这需要归属运营商和拜访运营商之间有漫游协议
    • 认证:拜访网络的 MME 会联系用户的 HSS(通过归属网络的网关)进行认证。
    • 数据路径:通常有两种模式:
      • 归属路由:所有数据流量(包括去往互联网的)都必须先通过隧道回到归属网络的 P-GW,再路由出去。计费和策略控制由归属网络负责。
      • 本地疏导(Local Breakout, LBO):数据流量直接通过拜访网络的 P-GW 路由到互联网。需要拜访网络具有相应的策略控制和计费能力,并与归属网络协调。

迈向 5G

5G 的主要驱动力与目标场景:

  • 增强型移动宽带(Enhanced Mobile Broadband, eMBB):提供更高的峰值速率(Gbps 级)、更大的容量,支持高清视频、VR/AR 等。
  • 海量机器类通信(Massive Machine Type Communications, mMTC):支持极高密度的设备连接(每平方公里百万级),主要用于物联网(IoT)场景,要求低功耗、低成本。
  • 超可靠低延迟通信(Ultra-Reliable Low Latency Communications, URLLC):提供极低延迟(毫秒级)和极高可靠性(99.999% 或更高),用于自动驾驶、远程手术、工业自动化等关键任务。

5G 无线技术(5G NR - New Radio):

  • 目标:相比 4G,峰值速率提升 10 倍,延迟降低 10 倍,容量提升 100 倍。
  • 新频段:引入更高频段,特别是毫米波(Millimeter Wave, mmWave)频段(FR2: 24 GHz - 52 GHz),以及中低频段(FR1: 450 MHz - 6 GHz)。
    • 毫米波:带宽高 \to 速率极高;但传播距离短、穿透能力差 \to 需要部署大量微基站/皮基站,形成密集组网
  • 不向后兼容 4G:NR 是全新的无线接口。
  • 大规模 MIMO:基站使用大量天线(数十甚至数百根)形成非常窄的波束,精确地指向用户,提高信号强度、减少干扰、提升容量。
  • 灵活帧结构:支持不同的子载波间隔和时隙长度,以适应不同业务(eMBB/mMTC/URLLC)的需求。

5G 核心网架构:

  • 基于服务的架构(Service-Based Architecture, SBA):与 4G 基于网元的架构不同,5G 核心网采用微服务云原生设计理念。核心网功能被分解为一系列相互独立的网络功能,如 AMF(接入和移动性管理功能), SMF(会话管理功能), UPF(用户平面功能), AUSF(认证服务器功能) 等。
  • SDN/NFV:大量采用软件定义网络(SDN)和网络功能虚拟化(NFV)技术,实现网络功能的灵活部署、按需扩展、自动化管理。
  • 控制与用户平面分离(Control and User Plane Separation, CUPS):进一步强化分离,允许 UPF 更靠近网络边缘部署。
  • 网络切片:可以在一个物理网络基础设施上创建多个逻辑上隔离的端到端网络切片,每个切片可以根据特定业务需求(如 eMBB, URLLC, mMTC)进行定制化的资源分配和功能配置。
  • 边缘计算:将计算和存储资源部署在网络边缘(靠近用户或基站),降低延迟,支持 URLLC 和本地业务处理。

5G 功能元素分布:

  • 网络功能(控制平面和用户平面)可以灵活地部署在核心数据中心(Core DC)、边缘数据中心(Edge DC)甚至远端边缘(Far Edge DC,可能靠近基站)。
  • 控制平面资源根据实时性要求分布:需要低延迟的控制(如无线资源管理)靠近 RAN,非实时的控制(如策略管理)可以在核心。
  • 用户平面资源(UPF)可以根据业务需求部署:
    • 本地疏导:UPF 部署在边缘,用户流量直接从边缘接入本地网络或互联网,适用于低延迟业务。
    • 集中锚点:UPF 部署在核心,所有流量汇聚到核心处理。
    • 多锚点:可以同时存在多个 UPF 锚点。

超越 5G?

  • 目前业界更多讨论 NextG 或 Beyond 5G,而非直接跳到 6G。
  • 5G 本身是一个演进的平台,基于云技术和 SDN/NFV,可以持续、快速地引入新特性(敏捷性)。
  • 支持定制化,例如企业可以通过私有 5G 网络和边缘计算合作伙伴自下而上地引入变化,无需等待全球标准化或所有运营商达成一致。

移动性管理原理

移动性管理的核心挑战是:当一个移动设备从一个网络接入点(或子网)移动到另一个时,如何确保发往该设备的数据包能够正确地路由到其新的位置,同时尽量保持现有连接(如 TCP 连接)不中断。

移动性范围

从网络角度看,移动性可以有不同程度:

  • 移动中关机:设备在移动过程中关闭电源,重新开机时在新位置接入。这简化了问题,因为无需维持连接。
  • 同一 AP 内移动:设备在单个 AP 覆盖范围内移动,网络层面无感知。
  • 同一子网内 AP 间移动:设备在同一 IP 子网内的不同 AP 间切换(如 Wi-Fi 漫游)。IP 地址不变,主要由 L2(交换机)处理。
  • 不同子网/网络间移动:设备跨越 IP 子网边界,甚至跨越不同运营商网络。这是移动性管理的主要挑战所在。

我们主要关注在保持连接的情况下,跨越网络边界的移动性

移动性管理方法

主要有两种思路:

  1. 让网络(路由器)处理

    • 想法:网络中的路由器像通告普通网络前缀一样,通告每个移动设备的精确位置(例如,其永久 IP 地址或唯一标识符当前所在的接入路由器)。
    • 实现:可以通过扩展现有的路由协议(如 BGP, OSPF)来实现。路由表将包含指向每个移动设备当前位置的条目。
    • 问题可扩展性极差。全球有数十亿移动设备,如果每个设备的位置都需要全局路由通告,将导致路由表爆炸性增长,路由协议不堪重负。此方法不切实际
  2. 让端系统(或网络边缘)处理

    • 想法:将移动性管理的复杂性放在网络的边缘,而不是核心路由器。核心网络仍然基于网络前缀进行路由。使用额外的机制来定位移动设备并将数据包转发到其当前位置。
    • 主要方法
      • 间接路由
      • 直接路由
    • 这是目前实际采用的方法(例如,在 Mobile IP 和蜂窝网络中)。

核心概念:归属网络与拜访网络

为了实现边缘处理移动性,引入了以下关键概念:

  • 归属网络:移动设备永久归属的网络。设备拥有一个在该网络内有效的永久 IP 地址
  • 拜访网络:移动设备当前临时接入的网络。
  • 归属代理(Home Agent, HA):位于归属网络中的一个路由器(或功能实体),负责:
    • 维护移动设备的当前位置信息(即其在拜访网络中的地址)。
    • 截获发往移动设备归属地址的数据包。
    • 将截获的数据包通过隧道转发到移动设备的当前位置。
  • 外部代理(Foreign Agent, FA):位于拜访网络中的一个路由器(或功能实体),负责:
    • 为来访的移动设备提供接入服务。
    • (可选)为移动设备分配一个转交地址(Care-of Address, CoA)。CoA 是移动设备在拜访网络中用于接收隧道转发数据包的 IP 地址。它可以是 FA 的地址,也可以是动态分配给移动设备的临时地址。
    • 将从隧道收到的数据包解封装并转发给移动设备。
    • 协助移动设备向归属代理进行注册
  • 通信实体(Correspondent Node, CN):任何想与移动设备通信的节点。

4G/5G 中的对应关系(大致)

  • Home Agent(HA) ≈ HSS(位置信息) + Home P-GW(数据锚点/隧道端点)
  • Foreign Agent(FA) ≈ MME/AMF(移动性管理/注册) + S-GW/UPF(数据转发/隧道端点)
  • Home Address ≈ 永久分配的 IP 地址(虽然实践中可能是动态的,但概念上是归属网络的地址)
  • Care-of Address(CoA) ≈ S-GW/UPF 的隧道端点地址,或者 UE 在拜访网络获取的临时 IP(用于特定场景)

间接路由

这是最常用的一种移动性支持方法。

工作流程:

  1. 注册
    • 移动节点(Mobile Node, MN)到达拜访网络,发现外部代理(FA)。
    • MN 向 FA 请求服务,FA 可能分配一个 CoA
    • MN(或通过 FA)向归属代理(HA)发送注册请求,告知其当前的 CoA
    • HA 记录下 MN 的归属地址与其当前 CoA 的绑定关系,并回复注册确认。
  2. 数据发送(CN \to MN):
    • 通信实体(CN)像平常一样,将数据包发送到 MN 的归属地址
    • 归属网络中的 HA 截获该数据包。
    • HA 将原始数据包封装在一个新的 IP 数据包中(即隧道),新 IP 包的目的地址是 MN 的 CoA(通常是 FA 的地址),源地址是 HA 的地址。
    • 封装后的数据包通过互联网路由到 FA。
    • FA 收到封装的数据包,解封装得到原始 IP 包。
    • FA 将原始 IP 包转发给 MN。
  3. 数据发送(MN \to CN):
    • MN 可以直接将数据包发送给 CN,使用自己的归属地址作为源地址。数据包通过拜访网络的路由器正常路由到 CN。
sequenceDiagram
    participant CN as 通信实体
    participant HA as 归属代理
    participant FA as 外部代理
    participant MN as 移动节点

    Note over MN,HA: 移动节点注册过程(已完成)
    CN->>HA: 发往 MN 归属地址的数据包
    HA->>HA: 截获数据包
    HA->>FA: 隧道封装(目的地址=CoA, 源地址=HA)
    FA->>FA: 解封装隧道包
    FA->>MN: 转发原始数据包

    MN->>FA: 发往 CN 的数据包(源地址=MN 归属地址)
    FA->>CN: (通过拜访网络路由器)转发数据包

「间接路由」的特点:

  • 优点
    • 通信实体(CN)透明。CN 无需知道 MN 是否移动或当前在哪里,只需使用其归属地址。
    • 可以保持进行中的连接(如 TCP 连接)不中断,因为 MN 的 IP 地址(归属地址)对 CN 来说始终不变。
  • 缺点
    • 三角路由:从 CN 发往 MN 的数据包需要绕道归属网络(HA),即使 CN 和 MN 可能在同一个拜访网络中,路径也非最优,增加了延迟。
    • HA 成为性能瓶颈和单点故障。

直接路由

为了克服三角路由问题,提出了直接路由方法。

工作流程:

  1. 注册:与间接路由类似,MN 在 HA 处注册其 CoA
  2. CoA 查询
    • 当 CN 想要给 MN 发送数据时,它首先向 MN 的 HA 查询 MN 当前的 CoA
    • HA 回复 MN 的 CoA 给 CN。
  3. 数据发送(CN \to MN):
    • CN 获取到 CoA 后,将数据包直接发送到 MN 的 CoA
    • 如果 CoA 是 FA 的地址,则数据包先到达 FA,FA 解封装(如果需要的话,取决于具体实现)后转发给 MN。
    • 如果 CoA 是 MN 在拜访网络获得的临时地址,则数据包直接路由到 MN。
  4. 数据发送(MN \to CN):
    • 与间接路由相同,MN 直接发送给 CN。

「直接路由」的特点:

  • 优点
    • 克服了三角路由,路径更优,延迟可能更低。
  • 缺点
    • 通信实体(CN)不透明。CN 需要实现额外的逻辑来查询 CoA,并处理 CoA 的变化。
    • 移动性处理更复杂:如果 MN 在 CN 查询到 CoA 之后、数据包到达之前再次移动到新的拜访网络,CN 发往旧 CoA 的数据包会丢失。需要额外的机制来处理这种情况(例如,旧 FA 将数据包转发到新 FA,或者通知 CN 更新 CoA)。

实践中的选择

  • 蜂窝网络(4G/5G) 主要采用间接路由(归属路由是基本模式),因为其对应用和互联网核心的透明性至关重要,且运营商可以通过优化核心网来缓解三角路由的部分影响。本地疏导(LBO)可以看作是一种受控的直接路由变体。
  • Mobile IP 标准同时定义了间接路由和直接路由(作为优化选项)。
  • 一些特定应用或协议(如 SIP for VoIP)可能自己实现类似直接路由的机制来优化媒体路径。

移动性对高层协议的影响

无线链路特性和移动性管理本身会对 TCP、UDP 及应用层协议的性能产生显著影响,即使逻辑上连接可以维持。

  • 对 TCP 的影响
    • 误码率(BER):无线链路比有线链路误码率高。丢包(即使链路层有重传)会被 TCP 错误地解释为网络拥塞。
    • 切换丢包/延迟:切换过程中可能发生短暂的数据包丢失或延迟增加。这同样会被 TCP 误判为拥塞。
    • 结果TCP 会不必要地降低其拥塞窗口,导致吞吐量急剧下降,性能远低于链路实际容量。
    • 带宽变化:无线链路带宽可能因距离、干扰、速率自适应而剧烈变化,TCP 的拥塞控制算法可能难以快速适应。
    • 三角路由延迟:间接路由引入的额外延迟会影响 TCP 的 RTT 估计和性能。
  • 对 UDP 和实时应用的影响
    • 延迟和抖动:无线链路的延迟和抖动通常比有线链路更大且更不稳定。切换过程会引入额外的延迟尖峰。这对 VoIP、视频会议、在线游戏等实时应用非常不利。
    • 丢包:虽然 UDP 本身不保证可靠性,但高丢包率会严重影响实时应用的质量。
  • 带宽:无线频谱是稀缺资源,单个用户的可用带宽通常低于有线连接,尤其是在用户密集的区域。

性能挑战

虽然移动性管理机制(如间接路由)可以维持 TCP/UDP 连接的逻辑存在,但无线和移动环境固有的物理特性(高误码率、切换、带宽受限、延迟变化)给上层协议带来了严峻的性能挑战。

需要跨层设计或专门针对无线环境优化的协议(例如,区分拥塞丢包和无线丢包的 TCP 变种)来缓解这些问题。


  1. 君不见 master \to main 之事? ↩︎