Data Forwarding
Process Switching
最古老的資料轉發方式
- 當路由器收到一個需要處理的資料包時
- 路由器將儲存該資料包進入記憶體
- 路由器CPU被打斷,處理該資料包
- 並將其放入相應的輸入佇列中
弊端是需要使用CPU進行轉發,對於CPU要求過高,目前已經不使用該種方式。
no ip route-cache #通過該命令啟用CPU轉發功能
Fast Switching
快速轉發在CPU轉發的基礎上通過加入快取進行改進。
- 第一個資料包依舊通過CPU進行處理
- 將處理結果存入快取中
- 到達該目的地的資料包通過快取中的資訊進行處理
弊端
- 第一個資料包仍需要通過CPU處理
- 如果路由器接收到大量未在快取中的資料,效能將會下降
- 當路由表變化時,快取將會被清空並重新記錄
ip route-cache #啟用Fast Switching
Cisco Express Forwarding(CEF)
Cisco Express Forwarding是思科私有技術基於快速轉發改進而來,CEF在Cisco裝置為預設選項
CEF通過ASICs和NPUs實現高吞吐量(通過硬體加速)
ip route-cache cef #關閉CEF
show cef interface #檢視CEF是否開啟
show ip interface #檢視CEF是否開啟
開啟CEF後,CEF會產生兩張表,為FIB(Forwarding Informatica Base)和 Adjacency Table。
FIB與路由表相同,Adjacency Table則與ARP表相類似。
CEF的部署模式分為Centralized(集中式)和Distributed Forwarding(分散式),相對於的就是軟體CEF與硬體CEF,也對應著低端裝置與高階裝置。
當一個路由處理引擎配置了一個CEF,能夠讓它處理所有分組流量,這即為集中式。
如果網路卡配備了轉發引擎且附帶一個CEF,則能夠使流量不經過路由處理引擎直接被轉發,那麼吞吐量會更高,這即為分散式。
SSO & NSF
SSO=Stateful switchover NSF=Nonstop forwarding
Route Processors用於生成路由表,如果路由處理器故障則會導致路由表重置並丟失報文(同時會導致CEF的重置),通過增加Route Processors數量來冗餘。
SSO是一種冗餘功能,它允許具有多個RP的Cisco路由器在RP間同步配置和控制層面的資訊。若一個RP故障,則能夠切換至另一個RP繼續工作,但是在切換的過程中,會觸發路由協議的翻動,清除路由表與CEF條目,再重新學習網路拓撲前,不再路由流量。
此時需要用到NSF功能,NSF功能則會假定在切換RP的過程中,CEF仍然使用切換前的RP的資料,繼續轉發工作,直到切換完成。