WIFI无线网络之DFS简述
WIFI无线网络之DFS简述
概述
DFS(Dynamic Frequency Selection,动态频率选择) 是一项强制性的技术机制,要求使用 5GHz 频段中与气象雷达、军事雷达等共用信道的 WiFi 设备,能够自动检测雷达信号,并在检测到后迅速切换信道,避免对雷达系统造成干扰。
DFS 是国际电信联盟(ITU)和各国无线电管理机构(如 FCC、ECC、SRRC)强制要求的功能,所有在 5GHz 频段工作的商用 WiFi 设备(AP、路由器、网桥等)必须遵守。
IEEE 802.11标准演进与DFS
| 标准 | 年份 | DFS相关增强 |
|---|---|---|
| 802.11h | 2003 | 首次引入DFS+TPC,面向欧洲5GHz合规 |
| 802.11n | 2009 | 支持40MHz信道,需跨信道雷达检测 |
| 802.11ac | 2013 | 80/160MHz宽信道,雷达检测复杂度指数增长 |
| 802.11ax | 2019 | OFDMA调度与DFS协同,减少切换延迟 |
| 802.11be (Wi-Fi 7) | 2024 | MLO多链路操作,实现”零等待”信道切换 |
5GHz 相关信道列表
| 信道范围 | 频率 (MHz) | 中国 (MIIT) | 美国 (FCC) | 欧盟 (ETSI) | 日本 (MIC) | 备注 |
|---|---|---|---|---|---|---|
| 36-48 | 5180-5240 | ✅ 非DFS | ✅ 非DFS | ✅ 非DFS | ✅ 非DFS | UNII-1,全球通用 |
| 52-64 | 5260-5320 | ✅ DFS | ✅ DFS | ✅ DFS | ✅ DFS | UNII-2A,需CAC+TPC |
| 100-144 | 5500-5720 | ✅ DFS | ✅ DFS | ✅ DFS | ✅ DFS | UNII-2C |
| 149-165 | 5745-5825 | ✅ 非DFS | ✅ 非DFS | ❌ 禁用 | ✅ 非DFS | UNII-3,欧盟禁止室外使用 |
| 169-177 | 5845-5925 | ❌ 禁用 | ❌ 禁用 | ✅ 非DFS | ❌ 禁用 | 仅欧盟部分国家开放 |
⚠️ 中国特殊限制:
- 6GHz频段 (5925-7125 MHz) 全部划归5G/6G移动通信,不开放给WiFi

为什么需要 DFS?
频段共享背景
5GHz 频段并非全部免费开放给 WiFi。其中部分频率(尤其是 5.25-5.35GHz 和 5.47-5.725GHz)原本分配给:
- 气象雷达(天气监测)
- 军用雷达(空中交通管制、舰载雷达)
- 地球探测卫星(遥感)
这些雷达系统具有主要用户(Primary User)地位,WiFi 作为次要用户(Secondary User)不得对其产生有害干扰。
如果不使用 DFS
- WiFi 设备可能在雷达使用的同一频率上持续发射,完全淹没雷达回波信号,影响航空安全、天气预报准确性。
- 各国监管机构会禁止在该频段使用 WiFi,或要求设备强制关闭。
因此 DFS 是实现 频谱共享 的关键技术。
DFS 工作原理
核心流程
DFS 的工作可分为四个阶段:
┌─────────────┐
│ 1. 信道检测 │ ← 启动前强制静默监听 60 秒(CAC)
└──────┬──────┘
↓
┌─────────────┐
│ 2. 正常运行 │ ← 持续监测雷达脉冲
└──────┬──────┘
↓ (检测到雷达)
┌─────────────┐
│ 3. 信道切换 │ ← 在指定时间内(通常 ≤10 秒)停止发射并跳转
└──────┬──────┘
↓
┌─────────────┐
│ 4. 信道停用 │ ← 将原信道列入黑名单一段时间(30 分钟)
└─────────────┘
相关概念及机制
| 阶段 | 名称 | 描述 | 时间要求 |
|---|---|---|---|
| CAC | Channel Availability Check | AP 在某个 DFS 信道启动前,必须静默监听至少 60 秒(欧洲部分国家要求 10 分钟),确认无雷达信号。期间不发送任何 WiFi 帧。 | ≥ 60 秒 |
| ISM | In-Service Monitoring | 正常工作期间,AP 持续对当前信道进行雷达脉冲检测。 | 持续 |
| Move | Channel Move | 一旦检测到雷达,AP 必须在规定时间内停止该信道上所有发射,并通知关联的 STA 切换信道。 | ≤ 10 秒 |
| Non-Occupancy | 非占用期 | 被雷达占用的信道在 30 分钟 内不得再被使用。 | 30 分钟 |
其他概念:
- NOL:非占用列表,指那些已知近期有雷达脉冲、因而无法使用的信道。
- CSA (Channel Switch Announcement):信道切换公告。802.11h标准动态切换信道的能力,在管理帧中加入CSA信息元素,警告网络中的工作站即将变换信道。
Linux中的DFS
相关文档描述
802.11协议中DFS的基本工作原理是:主控802.11设备必须先在DFS信道上持续监测一段时间,以确认是否存在雷达脉冲。只有在确认无雷达脉冲后,设备才能正式启用该信道进行通信。一旦开始使用某个信道,设备必须定期检查雷达脉冲。如果检测到与雷达信号匹配的脉冲模式,主控设备需通知所有已连接的客户端立即切换信道,并在规定时间内完成信道切换。此外,主控设备还需确保在一段特定时间之内不再重新使用该信道;在此之后,该信道可被列入白名单并最终再次启用。
为此,我们需要以下软件支持:
- 管理近期出现过雷达脉冲的信道,并设置相应的清理定时器;
- 向已连接的客户端通报信道切换信息;
- 提供算法以帮助识别下一个最佳信道——具体需求是随机选择一个信道。
- 硬件方面,我们需要雷达探测功能。所有这些功能都需要软件来实现。
来源内核文档:https://wireless.docs.kernel.org/en/latest/en/developers/dfs.html#dfs-dynamic-frequency-selection
相关工具和操作
国家码监管域:
# 当前监管域设置
global
country CN: DFS-FCC
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5350 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW # DFS信道标记
(5725 - 5850 @ 80), (N/A, 33), (N/A)
(57240 - 59400 @ 2160), (N/A, 28), (N/A)
(59400 - 63720 @ 2160), (N/A, 44), (N/A)
(63720 - 65880 @ 2160), (N/A, 28), (N/A)
# 手动设置区域码
$ sudo iw reg set CN
$ sudo iw dev wlan0 set channel 36 HT40+ # 优先使用非DFS信道
# 监管数据库
git clone https://git.kernel.org/pub/scm/linux/kernel/git/wens/wireless-regdb.git
hostapd配置:
# hostapd.conf 推荐配置
country_code=CN
ieee80211d=1 # 启用802.11d广播区域信息
ieee80211h=1 # 启用DFS/TPC支持
channel=36 # 首选非DFS信道
hw_mode=a # 5G
# DFS信道备用策略
chanlist=36 40 44 48 149 153 157 # 仅包含中国开放信道
信道扫描与分析:
# 扫描当前环境5GHz信道 (含DFS标记)
$ sudo iw dev wlan0 scan freq 5180 5200 5220 5240 5260 5280 5300 5320 | grep -E "freq:|DFS"
# 查看物理层支持能力,可能包括 radar detection 字段
$ iw phy0 info
# 实时监控DFS事件 (未验证)
$ dmesg -w | grep -E "radar|DFS|channel.*switch"






