MPLS-聚合路由对LSP的破坏--高级feature

简介:

Technorati 标签: MPLS,CCIE,聚合,agg,LDP

 

一个FEC,只会为同一个路由分配标签.

同一个路由的含义:相同的前缀,相同的掩码.

那么有一个比较典型的情况会破坏这个规则:汇总。

过来的时候是明细,分发出去是汇总.虽然符合路由查找的规律,大网段包含小网段,可是对于FEC来说,是破坏了FEC的模型。

路由汇总在MPLS域内:

在下面这个汇总的图中来说.C是汇总点.

clip_image002

路由汇总,会破坏MPLS域内不是同一条路由(前缀/掩码绝对相同)

汇总以后,以汇总点为中心,一条FEC会被分割成两端.

在上面的图中,从Router E传回来一个路由. 10.1.1.0/24, 24位的掩码,传到D,最后传到C,这个时候C做一个汇总,汇总成/16位的掩码从C通告给B,B再给A.前提是C只发送汇总路由,抑制明细路由.

这样,这个LSP已经被破坏成了两段.

最终,数据流在MPLS域中转发,由一条LSP变成了两条LSP.以router C为分界点.

非链路聚合,一条完整FEC路径的情况:

下面这个拓扑图,R4 有一个环回口.44.1.1.1/32

R5也有一个环回口:55.1.1.1/32

期间,R4,R1,R2,R3,R5,所有设备对该两条路由的认识都是一样的(掩码相同,前缀相同)

这样才能形成一个完成FEC链路的先决条件.

clip_image004

从R4到R5是一条路径,可以通过traceroute来进行查看:

clip_image006

从traceroute的结果来说,对于R4上面的55.1.1.1,R1分配的标签是102.

R2为55.1.1.1分配的标签是202.

R3为55.1.1.1分配的标签是302.

R5上面,因为55.1.1.1/32是直连,分配的标签是implict-null(3), 一个空标签.

所以traceroute的路径是:

label: 102-->202-->302-->(3)implict-null

这里整条路径是一条路径.没有做链路聚合.

链路聚合,一条不完整FEC路径的情况:

下面这个拓扑图,R4 有一个环回口.44.1.1.1/32

R5也有一个环回口:55.1.1.1/32

现在,R1,2,3,4,5,中间我们做一个路由聚合,让大家5台设备对这个前缀的认识不统一,看看会有什么样的情况发生.

最终选定R2做一个路由汇总.把/32位的路由汇总成/24位.

OSPF在同一个区域是不能做汇总的,所以环境需要稍微改造一下,R2--R3--R5属于区域1中.

clip_image008

在R2上面的ospf进程中,对area1进行一个55.1.1.1/32--->55.1.1.0/24的路由汇总.

最终通告给R1和R4,意思是R1和R4上面学习到的路由针对于55.1.1.0/24是24位的掩码,而不是32位的。

最终,R4 traceroute 55.1.1.1的结果是:

clip_image010

这里可以看到R4的数据包到了R1,R1对55.1.1.0/24分配的标签是100.

当数据包到了R1以后,R2因为55.1.1.0/24是直连,所以分配的是空标签给R1.R1将100标签移除.将IP报文送给R2.

R2拿到这个IP报文,经过查询,目的是55.1.1.1,他上面有55.1.1.1/32的路由,R3会为这个前缀分配一个标签30x给R2.

这个时候R2再将这个IP报文压入标签30x,然后进入MPLS转发流程.

R2压入30x的标签进入该报文,送到R3,因为R5上面55.1.1.1/32是直连路由,R5会分配空标签(3)给该前缀,并且将(3)分发给R3.

所以该MPLS包送到R3的时候,R3会移除之前的30x,然后剥离标签,直接发送IP报文给R5.

所以本身一段完整的LSP,最后被分割成了两断。

以R2为分界点.

下面是整个标签准发的整个流程:

clip_image012

最后,再来整理一下标签分发的过程:

1,R4始发该报文:

R4上面,路由表中对于55.1.1.x/24是24位的,因为R2做了area1的汇总,不会有明细32位的路由:

