梅利333

从无到有,自有至精

导航

MPLS-5 路由汇总对MPLS的影响

路由汇总对MPLS的影响

 

我们来详细的解读一下,其实很好理解,这个和LDP的标签捆绑有着密不可分的原因,

因为LDP协议会为本地所产生的路由条止捆绑标签,然后,汇总条目同样是本地产生的,

那么它在往外发的时候,要么是implicit-null 要么是explicit-null,反正就是空。

 

 

 

 解:

如上图所示:

控制层面

1 RE有一条更新,发送给RD,而此时标签为POP,弹出,这个没有问题

2 RD收到以后,再传给RC时,会为此条路由捆绑上一条本地的标签,55

3 RC收到以后,再传给RB,同样会捆绑上一条本地标签44

4 RB收到以后,同样会传给RA。

这是一个标签的MPLS的控制层面过程,

 

但是现在问题来了,

现在在RC上对这个条目进行汇总,看看会发生什么?

 

1 RC会发送自己的汇总条目,并且压上标签为POP,发送给RB,

2 RB发送这个汇总条目给RA, 压入标签23

 

数据层面 

看看数据是怎么走的吧

RA访问10.1.1.0/24这个目标是这样的,

1 RA查自己的FIB表,一看,需要impose 标签值为23,好,走你

2 RB收到以后,一看是个标签包,那么查自己的LFIB表,23 对应的OUTgoing 动作是POP,

那就直接弹出,变成了IP包,直接发给RC,

3 RC收到这个IP包以后,查看自己的FIB表,一看是去往RE的,但是需要impose 标签,值 为44,,又查看了一下LFIB表,好走你44--55 走你

4 RD查LFIB表,55---POP,好,转出去

5 RE,最终才到达了目标主机RE的相连网段。

 

由此可以看出一个问题

在整个MPLS域中,数据走的并不是很顺畅, 由于做了路由汇总,导致RC再次进行标签捆绑分发,

 

所以说,在MPLS的网络环境中,除了在边界设备上做汇总,中间的设备上最好不要做汇总。因为会造成一些意想不到的后果。

我们用一个实例来看一下

 

 

 全网运行EIGRP,以及MPLS,

在R5上宣告一条路由,10.1.1.0/24

然后在R3上的F0/0接口方向进行路由汇总,

我们来查看一下R3的mpls ldp bindings

 

 

 可以看到,10.1.1.0/24的条目本地捆绑标签为304,来自于邻居4.4.4.4通行的标签为405

 

 

 当有数据经过R3时,会查询FLIB表,入站为304,出站为405,直接进行标签转发

 

机智的你是否发现了一个小细节,

在R3上还有一个路由前缀

 

 

 10.1.0.0/16,本地捆绑的标签类型为隐含空,什么意思?

这是一条本地所产生的路由,肯定要被这样标记的,无可厚非。

 

那么既然R3这样标记了,在R2上会是什么样呢?

还可以看到原来的10.1.1.0/24吗?

我猜应该是看不到的,为什么?

这取决于IGP协议进行了汇总,所以你根本就看不到/24的,只能看到/16的

 

本地207,outgoing 动作为Pop,弹出,有点儿意思,

执行了PHP次末跳弹出,

 

到底是怎么回事儿呢?

咱们tracert 一下看看,数据包倒底是怎么走的吧

 

 

 看到在经过R3时,进行了一次拆标签,IP包转发

 如果我们把汇总关掉呢?

来看一下

 当我把R3上的路由汇总手动关闭后,就出现了这样的现象,直接走的都是MPLS标签交换。

 

 

 所以说,在MPLS的环境中,在一些中间设备上最好不要进行路由汇总!!!!

如果是这种单纯的环境中没有任何的影响,可以通信,但如果是MPLS  VPN 的情况,将会是致命的,因为没有标签将无法在vpnv4的通道中被传输

 

 

 

--------------------------------

CCIE成长之路 --- 梅利

 

posted on 2020-09-24 10:19  梅利333  阅读(821)  评论(0编辑  收藏  举报