第181篇:SD-WAN 基本概念:控制面与数据面分离
关键词:SD-WAN、软件定义广域网、控制面分离、SRP协议、智能选路、CPE、Hub-Spoke
一、引言
SD-WAN(Software-Defined Wide Area Network,软件定义广域网)将 SDN 理念延伸到广域网场景。传统企业广域网高度依赖 MPLS 专线,一条 100M 专线年费用可达数十万元,且开通周期长达数周。同时,MPLS 无法直接承载互联网访问、云端应用等现代业务需求。
在第180篇 VXLAN underlay/overlay 架构中,我们学习了数据中心内部如何通过 overlay 隧道实现灵活的网络虚拟化。SD-WAN 将同样的思路扩展到了广域网:在底层多种传输介质(MPLS、互联网、4G/5G)之上构建 overlay 隧道,由集中控制器统一编排策略。SD-WAN 的核心价值在于三点:降本(互联网链路替代部分 MPLS)、提速(分钟级开通)、智选(基于应用感知的智能选路)。
二、核心概念
2.1 SD-WAN 三层平面架构
| 平面 | 职责 | 典型协议/技术 |
|---|---|---|
| 管理平面 | 设备管理、配置下发、监控告警 | NETCONF/RESTCONF、Telemetry |
| 控制平面 | 拓扑发现、策略计算、路由分发 | SRP(Segment Routing Policy)、BGP |
| 数据平面 | 报文转发、隧道封装、加密解密 | IPsec、GRE、MPLS、SRv6 |

2.2 控制面与数据面分离详解
控制面与数据面分离是 SD-WAN 的核心设计原则:
- 控制面集中化:控制器掌握全网拓扑、链路状态和策略意图,统一计算最优路径并下发给 CPE。
- 数据面分布式:CPE 作为边缘转发设备,根据控制器下发的策略执行本地数据转发,不依赖实时控制面交互即可完成数据面决策。

2.3 SD-WAN 设备角色
| 角色 | 说明 | 华为设备 |
|---|---|---|
| Hub | 总部节点,多分支汇聚,策略集中管理 | NetEngine AR6140H/AR6280 |
| Spoke | 分支节点,轻量部署,按需回传流量 | NetEngine AR6141/AR6220 |
| 控制器 | 集中管控平台,策略编排与下发 | iMaster NCE-WAN |
2.4 SD-WAN 与传统 WAN 对比
| 维度 | 传统 MPLS WAN | SD-WAN |
|---|---|---|
| 链路类型 | 仅 MPLS 专线 | MPLS + 互联网 + 4G/5G(混合链路) |
| 管理方式 | 逐台设备 CLI 配置 | 控制器统一策略编排 |
| 策略控制 | 静态策略路由 | 基于应用感知的动态策略 |
| 链路切换 | IGP/BGP 收敛(秒~分钟级) | 链路探测 + 快速切换(亚秒~秒级) |
| 单链路成本 | 高(MPLS 专线 per-Mbps 计价) | 低(互联网带宽按需购买) |
| 开通周期 | 2~4 周(运营商工单) | 分钟级(零接触下发) |
| 加密 | 依赖 MPLS 运营商可信 | IPsec 端到端加密 |
三、技术细节
3.1 SD-WAN 隧道技术
SD-WAN 支持多种隧道类型,以适应不同传输场景:
| 隧道类型 | 传输承载 | 加密 | 性能 | 适用场景 |
|---|---|---|---|---|
| IPsec IKEv2 | 互联网 | AES-GCM/ChaCha20 | 中(加密开销) | 跨互联网分支互联 |
| GRE | 互联网/MPLS | 无 | 高(低开销) | MPLS 承载不需加密时 |
| MPLS 直连 | MPLS 专线 | 无 | 最高 | MPLS 专线路由 |
| SRv6 | IPv6 网络 | IPsec 可选 | 高 | IPv6 广域网演进 |
3.2 链路质量检测机制
SD-WAN CPE 通过主动探测持续评估各链路的 SLA 指标:
| 检测指标 | 探测方法 | 语音阈值 | 视频阈值 | 数据阈值 |
|---|---|---|---|---|
| 时延 | NQA ICMP/TCP 探测 | < 50ms | < 150ms | < 300ms |
| 丢包率 | 探测报文统计 | < 1% | < 2% | < 5% |
| 抖动 | 时延方差计算 | < 10ms | < 30ms | < 100ms |
| 带宽 | 流量统计+探针 | 保证 2Mbps | 保证 5Mbps | 保证 1Mbps |

