mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
3274 字
9 分钟
无线与异构接入:WiFi、5G与卫星
2022-09-23

数据中心与SDN网络 中,看到了数据包抵达终点——数据中心的 CLOS 架构和 SDN 控制器。但数据包的起点往往不是有线的桌面电脑,而是手机、笔记本、IoT 设备——它们通过无线接入网连接互联网。无线介质与有线介质有着本质区别:共享广播信道、信号衰减、干扰、移动性。这些差异让无线接入成为互联网架构中最复杂也最活跃的领域之一。

本章从无线接入的核心挑战出发,深入 WiFi 的 CSMA/CA 机制、5G 网络架构与切片、移动性管理与切换、卫星互联网,最后用 WiFi 抓包实验将理论落地。

一、无线接入的核心挑战#

1.1 共享介质与干扰#

有线网络中,每台设备有独立的物理链路——网线是点对点的。无线网络中,所有设备共享同一段无线电频谱,任何人在同一频率上发射信号都会产生干扰:

挑战有线网络无线网络
介质点对点(独占)广播(共享)
干扰近乎无邻频/同频干扰严重
信号衰减可忽略(铜线<100m)距离平方反比衰减
隐藏终端不存在发射端互相听不到
暴露终端不存在能听到但不冲突
带宽保证物理层速率共享空口速率,随用户数下降
安全性物理接入控制信号广播,任何人可嗅探
Note

隐藏终端问题是无线网络独有的:A 和 C 都在 B 的覆盖范围内,但 A 和 C 互相听不到。当 A 和 C 同时向 B 发送时,B 处发生碰撞,但 A 和 C 都不知道。有线网络不存在这个问题,因为冲突可以被所有节点检测到。

1.2 无线电传播基础#

无线信号在自由空间中的传播损耗遵循 自由空间路径损耗(FSPL)公式:

FSPL(dB) = 20·log10(d) + 20·log10(f) + 32.44
# d = 距离(km), f = 频率(MHz)
# 2.4GHz 在 100m 处: FSPL ≈ 80 dB
# 5GHz 在 100m 处: FSPL ≈ 86 dB(高6dB = 4倍损耗)

除了自由空间损耗,实际环境还有多径衰落(信号经反射/衍射到达接收端时相位不同导致叠加抵消)、阴影衰落(障碍物遮挡)和雨衰(高频段如 Ka 波段受降雨影响)。

graph LR TX["发射端"] -->|"直射路径"| RX["接收端"] TX -->|"反射路径1<br/>延迟τ1"| RX TX -->|"反射路径2<br/>延迟τ2"| RX TX -->|"衍射路径<br/>延迟τ3"| RX style TX fill:#e3f2fd,stroke:#1565c0 style RX fill:#e8f5e9,stroke:#2e7d32

多径效应导致 频率选择性衰落——某些频率的信号被增强,某些被抵消。OFDM(正交频分复用)技术将宽带信号分成多个窄带子载波,每个子载波经历平坦衰落,配合前向纠错(FEC)和交织,可以有效对抗多径。WiFi 和 5G 都采用 OFDM。

二、WiFi:CSMA/CA与802.11#

2.1 CSMA/CA机制#

WiFi 使用 CSMA/CA(载波侦听多路访问/碰撞避免)——与以太网的 CSMA/CD 不同,无线网络无法可靠地检测碰撞(因为隐藏终端问题),所以策略从”碰撞检测”变为”碰撞避免”:

flowchart TD A["帧到达<br/>有数据要发"] --> B{"信道空闲<br/>≥DIFS?"} B -->|否| C["等待信道空闲"] C --> B B -->|是| D{"退避计数器<br/>=0?"} D -->|否| E["递减退避计数器<br/>继续侦听"] E --> D D -->|是| F["发送帧"] F --> G{"收到ACK?"} G -->|是| H["发送成功"] G -->|否| I["退避窗口翻倍<br/>重试"] I --> B style A fill:#e3f2fd,stroke:#1565c0 style F fill:#c8e6c9,stroke:#2e7d32 style I fill:#ffcdd2,stroke:#c62828

CSMA/CA 的关键步骤:

  1. 载波侦听:发送前先听信道是否空闲
  2. DIFS 等待:信道空闲后等待 DIFS(分布式帧间间隔)时间
  3. 随机退避:在竞争窗口 [0, CW] 内随机选择退避时隙数,每侦听到一个空闲时隙减 1
  4. 发送帧:退避计数器归零后发送
  5. ACK 确认:接收方收到后回 SIFS + ACK
  6. 碰撞恢复:未收到 ACK 则 CW 翻倍(指数退避),重试
