第135篇:无线 LAN 基础:AP、AC、CAPWAP 隧道

关键词:WLAN、AP、AC、CAPWAP、瘦AP、无线控制器、DHCP Option 43、DNS 发现、华为 AirEngine


一、引言

无线 LAN(WLAN)已成为园区网的核心组成部分。从手机到笔记本,从 IoT 设备到视频会议终端,几乎所有终端都通过 Wi-Fi 接入网络。但在 Wi-Fi 的便捷背后,是一个复杂的基础设施体系:无线接入点(AP)、无线控制器(AC)、CAPWAP 隧道、无线漫游、信道规划……

本篇作为无线技术系列的第一篇,从最基础的概念入手,介绍 AP、AC 的架构模型和它们之间的 CAPWAP 隧道技术。

二、核心概念

2.1 WLAN 架构组成

WLAN 架构组成 - 图示

组件 全称 功能
STA Station 无线终端(手机、笔记本、平板等)
AP Access Point 无线接入点,提供射频覆盖
AC Access Controller 无线控制器,集中管理 AP 和漫游
FAT AP 胖 AP 独立运行,自行处理所有无线功能
FIT AP 瘦 AP 依赖 AC 管理,仅负责射频收发

2.2 瘦 AP 模式数据流

瘦 AP 模式数据流 - 图示

2.3 CAPWAP 隧道

CAPWAP(Control And Provisioning of Wireless Access Points,RFC 5415)是 AC 和 AP 之间的标准隧道协议。

特性 说明
传输协议 UDP 5246(DTLS 加密隧道,可选)
控制报文 UDP 5247
隧道类型 三层隧道(跨 VLAN/子网传输)
承载内容 管理报文 + 数据报文
DTLS 加密 可选,保护 AP-AC 间通信

三、技术细节

3.1 CAPWAP 报文类型

报文类型 方向 说明
Discovery Request AP → 广播 AP 上线时广播寻找 AC
Discovery Response AC → AP AC 回复自身信息(IP、优先级、AP 数)
Join Request AP → AC AP 选择 AC 后发起加入
Join Response AC → AP AC 接受/拒绝加入
Configure Request AC → AP AC 下发配置(SSID、射频参数、安全策略)
Configure Response AP → AC AP 确认配置
Data AP ↔ AC 用户数据(STA 的业务流量)
Keepalive AP ↔ AC 心跳维持隧道

3.2 AP 发现 AC 的四种方式

AP 发现 AC 的四种方式 - 图示

方式 配置位置 说明 适用场景
DHCP Option 43 DHCP 服务器 DHCP 应答中携带 AC IP 地址列表 最常用,集中管理
DNS 域名解析 DNS 服务器 AP 查询 _capwap-ctrl._udp.domain 大型部署,AC 负载均衡
广播发现 无需额外配置 AP 发送广播 Discovery Request 仅限同一子网
本地配置 AP 本身 手动指定 AC IP 测试/应急

3.3 AP 选择 AC 的优先级

AP 可能收到多个 AC 的回复,选择规则:

  1. AC 优先级(Priority):AC 在 Discovery Response 中通告优先级(0-255),AP 选择优先级最高的
  2. AP 数量:如果优先级相同,选择已关联 AP 数最少的 AC(负载均衡)
  3. AC IP 地址:如果以上都相同,选择 IP 地址最大的

3.4 CAPWAP 隧道建立流程

CAPWAP 隧道建立流程 - 图示

四、实战配置/案例分析

4.1 AC + FIT AP 完整配置

# ========== AC 侧配置 ==========

# Step 1: 全局使能 WLAN
[AC] wlan enable

# Step 2: 配置 AP 管理 VLAN 和数据 VLAN
[AC] vlan batch 100 200
[AC] vlan 100
[AC-vlan100] description AP-MGMT
[AC-vlan100] quit
[AC] vlan 200
[AC-vlan200] description STA-DATA
[AC-vlan200] quit

# Step 3: 配置 AP 管理地址源接口
[AC] interface Vlanif 100
[AC-Vlanif100] ip address 10.10.100.1 24

# Step 4: 配置 AC 源 IP
[AC] wlan
[AC-wlan-view] ap-mgmt source-ip 10.10.100.1

# Step 5: 配置 AP 组
[AC-wlan-view] ap-group name office-group
[AC-wlan-ap-group-office-group] ap-id 1 ap-mac 00e0-fc01-0002
[AC-wlan-ap-group-office-group] ap-id 2 ap-mac 00e0-fc01-0003
[AC-wlan-ap-group-office-group] quit

# Step 6: 创建射频模板
[AC-wlan-view] radio-template name office-radio
[AC-wlan-radio-template-office-radio] 5ghz band-width auto 40 20
[AC-wlan-radio-template-office-radio] txpower fixed 20
[AC-wlan-radio-template-office-radio] channel auto
[AC-wlan-radio-template-office-radio] quit

# Step 7: 创建安全模板
[AC-wlan-view] security-profile name office-sec
[AC-wlan-security-profile-office-sec] security wpa-wpa2 psk pass-phrase Huawei@WLAN cipher aes
[AC-wlan-security-profile-office-sec] quit

# Step 8: 创建 VAP 模板
[AC-wlan-view] vap-profile name office-vap
[AC-wlan-vap-profile-office-vap] forward proxy-arp
[AC-wlan-vap-profile-office-vap] service-vlan vlan-id 200
[AC-wlan-vap-profile-office-vap] ssid office-wifi
[AC-wlan-vap-profile-office-vap] security-profile office-sec
[AC-wlan-vap-profile-office-vap] quit