clip_image014

在R4上面,outgoing的标签应该是R1针对55.1.1.0/24分配过来的:

clip_image016

这样,IP包进入R4,然后R4 PUSH进一个100的标签.将该MPLS报文转发给R1.

2, R1转发MPLS报文.

R1上面对于55.1.1.0/24的路由前缀,是由R2分配的标签.

因为55.1.1.0/24是由R2产生的,也可以认为是R2的直连路由,所以R2会分配一个空标签给R1.

R1现在收到标签为100的MPLS报文,会做的动作是pop弹出该标签.

clip_image018

因为R1为55.1.1.0/24分配的是一个(3),隐式空标签.

所以R1收到了相关的100标签的报文,直接弹出,然后通过接口eth0/0发送给R2.

==============至此,第一个LSP已经完毕了===========================

==============下面是第二条LSP====================================

3, R2收到IP报文,继续PUSH然后转发MPLS报文给R3.

R2这个时候收到一个报文,目的地址是55.1.1.1.

IP进,MPLS出,应该查询cef表:

clip_image020

R3为55.1.1.1/32路由前缀分配的标签是302.R2会将302作为出口PUSH进入那个IP包.然后通过e1/0转发给R3.

4, R3收到MPLS报文,pop掉标签,纯IP转发给R5.

因为55.1.1.1/32是R5的直连路由,所以R5会分配空标签(3)给LDP邻居R3.

MPLS进,mpls出,查看R3的标签转发表:

clip_image022

当R3收到标签是302的MPLS报文,会pop掉标签,然后通过Et0/0发送纯IP报文给R5.

最终R5收到了相关IP报文,本地直连路由。单向通讯搞定。

所以最终的测试结果是:

clip_image024


本文转自 hny2000 51CTO博客,原文链接:http://blog.51cto.com/361531/1699680

相关文章
|
4月前
|
负载均衡 算法 定位技术
【专栏】思科私有动态路由协议:EIGRP,一种由Cisco开发的混合路由协议,结合了距离矢量和链路状态协议的优点,提供无环路路由和快速收敛
【4月更文挑战第28天】EIGRP,一种由Cisco开发的混合路由协议,结合了距离矢量和链路状态协议的优点,提供无环路路由和快速收敛。它支持带宽和延迟的度量,实现多路径负载均衡。配置EIGRP涉及启动协议、声明网络和调整参数。在实际应用中,如中型企业网络,EIGRP确保数据通信顺畅,适应网络扩展和变化,展现其高效和灵活的性能。
74 1
|
4月前
|
网络协议 Linux 网络架构
【Cisco Packet Tracer】验证聚合了不存在的网络导致的路由环路问题
【Cisco Packet Tracer】验证聚合了不存在的网络导致的路由环路问题
67 0
|
网络协议 数据库 数据安全/隐私保护
OSPF基础(二):OSPF区域、router-ID、度量值、修改度量值的方法、OSPF协议报文类型、OSPF邻接关系建立过程
OSPF基础术语讲解、OSPF区域、router-ID、度量值,OSPF度量值的计算方式、修改方式。 OSPF协议报文类型,OSPF三大表项-邻居表,常用的ospf查看方式,邻接关系的建立过程。
OSPF基础(二):OSPF区域、router-ID、度量值、修改度量值的方法、OSPF协议报文类型、OSPF邻接关系建立过程
|
负载均衡 网络协议 算法
在隧道中使用 IPv6 流标签进行等价多路径路由和链路聚合
本文档是 Internet 工程任务组 (IETF) 的产品。它代表了 IETF 社区的共识。它已接受公众审查,并已获互联网工程指导小组 (IESG) 批准出版。有关 Internet 标准的更多信息,请参见 RFC 5741 的第 2 节。
189 0
在隧道中使用 IPv6 流标签进行等价多路径路由和链路聚合
|
网络协议 算法 数据库
三十五、OSPF协议的链路状态算法
三十五、OSPF协议的链路状态算法
三十五、OSPF协议的链路状态算法