Warning

WiFi 的”碰撞避免”并不能完全避免碰撞——两个站可能同时退避到零并同时发送。CSMA/CA 降低的是碰撞概率,而非消除碰撞。当用户数增多、信道占用率高时,碰撞率显著上升,导致有效吞吐量下降到理论值的 50% 以下。

2.2 RTS/CTS机制#

为解决隐藏终端问题,802.11 可选 RTS/CTS(请求发送/清除发送)机制:

# RTS/CTS 握手流程
# 1. 发送方 → 接收方: RTS(请求发送,含数据时长)
# 2. 接收方 → 所有站: CTS(清除发送,含数据时长)
# 3. 发送方 → 接收方: DATA
# 4. 接收方 → 发送方: ACK
# RTS/CTS 的代价:每帧增加 2 个控制帧的开销
# 适合长帧(>RTS阈值),短帧直接发送更高效

RTS/CTS 让接收方周围的所有站都知道即将有数据传输,从而避免隐藏终端碰撞。但 RTS/CTS 本身也有开销,通常只对大于 RTS 阈值(默认 2347 字节)的帧启用。

2.3 WiFi代际演进#

代际标准频段最大速率关键技术
WiFi 4802.11n2.4/5GHz600MbpsMIMO、40MHz 信道
WiFi 5802.11ac5GHz6.9GbpsMU-MIMO、256-QAM、160MHz
WiFi 6802.11ax2.4/5/6GHz9.6GbpsOFDMA、1024-QAM、BSS着色
WiFi 7802.11be2.4/5/6GHz46Gbps320MHz、4096-QAM、MLO

WiFi 6 引入的 OFDMA 将信道分成多个资源单元(RU),不同用户可以同时在不同的 RU 上传输——从”排队轮流发言”变成”多人同时在不同频道发言”,大幅降低延迟和提高空口利用率。

OFDMA 的资源单元大小取决于信道带宽和用户数。以 20MHz 信道为例:

RU 大小子载波数适用场景
26-tone RU26IoT 小包、ACK
52-tone RU52VoIP、即时消息
106-tone RU106视频流
242-tone RU242大文件传输
484-tone RU484高吞吐量应用

AP 在调度时将不同 RU 分配给不同用户,一个 20MHz 信道最多可同时服务 9 个 26-tone RU 用户。这种调度方式与 5G 的 OFDMA 调度类似——WiFi 6 和 5G 在空口技术上的趋同不是巧合。

BSS 着色(BSS Coloring)让 AP 在帧头部标记自己的 BSS 颜色标识,接收方看到不同颜色的帧就知道是邻频干扰,可以忽略——减少了不必要的退避等待。

WiFi 7 进一步引入 MLO(Multi-Link Operation)——设备可以同时在 2.4GHz、5GHz 和 6GHz 三个频段上收发数据,实现链路聚合和故障切换。MLO 类似于有线网络的链路聚合(LACP),但在无线领域是革命性的——一条 TCP 连接的数据可以同时在三个频段上传输,任一频段受干扰时其他频段无缝接管。

2.4 WiFi配置与诊断#

# Linux 中查看无线接口信息
iw dev wlan0 info
# Interface wlan0
# type managed
# wiphy 0
# channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
# 扫描周围 AP
iw dev wlan0 scan | grep -E "SSID|signal|channel"
# SSID: MyNetwork
# signal: -45.00 dBm
# channel: 36
# 查看连接状态
iw dev wlan0 link
# Connected to 00:11:22:33:44:55 on freq 5180 MHz
# RSSI: -42 dBm
# TX bitrate: 866.7 Mbit/s
# RX bitrate: 780.0 Mbit/s
# 测量 WiFi 吞吐量
iperf3 -c server_ip -t 30 -P 4
# -P 4: 4 个并行流
# -t 30: 测试 30 秒
# 查看无线驱动统计
cat /proc/net/wireless
# Inter-| sta-| Quality | Discarded
# face | tus | link level noise | nwid crypt frag
# wlan0: 0000 72. -38. -256 0 0 0

三、5G网络架构#

3.1 5G核心网#