# Step 9: 创建 AP 模板
[AC-wlan-view] ap-template name office-ap
[AC-wlan-ap-template-office-ap] radio 1 radio-template office-radio
[AC-wlan-ap-template-office-ap] radio 2 radio-template office-radio
[AC-wlan-ap-template-office-ap] max-clients 64
[AC-wlan-ap-template-office-ap] quit

# Step 10: 绑定模板到 AP 组
[AC-wlan-view] ap-group name office-group
[AC-wlan-ap-group-office-group] ap-template office-ap
[AC-wlan-ap-group-office-group] vap-profile office-vap wlan 1 radio all
[AC-wlan-ap-group-office-group] quit
[AC-wlan-view] quit

# ========== DHCP 服务器配置(为 AP 分配 IP + Option 43) ==========
[AC] ip pool ap-pool
[AC-ip-pool-ap-pool] network 10.10.100.0 mask 24
[AC-ip-pool-ap-pool] gateway 10.10.100.1
[AC-ip-pool-ap-pool] option 43 sub-option 3 hex 030000010a0a6401
# Option 43 中的 AC IP = 10.10.100.1 (0a 0a 64 01)
[AC-ip-pool-ap-pool] quit

[AC] interface Vlanif 100
[AC-Vlanif100] dhcp select global

# ========== 验证 ==========
[AC] display ap all
[AC] display vap-profile
[AC] display radio-template

4.2 DHCP Option 43 编码规则

# Option 43 编码格式(华为格式):
# 子选项 3(Sub-option 3),后接 AC IP 列表

# 单个 AC(10.10.100.1)的十六进制:03 07 03 05 01 0a 0a 64 01
字节偏移 十六进制 字段名 说明
0 03 Option 43 代码 标识为 DHCP Option 43
1 07 Option 43 总长度 后续字节总数(7 字节)
2 03 Sub-option 类型 华为子选项 3(AC IP 列表)
3 05 AC 列表长度 AC 数量 + AC IP 地址总字节数
4 01 AC 数量 列表中 AC 的地址个数(1 个)
5-8 0a 0a 64 01 AC IP 地址 10.10.100.1(每字节一个十进制段)
# 多个 AC(10.10.100.1 / 10.10.100.2 / 10.10.100.3):
# 03 0d 03 0b 03 0a 0a 64 01 0a 0a 64 02 0a 0a 64 03
# (三个 AC 的 IP 依次拼接,AC 数量字段为 03)

4.3 故障案例:AP 无法上线

场景:新部署的 FIT AP 通电后指示灯橙色闪烁,始终无法上线到 AC。

排查:

# 1. 在 AC 上查看 AP 状态
[AC] display ap all
# 无任何 AP 显示

# 2. 在 AP 侧(如果有 Console 口)查看
[AP] display current-configuration | include capwap
# 未找到 AC 地址

# 3. 检查 DHCP 分配
[AC] display ip pool ap-pool
# 地址池正常

# 4. 抓包查看 AP 发出的 Discovery Request
# 发现 AP 发送的是广播 Discovery Request
# 但 AC 和 AP 不在同一子网,广播无法到达 AC

# 5. 检查 Option 43
[AC] display ip pool ap-pool verbose
# 发现 Option 43 未配置或编码错误

根因:AP 与 AC 不在同一子网,广播发现方式不可用;同时 DHCP Option 43 编码错误,AP 无法获取 AC 的单播地址。

处理:

# 修正 Option 43 编码
[AC] ip pool ap-pool
[AC-ip-pool-ap-pool] option 43 sub-option 3 hex 030000010a0a6401

4.4 故障案例:CAPWAP 隧道建立失败

场景:AP 能发现 AC(display ap all 显示状态为 Unauthorized),但无法完成隧道建立。

排查:

[AC] display ap name AP-01
# State: Unauthorized
# 状态卡在建链阶段

# 检查 AC 的 AP 授权模式
[AC] display current-configuration | include authorization-mode
# ap-mgmt authorization-mode mac-authen
# 使用了 MAC 地址认证模式
# 但 AP 的 MAC 地址未在 AC 上注册

根因:AC 配置了 MAC 地址认证模式,但新 AP 的 MAC 地址未在 AC 的白名单中。

处理:

# 方式1:将 AP 加入 AP 组(自动注册)
[AC] wlan
[AC-wlan-view] ap-group name office-group
[AC-wlan-ap-group-office-group] ap-id 1 ap-mac 00e0-fc01-0002

# 方式2:改为开放模式(不推荐生产环境)
[AC-wlan-view] ap-mgmt authorization-mode open

五、总结

项目 说明
AP 模式 胖 AP(独立)vs 瘦 AP(依赖 AC)
AC 功能 集中管理、配置下发、漫游控制、射频优化
CAPWAP AC 与 AP 之间的标准隧道协议(UDP 5246/5247)
AP 发现 AC DHCP Option 43(最常用)、DNS、广播、本地配置
AC 选择 优先级 > AP 数量 > IP 地址
隧道建立 Discovery → Join → Configure → 就绪
数据转发 隧道转发(到 AC 解封装)vs 本地转发(AP 直接上联交换机)
华为产品 AirEngine 系列 AP + AC6760/CloudEngine 交换机内置 AC

思考

  1. CAPWAP 隧道默认使用 UDP 5246 端口。如果企业防火墙阻断了 5246 端口,AP 还能上线吗?如何解决?

  2. 瘦 AP 模式下,所有用户数据都要经 CAPWAP 隧道转发到 AC。如果 AC 距离接入交换机很远(跨广域网),这对用户延迟有什么影响?有没有替代方案?

  3. AP 发现 AC 时,DHCP Option 43 是最常用的方式。但如果 DHCP 服务器本身由 AC 提供,Option 43 还需要配置吗?

下篇预告:第136篇:无线漫游:二层漫游与三层漫游