Segment Routing之static-sr-mpls:静态配置Segment配置(下)

简介: Segment Routing之static-sr-mpls:静态配置Segment配置

2、配置节点的邻接路径标签和前缀路径标签


配置VSR1的邻接标签,为下一跳地址12.1.1.2绑定标签16。



#
 static-sr-mpls adjacency adj1 in-label 16 nexthop 12.1.1.2


配置VSR2的邻接标签,为下一跳地址32.1.1.3绑定标签21。



#
 static-sr-mpls adjacency adj2 in-label 21 nexthop 32.1.1.3


配置VSR2的前缀标签,为下一跳地址32.1.1.3、35.1.1.3绑定相同的前缀路径名称、入标签16000、出标签16001,在VSR2和VSR3之间形成负载分担。

#
static-sr-mpls prefix pre1 destination 5.5.5.5 32 in-label 16000 nexthop 32.1.1.3 out-label 16001
static-sr-mpls prefix pre1 destination 5.5.5.5 32 in-label 16000 nexthop 35.1.1.3 out-label 16001

配置VSR3的邻接标签,为下一跳地址192.168.14.1、192.168.15.1分别绑定标签30、31。



#
 static-sr-mpls adjacency adj1 in-label 30 nexthop 192.168.14.1
 static-sr-mpls adjacency adj2 in-label 31 nexthop 192.168.15.1


配置VSR3的前缀标签,为目的地址5.5.5.5绑定标签16001。



#
static-sr-mpls prefix pre1 destination 5.5.5.5 32 in-label 16001


3、创建静态SRLSP


配置VSR1为静态SRLSP的头节点,srlsp1出标签栈为[16,21,30],建立到VSR4的静态SRLSP。



#
static-sr-mpls lsp srlsp1 out-label 16 21 30

配置VSR1为静态SRLSP的头节点,srlsp2的出标签栈为[16,16000,31],建立到VSR5的静态SRLSP。



#
static-sr-mpls lsp srlsp2 out-label 16 16000 31

4、配置MPLS TE隧道


在VSR1上配置到VSR4的MPLS TE隧道Tunnel14:目的地址为VSR4的LSR ID(4.4.4.4);采用静态SRLSP建立MPLS TE隧道,引用的SRLSP为srlsp1。

#
interface Tunnel14 mode mpls-te
 ip address 14.1.1.1 255.255.255.0
 mpls te signaling static
 mpls te static-sr-mpls srlsp1
 destination 4.4.4.4
在VSR1上配置到VSR5的MPLS TE隧道Tunnel15:目的地址为VSR5的LSR ID(5.5.5.5);采用静态SRLSP建立MPLS TE隧道,引用的SRLSP为srlsp2。
#
interface Tunnel15 mode mpls-te
 ip address 15.1.1.1 255.255.255.0
 mpls te signaling static
 mpls te static-sr-mpls srlsp2
 destination 5.5.5.5

5、配置静态路由使流量沿MPLS TE隧道转发


在VSR1上配置静态路由,使得到达网络34.1.2.0/24的流量通过MPLS TE隧道接口Tunnel14转发,到达网络35.1.2.0/24的流量通过MPLS TE隧道接口Tunnel15转发。


#
 ip route-static 34.1.1.0 24 Tunnel14 preference 1
 ip route-static 35.1.1.0 24 Tunnel15 preference 1

验证配置


以VSR1为例,查看路由器MPLS TE隧道的建立情况。

display mpls te tunnel-interface

1677227844712.jpg

在VSR1查看静态SRLSP的建立情况

display mpls lsp

1677227857309.jpg



dis mpls static-sr-mpls lsp

1677227870459.jpg

在VSR2查看静态SRLSP的建立情况

1677227882218.jpg

 

在VSR3查看静态SRLSP的建立情况

1677227887368.jpg

查看系统路由表。

1677227901728.jpg

 

在VSR1上带源地址192.168.11.1访问VSR4的192.168.14.1等地址验证连通性。

1677227906540.jpg

TTL跳数这里和正常转发是一样的,跟之前的隧道好像不太一样。在VSR1和VSR2互联链路上抓个包看一下。

1677227918090.jpg

 

再从VSR2和VSR3互联链路上抓个包看一下。

1677227922752.jpg

报文结构一点没变,看来是控制转发的,traceroute看一下。

1677227937306.jpg

 

还是可以看到第二跳是不一样的,说明确实可以控制报文转发路径。


总结


1、邻接段的入标签值,手册写的取值范围为16~10240,但是设备上可配置的是16~1023,有点出入;前缀段的入标签值,手册写的和设备上可配置的取值范围都是16000~24000,是一样的;


