取消
显示结果 
搜索替代 
您的意思是: 
cancel
15015
查看次数
14
有帮助
8
回复

三层交换机的FIB和邻接关系表

0755lws
Level 1
Level 1
基于CEF的MLS,其中的FIB和邻接关系表是不是自动生成的,不需要像传统的MLS一样,需要对第一个数据包进行路由呢?传统的MLS需要对第一个数据包进行一次路由,才能把MLS条目保存在ASIC中。而CEF是不是不用路由,而自动生成FIB和邻接关系表呢?请各位老师指点一下!
8 条回复8

Yanli Sun
Community Manager
Community Manager
帮顶,希望有大咖帮忙解答

0755lws
Level 1
Level 1
再请教各位老师!快速转发表跟FIB,邻接关系表有什么区别?如何查看快速转发表?

0755lws
Level 1
Level 1
再请教 各位老师!快速转发表跟FIB,邻接关系表有什么区别?如何查看?

tripfly
Level 1
Level 1
思科路由器和交换机上默认的转发方式;(无法关闭)
CEF是基于拓扑的转发模型,预先将所有路由信息加入到FIB表;
(Forwarding Information Base,转发数据库),
并将动态更新邻接表中的第二层重写信息;
CEF包括两个重要组件:FIB表和邻接表;
show ip cef detail 查看FIB表;
路由表其实就是RIB(路由信息表)
由于运行了CEF,就称为FIB;
show ip cef 10.1.6.0 detail
查看FIB信息;
FIB是最根本的转发表;
show ip cef exact-route 11.11.11.0 66.66.66.0
查看最精确的路由信息,源目的到目标网段;
CEF可以判断出对端的接口是否在工作,属于一个预写的信息;
FIB基于IP路由表信息,维护着下一个网段的地址信息;
当网络拓扑发生变化时,路由表将被更新,并会在FIB中反映出来;
查看命令:show ip cef detail;
邻接表(adjacency)
如果两个节点在数据链路层只有一跳,则彼此相邻;
除了FIB表,CEF使用邻接关系表存储二层编制信息;
二层信息包括MAC、HDLC、PPP、FR;
邻接表维护所有FIB条目的二层信息;
验证命令:show adjacency detail

Rockyw
Spotlight
Spotlight
CEF 采用一个 4 级每级 256 条通道结构的转发表来指明转发条目的位置,转发表有 next hop 等信
息,涵盖了整个IPv4的地址范围,并有指针指向另一个邻接表。转发条目(MAC地址之类)都存储在一个
单独的邻接表上。这两个表包括了所有的转发信息,而这些转发信息是根据 路由表和 ARP 来构造的。
CEF简化了查询的步骤,提高了单位时间的工作效率。而且从整体上来看, 路由信息和转发信息是分离
的,数据包的转发只根据转发信息而不用参照 路由信息,可以充分利用专用硬件的功能来达到线速转发,
而不受 路由变化或者其他因素的干扰,保证了转发的高速高效。
需要指出的是,CEF的转发信息不是存储在cache里的,因此也不存在过期作废或定时刷新,只有
根据 路由表的变化而进行的更改,通常很稳定。而且转发信息是从 路由信息经过一定处理后转换过来的,
也就是说,如果在转发信息里找不到某个数据包的转发信息,那么也不用费心到 路由那里去了,因为那
里肯定也没有。这个数据包的下场不是被扔掉就是转到其他转发线程中去,转发信息等于是 路由信息针
对于硬件转发的一个变形。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rockyw | If it solves your problem, please mark as answer. Thanks !

Rockyw
Spotlight
Spotlight
1.CEF转发信息库:
CEF利用转发数据库(FIB)来进行基于IP目的地前缀的交换决策。从概念上讲,FIB类似于一个
路由表或信息库,它维护着一个包含 IP 路由表转发信息的镜像。当网络中 路由或拓扑结构发生了
变化时,IP 路由表就被更新,而这些变化也将反映在FIB中。基于IP 路由表中的信息,FIB 维护着
下一跳的地址信息。因为FIB 条目和 路由表条目之间有一一对应的关系,所以FIB中包含了所有已
知的 路由,这样就不用维护 路由高速缓存了,而先前的交换方法(比如快速交换和最优交换)都要维
护 路由高速缓存。

