CCIE資料學習:CEF技術(shù)淺析
傳統(tǒng)路由器的基本作用是路由計算和包轉(zhuǎn)發(fā),通常基于共享存儲器體系結(jié)構(gòu),采和集中式CPU,即單個CPU(或多個CPU,聯(lián)結(jié)成路由器簇)控制共享總線,連接到多個接口卡上,接口卡包含簡單的隊列等結(jié)構(gòu),與CPU通信,通過共享總線實現(xiàn)數(shù)據(jù)包轉(zhuǎn)發(fā)。隨著Internet的快速發(fā)展和大量新的服務(wù)需求的不斷出現(xiàn),對網(wǎng)絡(luò)的路由和交換性能提出了更高的要求,要同時提高包轉(zhuǎn)發(fā)速率和系統(tǒng)的性能,必須對傳統(tǒng)路由器與交換設(shè)備的設(shè)計體系結(jié)構(gòu)進行改進, 并加入一些新的設(shè)計方案以完善系統(tǒng)性能。CEF(Cisco Express Forwarding,Cisco特快交換)技術(shù)是思科公司推出的一種全新的路由交換方案,它具有良好的交換性能,增強的交換體系結(jié)構(gòu)和極高的包轉(zhuǎn)發(fā)速率。采用CEF技術(shù)的GSR1200系列千兆交換路由器,在體系結(jié)構(gòu),路由方式和接口卡性能等方面都有質(zhì)的改變,特別適用于大業(yè)務(wù)量的ISP網(wǎng)絡(luò)的核心層,同時也廣泛應(yīng)用于高速企業(yè)網(wǎng)的主干。本文將對CEF特快交換技術(shù)作一介紹和分析。
CCIE資料CEF技術(shù)淺析之一、路由器交換算法的簡單回顧
1.過程交換
最初的Cisco路由器采用集中式CPU包交換,所有的包通過共享總線傳到CPU,經(jīng)路由表查找,CRC重算,再通過共享總線把包傳到適當?shù)木€路卡上。
2.快速交換
到達某特定目的地址的IP包通常會引起數(shù)據(jù)包流,即假設(shè)交換過到特定目標的包之后,另一個很可能不久也會到達。通過構(gòu)建最近交換目標的高速緩存,可以減少包在全路由表中查找同一目標的次數(shù),這種“一次路由,然后交換”的方式稱為快速交換,快速交換大大提高了路由器的包轉(zhuǎn)發(fā)速率,因而成為Cisco路由器平臺上缺省的交換機制。但有一點需要注意,IP路由表的改變必須高速緩存無效,在路由狀況不斷變化的環(huán)境中,路由高速緩存的優(yōu)勢將受到很大限制。
3.自治交換
自治交換的特點是從CPU中卸載了一些交換功能。在效果上,將路由高速緩存功能從CPU移到輔助交換處理器上,線路卡上的接收包先在交換處理器中完成本地路由高速緩存目標的查找,若查找失敗時才中斷CPU執(zhí)行路由表查找。在此,Cisco將周期性計算路由的CPU改名為路由處理器,把輔助交換處理器改名為交換處理器。Cisco 7000系列的路由器上執(zhí)行自治交換,可使吞吐量等性能進一步提高。
4.分布式交換
隨著VIP(Versatile Interface Processor,通用接口處理器)卡引入,路由器的交換體系逐漸向?qū)Φ榷嗵幚砥鹘Y(jié)構(gòu)發(fā)展。每個VIP卡都包含RISC處理器,維護***的由路由交換處理器產(chǎn)生的快速交換高速緩存的拷貝,并能獨立實現(xiàn)路由交換的功能,高速完成兩種類型的交換---本地VIP的交換和VIP之間的交換。
5.CEF特快交換
如前所述,快速交換的高速緩存機制在Internet之類的高速動態(tài)路由選擇環(huán)境(經(jīng)常存在網(wǎng)絡(luò)拓撲變化,路由改變、路由震蕩等)中不能很好地伸縮,路由的改變導致高速緩存無效,而重建高速緩存(即執(zhí)行“過程交換”的過程)在計算上開銷很大;同時,隨著互聯(lián)網(wǎng)及其業(yè)務(wù)的迅猛發(fā)展,基于WEB的各種應(yīng)用和交互式業(yè)務(wù)使得通信次數(shù)多而通信時間短的實時數(shù)據(jù)流大量增加,快速交換的高速緩存內(nèi)容處于不斷變化之中,重建高速緩存的負擔加大,從而導致路由器性能的降低。CEF特快交換技術(shù)正是針對上述不足而設(shè)計提出的。
CCIE資料CEF技術(shù)淺析之二、CEF特快交換基本原理CCNA
1.CEF部件
CEF是一種高級的第三層交換技術(shù),它主要是為高性能、高伸縮性的第三層IP骨干網(wǎng)交換設(shè)計的。為優(yōu)化包轉(zhuǎn)發(fā)的路由查找機制,CEF定義了兩個主要部件:轉(zhuǎn)發(fā)信息庫(Forwarding Information base)和鄰接表(Adjacency Table)。
轉(zhuǎn)發(fā)信息庫(FIB)是路由器決定目標交換的查找表,FIB的條目與IP路由表條目之間有一一對應(yīng)的關(guān)系,即FIB是IP路由表中包含的路由信息的一個鏡像。由于FIB包含了所有必需的路由信息,因此就不用再維護路由高速緩存了。當網(wǎng)絡(luò)拓撲或路由發(fā)生變化時,IP路由表被更新,FIB的內(nèi)容隨之發(fā)生變化。
CEF利用鄰接表提供數(shù)據(jù)包的MAC層重寫所需的信息。FIB中的每一項都指向鄰接表里的某個下一跳中繼段。若相鄰節(jié)點間能通過數(shù)據(jù)鏈路層實現(xiàn)相互轉(zhuǎn)發(fā),則這些節(jié)點被列入鄰接表中。
系統(tǒng)一旦發(fā)現(xiàn)鄰接關(guān)系,就將其寫到鄰接表中,鄰接序列隨時都在生成,每次生成一個鄰接條目,就會為那個鄰接節(jié)點預先計算一個鏈路層頭標信息,并把這個鏈路層頭標信息存儲在鄰接表中,當決定路由時,它就指向下一網(wǎng)絡(luò)段及相應(yīng)的鄰接條目。隨后在對數(shù)據(jù)包進行CEF交換時,用它來進行封裝。欲查看鄰接表的有關(guān)信息,可以使用Cisco IOS的命令:show adjacency/show adjacency detail。當我們查看鄰接表信息時,會發(fā)現(xiàn)有以下兩種主要鄰接類型:Host adjacency和Point to Point。Host adjacency類型通常的顯示是一個IP地址,它表示鄰接的下一跳IP地址;Point to Point類型N顯示是“point 2point”,表示這是一條點對點電路。此外還有其他一些特殊類型,如Null adjacency、Glean adjacency等,此外不再贅述。
2.CEF操作模式
CEF有兩種模式:集中式和分布式。集中式允許一個路由處理模塊運行特快交換,即FIB和鄰接表駐留在路由處理模塊中,當線路卡不可用或不具備分散CEF交換的功能時,就可使用集中CEF交換模式。
分布式(一般記作dCEF)允許路由器的多個線路卡(VIP)分別運行特快交換功能,前提是線路是VIP線路卡或GSR線路卡。中央路由處理器完成系統(tǒng)管理/路由選擇和轉(zhuǎn)發(fā)表計算等功能,并把CEF表分布到單個線路卡;每個線路卡維護著一個FIB和鄰接表的相同的拷貝。線路卡在端口適配器之間執(zhí)行快速轉(zhuǎn)發(fā),這樣,交換操作就無需路由交換模塊的參與了。DCEF采用一種“內(nèi)部過程通信”機制來保證路由處理器和接口卡之間FIB和鄰接表的同步。
Cisco 12000系列路由器只運行dCEF模式,由線路卡執(zhí)行交換功能。在其它路由器中,可以在同一個路由器中混合使用各種類型的接口卡,如果一個不支持CEF的接口卡收到數(shù)據(jù)包后,將把數(shù)據(jù)包轉(zhuǎn)發(fā)到路由處理器來進行處理,或把該數(shù)據(jù)包轉(zhuǎn)發(fā)到下一個網(wǎng)絡(luò)段處理。
CEF在路由器上是全局激活的,但可在每個接口(或VIP的底板)上啟用/禁用CEF;CEF和快速交換模式也可同時運行,但不推薦這樣使用,因為會占用大量的系統(tǒng)維護資源。
CCIE資料CEF技術(shù)淺析之三、CEF與快速交換的比較
與快速交換相似,CEF也使用自己建立的數(shù)據(jù)結(jié)構(gòu)(而不是路由表)來執(zhí)行交換操作??焖俳粨Q通過生成并查找路由高速緩存交換數(shù)據(jù)包,該路由高速緩存交換數(shù)據(jù)包,該路收高速緩存的條目(包括目的IP地址,輸出接口,MAC地址頭信息等)是在***個數(shù)據(jù)包到來時,對整個路由表執(zhí)行最長匹配查找算法獲得下一跳IP地址,然后查找ARP緩存獲得第二層的MAC地址信息,并寫入路由高速緩存,之后的數(shù)據(jù)包則根據(jù)已經(jīng)生成的高速緩存的條目直接重寫MAC頭信息完成交換操作。
CEF通過FIB和鄰接表對數(shù)據(jù)包進行交換,但FIB和鄰接表是在數(shù)據(jù)包到來以前,由CPU根據(jù)路由表生成并定時更新的,因此到達路由器的***個數(shù)據(jù)包也無須執(zhí)行查找路由表的過程,直接由FIB和鄰接表獲得新的MAC頭信和盧,就可進行交換了,對于擁有大容量路由表的路由器來說,這種預先建立交換查找條目的方式能夠有效地提高交換性能。
CCIE資料CEF技術(shù)淺析之四、基于CEF的負載平衡的實現(xiàn)
當?shù)竭_某一目的IP地址存在多條路徑時,每條路徑都有一個反映其代價的metric值,路由協(xié)議通過計算獲得到達目的地址的具有最短metric值的路徑,數(shù)據(jù)包通過該路徑到達目的地址。負載平衡的目的則是要把流量分配到多條路徑中,這樣可優(yōu)化資源的使用。CEF特快交換支持兩種類型的負載平衡---按目的地配置的負載平衡和按數(shù)據(jù)包配置的負載平衡。
1.按目的地配置負載平衡
基本原理是:對于給定的一對源/目的IP地下,即使有多個路徑可用,也可保證數(shù)據(jù)包采用同一路徑;通往不同源/目的IP地址的數(shù)據(jù)流則傾向于采用不同的路徑。通過采用按目的地負載平衡的方法,可以保證對某個源/目的IP地址對的數(shù)據(jù)包以一定的次序到達。當啟用CEF時,按目的地配置的負載平衡被默認啟用。
2.按數(shù)據(jù)包配置負載平衡
基本原理是:采用輪轉(zhuǎn)法確定各個數(shù)據(jù)包按哪條路徑到達目的地。這種負載平衡方法可使路由器在路徑上連續(xù)發(fā)送數(shù)據(jù)包,即保證路徑的使用狀況比較好,但針對一個源/目的IP地址對的數(shù)據(jù)包可能會采用不同的路徑,從而導致目的端對數(shù)據(jù)包的重新排序。這種類型的負載平衡對某些類型的數(shù)據(jù)流傳送不是很合適(如VoIP數(shù)據(jù)流)。當然,若在某一源/目的IP地址對之間有大量的數(shù)據(jù)流,通過并行鏈路傳送,如果按目的地負載平衡方式,將會使某條鏈路負擔過重,而其他鏈路上的數(shù)據(jù)流很少,此時采用按數(shù)據(jù)包的負載平衡是合理的。
CCIE資料CEF技術(shù)淺析之五、小結(jié)
CEF是專門為高性能、高伸縮性的IP骨干網(wǎng)絡(luò)設(shè)計的一種高速交換方式。從上述介紹我們不難看出,在大規(guī)模的動態(tài)IP網(wǎng)絡(luò)中,CEF能夠提供***的交換的一致性和穩(wěn)定性。它能夠有效彌補快速交換的高速緩存條目頻繁失效的缺陷,采用dCEF分布式交換可使每個線路卡進行完全的交換,提供更優(yōu)越的性能;CEF比快速交換的路由高速緩存占用內(nèi)存要少,并能提供負載平衡,網(wǎng)絡(luò)記帳等功能。借助CEF特快交換技術(shù)和其它一些革命性的創(chuàng)新技術(shù),Cisco的GSR路由器在全球取得了巨大的成功,在中國互聯(lián)網(wǎng)基礎(chǔ)設(shè)施建設(shè)中發(fā)揮著極其重要的作用。
【編輯推薦】