MPLS中的标签信息库LIB和标签转发信息库LFIB + RIB/FIB + ARP/FDB + CAM/TCAM

来源:互联网 发布:php oop 面向对象手册 编辑:程序博客网 时间:2024/06/06 18:00
 

MPLS中的标签信息库LIB和标签转发信息库LFIB

 

LIB(label Information Base) ,标签信息库

     对路由表中的每一条IGP的IP前缀来说,第一台LSR都会进行本地捆绑,也就是说,为IPv4前缀捆绑标签。然后LSR再将该捆绑的标签分发给所有LSP邻居。这些接收到的标签转换为远程标签。之后邻居将该远程和本地标签存储于一张特殊的表中,这张表就是标签信息库(LIB)。

 

 

 
如上图,路由器B将邻居C和E到X网标签存储到自己的LIB中。

 

 

LFIB 标签转发信息库  label forwarding information base

      在LFIB中,本地捆绑的标签被作为入站标签,通过路由表选择的远程捆绑标签中的一个作为出站标签。因此,当一台LSR收到一个带标签的报文以后,它就(根据LFIB)有能力将为自己分配的入站标签交换为其邻接的下一跳LSR分配的出站标签了。

    LFIB如何形成的?我的理解是,LFIB是CEF中的FIB+标签交换形成的LIB结合而成的(迭代)。

 

其它一些名词术语:

LSR(Label Switching Router),标记交换路由器 

LDP(Label Distribution Protocol),标记分配协议

LSP(Label Switched Path),标记交换路径

FEC(Forwarding Equivalence Class),转发等价类
LER(Label Edge Router),标记边缘路由器
CR-LDP(Constraint Route Label Distribution Protocol),限制路由的标记分配协议

======================================================================================================================


1.RIB与FIB的区别:

RIB:路由表

FIB:转发信息表

FIB表更多是出现在需要快速转发的路由器上,这种路由器上的路由表条目通常都达成千上万条,如果按照传统的检索路由表进行转发的方式,其转发效率很低,FIB表作为路由表的一种精简形式出现,通常只记录常用的表项。当需要选路时,先检索FIB表,如果找不到再检索路由表。

在大部分路由器中,RIB表现为路由表的形式, FIB则表现为高速缓存的形式,此在内容上是路由表的一个子集,是依靠路由表来生成的。

一般来说,FIB是进行高速查找而组织的数据结构(不是简单的把路由表中的内容复制出来,数据存储和检索方式等都不同于路由表的组成像是)。

RIB 就一个字:全,知道到所有的地方怎么走,但是速度慢。

FIB就一个字:快,只知道常走的路怎么走,速度快

 如果是分布式设备,通常FIB分布在LPU上,由LPU上的CPU实现快速选路,如果在LPU找不到路,才上到MPU处理,这里的RIB保存了最全的路由信息,可以提供不常用的选路结果。

 

2.ARP表和FDB表的区别:

ARP表:IP和MAC的对应关系;

FDB表:MAC+VLAN和PORT的对应关系;

 

两个最大的区别在于ARP是三层转发,FDB是用于二层转发。也就是说,就算两个设备不在一个网段或者压根没配IP,只要两者之间的链路层是连通的,就可以通过FDB表进行数据的转发!

FDB表的最主要的作用就是在于交换机二层选路,试想,如果仅仅有ARP表,没有FDB表,就好像只知道地名和方位,而不知道经过哪条路才能到达目的地,设备是无法正常工作的。FDB表的作用就在于告诉设备从某个端口出去就可以到某个目的MAC。

那么FDB表是怎么形成的呢?很简单,交换机会在收到数据帧时,提取数据帧中的源MAC、VLAN和接收数据帧的端口等组成FDB表的条目。当下次有到该VLAN中的该MAC的报文就直接从该端口丢出去就OK了。

当然,FDB表和ARP表一样,都有一个老化时间。


原创粉丝点击