Technical documentation
发布日期:2023-08-11 浏览次数:2092 来源:崔志鹏
HCIE培训考试重点工程师都要了解的-SR-MPLS Policy技术
HCIE培训Datacom考试重点技术了解,联系WOLFLAB预约免费试听!https://www.wolf-lab.com/
WOLFLAB官方微信:17316362402
WOLFLAB官方QQ:2569790740
早期SR-MPLS TE不足:
隧道接口方式实现SR简单且易于理解,但是有以下不足:
隧道接口和流量导入独立实现造成引流方式复杂和性能不高。
隧道需要预先配置部署,在无法明确隧道终点场景下有明显限制。
基于隧道接口实现的ECMP使用场景受限。
实验:采用SR-MPLS Policy替代SR-MPLS TE(模拟器不支持)
①AR2有两个业务网段192.168.2.0/24,192.168.22.0/24;
②希望AR1访问2.0/24走CX1-CX4建立的SRTEpolicy的隧道;
③希望AR1访问22.0/24走CX1-CX2-CX3-CX4建立的SRTEpolicy的隧道;
第一步:完成底层环境的搭建,此时AR1访问AR2走SR-BE;
第二步:CX4将2.0和22.0发送给CX1时添加Color,Color就是扩展团体属性,相当于给路由打TAG,使用源节点、目的节点、Color三元组标识一条SRTEpolicy的隧道,给2.0打上100的Color,给22.0打上200的Color;
SR-MPLS Policy元组标识
一个SR-MPLS Policy由一个元组标识<headend, color, endpoint>。
对于一个指定的节点SR-MPLS Policy则由<color, endpoint>标识:
头端(headend):SR-MPLS Policy生成的节点,一般是全局唯一的IP地址。
颜色(color):32比特扩展团体属性,用于标识某一种业务意图(例如低延时)。
尾端(endpoint):SR-MPLS Policy的目的地址,一般是全局唯一的IP地址。
Color和endpoint被用于SR-MPLS Policy在特定头端标识转发路径。
CX4:
acl number 2000
rule 5 permit source 192.168.2.0 0
#
acl number 2001
rule 5 permit source 192.168.22.0 0
#
route-policy AR4-AR1 permit node 10
if-match acl 2000
apply extcommunity color 0:100 //前面的0是flag不用管
#
route-policy AR4-AR1 permit node 20
if-match acl 2001
apply extcommunity color 0:200
#
bgp 1234
#
peer 1.1.1.1 route-policy AR4-AR1 export
此时CX1就会收到两条带了color的路由:
192.168.2.0/24 100
192.168.22.0/24 200
第三步:在CX1上针对携带了不同color的路由建立不同的SRTEpolicy
CX1:
segment-routing
segment-list 2.0
index 10 sid lable16004
#
segment-list 22.0
index 10 sid lable16002
index 20 sid lable16003
index 30 sid lable16004
#
segment-routing
sr-te policy 2.0 endport 4.4.4.4 color 100
candidate-path preference 200 //设置主路径优先级是200,现在只有一个主路径,备份的就不用设置了
segment-list 2.0
#
segment-routing
sr-te policy 22.0 endport 4.4.4.4 color 200
candidate-path preference 200
segment-list 22.0
此时在CX1上针对4.4.4.4会形成三条隧道:一条srbe-lsp,一条为color 100的srtepolicy,一条为color 200的srtepolicy
[CX1]dis tunnel-info all
Tunnel ID Type Destination Status
--------------------------------------------
A srbe-lsp 2.2.2.2 UP
B srbe-lsp 3.3.3.3 UP
C srbe-lsp 4.4.4.4 UP
D srtepolicy 4.4.4.4 UP
E srtepolicy 4.4.4.4 UP
第四步:CX1将1.0发送给CX4时添加Color=300
acl number 2000
rule 5 permit source 192.168.1.0 0
#
route-policy AR1-AR4 permit node 10
if-match acl 2000
apply extcommunity color 0:300
#
bgp 1234
#
peer 4.4.4.4 route-policy AR1-AR4 export
此时CX4就会收到1条带了color的路由:
192.168.1.0/24 300
CX4:
segment-routing
segment-list 2.0
index 10 sid lable16001
#
segment-list 22.0
index 10 sid lable16003
index 20 sid lable16002
index 30 sid lable16001
#
segment-routing
sr-te policy AR4-AR1 endport 1.1.1.1 color 300
candidate-path preference 200
segment-list 2.0
candidate-path preference 100
segment-list 22.0
此时在CX4上针对1.1.1.1会形成二条隧道:一条srbe-lsp,一条为color 300的srtepolicy
[CX4]dis tunnel-info all
Tunnel ID Type Destination Status
---------------------------------------------
A srbe-lsp 1.1.1.1 UP
B srbe-lsp 3.3.3.3 UP
C srbe-lsp 2.2.2.2 UP
D srtepolicy 1.1.1.1 UP
第五步:配置tunnel-policy
CX1:
tunnel-policy AR1-AR4
tunnel select-seq sr-te-policy(先选srte-policy) sr-lsp(后选sr-be) load-balance-number 1 unmix(必须敲,要不报错,不用管什么意思)
#
ip vpn-instance A1
tnl-policy AR1-AR4
CX4:
tunnel-policy AR4-AR1
tunnel select-seq sr-te-policy(先选srte-policy) sr-lsp(后选sr-be) load-balance-number 1 unmix(必须敲,要不报错,不用管什么意思)
#
ip vpn-instance A2
tnl-policy AR4-AR1
流量分析:
场景一:1.1访问2.1
第一步:AR1发包
ICMP REQUEST:
sip:192.168.1.1 dip:192.168.2.1
第二步:CX1在VRF A1中收到该报文,根据目标地址查路由表,需要压入标签;
内层标签为MP-BGP分配的私网标签,因为查到的是192.168.2.0/24网段的路由,该路由的下一跳为4.4.4.4,针对下一跳有三个隧道,此时将该报文放入哪个隧道中传输?
①如果没有配置tunnel-policy放入到srbe-lsp;
②如果配置tunnel-policysr-te-policy优先,放入srtepolicy;
③根据192.168.2.0/24携带的color,放入到color为100的srtepolicy;
④根据color为100的srtepolicy中配置segment-list压入相应的标签;
ICMP REQUEST:
sip:192.168.1.1 dip:192.168.2.1 | MP-BGP:X | srtepolicy(100):16004,该报文从E1/0/1接口发出去的时候需要将16004标签弹出,因为次末跳;
第三步:CX4收到报文,根据私网标签X,插自己的VRF A2路由表,进行报文的转发;
第四步:CX4收到回包
ICMP REPLY:
sip:192.168.2.1 dip:192.168.1.1
CX4在VRF A2中收到该报文,根据目标地址查路由表,需要压入标签;
内层标签为MP-BGP分配的私网标签,因为查到的是192.168.1.0/24网段的路由,该路由的下一跳为1.1.1.1,针对下一跳有两个隧道,此时将该报文放入哪个隧道中传输?
①如果没有配置tunnel-policy放入到srbe-lsp;
②如果配置tunnel-policysr-te-policy优先,放入srtepolicy;
③根据192.168.1.0/24携带的color,放入到color为300的srtepolicy;
④根据color为300的srtepolicy中配置segment-list压入相应的标签;
⑤如果srtepolicy中配置多个segment-list,preference越大越优先,只有preference大的主路径挂掉,切换至备份路径;
ICMP REPLY:
sip:192.168.2.1 dip:192.168.1.1 | MP-BGP:Y | srtepolicy(300):16001,该报文从E1/0/1接口发出去的时候需要将16001标签弹出,因为次末跳;
第五步:CX1收到报文,根据私网标签Y,插自己的VRF A1路由表,进行报文的转发;
------------------------------------------
场景二:1.1访问22.1
第一步:AR1发包
ICMP REQUEST:
sip:192.168.1.1 dip:192.168.22.1
第二步:CX1在VRF A1中收到该报文,根据目标地址查路由表,需要压入标签;
内层标签为MP-BGP分配的私网标签,因为查到的是192.168.22.0/24网段的路由,该路由的下一跳为4.4.4.4,针对下一跳有三个隧道,此时将该报文放入哪个隧道中传输?
①如果没有配置tunnel-policy放入到srbe-lsp;
②如果配置tunnel-policysr-te-policy优先,放入srtepolicy;
③根据192.168.22.0/24携带的color,放入到color为200的srtepolicy;
④根据color为200的srtepolicy中配置segment-list压入相应的标签;
ICMP REQUEST:
sip:192.168.1.1 dip:192.168.2.1 | MP-BGP:X | srtepolicy(200):16004 | 16003 | 16002,该报文从E1/0/0接口发出去的时候需要将16002标签弹出,因为次末跳;
CX2收到报文之后:
①将16003弹出;
②将该报文从E1/0/1接口发出去
ICMP REQUEST:
sip:192.168.1.1 dip:192.168.2.1 | MP-BGP:X | srtepolicy(200):16004
CX3收到报文之后:
①将16004弹出;
②将该报文从E1/0/0接口发出去
ICMP REQUEST:
sip:192.168.1.1 dip:192.168.2.1 | MP-BGP:X
第三步:CX4收到报文,根据私网标签X,插自己的VRF A2路由表,进行报文的转发;
第四步:CX4收到回包
ICMP REPLY:
sip:192.168.2.1 dip:192.168.1.1
CX4在VRF A2中收到该报文,根据目标地址查路由表,需要压入标签;
内层标签为MP-BGP分配的私网标签,因为查到的是192.168.1.0/24网段的路由,该路由的下一跳为1.1.1.1,针对下一跳有两个隧道,此时将该报文放入哪个隧道中传输?
①如果没有配置tunnel-policy放入到srbe-lsp;
②如果配置tunnel-policysr-te-policy优先,放入srtepolicy;
③根据192.168.1.0/24携带的color,放入到color为300的srtepolicy;
④根据color为300的srtepolicy中配置segment-list压入相应的标签;
⑤如果srtepolicy中配置多个segment-list,preference越大越优先,只有preference大的主路径挂掉,切换至备份路径;
ICMP REPLY:
sip:192.168.2.1 dip:192.168.1.1 | MP-BGP:Y | srtepolicy(300):16001,该报文从E1/0/1接口发出去的时候需要将16001标签弹出,因为次末跳;
第五步:CX1收到报文,根据私网标签Y,插自己的VRF A1路由表,进行报文的转发;
WOLFLAB官方微信:17316362402
WOLFLAB官方QQ:2569790740
HCIE培训Datacom版本稳定,近期想学习的同学联系WOLF-LAB网络技术实验室!