思科快速转发机制(CEF-Cisco Express Forwarding)
CEF采用一個4級每級256條通道結構的轉(zhuǎn)發(fā)表來指明轉(zhuǎn)發(fā)條目的位置,轉(zhuǎn)發(fā)表有next hop等信息,涵蓋了整個IPv4的地址范圍,并有指針指向另一個鄰接表。轉(zhuǎn)發(fā)條目(MAC地址之類)都存儲在一個單獨的鄰接表上。這兩個表包括了所有的轉(zhuǎn)發(fā)信息,而這些轉(zhuǎn)發(fā)信息是根據(jù)路由表和ARP來構造的。
CEF簡化了查詢的步驟,提高了單位時間的工作效率。而且從整體上來看,路由信息和轉(zhuǎn)發(fā)信息是分離的,數(shù)據(jù)包的轉(zhuǎn)發(fā)只根據(jù)轉(zhuǎn)發(fā)信息而不用參照路由信息,可以充分利用專用硬件的功能來達到線速轉(zhuǎn)發(fā),而不受路由變化或者其他因素的干擾,保證了轉(zhuǎn)發(fā)的高速高效。
CEF轉(zhuǎn)發(fā)提供3張表
1>FIB:從路由選擇表中拷貝過來的轉(zhuǎn)發(fā)信息,包括路由選擇表中用于轉(zhuǎn)發(fā)路由分組所必須的最少信息。
2>鄰接表:維護一個鄰接節(jié)點以及他們相關的2層MAC重寫或嚇一跳信息數(shù)據(jù)庫
3>NetFlow Table:用于統(tǒng)計網(wǎng)絡數(shù)據(jù)等
它的高速表現(xiàn)在以下兩個方面:
1>在查詢方式上簡化了步驟,提高了速度;
2>在分離了路由和轉(zhuǎn)發(fā)功能。
CEF轉(zhuǎn)發(fā)過程
3層包從TCAM開始查找;進行最長匹配,得到鄰居信息,改寫原有二層數(shù)據(jù)幀(下一跳MAC地址)并轉(zhuǎn)發(fā)。
CEF表是從路由表得來,鄰居表是使用ARP解析得來的。
CEF多層交換的過程:
左側MAC-M(MAC地址)是SW。右側的MAC-M是SW。
如果目的IP地址的MAC不在鄰居表內(nèi),則SW將使用ARP進行解析,以得到目的地址的MAC地址。
ARP Throttling(ARP抑制):在未獲得目的MAC地址并且進行ARP解析時,除非ARP解析完成并且在鄰居表體現(xiàn)出來外,在解析期間,所有發(fā)往目的主機的包,將被丟棄,這就是ARP抑制。(FIB最多支持6個到達同一目的的鄰居條目)
CEF模式
CEF的操作模式有2種,即集中CEF模式和分散CEF模式。
可以通過其中的任意一種來啟用CEF,同一時刻用戶只能使用其一種模式。
集中CEF模式 當啟用集中CEF模式時,CEF的FIB和鄰接表駐留在路由處理器中,路由處理器來執(zhí)行快速轉(zhuǎn)發(fā)。對于CEF交換來說,當線路卡不可用時,或者需要使用的功能與分散CEF交換不兼容時,就可以使用集中CEF模式。
分布CEF模式當啟用分布式CEF(dCEF)時,線路卡(例如VIP線路卡或者GSR線路卡)維護著一個與FIB和鄰接表相同的拷貝。線路卡在端口適配器之間執(zhí)行快速轉(zhuǎn)發(fā),這樣,在進行交換操作時就無須RSP的參與了。dCEF使用一個“內(nèi)部過程通信”(Inter ProcessCommunication,IPC)機制,在路由處理模塊和線路卡上,保證FIB和鄰接表的同步。
在Cisco12000系列路由器中,線路卡負責執(zhí)行CEF交換。在其他路由器中,或許您使用的不是同一種類型的線路卡,有可能某個接口卡不支持CEF交換。
當某個不支持CEF交換的線路卡收到數(shù)據(jù)包時,它將數(shù)據(jù)包轉(zhuǎn)發(fā)給更高的交換層(比如路由處理模塊)或者把數(shù)據(jù)包轉(zhuǎn)發(fā)給下一跳處理。這種機制允許舊的接口模塊和新的接口模塊并存。
1.Cisco12000系列千兆交換路由器上只運行dCEF模式。
2.一個VIP卡上不允許同時運行分布式CEF交換和分布式快速交換。
3.Cisco7200系列路由器不支持分布式CEF交換。
附加的新功能 在配置集中模式CEF和分布模式CEF時,您還可以配置以下功能:
1>分布式CEF支持訪問控制列表
2>分布式CEF支持幀中繼包
3>分布式CEF支持數(shù)據(jù)包分片
4>支持基于每一個包或者每一個目標的負載均衡
5>支持網(wǎng)絡計費,可以收集數(shù)據(jù)包的個數(shù)和字節(jié)數(shù)
6>分布式CEF支持跨隧道的交換
Cisco首先在高端路由器平臺實現(xiàn)CEF,此后,Catalyst交換機也支持CEF的轉(zhuǎn)發(fā),但是還存在一些差別,但均提供如下特性:
1. 基于“最長地址匹配”查找的高速轉(zhuǎn)發(fā)
2. 等價路徑的負載均衡
3. 逆向路徑轉(zhuǎn)發(fā)檢查(RPF)
4. 不詳路由的無效
有些CEF特性僅在路由器上實現(xiàn)
1. 關閉基于CEF的轉(zhuǎn)發(fā)能力
2. 每個前綴和每個前綴長度的CEF統(tǒng)計
3. 從負載共享路徑統(tǒng)計數(shù)據(jù)
4. 基于每個分組的負載均衡
有3種基本的方式實現(xiàn)轉(zhuǎn)發(fā):進程交換,干擾交換,ASIC(通用集成電路)。
進程交換是所有交換方式中最慢的一種。當通過路由器交換報文的時候,CISCO IOS進程會將報文復制到CPU緩存,并在IP路由表中進行查找。查到后進行一些管理性處理,包括改TTL,重新計算CRC。整個過程由中央CPU監(jiān)控,沒有其他的基于硬件的幫助。
快速轉(zhuǎn)發(fā)
快速轉(zhuǎn)發(fā)會創(chuàng)建一張按需轉(zhuǎn)發(fā)表,對于去往每個目的地的一個報文實行進程交換,通過中央CPU完成,然后創(chuàng)建一個IP快速交換路由緩存。這個緩存不是永久的,它有一些計時器管理,只要有報文轉(zhuǎn)發(fā),這些條目就會存在,如果經(jīng)過一段時間沒有報文轉(zhuǎn)發(fā),條目將被刪除以釋放空間。
下圖就是一個IP快速交換路由緩存的示例:
如圖可以看出,對于每一個prefix都有一些參數(shù):老化時間,接口,下一跳和第二層重寫信息。這張圖中你看到的二層信息是0F000800。其中,0F00是表明使用HDLC封裝,0800是IPv4的協(xié)議號。
轉(zhuǎn)載于:https://blog.51cto.com/1184394769/803212
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的思科快速转发机制(CEF-Cisco Express Forwarding)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [iBoard 电子学堂][第〇卷 电子
- 下一篇: JavaScript及jQuery选择器