SR-MPLS TE Policy模拟实验(H3C Cloud Lab)

简介

SR Policy使用段列表(Segment List)指定转发路径,但是抛弃了隧道接口的概念。

SR Policy根据Segment不同分为SR-MPLS Policy和SRv6 Policy。本文将介绍SR-MPLS Policy。

控制器基于代表业务SLA的Color属性计算路径,并将结果下发转发器构成SR-MPLS Policy隧道,网络头端结点通过业务路由的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在特定头端标识转发路径。

实验步骤

拓扑图

1、配置全网接口地址地址,接着开启全局SR和配置SR ID。ip地址格式为10.1.xy.x&y(VSR3、4、5略,请自行配置)

[VSR-88_1]segment-routing
[VSR-88_1]interface LoopBack0
[VSR-88_1-LoopBack0] ip address 1.1.1.1 255.255.255.255
[VSR-88_1-LoopBack0] ospf 1 prefix-sid index 1
[VSR-88_1]interface GigabitEthernet0/0/0
[VSR-88_1-GigabitEthernet0/0/0]ip address 10.1.12.1 255.255.255.0


[VSR-88_2]segment-routing
[VSR-88_2]interface LoopBack0
[VSR-88_2-LoopBack0]ip address 1.1.1.2 255.255.255.255
[VSR-88_2-LoopBack0] ospf 1 prefix-sid index 2
[VSR-88_2]interface GigabitEthernet0/0/0
[VSR-88_2-GigabitEthernet0/0/0] ip address 10.1.24.2 255.255.255.0
[VSR-88_2]interface GigabitEthernet0/0/1
[VSR-88_2-GigabitEthernet0/0/1] ip address 10.1.12.2 255.255.255.0
[VSR-88_2]interface GigabitEthernet0/0/2
[VSR-88_2-GigabitEthernet0/0/2] ip address 10.1.23.2 255.255.255.0

 2、开启全网全局mpls-lsr id及接口mpls、mpls te功能(VSR3、4、5略,请自行配置)

[VSR-88_1]mpls 
[VSR-88_1]mpls te
[VSR-88_1-GigabitEthernet0/0/0]mpls enable

[VSR-88_2]mpls 
[VSR-88_2]mpls te
[VSR-88_2]interface GigabitEthernet0/0/0
[VSR-88_2-GigabitEthernet0/0/0]mpls enable
[VSR-88_2]interface GigabitEthernet0/0/1
[VSR-88_2-GigabitEthernet0/0/1]mpls enable
[VSR-88_2]interface GigabitEthernet0/0/2
[VSR-88_2-GigabitEthernet0/0/2]mpls enable

3、创建ospf并进入区域视图发布接口地址及环回地址,然后配置SRGB并将sr的转发平面配置为mpls,最后在区域0内开启mpls te功能(VSR2、3、4、5略,请自行配置)

[VSR-88_1]ospf 1 router-id 1.1.1.1 //进入ospf区域视图并配置Route-id
[VSR-88_1-ospf-1] segment-routing global-block 16000 17000 //配置SRGB的值
[VSR-88_1-ospf-1] segment-routing mpls //配置SR的转发平面为Mpls
[VSR-88_1-ospf-1] area 0.0.0.0 //进入区域0视图
[VSR-88_1-ospf-1-area-0.0.0.0]  network 1.1.1.1 0.0.0.0 //发布路由
[VSR-88_1-ospf-1-area-0.0.0.0]  network 10.1.12.0 0.0.0.255 //发布路由
[VSR-88_1-ospf-1-area-0.0.0.0]  mpls te enable //开启ospf区域0的MplsTE的功能

配置完成后查看邻居和标签转发表

 

 

 可以看到邻居关系和标签转发表都正常

4、在VSR1和VSR5上创建VPN实例并绑定到环回口1和2,然后添加IP地址

[VSR-88_1]ip vpn-instance h3c
[VSR-88_1-vpn-instance-h3c] route-distinguisher 100:1
[VSR-88_1-vpn-instance-h3c] vpn-target 100:1 import-extcommunity
[VSR-88_1-vpn-instance-h3c] vpn-target 100:1 export-extcommunity
[VSR-88_1]interface LoopBack1
[VSR-88_1-LoopBack1] ip binding vpn-instance h3c
[VSR-88_1-LoopBack1] ip address 11.11.11.11 255.255.255.255
[VSR-88_1]interface LoopBack2
[VSR-88_1-LoopBack2] ip binding vpn-instance h3c
[VSR-88_1-LoopBack2] ip address 111.111.111.111 255.255.255.255