5G 核心网(5GC)采用 服务化架构(SBA),所有网络功能通过 RESTful API 交互:

graph TB subgraph 接入网["5G 接入网 (NG-RAN)"] gNB["gNB<br/>5G基站"] end subgraph 核心网["5G 核心网 (5GC)"] AMF["AMF<br/>接入与移动管理"] SMF["SMF<br/>会话管理"] UPF["UPF<br/>用户面功能"] UDM["UDM<br/>统一数据管理"] AUSF["AUSF<br/>认证服务"] PCF["PCF<br/>策略控制"] NRF["NRF<br/>网络存储库"] NSSF["NSSF<br/>网络切片选择"] end UE["UE<br/>用户设备"] --> gNB gNB --> AMF gNB --> UPF AMF --> SMF SMF --> UPF AMF --> UDM AMF --> AUSF SMF --> PCF AMF --> NSSF style UE fill:#e3f2fd,stroke:#1565c0 style gNB fill:#fff3e0,stroke:#e65100 style UPF fill:#c8e6c9,stroke:#2e7d32 style AMF fill:#fce4ec,stroke:#c62828

5G 核心网的关键分离:控制面与用户面分离。AMF/SMF 等控制面功能集中部署在区域数据中心,UPF(用户面功能)下沉到边缘——数据包从 gNB 直接到 UPF 转发,不经过核心控制面,大幅降低转发延迟。

3.2 网络切片#

5G 的杀手级特性是网络切片——在同一物理基础设施上虚拟出多个逻辑网络,每个切片有不同的 SLA:

切片类型eMBB(增强移动宽带)URLLC(超可靠低延迟)mMTC(海量物联)
典型应用视频流、VR/AR工业控制、远程手术传感器、智能抄表
带宽高(>100Mbps)
延迟<10ms<1ms<10s
可靠性99.9%99.999%99.9%
连接密度1000/km²100/km²100000/km²

切片通过 S-NSSAI(Single Network Slice Selection Assistance Information)标识,UE 在注册时携带切片信息,NSSF 根据切片选择对应的 AMF 和 UPF。

切片的实际部署需要端到端协同——从无线侧的 PRB(物理资源块)预留,到传输网的 QoS 隧道,再到核心网的专用 UPF 和 SMF 实例。运营商通常为每个切片部署独立的 UPF,确保用户面隔离。eMBB 切片的 UPF 部署在区域数据中心(大带宽、可集中),URLLC 切片的 UPF 下沉到边缘机房(低延迟要求),mMTC 切片的 UPF 支持海量连接但带宽需求低。

3.3 SA vs NSA#

5G 部署有两种模式:

维度NSA(非独立组网)SA(独立组网)
核心网4G EPC5GC
控制面4G eNB5G gNB
用户面4G+5G 双连接5G gNB → UPF
优势快速部署,复用4G核心完整5G能力,切片/边缘计算
劣势无切片,延迟受4G限制需要全新核心网投资
/etc/open5gs/amf.yaml
# 5G 网络配置示例(开源5G核心 Open5GS)
amf:
sbi:
addr: 127.0.0.5
port: 7777
ngap:
addr: 127.0.0.5
port: 38412
guami:
plmn_id:
mcc: 460
mnc: 01
amf_id:
region: 2
set: 1
# /etc/open5gs/upf.yaml
upf:
pfcp:
addr: 127.0.0.7
port: 8805
gtpu:
addr: 127.0.0.7
port: 2152
session:
- subnet: 10.45.0.0/16
gateway: 10.45.0.1

四、移动性管理#

4.1 切换类型#

移动设备在移动过程中需要从一个基站切换到另一个基站——这就是切换(Handover):

sequenceDiagram participant UE as UE participant S as 源gNB participant T as 目标gNB participant AMF as AMF UE->>S: 测量报告<br/>目标gNB信号更强 S->>T: 切换请求<br/>(Handover Request) T->>S: 切换请求确认<br/>(Handover Request Ack) S->>UE: 切换命令<br/>(RRC Reconfiguration) UE->>T: 随机接入<br/>(Random Access) UE->>T: 切换完成<br/>(RRC Reconfiguration Complete) T->>AMF: 路径切换<br/>(Path Switch Request) AMF->>T: 路径切换确认 S->>S: 释放UE资源

切换类型对比:

类型描述中断时间适用场景
硬切换先断旧连接,再建新连接50-100ms异频切换、异系统切换
软切换同时保持新旧连接<10msCDMA 系统(3G)
无缝切换预先建立新连接再切换<1ms5G Xn 切换
L3 切换IP 地址改变,需重新建隧道100-500ms跨 AMF 切换

4.2 移动IP#

当设备跨 IP 子网移动时,IP 地址改变会导致传输层连接中断。移动 IP(RFC 6275)通过家乡代理(HA)和转交地址(CoA)解决:

# 移动IP 工作原理
# 1. UE 在家乡网络有固定 IP(家乡地址 HoA)
# 2. UE 移动到外地网络,获得转交地址(CoA)
# 3. UE 向家乡代理(HA)注册 CoA
# 4. 发给 UE 的包先到 HA,HA 通过隧道转发到 CoA
# 5. UE 发出的包可以直接发(或通过 HA 反向隧道)
# PMIPv6(代理移动IPv6)——网络侧管理移动性
# UE 不需要参与移动信令,网络侧的 MAG 代替 UE 注册
# 适合运营商部署,UE 无需修改
Tip

现代 5G 网络中,移动性由核心网处理——UPF 作为锚点,切换时只改变 gNB 到 UPF 的隧道,UE 的 IP 地址不变。移动 IP 在 5G 中已不再是必需的。

五、卫星与异构接入#

5.1 LEO卫星互联网#

Starlink 等低轨(LEO)卫星互联网正在改变偏远地区的接入方式:

维度GEO(同步轨道)MEO(中轨)LEO(低轨)
高度35786 km2000-20000 km300-2000 km
延迟(单跳)270ms50-100ms2-10ms
覆盖范围单星覆盖 1/3 地球中等单星覆盖小,需星座
星数3 颗即可全球覆盖几十颗数千颗(Starlink 4000+)
典型系统Inmarsat、ViasatGPS、GalileoStarlink、OneWeb

Starlink 的端到端延迟约 20-40ms(用户→卫星→地面站→互联网→回程),远低于 GEO 的 600ms+。但 LEO 卫星高速移动(7.5km/s),每颗卫星只在视野内约 15 分钟,需要频繁切换。

# Starlink 终端信息查询
# 通过 gRPC API 获取
curl -s http://192.168.100.1:9200/api/status | jq '.dish_get_status'
# {
# "latency": 0.025, // 25ms
# "download_speed": 250, // 250 Mbps
# "upload_speed": 20, // 20 Mbps
# "obstruction": 0.05 // 5% 遮挡
# }
# 卫星互联网的 MTU 问题
# 卫星链路通常 MTU 较小(576-1500),需注意分片
# Starlink 用户终端 MTU: 1500(标准以太网)
# 但卫星间激光链路可能有不同的 MTU 限制

5.2 异构接入融合#

未来的接入网是异构融合的——WiFi、5G、卫星根据场景自动选择最优路径:

场景最优接入原因
室内办公WiFi 6/7高带宽、低延迟、低成本
城市移动5G eMBB覆盖好、切换快
工业控制5G URLLC毫秒级延迟、99.999% 可靠性
偏远地区LEO 卫星唯一可用的宽带接入
飞机/轮船SATCOM移动场景唯一选择

3GPP ATSSS(Access Traffic Steering, Switching and Splitting)标准定义了多接入融合的流量调度:同一会话可以同时在 WiFi 和 5G 上传输(MP-TCP),或根据策略选择路径。

ATSSS 的四种模式:

模式描述适用场景
Active-Standby主路径活跃,备路径待命可靠性要求高
Smallest Delay选择延迟最低的路径延迟敏感应用
Load Balancing按权重在多路径间分配流量带宽聚合
Priority-based高优先级走5G,低优先级走WiFi成本优化

MP-TCP(Multipath TCP)是 ATSSS 的传输层基础——一个 TCP 连接可以同时拥有多个子流(subflow),每个子流走不同的接入路径。发送方根据各子流的拥塞窗口动态分配数据,自动避开拥塞路径。

六、动手实践:WiFi抓包分析#

6.1 开启监控模式#

