1. SRv6-TE-Policy技术全景解析
Segment Routing over IPv6(SRv6)作为新一代IP网络架构的核心技术,正在彻底改变传统流量工程的实现方式。SRv6-TE-Policy通过将路径计算与转发分离,为运营商和企业网络提供了前所未有的灵活性和可编程能力。我曾在多个大型数据中心互联项目中实际部署过该方案,其核心优势在于:
- 原生IPv6支持:直接利用IPv6扩展头(EH)中的Segment Routing Header(SRH)携带路径信息,无需额外封装
- 极简控制平面:通过IGP(IS-ISv6/BGP-LS)分发拓扑信息,控制器集中计算路径
- 业务链集成:一个报文中可同时携带转发路径和服务功能链(SFC)指令
1.1 关键术语拆解
SRH报文结构是理解SRv6的基础,其典型格式如下:
| 字段 | 长度 | 说明 |
|---|---|---|
| Next Header | 8bit | 标识下一个头部类型 |
| Hdr Ext Len | 8bit | 以8字节为单位的SRH长度 |
| Routing Type | 8bit | 固定为4(SRv6) |
| Segments Left | 8bit | 剩余待处理的段列表索引 |
| Last Entry | 8bit | 段列表最后有效索引 |
| Flags | 8bit | 特殊处理标志位 |
| Tag | 16bit | 可选标记字段 |
| Segment List | 128bit×N | IPv6地址形式的段标识 |
TE Policy由三个核心要素构成:
- Color:业务意图标识(如低时延、高带宽)
- Endpoint:策略目标地址
- Candidate Path:包含优选路径(Preference值最小)和备用路径
2. 实验环境搭建指南
2.1 基础网络拓扑
推荐使用以下最小验证环境(以华为设备为例):
code复制 [Controller]
|
+---------------+---------------+
| | |
[PE1]-----------[P1]-----------[PE2]
\\ / /
\\ / /
[PE3]---[P2]-----------[PE4]
关键设备角色说明:
- PE:Provider Edge,部署SRv6 BE基础能力
- P:Provider,仅需支持IPv6转发
- Controller:使用SDN控制器(如华为iMaster NCE)或Python脚本模拟
2.2 设备基础配置
全局使能SRv6(以华为VRP系统为例):
bash复制[PE1] srv6
[PE1-srv6] locator MyLocator ipv6-prefix 2001:DB8::/64 static 32
[PE1-srv6-locator] opcode ::100 end psp
[PE1-srv6-locator] quit
[PE1] isis 1
[PE1-isis-1] segment-routing ipv6 locator MyLocator
[PE1-isis-1] commit
关键参数解析:
static 32:分配32bit动态SID空间(可生成2^32个SID)psp:启用Penultimate Segment Pop(倒数第二跳弹出SRH)::100:本地End SID的操作码(Opcode)
3. TE-Policy详细配置流程
3.1 策略定义与绑定
控制器下发的典型策略示例:
python复制{
"policy_name": "VIP_GOLD",
"color": 100,
"endpoint": "2001:DB8:0:4::1",
"candidate_paths": [
{
"preference": 100,
"segments": [
"2001:DB8:0:1::100", # PE1的End SID
"2001:DB8:0:3::200", # P1的Adj SID
"2001:DB8:0:4::100" # PE2的End SID
]
}
]
}
设备本地配置方式:
bash复制[PE1] segment-routing ipv6
[PE1-srv6] te policy POLICY1 color 100 endpoint 2001:DB8:0:4::1
[PE1-srv6-te-policy] candidate-path preference 100
[PE1-srv6-te-policy-path] segment-list LIST1
[PE1-srv6-te-policy-path-segment-list] index 1 sid ipv6 2001:DB8:0:1::100
[PE1-srv6-te-policy-path-segment-list] index 2 sid ipv6 2001:DB8:0:3::200
[PE1-srv6-te-policy-path-segment-list] commit
3.2 业务流量引导
基于Color的流量匹配:
bash复制[PE1] traffic classifier VIP_GOLD
[PE1-classifier-VIP_GOLD] if-match dscp 46 # 匹配EF流量
[PE1-classifier-VIP_GOLD] quit
[PE1] traffic behavior SRv6_TE
[PE1-behavior-SRv6_TE] redirect srv6-te policy color 100
[PE1-behavior-SRv6_TE] quit
[PE1] traffic policy BIND_VIP
[PE1-policy-BIND_VIP] classifier VIP_GOLD behavior SRv6_TE
[PE1-policy-BIND_VIP] quit
[PE1] interface GigabitEthernet0/0/1
[PE1-GigabitEthernet0/0/1] traffic-policy BIND_VIP inbound
4. 关键验证与排错指南
4.1 状态检查命令
查看SID分配情况:
bash复制display segment-routing ipv6 local-sid end
预期输出应包含:
code复制SID Behavior Context Owner
2001:DB8::100 End - isis(1)
验证TE策略状态:
bash复制display segment-routing ipv6 te policy color 100
健康状态应显示为:
code复制Candidate Path Preference: 100
Protocol Origin: Configured
Discriminator: 1
Segment List: LIST1 (Active)
4.2 典型故障处理
问题1:策略未生效
- 检查控制器与设备间PCEP/BGP-LS会话状态
- 验证IGP的SRv6能力协商:
display isis srv6 locator - 确认端点地址可达性:
ping ipv6 2001:DB8:0:4::1
问题2:流量未被正确染色
- 抓包验证DSCP标记:
capture-packet interface GigabitEthernet0/0/1 - 检查策略绑定方向:inbound/outbound需匹配流量方向
5. 高级优化技巧
5.1 延迟优化方案
利用Flex-Algo实现低时延路径:
bash复制[PE1] flex-algo 128
[PE1-flex-algo-128] metric-type delay
[PE1-flex-algo-128] priority 100
[PE1-flex-algo-128] quit
[PE1-isis-1] flex-algo 128
5.2 保护倒换配置
TI-LFA快速重路由:
bash复制[PE1] isis 1
[PE1-isis-1] segment-routing ipv6 ti-lfa
[PE1-isis-1] segment-routing ipv6 locator MyLocator level-1
[PE1-isis-1] commit
实际部署中发现,当主路径中断时,TI-LFA可将切换时间控制在50ms以内。建议在关键金融业务中启用此功能。