[VSR-88_5]ip vpn-instance h3c
[VSR-88_5-vpn-instance-h3c] route-distinguisher 100:1
[VSR-88_5-vpn-instance-h3c] vpn-target 100:1 import-extcommunity
[VSR-88_5-vpn-instance-h3c] vpn-target 100:1 export-extcommunity
[VSR-88_5]interface LoopBack1
[VSR-88_5-LoopBack1] ip binding vpn-instance h3c
[VSR-88_5-LoopBack1] ip address 55.55.55.55 255.255.255.255
[VSR-88_5]interface LoopBack2
[VSR-88_5-LoopBack2] ip binding vpn-instance h3c
[VSR-88_5-LoopBack2] ip address 222.222.222.222 255.255.255.255

5、VSR1与VSR5创建VPNV4的邻居关系并在vpn实例下的IPv4单播视图下引入直连

[VSR-88_1]bgp 100
[VSR-88_1-bgp-default] peer 1.1.1.5 as-number 100
[VSR-88_1-bgp-default] peer 1.1.1.5 connect-interface LoopBack0
[VSR-88_1-bgp-default] address-family vpnv4
[VSR-88_1-bgp-default-vpnv4]  peer 1.1.1.5 enable
[VSR-88_1-bgp-default] ip vpn-instance h3c //进入bgp的vpn实例视图
[VSR-88_1-bgp-default-h3c]  address-family ipv4 unicast //进入ipv4的单播视图
[VSR-88_1-bgp-default-ipv4-h3c]   import-route direct //引入直连

[VSR-88_5]bgp 100
[VSR-88_5-bgp-default] peer 1.1.1.1 as-number 100
[VSR-88_5-bgp-default] peer 1.1.1.1 connect-interface LoopBack0
[VSR-88_5-bgp-default] address-family vpnv4
[VSR-88_5-bgp-default-vpnv4]  peer 1.1.1.1 enable
[VSR-88_5-bgp-default] ip vpn-instance h3c //进入bgp的vpn实例视图
[VSR-88_5-bgp-default-h3c]  address-family ipv4 unicast //进入ipv4的单播视图
[VSR-88_5-bgp-default-ipv4-h3c]   import-route direct //引入直连

配置完成后查看邻居关系

 查看VPN的路由表

 查看BGP的路由表

 查看地址连通性

 发现不通,这时候不要着急,我们抓包看一下

在VSR1的0口抓包来查看情况

可以看到包是正常的,并且携带BGP分配的标签进行转发,那么连通性这块我们暂且不做纠结,有可能是模拟器的问题。

接着查看BGP是否分配了此标签

 

可以看到BGP分配的标签为1278,和包里面的值完全相同,并且在路由信息中可以看到我们分配的RT值 。

6、接着我们配置SR Policy来实现有条件约束的TE,也就是流量工程。开头我们已经说过了,SR Policy完全摒弃了隧道接口,也就是说我们不需要创建一个隧道来承载数据的转发了,我们只需要在SR中创建我们想要的策略和路径来对数据进行转发就OK了,接着我们配置VSR1去访问VSR5的两条路径为:

VSR1的Loop1访问VSR5的Loop1和Loop2路径为:VSR1-VSR2-VSR3-VSR4-VSR5

VSR1的Loop2访问VSR5的Loop2和Loop2路径为:VSR5-VSR3-VSR4-VSR2-VSR1

[VSR-88_1]segment-routing //进入SR的视图
[VSR-88_1-segment-routing] traffic-engineering //进入TE(流量工程)视图

[VSR-88_1-sr-te]  segment-list R1_R5M //创建segment-list列表
[VSR-88_1-sr-te-sl-R1_R5M]   index 1 mpls label 16002 //配置第一个索引为16002
[VSR-88_1-sr-te-sl-R1_R5M]   index 20 mpls label 16003 //配置第一个索引为16003
[VSR-88_1-sr-te-sl-R1_R5M]   index 30 mpls label 16004 //配置第一个索引为16004
[VSR-88_1-sr-te-sl-R1_R5M]   index 40 mpls label 16005 //配置第一个索引为16005
[VSR-88_1-sr-te-sl-R1_R5M]   quit
注:SR Policy中的segment-list类似于SR MPLS中的显式路径


