说明:
参考本账号下《L3VPN Over SR-MPLS TE Policy实现同租户互通(基于Color引流)》文档
给匹配流量打上DSCP标记CE7给匹配路由设置DSCP标记在CE7上对 172.16.200.1访问192.168.100.1 打上DSCP标记cs1
//配置访问控制列表匹配流量
acl number 3000
rule 10 permit ip source 172.16.200.1 0 destination 192.168.100.1 0
//匹配acl 3000的流量
traffic classifier c1 operator and
if-match acl 3000
//打上cs1标记
traffic behavior b1
remark dscp cs1
//配置qos策略绑定
qos policy p1
classifier c1 behavior b1
//将qos策略应用到接口
interface GigabitEthernet0/0
qos apply policy p1 outbound
#
DSCP 对应的CS1的十进制数是8,后面在做SR-Policy的时候会用到
CE1抓包确认标记是否生效CE1 G0/0/0接口抓包,可以看到对匹配的流量打标记成功了,ip的报头里面DSCP已经被打上了CS1的标记
设置SR Policy设置dscp 8(cs1)和color 22绑定,color22 的路径为sr_list_2,也就是172.16.200.1访问192.168.100.1的路径为PE1-P3-P2-P5-PE6,也就是SR_POLICY_BLUE 隧道。这样DSCP->Color->SR-MPLS TE Policy就形成了映射关系。路径如下图所示:
segment-routing
#
traffic-engineering
#
segment-list sr_list_1
index 10 mpls label 15012
index 20 mpls label 15025
index 30 mpls label 15054
index 40 mpls label 15046
#
segment-list sr_list_2
index 10 mpls label 15013
index 20 mpls label 15032
index 30 mpls label 15025
index 40 mpls label 15056
#
policy SR_POLICY_BLUE
color 22 end-point ipv4 6.6.6.6
#
candidate-paths
#
preference 100
explicit segment-list sr_list_2
#
policy SR_POLICY_RED
color 11 end-point ipv4 6.6.6.6
#
candidate-paths
#
preference 100
explicit segment-list sr_list_1
#
policy-group 1
end-point ipv4 6.6.6.6
color 22 match dscp ipv4 8
#
return
PE1设置隧道策略
tunnel-policy policy1 // 创建隧道策略
select-seq sr-policy lsp load-balance-number 1 //配置隧道的选择顺序和负载分担的隧道数目
binding-destination 6.6.6.6 sr-policy group 1 //配置隧道绑定策略,指定目的地址与SR-MPLS TE Policy组绑定
//设置隧道迭代
ip rd-list 1 index 10 permit 10:1 //配置一个RD属性列表,vpna的RD为10:1
tunnel-selector ts1 permit node 10 //指定隧道迭代器节点的匹配模式为允许模式。当路由项满足该节点的所有if-match子句时被允许通过该节点的过滤,如路由项不满足该节点的if-match子句,将继续匹配该隧道迭代器的下一个节点
if-match rd-list 1 //匹配RD 属性列表
apply tunnel-policy policy1 //应用到tunnel-policy1
//BGP VPNv4路由应用隧道迭代器
bgp 100
address-family vpnv4
apply tunnel-selector ts1 //应用隧道迭代器ts1
peer 6.6.6.6 enable
#
strict:负载分担的隧道类型不能混合。
cr-lsp:CRLSP隧道。
lsp:LSP隧道。
sr-lsp:SRLSP隧道。
load-balance-number number:指定负载分担的隧道条数,其中number参数的取值范围与max-ecmp-num命令的配置相关。如果通过max-ecmp-num命令调整系统支持的最大等价路由条数为m,则本参数的取值范围为1~m。关于max-ecmp-num命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“IP路由基础命令” 。
在配置隧道选择顺序时,隧道类型越靠近关键字select-seq,其优先级越高。并且,只有本命令中列举的隧道类型可以被使用。
当不配置strict关键字时,支持不同类型的隧道混合进行负载分担。例如:配置了select-seq lsp cr-lsp load-balance-number 3命令,则优先选择LSP;在没有LSP或LSP不足3条的情况下,选用CRLSP。
当配置关键字strict时,那么只会选择一种隧道类型,例如:配置了select-seq strict lsp cr-lsp load-balance-number 3命令,LSP数目小于3时,无论是否存在CRLSP,都只会选择LSP进行负载分担;只有不存在LSP的情况下,才会选用CRLSP。
通过本命令配置隧道策略时,选择的隧道具有随机性,不便于网络流量规划。不推荐使用该方式配置隧道策略。
如果同时配置了本命令和preferred-path命令,则优先选择preferred-path命令指定的隧道,即:
· 如果对端PE地址与某条首选隧道的目的地址相同,则采用该首选隧道转发流量,不会再根据select-seq load-balance-number命令指定的隧道选择顺序和负载分担数目选择隧道。
· 如果不存在隧道目的地址与对端PE地址相同的首选隧道,则根据select-seq load-balance-number命令指定的隧道选择顺序和负载分担数目选择隧道。
测试验证从CE7 172.16.200.1 访问192.168.100.1 从PE1 G0/0/1接口抓包,通过抓包可以看到被打上DSCP 8(cs1)的数据包走的路径如下所示,符合我们的预期
其它流量也走了SR_POLICY_BLUE这个策略,因为模拟器有命令是不支持的,猜测在SR-Policy应用以下两个命令就能解决这个问题
policy-group 1
end-point ipv4 6.6.6.6
color 22 match dscp ipv4 8
color 11 match dscp ipv4 default
//缺省情况下,未配置SR-MPLS TE Policy组的Color和DSCP映射关系。未配置Color和DSCP映射关系时,无法根据报文的DSCP值进行引流。
//配置对于未匹配Color和DSCP映射关系的报文采用SR-BE转发,应该配置这个命令就可以了。
best-effort { ipv4 | ipv6 } default
//缺省情况下,对于未匹配Color和DSCP映射关系的报文不采用SR-BE转发
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved