自学内容网 自学内容网

SR-TE 严格控路 笔记 & 实验

一、拓扑:

在这里插入图片描述

要求:在 NE1 上起业务接口 Loo1 172.16.1.1/32,严格控路让它走 SR-TE,从NE1–NE2–NE4–NE6–NE5,和 NE5 上的 172.16.5.5/32 通信

二、配置思路:

1、配置 Core IGP

2、配置 mpls lsr-id、使能 mpls

3、使能 SR:

1)全局使能 SR:segment-routing

2)IGP使能 SRGB:global-block

3)接口使能:prefix-sid

4)手工配置 / IGP 自动产生 adjacency,在SR 视图下:

NE1:
segment-routing
  ipv4 adjacency local-ip-addr 10.1.12.1 remote-ip-addr 10.1.12.2 sid 300012#这是手工配置 adj-sid,但 IGP 也会自动产生的
NE2:
  ipv4 adjacency local-ip-addr 10.1.24.2 remote-ip-addr 10.1.24.4 sid 300024
NE4:
  ipv4 adjacency local-ip-addr 10.1.46.4 remote-ip-addr 10.1.46.6 sid 300046
NE6:
  ipv4 adjacency local-ip-addr 10.1.56.5 remote-ip-addr 10.1.56.6 sid 300065
dis isis lsdb verbose# 可以看到 IGP 全局的 adj-sid
dis segment-routing adjacency mpls forwarding#启用了 SR 的 IGP 会自动分配一个adjacency id(全局可见,本地有意义),即 SR-TE转发表,查看一下,有动态生成的,有静态生成的:

在这里插入图片描述

4、配置 SR-TE policy:

静态 adj-sid 配置严格控路:

1)配置 segment-list:

  segment-routing
    segment-list to12465 weight x#配置 segment-list,权重值默认为 1
      index 10 sid label 323212#写出接口标签
      index 20 sid label 323224
      index 30 sid label 323246
      index 40 sid label 323265

2)配置 SR-TE Policy:

  segment-routing
    sr-te policy toNE5 endpoint 10.1.5.5 color 100#配置 sr-te 策略,color 是扩展community,通过 bgp 传递
    candidate-path preference 100#配置候选路径优先级
    segment-list to12465 | weight x#在 sr-te policy 下,调用 te 路径SL,多个 SL 的不同 weight 可实现负载分担 
  dis sr-te policy#查看 sr-te policy
  tracert lsp sr-te policy policy-name toNE5#跟踪一下 sr-te 转发流

3)配置:NE1、5 配置业务IP:Loo1:172.16.x.x/32,配置 BGP:

bgp 15
  router-id 10.1.1.1
  peer 10.1.5.5 as-number 15
  peer 10.1.5.5 connect-interface loo0
  network 172.16.5.5 32
ipv4-family  unicast
  undo sync
  peer 10.1.5.5 enable
dis bgp routing-table
dis ip routing-table 172.16.5.5 verbose#当完成全部配置后,看到接口直接写的是 SR-TE 隧道,而且进了 TunnelID  ,目前还是走的 SR-BE![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0db83d00b04c4cca820b8acf67b960e4.png)

4)现在让流量关联到 TE(引流):

route-policy color permit node 10#创建 route-policy,把颜色挂到扩展属性上去
  apply extcommunity color 0:100
bgp 15
  network 172.16.5.5 route-policy color#在路由宣告上,应用 route-policy
  peer 10.1.5.5 advertise-ext-community#对于对端 BGP peer 宣告扩展属性(if  在 ipv4-family vpn-instance 下,不需要此命令,因为RT、RD值本身就是 extcommunity 属性)
dis bgp routing-table 172.16.5.5 #可看到 extcommunity 带有 color 属性 1:100
route recursive-lookup tunnel#if未配置迭代进隧道,这时配一下
dis tunnel-info all#这时查看隧道,发现NE1到NE5仍然走了BE 隧道,并未走 sr-te policy 隧道,因为未配置隧道策略

5)这时让 NE1 到 NE5 走 SR-TE,需要创建 SR-TE 策略,并应用到迭代进隧道命令上:

tunnel-policy TE#创建 sr 隧道策略
  tunnel select-seq sr-te-policy  load-balance-number 1 unmix#配置 tunnel 隧道走 srtepolicy 隧道,unmix 是仅选择一个隧道工程
  tunnel select-seq lsp | bgp | te | sr-te-policy...#(可选)当有多条隧道时,优选隧道或者做权重负载均衡
route recursive-lookup tunnel tunnel-policy SRTE#在原来的隧道迭代命令上增加 tunnel-policy 参数,走 srte 隧道
dis ip routing 172.16.5.5 verbose可以看到直接走的 sr-te 的策略 toNE5
tracert lsp sr-te policy policy-name toNE5#测试下sr-te流量工程,当配的 segment-list weight 值为 0 时,隧道不可用
ping -a 172.16.1.1 172.16.5.5

三、验证:

1、测试一下 SR-TE 流:

在这里插入图片描述

2、在 NE1 上带源 ping -a 172.16.1.1 172.16.5.5 并在 ethe 3/0/0 下抓包,可以看到,SR-TE 带了三个标签,每过一个路由器弹出一个,到了 NE6,弹出3,直接到 NE5:

在这里插入图片描述
但是在NE5上,回包仍然走了 SR-BE,我们同时在 NE3 的 ethe 3/0/2 上抓包:
在这里插入图片描述

四、详细配置:

NE1:

mpls lsr-id 10.1.1.1
mpls
#               
segment-routing
 ipv4 adjacency local-ip-addr 10.1.12.1 remote-ip-addr 10.1.12.2 sid 323212
 segment-list toNE5
  index 10 sid label 323212
  index 20 sid label 323224
  index 30 sid label 323246
  index 40 sid label 323265
 sr-te policy toNE5 endpoint 10.1.5.5 color 100
  candidate-path preference 100
   segment-list toNE5
#
isis 1
 is-level level-2
 cost-style wide
 network-entity 49.0000.0000.0000.0001.00
 is-name NE1
 segment-routing mpls
 segment-routing global-block 16100 16199
#
interface Ethernet3/0/0
 undo shutdown
 ip address 10.1.12.1 255.255.255.0
 isis enable 1  
#
interface Ethernet3/0/1
 undo shutdown
 ip address 10.1.13.1 255.255.255.0
 isis enable 1
#
interface LoopBack0
 ip address 10.1.1.1 255.255.255.255
 isis enable 1
 isis prefix-sid index 1
#
interface LoopBack1
 ip address 172.16.1.1 255.255.255.255
#
bgp 15
 router-id 1.1.1.1
 private-4-byte-as enable
 peer 10.1.5.5 as-number 15
 peer 10.1.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  network 172.16.1.1 255.255.255.255 route-policy color
  peer 10.1.5.5 enable
  peer 10.1.5.5 advertise-ext-community
#
route-policy color permit node 10
 apply extcommunity color 0:100
#
route recursive-lookup tunnel tunnel-policy TE

NE2:

segment-routing
 ipv4 adjacency local-ip-addr 10.1.12.2 remote-ip-addr 10.1.12.1 sid 323221
 ipv4 adjacency local-ip-addr 10.1.24.2 remote-ip-addr 10.1.24.4 sid 323224#               
isis 1
 is-level level-2
 cost-style wide
 network-entity 49.0000.0000.0000.0002.00
 is-name NE2
 segment-routing mpls
 segment-routing global-block 16200 16299
#
interface Ethernet3/0/0
 undo shutdown
 ip address 10.1.12.2 255.255.255.0
 isis enable 1
#
interface Ethernet3/0/1
 undo shutdown
 ip address 10.1.24.2 255.255.255.0
 isis enable 1
#
interface LoopBack0
 ip address 10.1.2.2 255.255.255.255
 isis enable 1
 isis prefix-sid index 2
#

NE5:

mpls lsr-id 10.1.5.5
#
mpls
#
segment-routing
 ipv4 adjacency local-ip-addr 10.1.56.5 remote-ip-addr 10.1.56.6 sid 323256
#
isis 1
 is-level level-2
 cost-style wide
 network-entity 49.0000.0000.0000.0005.00
 is-name NE5
 segment-routing mpls
 segment-routing global-block 16500 16599
#
interface Ethernet3/0/0
 undo shutdown
 ip address 10.1.56.5 255.255.255.0
 isis enable 1
#
interface Ethernet3/0/1
 undo shutdown
 ip address 10.1.35.5 255.255.255.0
 isis enable 1
#
interface LoopBack0
 ip address 10.1.5.5 255.255.255.255
 isis enable 1
 isis prefix-sid index 5
#
interface LoopBack1
 ip address 172.16.5.5 255.255.255.255
#
bgp 15
 router-id 5.5.5.5
 private-4-byte-as enable
 peer 10.1.1.1 as-number 15
 peer 10.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  network 172.16.5.5 255.255.255.255 route-policy color
  peer 10.1.1.1 enable
  peer 10.1.1.1 advertise-ext-community
#
route-policy color permit node 10
 apply extcommunity color 0:100
#
route recursive-lookup tunnel
#
tunnel-policy TE
 tunnel select-seq sr-te-policy load-balance-number 1 unmix
#

五、简单总结:

SR-BE 使用的是 prefix-sid,SR-TE 使用的是 adjacency-sid,if 要走 SR-TE 控路,需要:

先把路径 segment-list 写出来:

1、启用手工 adj-sid,或者开启了 SR 能力的 IGP 动态产生 adj-sid,写出一条或 N 条 segment-list,把 “路” 写出来,即:把 adj-sid 串成一条 TE adj-sid 链路

再写上路径规则:

1、配 SR-TE Policy,包含:目的地址、颜色、路径优先级、Segment-List 路径

然后,再写两条规则:route-policy 和 tunnel-policy

1、起 route-policy,跟在 BGP IPv4-family unicast 下的路由宣告上,打上 extcommunity 属性:color,让要走 TE 的路由带上 color 属性,只有带了color属性,SR-TE 才会识别到让它进入 TE 隧道
2、起 tunnel-policy,跟在路由迭代的隧道上,指明优先走 TE 路径

即:路由宣告加上 ext-community 的 color 属性,SR-TE 绑定此 color,然后迭代进隧道时,走 SR-TE 的隧道策略


原文地址:https://blog.csdn.net/jiecy/article/details/145267867

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!