2、mpls-te类型的隧道不做报文的隧道封装,从配置上我们也可以看到,这个隧道仅在源端进行了配置,未在目的端进行配置,所以作用只是指导报文转发,不改变报文结构;


3、添加静态路由时,要注意IS-IS的优先级是15,设置的静态路由优先级要小于15,否则不生效;


4、当采用邻接段方式,静态配置标签转发表项时,设备为与邻接设备相连的链路静态分配入标签。该标签值只在本地有效,不同设备上的Adjacency SID可以相同;当采用前缀段方式,静态配置标签转发表项时,设备根据手工指定的入标签、出标签以及下一跳的对应关系形成本地的标签转发表项。结合配置也可以发现,邻接段方式表项有入标签和下一跳,而前缀段方式有入标签、下一跳和出标签,出标签一般配置为下一跳的SRGB基值+Index,如16001=16000+1。


5、正常来讲,当源节点接收到业务报文后,会为报文封装所经过路径上的标签信息,并通过SRLSP将报文转发给尾节点;尾节点从SRLSP接收到报文后,会剥离报文中的标签,根据原始报文的目的地址查找路由表进行报文转发。这就说明了为什么尾节点VSR4和VSR5不用配置,而源节点VSR1配置的不是出标签、而是入标签了。


相关文章
|
3月前
|
人工智能 架构师 程序员
学历对程序员的深远影响:2025年的现实与思考-优雅草卓伊凡
学历对程序员的深远影响:2025年的现实与思考-优雅草卓伊凡
148 12
学历对程序员的深远影响:2025年的现实与思考-优雅草卓伊凡
|
4月前
|
前端开发
使用 sort-imports 排序规则美化头部 import 代码
这篇文章介绍了如何使用Eslint的sort-imports规则对项目中的import代码进行排序,提高代码可读性。通过安装eslint-plugin-simple-import-sort插件并配置.eslintrc.cjs文件,Eslint将自动对import代码进行排序。
120 0
使用 sort-imports 排序规则美化头部 import 代码
|
7月前
|
人工智能 自然语言处理 测试技术
UGMathBench:评估语言模型数学推理能力的动态基准测试数据集
近年来,人工智能蓬勃发展,自然语言模型(LLM)进展显著。语言模型被广泛应用于自动翻译、智能客服、甚至医疗、金融、天气等领域。而研究者们仍在不断努力,致力于提高语言模型的规模和性能。随着语言模型的蓬勃发展,评估一个语言模型的性能变得越来越重要。其中一个重要的评估指标,就是衡量语言模型的推理能力和解决数学问题的能力。
360 38
|
10月前
|
JavaScript NoSQL 关系型数据库
当下弹幕互动游戏源码开发教程及功能逻辑分析
当下很多游戏开发者或者想学习游戏开发的人,想要了解如何制作弹幕互动游戏,比如直播平台上常见的那种,观众通过发送弹幕来影响游戏进程。需要涵盖教程的步骤和功能逻辑的分析。
|
分布式计算 负载均衡 API
微服务架构设计原则与模式
【8月更文第29天】随着云计算和分布式计算的发展,微服务架构已成为构建大型复杂应用的一种流行方式。这种架构模式将单个应用程序分解成一组小型、独立的服务,每个服务运行在其自己的进程中,并通过轻量级机制(通常是HTTP资源API)进行通信。本文将探讨微服务架构的基本设计原则、常用模式以及如何有效地划分服务边界。
943 3
|
存储 数据可视化 项目管理
Heptabase 替代指南:免费知识管理工具分享
如果你还在找知识库管理软件,试试这5款可以替代heptabase 的免费工具。
701 1
Heptabase 替代指南:免费知识管理工具分享
|
IDE JavaScript Java
Processing介绍及几个python模式下的案例
该文章介绍了Processing这一开源编程语言和环境,主要用于视觉艺术和设计领域,并提供了Python模式下的编程案例。
645 5
|
网络协议 安全 Unix
6! 用Python脚本演示TCP 服务器与客户端通信过程!
6! 用Python脚本演示TCP 服务器与客户端通信过程!
372 1
|
Java 前端开发 JavaScript
网盘系统|基于SpringBoot的网盘系统的设计与实现(二)
网盘系统|基于SpringBoot的网盘系统的设计与实现
377 0
网盘系统|基于SpringBoot的网盘系统的设计与实现(二)
|
canal SQL 消息中间件
Mysql和ES数据同步方案汇总
Mysql和ES数据同步方案汇总
1863 0
Mysql和ES数据同步方案汇总