二層網路資料轉發模式

ZywOo發表於2022-03-18

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表相類似。

Data_Forwarding-1

​ CEF的部署模式分為Centralized(集中式)和Distributed Forwarding(分散式),相對於的就是軟體CEF與硬體CEF,也對應著低端裝置與高階裝置。
​ 當一個路由處理引擎配置了一個CEF,能夠讓它處理所有分組流量,這即為集中式。
​ 如果網路卡配備了轉發引擎且附帶一個CEF,則能夠使流量不經過路由處理引擎直接被轉發,那麼吞吐量會更高,這即為分散式。

Data_Forwarding-2

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的資料,繼續轉發工作,直到切換完成。

相關文章