MPLS小实验:利用LDP动态建立LSP

发布时间:2021-11-26 13:25:21 作者:衡水铁头哥阅读:0

[导读]:通过上个实验(MPLS小实验:静态建立LSP),我们知道静态LSP不依靠标签分发协议,而是在报文经过的每一跳设备(包括Ingress、Transit和Egress)上手动指定标签、标签等信息,建立标签...

通过上个实验(MPLS小实验:静态建立LSP),我们知道静态LSP不依靠标签分发协议,而是在报文经过的每一跳设备(包括Ingress、Transit和Egress)上手动指定标签、标签等信息,建立标签转发项目,这样建立LSP。

手工方式建立静态LSP消耗的资源较少,但静态LSP不能根据网络拓扑的变化进行动态调整。一般来说,静态LSP适用于拓扑结构简单稳定的小型网络。

与MPLS相关的协议主要是RFC3031(MPLS:多协议标签交换架构)和RFC3032(MPLS 标签栈编码)。从协议中,我们还发现可以利用LDP(Label Distribution Protocol,标签分发协议)用来动态建立LSP。使能LDP后,LSR可以把网络层的IP路由信息映射到MPLS的标签交换路径上,即将路由表项中的路由引入至LDP,并根据其目的网络地址划分FEC,实现LSP根据网络拓扑变化动态调整,从而适应更大型的网络。

通过在LSR上配置LSP触发策略,可以限制哪些引入到LDP的路由表项能够触发LDP为其目的网络地址分配标签并建立LSP,从而控制LSP的数量,避免LSP数量过多导致设备运行不稳定。

对于引入到LDP的路由表项,LSP触发策略包括:

1、所有路由表项都会触发LDP建立LSP。

2、利用IP地址前缀列表对路由表项进行过滤,只有匹配IP地址前缀列表的路由表项才能触发建立LSP。

3、只有32位掩码的IPv4主机路由或128位前缀的IPv6主机路由能够触发LDP建立LSP。

组网需求

RT1-3均支持MPLS,在RT1到RT3之间建立静态LSP,使11.1.1.0/24和33.1.1.0/24这两个网段中互访的报文能够通过MPLS进行传输。

RT1、RT2和RT3上只允许目的地址为1.1.1.1/32、2.2.2.2/32、3.3.3.3/32、11.1.1.0/24和33.1.1.0/24的路由表项触发LDP建立LSP,其他路由表项不能触发LDP建立LSP,以避免建立的LSP数量过多,影响设备性能。

组网图

利用LDP动态建立LSP配置组网图。

MPLS小实验:利用LDP动态建立LSP

实验环境

Windows 10专业版(1909-18363.1556,16 GB内存)

HCL 3.0.1

MSR 36-20(Version 7.1.064, Release 0821P11)

配置步骤

首先按照组网图所示配置各接口的IP地址和掩码,并在RT1、RT2和RT3上配置OSPF,实现各路由器之间路由可达。

RT1

和静态配置LSP相比,到达44.1.1.0/24网段的路由会从OSPF动态学习到,无需额外配置。首先使能设备和互联接口的MPLS和LDP功能。

#

mpls lsr-id 1.1.1.1

#

mpls ldp

#

interface GigabitEthernet0/1

 ip address 12.1.1.1 255.255.255.0

 mpls enable

 mpls ldp enable

创建IP地址前缀列表rt1对路由表项进行过滤,创建节点以匹配目的地址为1.1.1.1/32、2.2.2.2/32、3.3.3.3/32、11.1.1.0/24和33.1.1.0/24的路由表项,并配置只有匹配IP地址前缀列表的路由表项才能触发LDP建立LSP。

#

ip prefix-list rt1 index 10 permit 1.1.1.1 32

ip prefix-list rt1 index 20 permit 2.2.2.2 32

ip prefix-list rt1 index 30 permit 3.3.3.3 32

ip prefix-list rt1 index 40 permit 11.1.1.0 24

ip prefix-list rt1 index 50 permit 33.1.1.0 24

#

mpls ldp

 lsp-trigger prefix-list rt1

RT2

如果是手工配置静态LSP,那么RT2是transit节点,和RT1配置存在明显差异。但在使用LDP时,除了RT1连接业务的接口无需使能MPLS之外,其他配置没有差异。直接上配置。

#

sysname RT2

#

ospf 1 router-id 2.2.2.2

 area 0.0.0.0

 network 2.2.2.2 0.0.0.0

 network 12.1.1.0 0.0.0.255

 network 23.1.1.0 0.0.0.255

#

mpls lsr-id 2.2.2.2

#

mpls ldp

lsp-trigger prefix-list rt2

#

interface LoopBack0

 ip address 2.2.2.2 255.255.255.255

#

interface GigabitEthernet0/0

 ip address 12.1.1.2 255.255.255.0

 mpls enable

 mpls ldp enable

#

interface GigabitEthernet0/1

 ip address 23.1.1.2 255.255.255.0

 mpls enable

 mpls ldp enable

#

ip prefix-list rt2 index 10 permit 1.1.1.1 32

ip prefix-list rt2 index 20 permit 2.2.2.2 32

ip prefix-list rt2 index 30 permit 3.3.3.3 32

ip prefix-list rt2 index 40 permit 11.1.1.0 24

ip prefix-list rt2 index 50 permit 33.1.1.0 24

RT3

RT3和RT1的角色是一样的,配置也相近,直接上配置。