3.3 应用感知策略(Application-Aware Policy)
SD-WAN 策略基于应用类型而非简单的五元组,实现精细化的流量调度:
| 策略动作 | 说明 | 示例 |
|---|---|---|
| 链路优选 | 指定业务优先使用的链路 | VoIP → MPLS 首选 |
| 链路备份 | 主链路故障自动切换 | MPLS 主 → 互联网备 |
| 负载分担 | 多条链路按比例分担 | MPLS 60% + 互联网 40% |
| 带宽保障 | 关键业务保障最小带宽 | 视频会议 ≥ 5Mbps |
| 加密策略 | 强制或关闭加密 | 互联网链路启用 IPsec |
| QoS 标记 | 根据应用标记 DSCP | VoIP → DSCP EF |
3.4 SRP(Segment Routing Policy)控制协议
华为 SD-WAN 使用 SRP 协议作为控制面协议,实现 Hub-Spoke 拓扑中的路由和策略分发:
| SRP 功能 | 说明 |
|---|---|
| 路由分发 | Hub 向 Spoke 分发总部路由,Spoke 向 Hub 注册本地路由 |
| 拓扑发现 | 自动发现 Hub-Spoke 拓扑结构 |
| 策略下发 | 控制器计算的 SRP 策略通过 SRP 分发到 CPE |
| 状态协商 | CPE 与 Hub 之间的隧道状态、NAT 穿透协商 |
四、实战配置/案例分析
4.1 华为 SD-WAN Hub 节点配置
# ========== Hub节点(深圳总部) ==========
< Huawei > system-view
[ Huawei ] sysname Hub-Shenzhen
# 配置LoopBack接口(SRP域标识)
[ Hub-Shenzhen ] interface LoopBack 0
[ Hub-Shenzhen-LoopBack0 ] ip address 10.255.0.1 32
# 配置物理接口 - MPLS专线
[ Hub-Shenzhen ] interface GigabitEthernet 0/0/0
[ Hub-Shenzhen-GigabitEthernet0/0/0 ] ip address 10.1.1.2 30
[ Hub-Shenzhen-GigabitEthernet0/0/0 ] description To-MPLS-Branch
# 配置物理接口 - 互联网
[ Hub-Shenzhen ] interface GigabitEthernet 0/0/1
[ Hub-Shenzhen-GigabitEthernet0/0/1 ] ip address 203.0.113.2 24
[ Hub-Shenzhen-GigabitEthernet0/0/1 ] description To-Internet
# 配置iHub(控制器连接)
[ Hub-Shenzhen ] ihub
[ Hub-Shenzhen-ihub ] controller 10.254.0.1
[ Hub-Shenzhen-ihub ] authentication-mode rsa
[ Hub-Shenzhen-ihub ] local-ip 10.255.0.1
# 配置SRP协议
[ Hub-Shenzhen ] srp
[ Hub-Shenzhen-srp ] system-as 65001
[ Hub-Shenzhen-srp ] ipv4-family unicast
[ Hub-Shenzhen-srp ] domain 1
[ Hub-Shenzhen-srp-domain-1 ] connect-interface LoopBack 0
4.2 SD-WAN Spoke 节点配置
# ========== Spoke节点(上海分支) ==========
< Huawei > system-view
[ Huawei ] sysname Spoke-Shanghai
# 配置LoopBack接口
[ Spoke-Shanghai ] interface LoopBack 0
[ Spoke-Shanghai-LoopBack0 ] ip address 10.255.0.2 32
# 配置物理接口 - 互联网
[ Spoke-Shanghai ] interface GigabitEthernet 0/0/0
[ Spoke-Shanghai-GigabitEthernet0/0/0 ] ip address 198.51.100.1 24
[ Spoke-Shanghai-GigabitEthernet0/0/0 ] description To-Internet
# 配置物理接口 - 4G备用
[ Spoke-Shanghai ] interface Cellular 0/0/0
[ Spoke-Shanghai-Cellular0/0/0 ] ip address dhcp-alloc
# 连接控制器
[ Spoke-Shanghai ] ihub
[ Spoke-Shanghai-ihub ] controller 10.254.0.1
[ Spoke-Shanghai-ihub ] authentication-mode rsa
[ Spoke-Shanghai-ihub ] local-ip 10.255.0.2
# 配置SRP
[ Spoke-Shanghai ] srp
[ Spoke-Shanghai-srp ] system-as 65002
[ Spoke-Shanghai-srp ] ipv4-family unicast
[ Spoke-Shanghai-srp ] domain 1
[ Spoke-Shanghai-srp-domain-1 ] connect-interface LoopBack 0
[ Spoke-Shanghai-srp-domain-1 ] hub 10.255.0.1
4.3 智能选路策略配置
# ========== 智能选路策略 ==========
[ Spoke-Shanghai ] smart-policy
[ Spoke-Shanghai-smart-policy ] name Voice-Prefer-MPLS
[ Spoke-Shanghai-smart-policy ] classifier voice-traffic
[ Spoke-Shanghai-smart-policy-classifier-voice-traffic ] if-match dscp ef
[ Spoke-Shanghai-smart-policy-classifier-voice-traffic ] quit
[ Spoke-Shanghai-smart-policy ] classifier video-traffic
[ Spoke-Shanghai-smart-policy-classifier-video-traffic ] if-match destination-port range 17200 17300
[ Spoke-Shanghai-smart-policy-classifier-video-traffic ] quit
[ Spoke-Shanghai-smart-policy ] behavior prefer-mpls
[ Spoke-Shanghai-smart-policy-behavior-prefer-mpls ] apply link-preference primary mpls secondary internet
[ Spoke-Shanghai-smart-policy ] apply classifier voice-traffic behavior prefer-mpls
[ Spoke-Shanghai-smart-policy ] behavior internet-direct
[ Spoke-Shanghai-smart-policy-behavior-internet-direct ] apply link-preference primary internet
[ Spoke-Shanghai-smart-policy ] apply classifier web-traffic behavior internet-direct
4.4 故障排查:SRP 邻居无法建立
故障场景:新开通的分支 CPE 无法与 Hub 建立 SRP 邻居,所有业务中断。
# Step 1: 检查 SRP 邻居状态
<Spoke-Shanghai> display srp peer
Peer: 10.255.0.1
State: Idle
# 状态为Idle, 未建立邻居
# Step 2: 检查SRP域配置
<Spoke-Shanghai> display srp domain 1
Domain: 1
System-AS: 65002
Local-IP: 10.255.0.2
Hub-IP: 10.255.0.1
# 配置正常
# Step 3: 检查IP连通性
<Spoke-Shanghai> ping -a 198.51.100.1 203.0.113.2
# 互联网链路可达
# Step 4: 检查SRP端口
<Spoke-Shanghai> display tcp connections
# 端口2588(SRP默认端口)无连接
# 根因: 互联网出口防火墙拦截了SRP端口2588
# Step 5: 修正防火墙策略
# 在出口防火墙上放行UDP/TCP 2588端口到Hub地址
# 或配置NAT穿透参数
[Spoke-Shanghai] srp domain 1
[Spoke-Shanghai-srp-domain-1] nat-traversal enable
# 启用NAT穿透
# Step 6: 验证
<Spoke-Shanghai> display srp peer
Peer: 10.255.0.1
State: Established
# SRP邻居建立成功
五、总结
| 项目 | 要点 |
|---|---|
| SD-WAN 核心价值 | 混合链路降本、智能选路提质、集中管控提速 |
| 三层平面 | 管理面(配置管理)、控制面(策略计算)、数据面(本地转发) |
| 控制面分离 | 控制器全局策略编排,CPE 本地数据面执行,断控不断转 |
| 隧道技术 | IPsec(互联网加密)、MPLS 直连、GRE、SRv6 多隧道并存 |
| 应用感知 | DPI 识别应用类型,基于 SLA 指标动态调度最优链路 |
| SRP 协议 | 华为 SD-WAN 控制面协议,实现 Hub-Spoke 路由与策略分发 |
思考
- SD-WAN 控制器与 CPE 之间的控制通道中断时,CPE 上已下发的 SRP 策略和 IPsec 隧道是否继续正常工作?为什么?
- SD-WAN 链路质量探测使用 NQA 主动发送探测报文。如果探测报文走了与业务报文不同的路径(如不同出口网关),SLA 检测结果是否还能准确反映业务体验?
- 当 MPLS 和互联网两条链路同时可用时,SD-WAN 如何实现"负载分担"而不是"主备"?两者在转发层面有什么区别?
下篇预告:第182篇:SD-WAN 分支与总部组网案例