且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《OSPF和IS-IS详解》一2.8 路由选择信息库

更新时间:2021-11-29 18:55:13

本节书摘来异步社区《OSPF和IS-IS详解》一书中的第2章,第2.8节,作者: 【美】Jeff Doyle 译者: 孙余强 责编: 傅道坤,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.8 路由选择信息库

BGP设计与实现
如前面章节“比较控制层面和转发层面”所提到的一样,IP RIB,或者称为IP路由选择表,是一个十分关键的数据库,它为控制层面和转发层面之间提供了重要的联系。一方面,不同的路由选择源,或路由选择协议,例如BGP和IS-IS,都将它们的路径加载到RIB中。另一方面,RIB为创建转发数据库(一些交换方法直接使用RIB进行数据转发)提供信息。

当每一种路由选择协议接收路由更新或者其他信息时,它会选择到达任何给定目的地的***路径,并尝试把这条路径安装到路由选择表中。当多条到达同一条前缀/掩码的路径存在时,路由器会根据该协议所涉及的管理距离来决定是否安装路由。IOS已经为不同的路由选择协议,或路由选择源预先定义了管理距离,但这些管理距离是可以被配置的。来自于较低管理距离的路由选择源的前缀优先。备份路由仍然被路由选择协议所维持——如果路由选择协议支持的话——当已存的***路由失效时,备份路由可以被用作***路由。

注意:

当BGP在IP RIB中安装路由失败时,将会在路由器的BGP RIB中报告一条RIB失败的消息。失败的代码将标识出原因。请查阅附录B以了解更多的信息。

IP RIB被组织成网络描述符块(Network Descriptor Block,NDB)的集合。每一个NDB就是路由选择表中的一个表项,它代表了通过下列3种来源之一获取的网络前缀:

  • 在路由器的本地接口上配置的一个地址/掩码对。这样就成为一条直连路由,它具有最高的优先级,或者说它的管理距离为0。
  • 在路由器上配置的静态路由。静态路由的默认管理距离是1。
  • 动态路由选择协议,例如BGP。

NDB包含的信息有网络地址、掩码、管理距离,还有动态路由选择协议操作所需要的信息,例如路由重分布。因为NDB中的每一条前缀可能通过多条路径到达,因此也使用了路由选择描述符块(Routing Descriptor Block,RDB)。每一个NDB可以连接一个或多个RDB,这些RDB存储了实际的下一跳信息。当前,一个NDB最多可以连接8个RDB,这些RDB设定了基于每目的地(per destination)的负载分担链路数目的上限(也就是8条)。注意到,由于NDB受单个路由选择协议的控制,因此路由选择协议就决定了每个NDB可以关联多少个RDB。

包转发数据库是根据IP RIB和IP ARP表中所包含的信息创建的。在RIB表中执行前缀查找就确定了下一跳地址和出站接口(outgoing interface)。实际的第2层数据帧的头部是基于IP ARP表中的信息创建的。帧中继和ATM映射是另外一些例子,它们使用第3层地址到第2层地址映射的方法。Cisco IOS软件支持两种普通的RIB查找操作(译者注:建议读者参阅Cisco文档http://www.cisco.com/
en/US/tech/tk365/technologies_tech_note09186a0080094823.shtml):

  • 无类(classless)——最长匹配前缀查找。如果没有找到匹配的前缀,就使用默认路由;如果有,就使用它。从Cisco IOS软件版本11.3开始就使用默认的IP无类查找了(虽然它仍然显示在运行配置中)。
  • 有类——最长匹配查找。如果路由选择表包含了目的主网络(major network)(由目的地址解析出的有类网络)的子网,那么将不考虑选择超网(supernet)和默认路由。