#

sysname RT3

#

ospf 1 router-id 3.3.3.3

 area 0.0.0.0

 network 3.3.3.3 0.0.0.0

 network 23.1.1.0 0.0.0.255

 network 33.1.1.0 0.0.0.255

#

mpls lsr-id 3.3.3.3

#

mpls ldp

 lsp-trigger prefix-list rt3

#

interface LoopBack0

 ip address 3.3.3.3 255.255.255.255

#

interface GigabitEthernet0/0

 ip address 23.1.1.3 255.255.255.0

 mpls enable

 mpls ldp enable

#

interface GigabitEthernet0/1

 ip address 33.1.1.1 255.255.255.0

#

ip prefix-list rt3 index 10 permit 1.1.1.1 32

ip prefix-list rt3 index 20 permit 2.2.2.2 32

ip prefix-list rt3 index 30 permit 3.3.3.3 32

ip prefix-list rt3 index 40 permit 11.1.1.0 24

ip prefix-list rt3 index 50 permit 33.1.1.0 24

验证配置

配置完成之后,从PCB向PCA发起访问,可以看到能够正常访问。TTL值为252,说明中间经过了3台设备,和实际情况相符合。

MPLS小实验:利用LDP动态建立LSP

抓包查看,从RT3发出的报文如下。

MPLS小实验:利用LDP动态建立LSP

还记得上个实验中H3C设备Egress节点能配置的入标签的取值范围吗?是16-1023,这个标签24126超过了这个范围,那就只能理解为标签值1024-1048575这个范围是留给自动生成的标签值的了。关于LDP生成标签的详细方式,有兴趣的小伙伴可以查阅RTC5036。

RT2发出的报文如下,标签值同样为24126,TTL为253。

MPLS小实验:利用LDP动态建立LSP

查看RT1设备上的路由信息。

MPLS小实验:利用LDP动态建立LSP

查看RT1设备上LDP LSP的建立情况。

MPLS小实验:利用LDP动态建立LSP

查看RT2设备上LDP LSP的建立情况。

MPLS小实验:利用LDP动态建立LSP

从这里我们可以看到RT3到两个业务网段的进出标签是一样的,和抓包看到的一致。

查看RT3设备上LDP LSP的建立情况。

MPLS小实验:利用LDP动态建立LSP

在手工配置静态LSP实验中,因为没有路由,终端PCA是不能ping通Transit节点的地址的,现在有路由了会怎么样呢?

MPLS小实验:利用LDP动态建立LSP

我们发现PCA可以ping通RT2的环回口地址,但这不是重点,我们来看抓包。

MPLS小实验:利用LDP动态建立LSP

可以看到,请求包还是正常的封装。

MPLS小实验:利用LDP动态建立LSP

但是回包就有MPLS标签了。

我们再去测试一下用PCA去ping测试RT3的环回口地址。

MPLS小实验:利用LDP动态建立LSP

可以看到从RT1发出的报文这次有了MPLS标签。

MPLS小实验:利用LDP动态建立LSP

并且回包也是带MPLS标签的。

再看一下从RT2发出的报文。

MPLS小实验:利用LDP动态建立LSP

标签又没有了。

MPLS小实验:利用LDP动态建立LSP

回包又有MPLS标签了。

怎么回事?想明白了吗?

MPLS小实验:利用LDP动态建立LSP

看这里,我们从设备查看LDP的LSP时,有使用保留的标签值3,什么意思呢?就是配置启用了倒数第二跳弹出标签的功能。也就是说,RT2这个LSR发现下游LSR通告的标签为隐式空标签3时,它并不用这个值替代栈顶原来的标签,而是直接弹出标签,并将报文转发给RT3(即Egress)。

同样,从RT1上通过ping mpls ipv4命令用来检测IPv4地址前缀类型MPLS LSP的连通性。

MPLS小实验:利用LDP动态建立LSP

再看一眼MPLS ECHO的报文。

MPLS小实验:利用LDP动态建立LSP

可以发现,这是一个UDP封装的ICMP报文,内层封装的报文的TTL值为1,目的地址是127.0.0.1,最内层封装的目的地址为3.3.3.3/32,也就是说报文到达最终设备之后,设备上在这个网段的接口地址会响应这个ICMP报文。

关于Router Alter,就不展开介绍了,有兴趣的小伙伴可以查看RFC2113(IP 路由器告警选项)。

我们可以把RT3接口G0/1的地址改为33.1.1.3/24试一下。

MPLS小实验:利用LDP动态建立LSP

可以看到,当目的地址是接口地址和网段时,均能正常响应,能发现响应的IP地址是33.1.1.3,知道了这个操作,那我们是不是可以跨三层探测互联地址了呢?

以上就是MPLS小实验:利用LDP动态建立LSP的介绍。如果你还有其他问题,欢迎进行咨询探讨,希望VeCloud的专业的解决方案,可以解决你目前遇到的问题。微云网络提供全球主机托管、服务器租用、MPLS专线接入、SD-WAN组网等方面的专业服务,资源覆盖全球。欢迎咨询。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

标题:MPLS小实验:利用LDP动态建立LSP

TAG标签:MPLS

地址:https://www.kd010.com/hyzs/471.html

上一篇:中国移动6万端SD-WAN设备采购开标,2家入围
下一篇:MPLS:多协议标签交换架构

Vecloud云网络解决方案

点击获取方案

返回顶部