思科CCIE快速轉(zhuǎn)發(fā)機(jī)制知識(shí)
思科公司已成為公認(rèn)的全世界網(wǎng)絡(luò)互聯(lián)解決方案的領(lǐng)先廠(chǎng)商,其公司出產(chǎn)的一系列路由器更是引領(lǐng)全世界,那么你知道思科CCIE快速轉(zhuǎn)發(fā)機(jī)制知識(shí)嗎?下面是學(xué)習(xí)啦小編整理的一些關(guān)于思科CCIE快速轉(zhuǎn)發(fā)機(jī)制知識(shí)的相關(guān)資料,供你參考。
思科CCIE快速轉(zhuǎn)發(fā)機(jī)制知識(shí)
CEF采用一個(gè)4級(jí)每級(jí)256條通道結(jié)構(gòu)的轉(zhuǎn)發(fā)表來(lái)指明轉(zhuǎn)發(fā)條目的位置,轉(zhuǎn)發(fā)表有nexthop等信息,涵蓋了整個(gè)IPv4的地址范圍,并有指針指向另一個(gè)鄰接表。轉(zhuǎn)發(fā)條目(MAC地址之類(lèi))都存儲(chǔ)在一個(gè)單獨(dú)的鄰接表上。這兩個(gè)表包括了所有的轉(zhuǎn)發(fā)信息,而這些轉(zhuǎn)發(fā)信息是根據(jù)路由表和ARP來(lái)構(gòu)造的。
CEF簡(jiǎn)化了查詢(xún)的步驟,提高了單位時(shí)間的工作效率。ff1200>而且從整體上來(lái)看,路由信息和轉(zhuǎn)發(fā)信息是分離的,數(shù)據(jù)包的轉(zhuǎn)發(fā)只根據(jù)轉(zhuǎn)發(fā)信息而不用參照路由信息,可以充分利用專(zhuān)用硬件的功能來(lái)達(dá)到線(xiàn)速轉(zhuǎn)發(fā),而不受路由變化或者其他因素的干擾,保證了轉(zhuǎn)發(fā)的高速高效。
CEF轉(zhuǎn)發(fā)提供3張表
1>FIB:從路由選擇表中拷貝過(guò)來(lái)的轉(zhuǎn)發(fā)信息,包括路由選擇表中用于轉(zhuǎn)發(fā)路由分組所必須的最少信息。
2>鄰接表:維護(hù)一個(gè)鄰接節(jié)點(diǎn)以及他們相關(guān)的2層MAC重寫(xiě)或嚇一跳信息數(shù)據(jù)庫(kù)
3>NetFlow Table:用于統(tǒng)計(jì)網(wǎng)絡(luò)數(shù)據(jù)等
需要指出的是,CEF的轉(zhuǎn)發(fā)信息不是存儲(chǔ)在cache里的,因此也不存在過(guò)期作廢或定時(shí)刷新,只有根據(jù)路由表的變化而進(jìn)行的更改,通常很穩(wěn)定。而且轉(zhuǎn)發(fā)信息是從路由信息經(jīng)過(guò)一定處理后轉(zhuǎn)換過(guò)來(lái)的,也就是說(shuō),如果在轉(zhuǎn)發(fā)信息里找不到某個(gè)數(shù)據(jù)包的轉(zhuǎn)發(fā)信息,那么也不用費(fèi)心到路由那里去了,因?yàn)槟抢锟隙ㄒ矝](méi)有。這個(gè)數(shù)據(jù)包的下場(chǎng)不是被扔掉就是轉(zhuǎn)到其他轉(zhuǎn)發(fā)線(xiàn)程中去,轉(zhuǎn)發(fā)信息等于是路由信息針對(duì)于硬件轉(zhuǎn)發(fā)的一個(gè)變形。
這樣的結(jié)構(gòu)布局保證了路由功能和交換功能的分離(軟件上)。路由功能只處理三層以上信息,如路由信息處理、策略等,然后形成一個(gè)路由表,再根據(jù)這個(gè)路由表生成相應(yīng)的轉(zhuǎn)發(fā)信息。轉(zhuǎn)發(fā)功能很明確,就是根據(jù)這些轉(zhuǎn)發(fā)信息來(lái)工作,沒(méi)有相關(guān)信息就拒絕。而不象MLS那樣,遇到不認(rèn)識(shí)的還得回頭找路由問(wèn)明白,那樣降低了轉(zhuǎn)發(fā)效率。CEF在軟件形式上實(shí)現(xiàn)了路由和交換功能的分離,而并不意味著路由器物理結(jié)構(gòu)上的分離,所以它也可以在一些多層交換機(jī)和低端的路由器上實(shí)施。
它的高速表現(xiàn)在以下兩個(gè)方面:
1>在查詢(xún)方式上簡(jiǎn)化了步驟,提高了速度;
2>在分離了路由和轉(zhuǎn)發(fā)功能。
支持CEF的硬件平臺(tái)
Cisco首先在高端路由器平臺(tái)實(shí)現(xiàn)CEF,此后,Catalyst交換機(jī)也支持CEF的轉(zhuǎn)發(fā),但是還存在一些差別,但均提供如下特性:
1. 基于“最長(zhǎng)地址匹配”查找的高速轉(zhuǎn)發(fā)
2. 等價(jià)路徑的負(fù)載均衡
3. 逆向路徑轉(zhuǎn)發(fā)檢查(RPF)
4. 不詳路由的無(wú)效
有些CEF特性?xún)H在路由器上實(shí)現(xiàn)
1. 關(guān)閉基于CEF的轉(zhuǎn)發(fā)能力
2. 每個(gè)前綴和每個(gè)前綴長(zhǎng)度的CEF統(tǒng)計(jì)
3. 從負(fù)載共享路徑統(tǒng)計(jì)數(shù)據(jù)
4. 基于每個(gè)分組的負(fù)載均衡
當(dāng)您在網(wǎng)絡(luò)中使用CEF時(shí),請(qǐng)先考慮以下項(xiàng)目:
加載當(dāng)前完整的Internet路由信息的平臺(tái)所需的最小內(nèi)存(推薦):
- 集中路由模塊上需要128MB
- 每個(gè)線(xiàn)路卡上需要64MB
CEF不能在一個(gè)線(xiàn)路卡上和VIP-分布式快速交換同時(shí)運(yùn)行。
缺省情況下,如果Cisco IOS軟件在交換數(shù)據(jù)報(bào)時(shí)遇到CEF不支持的功能和封裝類(lèi)型,它將采用其他交換方法(如最優(yōu)交換、快速交換、過(guò)程交換)。
當(dāng)前CEF不支持以下功能:
- 策略路由
- 網(wǎng)絡(luò)地址翻譯(NAT)
- 路由交換模塊上的訪(fǎng)問(wèn)控制列表
- 多點(diǎn)PPP封裝
- SMDS
- 令牌環(huán)
- ATM
- ISL封裝
以下平臺(tái)支持CEF功能:
Cisco7000系列路由器(需要裝備RSP7000)
Cisco7200系列
Cisco7500系列
Cisco12000系列
第二代接口模塊(VIP2-20、VIP2-40、VIP2-50)支持CEF。
在不同的路由器平臺(tái)上,硬件對(duì)CEF的支持可能會(huì)有所不同,這要由路由器中安裝的路由模塊和其他硬件所決定。例如在Cisco12000系列路由器上,所有的線(xiàn)路卡都支持CEF交換;在Cisco7500系列路由器上,要實(shí)現(xiàn)CEF交換,需要有RSP模塊和VIP線(xiàn)路卡的支持。每個(gè)接口卡用自己的引擎獨(dú)立地運(yùn)行CEF去轉(zhuǎn)發(fā)數(shù)據(jù)包,并且都獨(dú)自擁有一個(gè)對(duì)FIB表的拷貝。每個(gè)接口卡獨(dú)立的去交換數(shù)據(jù)包,減輕了中心路由處理模塊的負(fù)擔(dān)。
CEF操作
要了解CEF,必須先了解Supervisor的處理結(jié)構(gòu)
底板:
主要提供交換矩陣,32Gbit/s的總線(xiàn),多播復(fù)制ASIC,網(wǎng)絡(luò)管理處理器,還有基于GBIC的2個(gè)接口。此外還提供PFC2和MSFC2子板的連接器
PFC2:
提供一組ASIC進(jìn)行所有基于硬件的轉(zhuǎn)發(fā)。通常CEF就是在這個(gè)卡上實(shí)現(xiàn)的。 他提供基于3層的轉(zhuǎn)發(fā)引擎。提供各種3層表,如FIB,鄰接表等。此外,PFC還包口基于硬件的訪(fǎng)問(wèn)控制列表和Qos機(jī)制的ASIC。
MSFC2:
MSFC2提供一個(gè)處理所有3層控制板活動(dòng)的cpu。控制板是處理路由計(jì)算的硬件體系結(jié)構(gòu)的一部分。MSFC2負(fù)責(zé)處理不能由PFC2硬件元素處理的功能,以及所有路由選擇協(xié)議活動(dòng)的處理,比如OSPF和BGP的路由選擇更新。MSFC2 也負(fù)責(zé)形成lP路由選擇表、FIB 表和鄰近表。
在這3個(gè)組件中,監(jiān)控底板和PFC2是強(qiáng)制構(gòu)件,而MSFC2組件是可選的(盡管它是第3層交換十分需要的),因?yàn)樗ㄐ纬蒀EF表的CPU.MSFC2子卡上的CPU運(yùn)行任何所配置的路由選擇協(xié)議需要的所有實(shí)例。此外,CPU還處理不能用硬件處理的分組。MSFC2是基于ciscoIOS軟件的路由器,并以同樣方式配置。配置參數(shù)與Cisco 7200系列路由器上的一樣。CEF同Supervisor一起默認(rèn)啟用。事實(shí)上,它不能關(guān)閉。
對(duì)于大多數(shù)通用的CEF功能,不需要特別地配置來(lái)啟用CEF ,除了路由選擇協(xié)議、網(wǎng)絡(luò)接口地址等的標(biāo)準(zhǔn)配置。
在路由器初始化時(shí),會(huì)根據(jù)路由器軟件配置中的信息構(gòu)建一張路由選擇表(如靜態(tài)路由、直連路由,以及通過(guò)路由選擇協(xié)議交換動(dòng)態(tài)學(xué)習(xí)到的路由)。在構(gòu)建了路由選擇表之后,CPU自動(dòng)創(chuàng)建FIB和鄰近表。FIB 和鄰近表顯示了按照最佳轉(zhuǎn)發(fā)方式進(jìn)行的出現(xiàn)在路由選擇表中的數(shù)據(jù)。
與基于通信流的流緩存不同,cEF表是基于網(wǎng)絡(luò)拓?fù)?。?dāng)一個(gè)分組進(jìn)入交換機(jī)時(shí),交換機(jī)的第3層轉(zhuǎn)發(fā)引擎ASIC根據(jù)目的網(wǎng)絡(luò)和最詳細(xì)的網(wǎng)絡(luò)掩碼澎于最長(zhǎng)匹配查找。例如,PFC2不是基于目的地址172.31.10.3進(jìn)行交換,而是查找網(wǎng)絡(luò)172.31.10.0/24 并交換到連接該網(wǎng)絡(luò)的接口上。并且不涉及除路由選擇表和預(yù)先建立的FIB表之外的任何軟件。此外,一旦路由選擇表中發(fā)生了變化,所有的cEF 表會(huì)立即更新。這使得這個(gè)方法是高效的,緩存不會(huì)由于路由翻動(dòng)而無(wú)效。CEF更加適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓?/p>
CEF表
1.CEF轉(zhuǎn)發(fā)信息庫(kù):
CEF利用轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)(FIB)來(lái)進(jìn)行基于IP目的地前綴的交換決策。從概念上講,F(xiàn)IB類(lèi)似于一個(gè)路由表或信息庫(kù),它維護(hù)著一個(gè)包含IP路由表轉(zhuǎn)發(fā)信息的鏡像。當(dāng)網(wǎng)絡(luò)中路由或拓?fù)浣Y(jié)構(gòu)發(fā)生了變化時(shí),IP路由表就被更新,而這些變化也將反映在FIB中?;贗P路由表中的信息,F(xiàn)IB維護(hù)著下一跳的地址信息。因?yàn)镕IB條目和路由表?xiàng)l目之間有一一對(duì)應(yīng)的關(guān)系,所以FIB中包含了所有已知的路由,這樣就不用維護(hù)路由高速緩存了,而先前的交換方法(比如快速交換和最優(yōu)交換)都要維護(hù)路由高速緩存。
CEF FIB 表由一棵4級(jí)層次的樹(shù)組成。4 級(jí)來(lái)源于IP 議所使用的犯比特地址。層次的每一級(jí)是基于32比特中的8 位。CEF依賴(lài)最長(zhǎng)匹配轉(zhuǎn)發(fā)算法,這意味著按降序搜索整棵樹(shù)直到“最長(zhǎng)匹配”,即匹配最大比特?cái)?shù)。FIB樹(shù)分層表示,樹(shù)的頂端是最不詳細(xì)的地址,底端是最詳細(xì)的地址。每個(gè)葉以8比特為邊界,按降序排列更詳細(xì)的表項(xiàng)。這棵樹(shù)(通常被認(rèn)為是一個(gè)256路的分支樹(shù))提供了一種用于快速查找的高效機(jī)制,確保查找過(guò)程中產(chǎn)生最少的延遲。這棵樹(shù)也提供一個(gè)高擴(kuò)展性的體系結(jié)構(gòu),因?yàn)樗芤韵啾扰c表效率來(lái)說(shuō)最小的性能開(kāi)銷(xiāo)完全統(tǒng)計(jì)IPv4 編址。每個(gè)樹(shù)葉提供了一個(gè)到鄰近表中相應(yīng)下一跳表項(xiàng)的指針。
2.鄰接表(Adjacency Table)
如果網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點(diǎn)只通過(guò)一跳就可以穿越鏈路層而彼此到達(dá)對(duì)方,那么它們是鄰接的。除了FIB外,CEF還利用鄰接表來(lái)提供第二層的尋址信息。鄰接表為所有FIB條目維護(hù)第二層的下一網(wǎng)段地址。
鄰接的發(fā)現(xiàn)當(dāng)路由器發(fā)現(xiàn)存在鄰接時(shí)就增加在鄰接表中,每次生成一個(gè)鄰接條目(就像ARP協(xié)議一樣),CEF會(huì)為那個(gè)鄰接節(jié)點(diǎn)預(yù)先計(jì)算一個(gè)鏈路層頭標(biāo)信息,并把這個(gè)頭標(biāo)信息存儲(chǔ)在鄰接表中。當(dāng)決定路由時(shí),它就會(huì)指向下一跳以及相應(yīng)的鄰接條目。隨后,在對(duì)數(shù)據(jù)包進(jìn)行CEF交換時(shí),用預(yù)先生成的頭標(biāo)信息來(lái)對(duì)數(shù)據(jù)包進(jìn)行封裝。
分解鄰接 一個(gè)路由表中也許存在多條到達(dá)目標(biāo)網(wǎng)絡(luò)的路徑,例如:當(dāng)路由器被配置成允許冗余路徑和允許負(fù)載均衡時(shí)。對(duì)于每一個(gè)被分解的轉(zhuǎn)發(fā)路徑,鄰接條目會(huì)被附加一個(gè)頭標(biāo)信息指示出那條路徑的下一跳地址。這種機(jī)制可以用來(lái)在多條路徑上實(shí)現(xiàn)負(fù)載均衡。
需要作特殊處理的鄰接類(lèi)型 另外,因?yàn)猷徑訔l目和下一跳地址相關(guān)聯(lián),所以一些特殊的鄰接類(lèi)型可以被用來(lái)加速交換過(guò)程。前綴被定義后,當(dāng)存在以下被緩存的鄰接條目存在時(shí),前綴需要作特殊處理??锗徑右粋€(gè)以Null0接口為目標(biāo)地址的包會(huì)被拋棄,在訪(fǎng)問(wèn)過(guò)濾器時(shí),這可以被用作一種有效的機(jī)制。
鄰接歸納 當(dāng)路由器直接和幾臺(tái)主機(jī)相連時(shí),F(xiàn)IB表中維持的是這個(gè)子網(wǎng)的前綴,而不是各個(gè)主機(jī)的前綴。這個(gè)子網(wǎng)前綴是一個(gè)鄰接的歸納。當(dāng)要轉(zhuǎn)發(fā)某個(gè)數(shù)據(jù)包到某個(gè)具體主機(jī)時(shí),鄰接數(shù)據(jù)庫(kù)使用這個(gè)被歸納的鄰接。
轉(zhuǎn)出鄰接 當(dāng)遇到某些作特殊處理的功能或者CEF不支持的功能時(shí),路由器將采用更高級(jí)別的交換方法處理數(shù)據(jù)包。
丟棄鄰接 數(shù)據(jù)包被丟棄。這種鄰接類(lèi)型僅僅在Cisco12000系列路由器上出現(xiàn)。
釋放鄰接 數(shù)據(jù)包被釋放,但是前綴仍然有效。
沒(méi)有被分解的鄰接 當(dāng)鏈路層頭標(biāo)信息被附加到數(shù)據(jù)包上時(shí),F(xiàn)IB需要頭標(biāo)指出下一跳的地址。如果FIB表中建立了一個(gè)鄰接,但是并沒(méi)有找到第二層的尋址信息,比如沒(méi)有通過(guò)ARP發(fā)現(xiàn)第二層的尋址信息,這個(gè)鄰接就被認(rèn)為是不完整的。這個(gè)數(shù)據(jù)包就會(huì)交給路由模塊處理,鄰接關(guān)系由ARP來(lái)決定。
看過(guò)文章“思科CCIE快速轉(zhuǎn)發(fā)機(jī)制知識(shí)”的人還看了: