路由表 (RIB) 與轉發表 (FIB)

參見
http://aftabsiddiqui.com/index.php/ip-routing-table-rib-and-forwarding-table-fib/


路由表 (Routing Table, Routing Info Base) 和轉發表 (Forwarding Info Base) 是兩種不同的表。它們共享相同的信息,但是用於不同的目的。

RIB vs FIB

RIB 路由表

RIB 存儲所有的路由信息。它與具體的路由協議無關。所有的路由協議都在這裏保存它們的路由。只要路由器上運行的路由協議學到了新路由,就都會放到路由表中。

當目標地址不可達時,對應的路由條目先被標記爲 Unreachable,然後就從 RIB 中刪除。

注意:RIB 不是用來進行 IP 包轉發的,也不會被宣告到網絡中。

總之,RIB 中:

有所有通過動態路由協議學到了路由條目
有所有的直連網絡
有另外配置的路由條目,如靜態路由

理想狀態下,我們應用 RIB 來轉發 IP 包。但實際上,路由表中的一些條目,比如靜態和 BGP 路由,它們的下一跳並不是一個直連的網絡。

爲了找到有效的下一跳,路由器必須進行遞歸查找,找到實際直連出口。

FIB 轉發表

Forwarding Information Base 轉發表 (FIB) 用於判斷基於 IP 包的網絡前綴,如何進行轉發。

對於每一條可達的目標網絡前綴,FIB 包含接口標識符和下一跳信息。 FIB 概念上類似於路由表。它維護一份 RIB 表中的轉發信息鏡像。

當 IP 路由從 RIB 拷貝到 FIB 時,它們的下一跳信息被明確地分析出來,包括下一跳的具體端口,以及如果到下一跳有多條路徑時,每條路徑的具體端口。

FIB 表中的條目數也是影響路由器性能的重要因素。通常來講,FIB 條目越多,查找花費的時間越長。但由於基於 ASIC 芯片的轉發技術日臻成熟,目前的查找轉發幾乎能達到線速。

瞭解路由器 FIB 最大條目數十分重要,但廠商一般不會在產品指標說明中提供 FIB 的大小限制。

路由器構建 FIB 需要一定的時間。它需要先接收路由信息包,建立路由表,選路,建立轉發表並把轉發表的適當的子集推送到一些線卡上,只減少路由器 CPU 到線卡的壓力。

對於特別大的 FIB 整個過程會需要大約幾分鐘。如 RFC 3222 所提及。

這種 RIB 加 FIB 的結構,使用控制平面的 RIB 和轉發平面的 FIB 分離。這種分離使路由器的性能更加有連續性。

因此,以後再衡量路由器或三層交換機時,一定要檢查路由表和 FIB 表的大小。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章