思科快速轉發機制(CEF-Cisco Express Forwarding)

CISCO CEF(Cisco特快交換) 解釋:
CEF採用一個4級每級256條通道結構的轉發表來指明轉發條目的位置,轉發表有next hop等信息,涵蓋了整個IPv4的地址範圍,並有指針指向另一個鄰接表。轉發條目(MAC地址之類)都存儲在一個單獨的鄰接表上。這兩個表包括了所有的轉發信息,而這些轉發信息是根據路由表和ARP來構造的。
CEF簡化了查詢的步驟,提高了單位時間的工作效率。而且從整體上來看,路由信息和轉發信息是分離的,數據包的轉發只根據轉發信息而不用參照路由信息,可以充分利用專用硬件的功能來達到線速轉發,而不受路由變化或者其他因素的干擾,保證了轉發的高速高效。

CEF轉發提供3張表
1>FIB:從路由選擇表中拷貝過來的轉發信息,包括路由選擇表中用於轉發路由分組所必須的最少信息。
2>鄰接表:維護一個鄰接節點以及他們相關的2層MAC重寫或嚇一跳信息數據庫
3>NetFlow Table:用於統計網絡數據等

它的高速表現在以下兩個方面:
1>在查詢方式上簡化了步驟,提高了速度;
2>在分離了路由和轉發功能。

CEF轉發過程

image

3層包從TCAM開始查找;進行最長匹配,得到鄰居信息,改寫原有二層數據幀(下一跳MAC地址)並轉發。
CEF表是從路由表得來,鄰居表是使用ARP解析得來的。

CEF多層交換的過程:

image

左側MAC-M(MAC地址)是SW。右側的MAC-M是SW。
如果目的IP地址的MAC不在鄰居表內,則SW將使用ARP進行解析,以得到目的地址的MAC地址。

ARP Throttling(ARP抑制):在未獲得目的MAC地址並且進行ARP解析時,除非ARP解析完成並且在鄰居表體現出來外,在解析期間,所有發往目的主機的包,將被丟棄,這就是ARP抑制。(FIB最多支持6個到達同一目的的鄰居條目)

image

CEF模式
CEF的操作模式有2種,即集中CEF模式和分散CEF模式。
可以通過其中的任意一種來啓用CEF,同一時刻用戶只能使用其一種模式。

集中CEF模式 當啓用集中CEF模式時,CEF的FIB和鄰接表駐留在路由處理器中,路由處理器來執行快速轉發。對於CEF交換來說,當線路卡不可用時,或者需要使用的功能與分散CEF交換不兼容時,就可以使用集中CEF模式。
分佈CEF模式當啓用分佈式CEF(dCEF)時,線路卡(例如VIP線路卡或者GSR線路卡)維護着一個與FIB和鄰接表相同的拷貝。線路卡在端口適配器之間執行快速轉發,這樣,在進行交換操作時就無須RSP的參與了。dCEF使用一個“內部過程通信”(Inter ProcessCommunication,IPC)機制,在路由處理模塊和線路卡上,保證FIB和鄰接表的同步。
在Cisco12000系列路由器中,線路卡負責執行CEF交換。在其他路由器中,或許您使用的不是同一種類型的線路卡,有可能某個接口卡不支持CEF交換。
當某個不支持CEF交換的線路卡收到數據包時,它將數據包轉發給更高的交換層(比如路由處理模塊)或者把數據包轉發給下一跳處理。這種機制允許舊的接口模塊和新的接口模塊並存。

1.Cisco12000系列千兆交換路由器上只運行dCEF模式。
2.一個VIP卡上不允許同時運行分佈式CEF交換和分佈式快速交換。
3.Cisco7200系列路由器不支持分佈式CEF交換。
附加的新功能 在配置集中模式CEF和分佈模式CEF時,您還可以配置以下功能:
1>分佈式CEF支持訪問控制列表
2>分佈式CEF支持幀中繼包
3>分佈式CEF支持數據包分片
4>支持基於每一個包或者每一個目標的負載均衡
5>支持網絡計費,可以收集數據包的個數和字節數
6>分佈式CEF支持跨隧道的交換

Cisco首先在高端路由器平臺實現CEF,此後,Catalyst交換機也支持CEF的轉發,但是還存在一些差別,但均提供如下特性:
1. 基於“最長地址匹配”查找的高速轉發
2. 等價路徑的負載均衡
3. 逆向路徑轉發檢查(RPF)
4. 不詳路由的無效
有些CEF特性僅在路由器上實現
1. 關閉基於CEF的轉發能力
2. 每個前綴和每個前綴長度的CEF統計
3. 從負載共享路徑統計數據
4. 基於每個分組的負載均衡

有3種基本的方式實現轉發:進程交換,干擾交換,ASIC(通用集成電路)。

進程交換是所有交換方式中最慢的一種。當通過路由器交換報文的時候,CISCO IOS進程會將報文複製到CPU緩存,並在IP路由表中進行查找。查到後進行一些管理性處理,包括改TTL,重新計算CRC。整個過程由中央CPU監控,沒有其他的基於硬件的幫助。

快速轉發
快速轉發會創建一張按需轉發表,對於去往每個目的地的一個報文實行進程交換,通過中央CPU完成,然後創建一個IP快速交換路由緩存。這個緩存不是永久的,它有一些計時器管理,只要有報文轉發,這些條目就會存在,如果經過一段時間沒有報文轉發,條目將被刪除以釋放空間。
下圖就是一個IP快速交換路由緩存的示例:

image

如圖可以看出,對於每一個prefix都有一些參數:老化時間,接口,下一跳和第二層重寫信息。這張圖中你看到的二層信息是0F000800。其中,0F00是表明使用HDLC封裝,0800是IPv4的協議號。

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