Linux 核心--11.网络( 十 )



每个IP子网用一个 fib_zone 结构来描述 。fib_zone hash表指向着这些结构 。hash索引来源于IP子网掩码 。所有通向同一子网的路由由 fib_node 和 fib_info 结构来描述,这两结构在每个 fib_zone 结构的 fz_list 中排队 。如果这个子网中的路由数增大,则生成一个hash表,以使查找 fib_node 结构更加容易 。

通向同一子网可以有多个路由,这些路由可能通过多个网关中的一个 。IP路由层不允许用同一个网关对一个子网有多于一个的路由 。换言之,如果通向同一子网有多个路由,则每个路由要保证使用一个不同的网关 。与每个路由相关的有一个 metric 结构 。它用来测量该路由有多优 。一个路由的 metric 实质上是它在到达目的子网前所经过的IP子网数 。metric 越大,路由越差 。




--------------------------------------------------------------------------------

脚注:
1 National Science Foundation

2 Synchronous Read Only Memory

3 duh? What used for?

推荐阅读