# 安装无线工具
sudo apt install -y iw wireless-tools wpasupplicant
# 查看无线接口
iw dev
# phy#0
# Interface wlan0
# type managed
# 开启监控模式(需要关闭网络管理器)
sudo systemctl stop NetworkManager
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
# 设置监听信道
sudo iw dev wlan0 set channel 36
# 或设置频率
sudo iw dev wlan0 set freq 5180 80MHz
# 恢复管理模式
sudo ip link set wlan0 down
sudo iw dev wlan0 set type managed
sudo ip link set wlan0 up
sudo systemctl start NetworkManager

6.2 Wireshark分析802.11帧#

# 用 tshark 抓取 802.11 管理帧
sudo tshark -i wlan0 -Y "wlan.fc.type == 0" -c 50
# 抓取 Beacon 帧
sudo tshark -i wlan0 -Y "wlan.fc.subtype == 8" -c 20
# 抓取认证与关联过程
sudo tshark -i wlan0 -Y "wlan.fc.subtype >= 0 && wlan.fc.subtype <= 11" -c 30
# Wireshark 显示过滤器
# 802.11 帧类型:
# wlan.fc.type == 0 管理帧
# wlan.fc.type == 1 控制帧
# wlan.fc.type == 2 数据帧
# 子类型:
# wlan.fc.subtype == 0 关联请求
# wlan.fc.subtype == 1 关联响应
# wlan.fc.subtype == 4 探测请求
# wlan.fc.subtype == 5 探测响应
# wlan.fc.subtype == 8 Beacon
# wlan.fc.subtype == 10 解关联
# wlan.fc.subtype == 11 认证
# 分析重传率
sudo tshark -i wlan0 -Y "wlan.fc.retry == 1" -c 100
# 高重传率 = 信号差或干扰严重

6.3 WiFi性能测试#

# 测量信号强度与吞吐量关系
# 在不同距离运行 iperf3
iperf3 -c server_ip -t 10 -J | jq '.end.sum_received.bits_per_second / 1e6'
# 近距离: ~500 Mbps
# 10m: ~300 Mbps
# 20m: ~150 Mbps
# 30m: ~50 Mbps
# 查看 WiFi 驱动统计
iw dev wlan0 station dump
# Station 00:11:22:33:44:55 (on wlan0)
# signal: -42 dBm
# tx bitrate: 866.7 Mbit/s VHT-MCS 9 40MHz short GI
# rx bitrate: 780.0 Mbit/s VHT-MCS 7 40MHz short GI
# tx packets: 1234567
# tx failed: 1234
# rx packets: 2345678
# rx dropped: 56
# 计算帧丢失率
# tx failed / tx packets = 0.1% → 正常
# > 1% → 信号问题,检查干扰和距离
# 使用 wavemon 实时监控 WiFi 信号
sudo apt install wavemon
wavemon
# 实时显示: 信号强度、信噪比、比特率、丢包率
# 使用 nmcli 管理无线连接
nmcli device wifi list # 列出可用 AP
nmcli device wifi connect MyNetwork password xxx # 连接
nmcli device show wlan0 # 查看连接详情
nmcli general status # 网络管理器状态

七、本章小结#

概念要点
无线挑战共享广播介质、隐藏终端、信号衰减、多径衰落
CSMA/CA先听后发、随机退避、ACK 确认、指数退避恢复
RTS/CTS解决隐藏终端,可选机制,适合长帧
WiFi 演进WiFi 6 OFDMA+BSS着色,WiFi 7 MLO+4096-QAM
5GC 架构SBA 服务化、控制面/用户面分离、UPF 边缘下沉
网络切片eMBB/URLLC/mMTC 三类切片,S-NSSAI 标识
SA vs NSANSA 复用4G核心快速部署,SA 完整5G能力
切换硬切换/软切换/无缝切换,5G Xn 切换 <1ms
移动 IPHoA+CoA+家乡代理,5G 中 UPF 锚点替代
LEO 卫星Starlink 20-40ms 延迟,需星座覆盖+频繁切换
异构融合WiFi+5G+卫星按场景选择,ATSSS 多接入调度

数据包从无线接入网出发,穿越了从物理层到应用层的所有协议——在 综合实战 中,将端到端追踪一个完整的 HTTP 请求,亲眼看到数据包从网卡出发到抵达服务器的每一步。


参考#

支持与分享

如果这篇文章对你有帮助,欢迎支持作者或分享给更多人

无线与异构接入:WiFi、5G与卫星
https://blog.souloss.com/posts/internet-architecture/wireless-and-heterogeneous-access/
作者
Souloss
发布于
2022-09-23
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时