CEF FIB 表由一棵4级层次的树组成,如图所示。4 级来源于IP 议所使用的犯比特地址。层
次的每一级是基于32比特中的8 位。CEF 依赖最长匹配转发算法,这意味着按降序搜索整棵树直
到“最长匹配”,即匹配最大比特数。FIB 树分层表示,树的顶端是最不详细的地址,底端是最详
细的地址。每个叶以8比特为边界,按降序排列更详细的表项。这棵树(通常被认为是一个256 路
的分支树)提供了一种用于快速查找的高效机制,确保查找过程中产生最少的延迟。这棵树也提供
一个高扩展性的体系结构,因为它能以相比与表效率来说最小的性能开销完全统计IPv4 编址。每
个树叶提供了一个到邻近表中相应下一跳表项的指针。
2.邻接表(Adjacency Table)
如果网络中的网络节点只通过一跳就可以穿越链路层而彼此到达对方,那么它们是邻接的。
除了 FIB 外,CEF 还利用邻接表来提供第二层的寻址信息。邻接表为所有 FIB 条目维护第二层的下
一网段地址。
邻接的发现
当 路由器发现存在邻接时就增加在邻接表中,每次生成一个邻接条目(就像 ARP 协议一样),
CEF 会为那个邻接节点预先计算一个链路层头标信息,并把这个头标信息存储在邻接表中。
当决定 路由时,它就会指向下一跳以及相应的邻接条目。随后,在对数据包进行CEF交换时,
用预先生成的头标信息来对数据包进行封装。
分解邻接
一个 路由表中也许存在多条到达目标网络的路径,例如:当 路由器被配置成允许冗余路径和
允许负载均衡时。对于每一个被分解的转发路径,邻接条目会被附加一个头标信息指示出那
条路径的下一跳地址。这种机制可以用来在多条路径上实现负载均衡。
需要作特殊处理的邻接类型
另外,因为邻接条目和下一跳地址相关联,所以一些特殊的邻接类型可以被用来加速交换过
程。前缀被定义后,当存在以下被缓存的邻接条目存在时,前缀需要作特殊处理。
空邻接一个以 Null0 接口为目标地址的包会被抛弃,在访问过滤器时,这可以被用作一种有
效的机制。
邻接归纳
当 路由器直接和几台主机相连时,FIB 表中维持的是这个子网的前缀,而不是各个主机的前
缀。这个子网前缀是一个邻接的归纳。当要转发某个数据包到某个具体主机时,邻接数据库
使用这个被归纳的邻接。
转出邻接
当遇到某些作特殊处理的功能或者 CEF 不支持的功能时, 路由器将采用更高级别的交换方法
处理数据包。
丢弃邻接
数据包被丢弃。这种邻接类型仅仅在Cisco12000系列 路由器上出现。
释放邻接
数据包被释放,但是前缀仍然有效。
没有被分解的邻接
当链路层头标信息被附加到数据包上时,FIB需要头标指出下一跳的地址。如果FIB表中建立
了一个邻接,但是并没有找到第二层的寻址信息,比如没有通过ARP发现第二层的寻址信息,
这个邻接就被认为是不完整的。这个数据包就会交给 路由模块处理,邻接关系由ARP来决定。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rockyw | If it solves your problem, please mark as answer. Thanks !

Rockyw
Spotlight
Spotlight
show ip cef 查看FIB表
show adjacency detail 查看邻接关系表
实际上adj表中的MAC地址,指的是源目MAC地址加上TYPE字段0800
当使用SVI口 网关的时候,MAC地址实际上是BASE的MAC地址加上端口号所形成的端口MAC地址。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rockyw | If it solves your problem, please mark as answer. Thanks !

one-time
Level 13
Level 13
您好,已有用户来解答您的问题啦!若您的问题已解决,快来标记最佳答案吧!
快捷链接