首页 > 代码库 > rib fib arp fdb
rib fib arp fdb
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表一样,都有一个老化时间。
rib fib arp fdb