CISCO的快速轉發
CEF功能概述
Cisco快速轉發(CEF)是一個高級三層交換技術。CEF交換可以優化帶有大規模的、動態數據流的網絡(例如:Internet、具有增強的基于Web應用的網絡或者交互式的業務)的性能和可擴展性。
CEF的優點:
CEF具有以下優點:
● 改善網絡性能――CEF和典型的快速交換路由相比較,CEF可以使用較少的內存容量來實現數據包的轉發。這樣可以使得更多的處理器資源用于第三層的服務,比如服務質量(QoS)和加密功能等。
● 提高網絡的可擴展性――當啟用分散式CEF(dCEF)模式時,CEF的每個線路卡上維護著一個與轉發信息庫(FIB)和鄰接表相同的拷貝,它能獨自提供完全的交換能力。
● 提高網絡的收縮性――在大規模的動態網絡中,CEF能提供了一種具有更好的可靠性和穩定性的交換。在動態網絡中,路由的改變會導致快速交換高速緩存條目頻繁地失效。這些變化可能導制:數據要通過路由表進行過程交換,而不是通過路由高速緩存進行快速交換。CEF的轉發信息庫(FIB)中包含所有路由表中存在的路由,換句話說:FIB維護著一個ip路由表中包含的轉發信息的鏡像,因此CEF免去了維護路由高速緩存、采用快速交換和過程交換相互轉換的過程。CEF比典型的高速緩存技術更能有效地交換數據流。
CEF的術語表
Cisco快速轉發(CEF)――CEF是一種第三層交換技術,CEF有兩種模式:集中模式和分布模式,集中模式答應一個路由處理器執行快速轉發。
分布式CEF(dCEF)――分布式CEF答應路由器的多個線路卡在端口適配器間分別運行快速轉發。
轉發數據庫(FIB)――CEF的一個組件。它是路由器決定目標交換的查找表,是一個包含IP路由表中轉發信息的鏡像。
千兆交換路由器(GSR)――思科12000系列路由器。
線路卡――Cisco產品線中廣泛應用的接口處理器的總稱,例如:VIP就是7500系列路由器中的一種線路卡。
前綴――可以指出IP地址中的網絡地址部分,它是IP地址和子網掩碼的組合。子網掩碼可以指出IP地址中有多少比特是網絡比特。前綴的格式是:IP地址/子網掩碼。例如:10.0.0.0/16意味著IP地址中的前面16比特被標記了,它可以過濾出網絡地址和主機地址,此例中網絡地址是10.0。
路由模塊/處理器(route PRocessor)――Cisco7000或者Cisco7500路由器上路由處理模塊的總稱。
路由模塊/處理器(RP)――Cisco7000系列路由器上的路由處理模塊,它包含CPU、系統軟件和路由器中的大部分內存組件。
路由交換模塊/處理器(RSP)――Cisco7500系列路由器中結合路由模塊(RP)和交換模塊(SP)功能的模塊。交換模塊(SP)在Cisco7000系列路由器中扮演治理所有數據總線活動的治理員的角色。
通用接口模塊(VIP)――Cisco7000和7500系列路由器使用的接口卡。VIP可以提供多層交換和CiscoIOS軟件的運行。最新的版本是VIP和VIP2。
模塊通訊(IPC)――這是一種機制,它可以確保在使用分散CEF模式時,RSP和線路卡的轉發數據庫(FIB)和鄰接表信息同步。
使用CEF必須滿足的條件
當您在網絡中使用CEF時,請先考慮以下項目:
● 加載當前完整的Internet路由信息的平臺所需的最小內存(推薦):
- 集中路由模塊上需要128MB
- 每個線路卡上需要64MB
● CEF不能在一個線路卡上和VIP-分布式快速交換同時運行。
● 缺省情況下,假如Cisco IOS軟件在交換數據報時碰到CEF不支持的功能和封裝類型,它將采用其他交換方法(如最優交換、快速交換、過程交換)。
● 當前CEF不支持以下功能:
- 策略路由
- 網絡地址翻譯(NAT)
- 路由交換模塊上的訪問控制列表
- 多點PPP封裝
- SMDS
- 令牌環
- ATM
- ISL封裝
適用平臺:
以下平臺支持CEF功能:
● Cisco7000系列路由器(需要裝備RSP7000)
● Cisco7200系列
● Cisco7500系列
● Cisco12000系列
第二代接口模塊(VIP2-20、VIP2-40、VIP2-50)支持CEF。
在不同的路由器平臺上,硬件對CEF的支持可能會有所不同,這要由路由器中安裝的路由模塊和其他硬件所決定。例如在Cisco12000系列路由器上,所有的線路卡都支持CEF交換;在Cisco7500系列路由器上,要實現CEF交換,需要有RSP模塊和VIP線路卡的支持。每個接口卡用自己的引擎獨立地運行CEF去轉發數據包,并且都獨自擁有一個對FIB表的拷貝。每個接口卡獨立的去交換數據包,減輕了中心路由處理模塊的負擔。
為了表述的一致性,本文檔使用“路由模塊”指代中心模塊,使用線路卡指代接口模塊。
假如您在使用CEF交換的過程中碰到了其它非凡硬件需求或者兼容性問題,請查詢“思科產品手冊”或“安裝和配置手冊”。
功能描述
Cisco快速轉發(CEF)是一個高級三層交換技術。CEF交換可以優化帶有大規模的、動態數據流的網絡(例如:Internet、具有增強的基于Web的應用的網絡或者交互式的業務)的性能和可擴展性。
您可以在網絡中的任何地方使用CEF交換,CEF交換是為高性能的、高收縮性的骨干網而設計的一種高速交換方式。例如:圖1中在流量密集的核心網絡的匯集點上,Cisco12000系列千兆交換路由器使用CEF去交換數據包。
在一個典型的大業務流量的ISP環境中,Cisco12012千兆交換路由器是網絡的核心,它提供和支持到Cisco7500系列或者其他支流路由器的連接。在網絡核心中,骨干路由器上的CEF交換提供了高性能和可擴展性,用來對付網絡規模的不斷加大和穩定增長的數據流量。CEF是一種分散式交換機制,它隨著接口卡數量和安裝在路由器中帶寬的變化而線性地變化。
CEF組件
為了實現CEF的交換功能,CEF將普通路由器中存儲在路由高速緩存中的信息轉而存儲到幾種為CEF專門設計的數據結構中。為了有效地進行數據包轉發,這種數據結構要保證能進行優化的查詢。CEF的2種主要組件是:
● 轉發數據庫(FIB)
● 鄰接表
轉發數據庫
CEF利用轉發數據庫(FIB)來進行基于IP目的地前綴的交換決策。從概念上講,FIB類似于一個路由表或信息庫,它維護著一個包含IP路由表轉發信息的鏡像。當網絡中路由或拓撲結構發生了變
化時,IP路由表就被更新,而這些變化也將反映在FIB中?;贗P路由表中的信息,FIB維護著下一跳的地址信息。
因為FIB條目和路由表條目之間有一一對應的關系,所以FIB中包含了所有已知的路由,這樣就不用維護路由高速緩存了,而先前的交換方法(比如快速交換和最優交換)都要維護路由高速緩存。
鄰接表(Adjacency Table)
假如網絡中的網絡節點只通過一跳就可以穿越鏈路層而彼此到達對方,那么它們是鄰接的。除了FIB外,CEF還利用鄰接表來提供第二層的尋址信息。鄰接表為所有FIB條目維護第二層的下一網段地址。
鄰接的發現
當路由器發現存在鄰接時就增加在鄰接表中,每次生成一個鄰接條目(就像ARP協議一樣),CEF會為那個鄰接節點預先計算一個鏈路層頭標信息,并把這個頭標信息存儲在鄰接表中。當決定路由時,它就會指向下一跳以及相應的鄰接條目。隨后,在對數據包進行CEF交換時,用預先生成的頭標信息來對數據包進行封裝。
QQread.com 推出各大專業服務器評測 linux服務器的安全性能 SUN服務器 HP服務器 DELL服務器 IBM服務器 聯想服務器 浪潮服務器 曙光服務器 同方服務器 華碩服務器 寶德服務器分解鄰接
一個路由表中也許存在多條到達目標網絡的路徑,例如:當路由器被配置成答應冗余路徑和答應負載平衡時。對于每一個被分解的轉發路徑,鄰接條目會被附加一個頭標信息指示出那條路徑的下一跳地址。這種機制可以用來在多條路徑上實現負載平衡。
需要作非凡處理的鄰接類型
另外,因為鄰接條目和下一跳地址相關聯,所以一些非凡的鄰接類型可以被用來加速交換過程。前綴被定義后,當存在以下被緩存的鄰接條目存在時,前綴需要作非凡處理。
表1 需要被作非凡處理的鄰接類型
鄰接類型接收到這些鄰接類型時如何處理
空鄰接一個以Null0接口為目標地址的包會被拋棄,在訪問過濾器時,這可以被用作一種有效的機制。
鄰接歸納當路由器直接和幾臺主機相連時,FIB表中維持的是這個子網的前綴,而不是各個主機的前綴。這個子網前綴是一個鄰接的歸納。當要轉發某個數據包到某個具體主機時,鄰接數據庫使用這個被歸納的鄰接。
轉出鄰接當碰到某些作非凡處理的功能或者CEF不支持的功能時,路由器將采用更高級別的交換方法處理數據包。
丟棄鄰接數據包被丟棄。這種鄰接類型僅僅在Cisco12000系列路由器上出現。
釋放鄰接數據包被釋放,但是前綴仍然有效。
沒有被分解的鄰接
當鏈路層頭標信息被附加到數據包上時,FIB需要頭標指出下一跳的地址。假如FIB表中建立了一個鄰接,但是并沒有找到第二層的尋址信息,比如沒有通過ARP發現第二層的尋址信息,這個鄰接就被認為是不完整的。這個數據包就會交給路由模塊處理,鄰接關系由ARP來決定。
CEF所支持的媒介
當前CEF支持ATM/AAL5snap, ATM/AAL5mux, ATM/AAL5nlpid, 幀中繼, 以太網, FDDI, PPP, HDLC, 和隧道。
CEF*作模式
CEF的*作模式有2種,即集中CEF模式和分散CEF模式??梢酝ㄟ^其中的任意一種來啟用CEF,同一時刻用戶只能使用其一種模式。
集中CEF模式
當啟用集中CEF模式時,CEF的FIB和鄰接表駐留在路由處理器中,路由處理器來執行快速轉發。對于CEF交換來說,當線路卡不可用時,或者需要使用的功能與分散CEF交換不兼容時,就可以使用集中CEF模式。
分布CEF模式
當啟用分布式CEF(dCEF)時,線路卡(例如VIP線路卡或者GSR線路卡)維護著一個與FIB和鄰接表相同的拷貝。線路卡在端口適配器之間執行快速轉發,這樣,在進行交換*作時就無須RSP的參與了。
dCEF使用一個“內部過程通信”(Inter Process Communication,IPC)機制,在路由處理模塊和線路卡上,保證FIB和鄰接表的同步。
在Cisco12000系列路由器中,線路卡負責執行CEF交換。在其他路由器中,或許您使用的不是同一種類型的線路卡,有可能某個接口卡不支持CEF交換。當某個不支持CEF交換的線路卡收到數據包時,她將數據包轉發給更高的交換層(比如路由處理模塊)或者把數據包轉發給下一跳處理。這種機制答應舊的接口模塊和新的接口模塊并存。
筆記
1Cisco12000系列千兆交換路由器上只運行dCEF模式。
2一個VIP卡上不答應同時運行分布式CEF交換和分布式快速交換。
3Cisco7200系列路由器不支持分布式CEF交換。
附加的新功能
在配置集中模式CEF和分布模式CEF時,您還可以配置以下功能:
● 分布式CEF支持訪問控制列表
● 分布式CEF支持幀中繼包
● 分布式CEF支持數據包分片
● 支持基于每一個包或者每一個目標的負載平衡
● 支持網絡計費,可以收集數據包的個數和字節數
● 分布式CEF支持跨隧道的交換
配置任務
這部分描述配置CEF的必要選項和可選選項。第一個任務是必要的,其他都是可選的。
●啟用和禁用CEF或者dCEF
●為CEF配置負載平衡
●為CEF配置網絡計費
●為CEF配置跨隧道交換
啟用和禁用CEF或者dCEF
假如用戶的Cisco路由器中有接口處理器支持CEF時,就可以啟用CEF。
為了啟用或禁用CEF,可以在全局配置模式下利用下面的命令進行配置。
任務命令
啟用標準CEF模式ip cef switch
禁用標準CEF模式no ip cef switch
當您想讓線路卡執行快速轉發時,則啟用dCEF,這樣,路由處理模塊就可以處理路由協議或者負責交換從舊的接口模塊(不支持CEF交換的模塊)過來的數據包。
筆記
在Cisco12000系列路由器上,dCEF模式是缺省啟用的。所以啟用dCEF的命令(ip cef switch)在Cisco12000系列路由器上是沒有意義的,在配置清單上也不會列出dCEF模式被啟用。
為了啟用或禁止dCEF*作,可以在全局配置模式下利用下面的命令進行配置。
任務命令
啟用dCEF模式ip cef distributed switch
禁用dCEF模式 no ip cef distributed switch
當用戶按全局模式啟用CEF或dCEF時,所有支持CEF的接口都被默認地啟用了。假如您想在某個特定的接口上關閉CEF或者dCEF,您可以按照下面的做法:
有時候,在某個接口配置了一項功能,而CEF或dCEF并不支持該功能,這時您就可能需要在這個特定的接口上禁止CEF或dCEF。例如,策略路由和CEF就不能一起使用。您可能想讓一個接口支持策略路由,而讓其他的接口支持CEF。在這種情況下,可以按全局模式啟用CEF,而在那個打算配置策略路由的接口上禁用CEF。這樣,除了那一個接口外,在其他所有接口上都啟用了快速轉發。
為了在某個接口上禁用CEF或dCEF,可以在接口配置模式下,使用下面的命令實現:
任務命令
在接口上禁用CEFno ip route-cache cef
當禁用了CEF或dCEF后,Cisco IOS自動使用下一個最快的交換路徑來交換數據包。對于dCEF而言,下一個最快的交換路徑是在路由處理模塊上使用CEF。
假如您在某個接口上禁用了CEF或dCEF*作,爾后又想重新啟用它,那么在接口配置模式下,可以使用:ip route-cache cef命令實現。
筆記
在Cisco12000系列路由器上,您不可以在某個接口上禁用dCEF模式。
為CEF配置負載平衡
負載平衡要依據數據包的源和目的地信息組合來進行。為了把數據傳送到一個目的地,Cisco可以把數據分配到多條路徑中,從而優化資源的使用。您可以基于目的地或者基于數據包來配置負載平衡。負載平衡決策機制是在數據發出的接口上做出的,所以當您必須在出口上配置負載平衡。
配置負載平衡任務列表
這部分描述怎樣去配置不同類型的負載平衡:
• 配置基于目的地的負載平衡
• 配置基于數據包的負載平衡
配置基于目的地的負載平衡
基于目的地的負載平衡答應路由器將使用多條路徑來均衡負載。對于某一源/目標主機,數據包轉發采用同一路徑,即使有多個路徑可用,也將這樣處理。對于到達不同目的地的數據包則可以采用不同的路徑。當啟用CEF時,基于目的地的負載平衡功能缺省被啟用。大多數情況下,都采用這種負載平衡方法。
因為基于目的地的負載平衡是依靠于對數據流的統計來分布信息的,所以隨著“源/目的地對”個數的增加,負載平衡會變得更加有效。
您可以采用基于目的地負載平衡的辦法,來確保針對某個給定的“源/目標主機對”的數據包以一定的次序到達。因為基于某個確定的“源/目標主機對”的數據包會在同一條鏈路上被路由。
啟用基于目的地的負載平衡
由于啟用CEF時,也就缺省啟用了基于目的地的負載平衡功能,所以為了使用基于目的地的負載平衡功能,您不需要再執行其他附加*作。
禁用基于目的地的負載平衡
非凡的,當您想啟用基于數據包的負載平衡功能時,您必須先禁用基于目的地的負載平衡功能。
為了禁用基于目的地的負載平衡功能,可以在接口配置模式下,使用下面的命令進行:
任務命令
禁用基于目的地的負載平衡功能no ip load-sharing per-destination
配置基于數據包的負載平衡
使用基于數據包的負載平衡,路由器可以在路徑上連續發送數據包,而不用考慮具體的主機或用戶情況。這種負載平衡機制采用*轉辦法來確定每個數據包采用哪條路徑到達目的地?;跀祿呢撦d平衡可以保證在多條鏈路上進行負載平衡。
利用數據包進行負載平衡是一個好辦法,但是對于給定的“源/目標主機對”的數據包也許會因此采用不同的路徑到達目的地。這個機制會引起數據包的重新排序。所以這種類型的負載平衡方法對有些類型的數據流可能就不適應(比如通過IP進行語音傳送),因為這種類型的傳送要求數據包按照順序依次到達目的地。
使用基于數據包的負載平衡有助于確保每個單個“源/目的地對”的路徑都不會超載。假如有大量的、通過并行鏈路的針對某個“源頭/目標主機對” 的數據,假如按目的地進行負載平衡,將會使那個鏈路超載,而其他鏈路上的數據流卻很少。啟用基于數據包的負載平衡后,數據包可以交替地利用不同的路徑到達同一個繁忙的目的地。
要啟用基于數據包的負載平衡功能,可以在接口配置模式下,使用下面的命令進行:
任務命令
啟用基于數據包的負載平衡ip load-sharing per-packet
筆記
假如您想針對某個特定目的地啟用基于數據包的負載平衡,必須在所有可以向該目的地轉發數據包的接口上都啟用基于數據包的負載平衡的功能。
為CEF配置網絡記賬功能
您可能需要收集統計信息,以便更好地理解和使用CEF模式的功能。例如您可能想收集這樣的信息: 被交換到某個目的地的數據包的個數和字節數,或者通過某個目的地交換的數據包的個數。
您執行以下可選選項為CEF配置網絡記帳功能:
●為CEF啟用網絡記帳功能
●查看網絡記帳信息
啟用CEF的網絡記帳功能
要啟用CEF的記帳功能,可以在全局配置模式中,使用下面的命令進行:
任務命令
啟用收集被快速轉發到某個目的地的數據包個數和字節數ip cef accounting per-prefix
啟用收集通過某個目的地被快速轉發的數據包的個數ip cef accounting non-recursive
當您在全局配置模式中為CEF啟用網絡記賬功能后,相應的路由處理器會收集記賬信息。當用戶為dCEF啟用網絡記賬功能后,線路卡上會收集記帳信息。
查看網絡記帳信息
您可以查看被收集的記賬信息。為此在EXEC模式下,使用下面的命令進行:
任務命令
查看收集的記帳信息show ip cef
為CEF配置跨隧道的交換
CEF支持跨隧道的交換,例如GRE隧道。當你啟用CEF或者dCEF模式時,跨隧道的交換會被自動啟用,所以您無需再執行任何附加*作來啟用跨隧道的交換。
|
新聞熱點
疑難解答