<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>信道规划 on Zero Day Notes</title>
        <link>https://blog.5772447.xyz/tags/%E4%BF%A1%E9%81%93%E8%A7%84%E5%88%92/</link>
        <description>Recent content in 信道规划 on Zero Day Notes</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <lastBuildDate>Wed, 21 Oct 2026 09:00:00 +0800</lastBuildDate><atom:link href="https://blog.5772447.xyz/tags/%E4%BF%A1%E9%81%93%E8%A7%84%E5%88%92/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>AP 选了 DFS 信道：无线客户端反复掉线</title>
            <link>https://blog.5772447.xyz/posts/c5aeeff2/</link>
            <pubDate>Wed, 21 Oct 2026 09:00:00 +0800</pubDate>
            <guid>https://blog.5772447.xyz/posts/c5aeeff2/</guid>
            <description>&lt;h2 id=&#34;问题背景&#34;&gt;&lt;a href=&#34;#%e9%97%ae%e9%a2%98%e8%83%8c%e6%99%af&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;问题背景&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;办公楼共 6 层，部署了 48 台吸顶 AP，由无线控制器集中管理。5GHz 频段承载办公终端，2.4GHz 只留给打印机和 IoT 设备。这套无线网络跑了三年，覆盖和容量都够用，平时偶有单终端掉线，重启网卡就能恢复，没引起过注意。&lt;/p&gt;&#xA;&lt;p&gt;上个月无线控制器做了一次版本升级，升级后顺手重新执行了自动信道优化。厂商的文档把这项功能描述为“根据干扰和负载自动选择最优信道”，听起来是纯收益。优化完成后，覆盖热图确实更漂亮了，但一周后开始有用户反映：某个区域会突然整体断网一两分钟，然后自己恢复。&lt;/p&gt;&#xA;&lt;h2 id=&#34;故障现象&#34;&gt;&lt;a href=&#34;#%e6%95%85%e9%9a%9c%e7%8e%b0%e8%b1%a1&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;故障现象&#xD;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;每天出现数次，同一时刻同一片区域的多个无线终端同时掉线，不是单台电脑的问题。&lt;/li&gt;&#xA;&lt;li&gt;掉线全部发生在 5GHz 终端；2.4GHz 的打印机和传感器没有异常。&lt;/li&gt;&#xA;&lt;li&gt;AP 本身没有重启，控制器上显示 AP 在线，PoE 供电正常，上联交换机端口也没有 down 记录。&lt;/li&gt;&#xA;&lt;li&gt;终端重新扫描后大多能自动连回，少数老款终端需要手动重连。&lt;/li&gt;&#xA;&lt;li&gt;每次中断持续一到两分钟，与用户集中反馈的时间点吻合。&lt;/li&gt;&#xA;&lt;li&gt;有线网络同时段完全正常，跨网段访问也没有丢包。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;排查过程&#34;&gt;&lt;a href=&#34;#%e6%8e%92%e6%9f%a5%e8%bf%87%e7%a8%8b&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;排查过程&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;第一步排除 AP 重启和供电。查控制器里的 AP 在线时长，都是连续增长的，没有重启记录；交换机侧 PoE 功率和端口状态正常，没有 flap。之前遇到过 PoE 功率预算不足导致 AP 批量重启，这次现象类似但证据对不上，先排除。&lt;/p&gt;&#xA;&lt;p&gt;第二步排除上联链路。掉线时段内，同楼层有线终端 ping 网关零丢包，交换机 CPU 和上联带宽都平稳，VLAN 配置没有变更。问题被压缩到无线接入这一段。&lt;/p&gt;&#xA;&lt;p&gt;第三步看影响范围。把投诉区域的 AP 逐个列出来，发现它们集中在几个特定信道：52、56、60、64。这几个信道有一个共同点——全部属于 5GHz 的 DFS 频段。而工作在其他信道的 AP，同期没有出现成片掉线。&lt;/p&gt;&#xA;&lt;p&gt;第四步查控制器日志。日志里有一串很明确的记录：&lt;code&gt;DFS radar detected on channel 56&lt;/code&gt;，紧接着是 &lt;code&gt;channel switch announcement&lt;/code&gt; 和 &lt;code&gt;CAC started&lt;/code&gt;。把时间戳和用户投诉对照，几乎一一对应。到这一步机制就清楚了：AP 在 DFS 信道上检测到雷达信号，按法规要求必须立即停止发射、退出当前信道，并在新信道上做信道可用性检查（CAC），确认没有雷达后才允许继续工作。检查期间 AP 不提供服务，客户端只能掉线重连。&lt;/p&gt;&#xA;&lt;p&gt;第五步复盘 AP 为什么会跑到 DFS 信道上。控制器升级后重新跑了自动信道优化，算法按干扰和负载给信道打分。DFS 频段平时用的人少、底噪低，得分反而最高，于是大批 AP 被自动分配过去。但这栋楼距离机场和气象雷达都不远，雷达信号会周期性地扫过，AP 一旦检测到就必须让路。自动算法只看到了“这条信道很干净”，看不到“这条信道随时可能被雷达收回”。&lt;/p&gt;&#xA;&lt;p&gt;第六步验证。把一台测试 AP 固定到 149 信道，连续观察一周，没有任何 DFS 事件，也没有再出现成片掉线；另一台固定在 52 信道的 AP 仍然会周期性上报雷达事件。变量唯一，结论闭环。&lt;/p&gt;&#xA;&lt;h2 id=&#34;解决方案&#34;&gt;&lt;a href=&#34;#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;解决方案&#xD;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;重做信道规划&lt;/strong&gt;：控制器自动选信道排除 52–64 频段（本地区允许的其他 DFS 频段同样排除），5GHz 固定使用 36–48 和 149–165 等非 DFS 信道；按楼层做静态信道表，避免相邻 AP 同信道。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;调整频宽&lt;/strong&gt;：高密区域从 80MHz 降到 40MHz。频宽减半后，可用的非 DFS 信道数量增加，同频干扰反而更容易控制；用一点峰值速率换稳定性，对办公场景是划算的。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;优化切换体验&lt;/strong&gt;：开启 802.11k/v，让终端在需要重新关联时更快找到邻居 AP；802.11r 视终端支持情况启用。需要说明的是，这些机制只能缩短中断时间，根治仍然是不要把 AP 放在 DFS 信道上。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;补监控&lt;/strong&gt;：把控制器日志里的 &lt;code&gt;radar detected&lt;/code&gt;、信道切换事件接入监控告警；巡检项增加“是否有 AP 落在 DFS 信道”，而不是只看覆盖热图。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;明确设计原则&lt;/strong&gt;：DFS 不是不能用，而是要按可用性风险来评估。机场、气象雷达、港口等雷达活动密集区域默认排除；频谱实在紧张时才启用，并接受偶发的强制避让。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;根因分析&#34;&gt;&lt;a href=&#34;#%e6%a0%b9%e5%9b%a0%e5%88%86%e6%9e%90&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;根因分析&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;直接根因是 &lt;strong&gt;AP 的自动信道选择落在 DFS 频段，雷达探测触发强制避让，AP 停发并执行 CAC，导致覆盖范围内的客户端集体掉线&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;更深一层，问题出在优化目标不完整。自动信道算法只优化干扰和负载两个维度，没有把监管约束和物理环境作为硬性条件。DFS 信道因为“没人用”而显得干净，算法给它高分；但这份干净是有代价的——频谱的主用户是雷达，AP 只是借用者，雷达一开机，借用者必须立刻退场。于是形成了一个反直觉的结果：越是自动优化，越容易把 AP 推到最不稳定的信道上。&lt;/p&gt;&#xA;&lt;p&gt;还有一层是变更验证缺失。升级后我们看了覆盖热图和速率指标，都变好了，就认为优化成功；没有去看 DFS 事件日志，也没有在变更后跟踪客户端的掉线率。指标变好和体验变差同时发生，这在无线优化里并不罕见。&lt;/p&gt;&#xA;&lt;h2 id=&#34;预防措施&#34;&gt;&lt;a href=&#34;#%e9%a2%84%e9%98%b2%e6%8e%aa%e6%96%bd&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;预防措施&#xD;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;无线信道规划把 DFS 频段列为显式决策项，默认排除；确需启用时写明风险范围和回退方案。&lt;/li&gt;&#xA;&lt;li&gt;控制器或 AP 的任何变更，24 小时内必须检查 DFS 事件、信道切换次数和客户端掉线率，不能只看覆盖热图。&lt;/li&gt;&#xA;&lt;li&gt;将控制器 syslog 接入监控，&lt;code&gt;radar detected&lt;/code&gt; 关键字直接告警，按 AP 统计每日事件数。&lt;/li&gt;&#xA;&lt;li&gt;高密区域优先 40MHz 和更多非 DFS 信道，不盲目追求 80MHz、160MHz。&lt;/li&gt;&#xA;&lt;li&gt;建立终端能力矩阵，老终端对 802.11h 信道切换通告支持差，不能把“快速切换”当作兜底手段。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;总结&#34;&gt;&lt;a href=&#34;#%e6%80%bb%e7%bb%93&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;总结&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;无线优化最容易犯的错，是把“信号好、干扰低”当成唯一目标。DFS 信道往往是最干净的，但这份干净只是“暂时没人用”；频谱的真正主人是雷达，AP 只是借用者，主人一出现，借用者必须马上让路。自动算法不知道机场雷达的存在，它只会给出一个漂亮的分数。真正的稳定，来自把法规约束和物理环境写进设计，而不是交给“自动优化”然后祈祷它别踩雷。&lt;/p&gt;&#xA;&lt;h2 id=&#34;延伸阅读&#34;&gt;&lt;a href=&#34;#%e5%bb%b6%e4%bc%b8%e9%98%85%e8%af%bb&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;延伸阅读&#xD;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.5772447.xyz/posts/460eac0e/&#34; &gt;记一次无线 AP 信道干扰致高层半层网络瘫痪&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.5772447.xyz/posts/cbaa3ade/&#34; &gt;办公区无线网络为何间歇性断连？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.5772447.xyz/posts/15191373/&#34; &gt;PoE 供电不足致 AP 批量重启：功率预算被低估&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item></channel>
</rss>