[VSR-88_1-sr-te]  segment-list R1_R5S //创建segment-list列表
[VSR-88_1-sr-te-sl-R1_R5S]   index 1 mpls label 16002 //配置第一个索引为16002
[VSR-88_1-sr-te-sl-R1_R5S]   index 20 mpls label 16004 //配置第一个索引为16004
[VSR-88_1-sr-te-sl-R1_R5S]   index 30 mpls label 16003 //配置第一个索引为16003
[VSR-88_1-sr-te-sl-R1_R5S]   index 40 mpls label 16005 //配置第一个索引为16005
  #
[VSR-88_1-sr-te]policy R1_R5  //创建名为R1_R5的策略
[VSR-88_1-sr-te-policy-R1_R5]    color 200 end-point ipv4 1.1.1.5 //如果color的属性为200并且尾端为1.1.1.5的路由就对此策略进行匹配
[VSR-88_1-sr-te-policy-R1_R5]   candidate-paths //进入路径选择视图
[VSR-88_1-sr-te-policy-R1_R5-path]   preference 200 //进入优先级200视图
[VSR-88_1-sr-te-policy-R1_R5-path-pref-200]   explicit segment-list R1_R5M //添加SR索引列表
  #
[VSR-88_1-sr-te]  policy R1_R5_2
[VSR-88_1-sr-te-policy-R1_R5_2]   color 100 end-point ipv4 1.1.1.5//如果color的属性为100并且尾端为1.1.1.5的路由就对此策略进行匹配
[VSR-88_1-sr-te-policy-R1_R5_2]   candidate-paths //进入路径选择视图
[VSR-88_1-sr-te-policy-R1_R5_2-path]    preference 200 //进入优先级200视图
[VSR-88_1-sr-te-policy-R1_R5_2-path-pref-200]     explicit segment-list R1_R5S //添加SR索引列表

配置完成后我们再次查看标签转发表

可以看到我们创建的两条SR Policy都能够在表中看到了

 接着我们查看隧道

 可以看到第一条BE隧道,和后面我们创建的两条TE Policy隧道

7、接着我们让VSR1去访问VSR6的时候被打上Color属性,这样就能匹配上我们创建的SR策略了

接着我们在VSR5上创建路由策略

[VSR-88_5]route-policy R1_R5 permit node 10 //创建名为R1_R5的路由策略
[VSR-88_5-route-policy-R1_R5-10] apply extcommunity color 01:100 //添加拓展团体属性color,并设置值为01:100

[VSR-88_5]route-policy R1_R5_2 permit node 10 //创建名为R1_R5_2的路由策略
[VSR-88_5-route-policy-R1_R5_2-10] apply extcommunity color 01:200 //添加拓展团体属性color,并设置值为01:200

然后我们进入到BGP的vpn-instance下的ipv4视图,发布Loop1和Loop2的路由并让他们携带拓展团体属性

[VSR-88_5]bgp 100 //进入到BGP100的视图下
[VSR-88_5-bgp-default]ip vpn-instance h3c //进入到BGP VPN-INSTANCE的视图下
[VSR-88_5-bgp-default-h3c]address-family ipv4 //进入到VPN视图的IPv4的视图下
[VSR-88_5-bgp-default-ipv4-h3c]network 55.55.55.55 255.255.255.255 route-policy R1_R5 //发布55.55.55.55/32并携带路由策略R1_R5
[VSR-88_5-bgp-default-ipv4-h3c]network 222.222.222.222 255.255.255.255 route-policy R1_R5_2 //发布222.222.222.222/32并携带路由策略R1_R5_2

接着我们重新查看IP vpn-instance和BGP Vpnv4的路由表

 

从图中可以看到,去往VSR5的两条路由,分别被打上了不通的Color值,并且去往这两条路由的下一条跳从原来的物理口变成了我们在SR中创建的策略名称,这说明我们的Policy已经成功匹配了这两条路由

接着我们抓包进行验证

使用VSR1的环回口1去pingVSR5的环回口1

 路径和我们规划的一致

接着使用VSR1的环回口2去pingVSR5的环回口2

  路径和我们规划的同样也是一致

本期实验就到这里了,主要就是理解如何配置SR Policy,下次实战的时候就不用慌啦

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leo·Thomas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值