cisco路由器通常才使用兩種類型的mtrie結構:

1、8-8-8-8:這種格式也被稱為256-way mtrie,因為4個八位組的IPv4地址被映射到4個8bit的結構中,例如上圖。這種格式用在大多數(shù)cisco路由器中。

2、16-8-8:這是一個3級的mtrie,它的根級有65536個表項。因此,一條前最的最大查找次數(shù)是3次,換句話說,第一次查找解析了前面的兩個八位組,接著最多在需要兩次查找就可以確定。這種格式只用于cisco 12000系列路由器。

FIB和鄰接表都被優(yōu)化提供進行轉發(fā)決定所需的信息,而沒有更多的其他信息,如果FIB表已滿,后續(xù)表項將和現(xiàn)有表項比較,并以犧牲不詳細表項的代價來保存更詳細的表項。

FIB表的好處:

1、可以被硬件ASIC調用

2、解決遞歸路由問題,直接找到下一跳

3、擴展性,應用于MPLS

FIB內容可通過show ip cef 命令來查看:

列舉出一下幾種FIB表項:

1、附接的(attached):這種前綴被配置為可以通過借口直接到達,不需要由IP下一跳來創(chuàng)建林接管,這種前綴是指路由器本地接口所屬的網絡。

2、連接的(connected):由IP address address mask 配置命令來配置的

3、收到(receive):這種前綴是一個32位掩碼的主機地址。每個接口通常有3種這樣的地址:實際的接口地址、主機位全0的網絡地址和全1的廣播地址

4、遞歸的(recursive):當前綴的輸出接口不能通過路由選擇協(xié)議或靜態(tài)配置指定時,它就被標記為遞歸的。

鄰接表是由ARP實現(xiàn)的,將第2層地址映射到相應的第3層地址上。路由器能從路由選擇更新中發(fā)現(xiàn)下一跳路由器,并相應的在臨街表中增加表項。這個處理讓路由器構建了第3層分組轉發(fā)所需的下一跳重寫信息。

僅有路由器上的CEF轉發(fā)機制才可以關閉基于CEF的轉發(fā)。CEF默認啟用,在路由器初始化時,會根據(jù)路由器中的路由選擇協(xié)議構建一張路由選擇表,構建完成后,CPU自動創(chuàng)建 FIB表和鄰接表。與基于流的流緩存轉發(fā)不同,CEF表是基于網絡拓撲。當一個分組進入交換機時,交換機的第3層轉發(fā)引擎ASIC根據(jù)目的網絡和最詳細的網絡掩碼進行最長匹配查找。

MSFC:多層交換功能卡

基于CEF的Catalyst交換機,支持下面兩種3層硬件交換方法:

1、集中式交換:在一個專用的ASIC上作出轉發(fā)決策,該ASIC是第3層交換機中所有接口的樞紐。所有需要路由或交換的數(shù)據(jù)包都必須經過總線或交換矩陣進入中央引擎。使用該交換方式,硬件交換性能取決于中央交換引擎和交換機矩陣/總線體系結構。用于catalyst 6500和catalyst4000系列

2、分布式交換:第3層交換機的接口或線路模塊獨立地做出轉發(fā)決策。采用分布式交換的交換機將CEF FIB和鄰接表的副本放在線路模塊或接口中,供其路由選擇和轉發(fā)數(shù)據(jù)幀。系統(tǒng)性能為所有轉發(fā)引擎之和。用于catalyst 3550 和catalyst帶DFC(分布轉發(fā)卡)的6500

基于CEF的多層交換:

CEF的兩種負載均衡方式:

1、基于每個會話的負載均衡(per-session load sharing)

基于每個會話的負載均衡允許路由器使用多條路徑分發(fā)流量。對于一個給定的源—目的主機對,即使有多條路徑可用,路由器也會保證該會話的數(shù)據(jù)包走相同的路徑。不同的會話采用不同的路徑,使用負載均衡,基于每個會話的負載均衡再激活CEF的時候缺省的也被激活。由于基于每個會話的負載均衡依賴于流量的統(tǒng)計分發(fā),因而在會話數(shù)增加的情況下更有效率。

基于每個會話的負載均衡能夠確保導向給定的源—目的對的數(shù)據(jù)包按序到達,因為導向相同主機對的所有數(shù)據(jù)包都被路由到相同的鏈路上。

2、 基于每個數(shù)據(jù)包的負載均衡

基于每個數(shù)據(jù)包的負載均衡使得路由器可以把連續(xù)的數(shù)據(jù)包發(fā)送到不同的路徑上,而不必關心個別的主機或用戶會話,使用輪轉的方法來確定每一個數(shù)據(jù)包選擇哪條路徑到達目的地。

當大量數(shù)據(jù)通過單個會話的多條并行鏈路時,基于每個數(shù)據(jù)包的負載均衡顯得更加有效。在這種情況下,基于每個會話的負載均衡將會過載其中一條鏈路,而其他鏈路幾乎沒有什么流量。

但基于每個數(shù)據(jù)包的負載均衡會導致針對某一個會話來說,數(shù)據(jù)包可能走不同的路徑,這會引起數(shù)據(jù)包的重新排序,對于某些數(shù)據(jù)流量類型來說是不合適的,必須對于IP語音流量來說。

當啟用基于數(shù)據(jù)包的負載均衡功能時,必須先禁用基于目的地的負載均衡功能。為了禁用基于目的地的負載均衡功能,可以在接口配置模式下,

no ip load-sharing per-destination

使用基于數(shù)據(jù)包的負載均衡,路由器可以在路徑上連續(xù)發(fā)送數(shù)據(jù)包,而不用考慮具體的主機或用戶情況。這種負載均衡機制采用輪轉辦法來確定每個數(shù)據(jù)包采用哪條路徑到達目的地。基于數(shù)據(jù)包的負載均衡可以保證在多條鏈路上進行負載均衡。要啟用基于數(shù)據(jù)包的負載均衡功能,可以在接口配置模式下

ip load-sharing per-packet

為CEF配置網絡記賬功能

啟用收集被快速轉發(fā)到某個目的地的數(shù)據(jù)包個數(shù)和字節(jié)數(shù)

ip cef accounting per-prefix

啟用收集通過某個目的地被快速轉發(fā)的數(shù)據(jù)包的個數(shù)

ip cef accounting non-recursive

在全局配置模式中為CEF啟用網絡記賬功能后,相應的路由處理器會收集記賬信息。當用戶為dCEF啟用網絡記賬功能后,線路卡上會收集記帳信息。

查看網絡記帳信息

show ip cef

為CEF配置跨隧道的交換

CEF支持跨隧道的交換,例如GRE隧道。當你啟用CEF或者dCEF模式時,跨隧道的交換會被自動啟用,所以您無需再執(zhí)行任何附加操作來啟用跨隧道的交換。有時候,在某個接口配置了一項功能,而CEF或dCEF并不支持該功能,這時您就可能需要在這個特定的接口上禁止CEF或dCEF。例如,策略路由和CEF就不能一起使用。您可能想讓一個接口支持策略路由,而讓其他的接口支持 CEF。在這種情況下,可以按全局模式啟用CEF,而在那個打算配置策略路由的接口上禁用CEF。這樣,除了那一個接口外,在其他所有接口上都啟用了快速轉發(fā)。在某個接口上禁用CEF 或dCEF,可以在接口配置模式

no ip route-cache cef

爾后又想重新啟用CEF,在接口配置模式下,可以使用:

ip route-cache cef 在Cisco12000

系列路由器上,您不可以在某個接口上禁用dCEF模式。

分享到

zhangcun

相關推薦