簡介
本檔案將說明思科快速轉送(CEF)。
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
概觀
Cisco Express Forwarding(CEF)交換是一種專有的可擴展交換形式,旨在解決與需求快取相關的問題。CEF是Cisco IOS中內建的高級第3層IP交換架構,取代了舊的路由快取模型。它維護自己的高度最佳化的轉發表和獨立的鄰接表,從而能夠以最少的CPU佔用實現線速資料包轉發。每次資料包到達路由器或交換機時,裝置必須決定將其轉發到何處。一旦確認資料包的有效性並且它已通過任何訪問控制清單或其他丟棄條件,裝置將查詢其路由表以確定最佳出站介面。思科路由器和交換器可通過三種方式執行此查詢:進程交換、快速交換或Cisco Express Forwarding。
藉助CEF,裝置主動計算所有路由並將其安裝到兩個最佳化資料結構中,即轉發資訊庫(FIB)和鄰接表,而不是等待每個資料包觸發查詢。在現代平台上,這些表與硬體轉發平面同步,因此會產生更低的每資料包CPU開銷、更高的每秒資料包吞吐量和一致的轉發行為,這就是在現代Cisco平台上預設啟用CEF的原因,並且仍然是高效能IP網路的基礎。
CEF核心元件
- 轉發資訊庫(FIB)表 — CEF使用FIB做出基於IP目標字首的決策,換句話說,FIB是CEF的覆蓋對象。FIB是路由器IP路由資訊庫(RIB)的一對一映象,但經過重新組織,以便在硬體中查詢儘可能最快的字首。每當IP路由表發生更改(由於路由協定更新、靜態路由更改等),這些更改都會立即反映在FIB中,以便轉發始終使用最新的拓撲資訊。每個FIB條目都包含一個目的地字首和一個或多個下一跳指標;當配置了ECMP(等價多重路徑)時,FIB為每個字首保留多個指標,以支援每個資料包或每個目標的負載均衡。通過包含所有已知路由(而不僅僅是最近使用的路由的需求快取),FIB消除了路由快取維護的需要,並防止了拓撲變化期間的快取崩潰,從而提供了穩定、可預知的轉發效能。
CEF操作模式
CEF基本封包流量
以下步驟清單說明如何交換封包CEF:
- 裝置的介面處理器從網路介質讀取資料包,並將其儲存在緩衝區記憶體中,稱為介面的接收(RX)環。
- 裝置的介面處理器向主處理器傳送接收中斷。在此中斷期間,會發生其餘的交換。
- 裝置使用目標IP地址作為搜尋鍵,對FIB中的目標執行最長匹配查詢。如果FIB查詢失敗,則丟棄資料包。如果查詢成功,則選擇FIB路徑,裝置使用指向相應鄰接條目的指標。
- 裝置使用鄰接表中的封裝字串重寫第2層報頭,並將資料包放入正確的輸出隊列中,以便在出站介面上傳輸。
- 成功交換的封包接著會進入傳出介面的傳輸(TX)環路。
相關資訊