为了实现CEF 的交换功能,CEF 将常规路由器中存储在路由高速缓存中的信息转而存储到几种为CEF 专门设计的数据结构中。 为了有效地进行数据包转发,这种数据结构要保证能进行优化的查询。CEF 的2 种主要部件如下 1. 转发信息库CEF 利用转发信息库(FIB)来进行基于IP 目的地前缀的交换决策。FIB 从概念上讲类似于路由表或信息库,它维护着一个IP 路由表中包含的转发信息的镜像。当网络中路由或拓扑结构发生了变化时,IP 路由表就被更新,而这些变化也将反映在FIB 中。FIB 基于IP 路由表中的信息,维护着下一网络段的地址信息。---- 因为在FIB 条目和路由表条目之间有一一对应的关系,所以FIB 中包含了所有已知的路由,这样就不用维护路由高速缓存了,而先前的交换路径(比如快速交换和最优交换)都要维护路由高速缓存。---- 2.邻接表(Adjacency Table)如果网络中的网络节点只通过单独一个网络段就可以穿越链路层而彼此到达对方,那么它们是邻接的。除了FIB 外,CEF还利用邻接表来提供第二层的寻址信息。邻接表为所有FIB 条目维护第二层的下一网段地址。当路由器发现存在邻接时就增加在邻接表中,每次生成一个邻接条目,CEF 会为那个邻接节点预先计算一个链路层头标信息,并把这个头标信息存储在邻接表中。当决定路由时,它就会指向下一网络段以及相应的邻接条目,随后即在对数据包进行CEF 交换时用它来进行封装。
www.easyinlab.com
|