思科路由器設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)包的常用方式
思科路由器的市場表現(xiàn)非常不錯(cuò),這里我們主要分析了思科路由器設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)包的常用方式。switching mode 有很多種,每種模式都有其特別的針對(duì)性,理解它們的不同對(duì)于我們合理的應(yīng)用有著非常重要的意義另外還有些QOS和Security技術(shù)需要特定的Switching mode具體分析如下:
1 Process Switching(進(jìn)程交換)
這是一種最基本的交換模式,在這種模式下,一條數(shù)據(jù)流(flow)中的第一個(gè)包(packet)將被置入系統(tǒng)緩存(system buffer)其目的地址將會(huì)拿到路由表中去查詢比對(duì),思科路由器的處理器(CPU or Processer)同時(shí)將進(jìn)行CRC校驗(yàn),檢查包是否正確然后數(shù)據(jù)包的二層MAC地址將會(huì)被重寫,替換為下一跳接口的MAC地址這樣的過程將會(huì)繼續(xù),對(duì)這條數(shù)據(jù)流(flow)中的第2個(gè)、第3個(gè)數(shù)據(jù)包……相同的操作,包括查詢路由表、重寫MAC地址,CRC校驗(yàn)等。
這種方式無疑是延遲最大的,因?yàn)樗胹ystem buffer以及processor去處理每個(gè)收到的包但是我們?nèi)匀挥袡C(jī)會(huì)使用這種交換方式,比如在進(jìn)行基于每個(gè)包的負(fù)載分擔(dān)時(shí),或是debug ip packet時(shí)。提了這么多,如何打開process switching?因?yàn)槟J(rèn)情況下,思科路由器會(huì)啟用fast switching或optimum switching或是cef switching,而不是process switching,所以我們只能通過:no ip route-cache來禁用fast switching,這在另一種意義上正是開啟process switching。
2 Fash Switching
快速交換要優(yōu)于process switching,它采用了route cache(路由緩存)來存儲(chǔ)關(guān)于某條數(shù)據(jù)流(flow)的特定信息,當(dāng)然會(huì)包括諸如目的MAC地址,目的接口等內(nèi)容這時(shí)我們只需要對(duì)一條數(shù)據(jù)流(flow)中的第一個(gè)包做process switching,并把信息存入cache,所有后續(xù)數(shù)據(jù)包,可以不必再中斷system processor去執(zhí)行查詢等操作,直接從cache中提取目的接口,目的MAC地址等,這樣大大加速了包轉(zhuǎn)發(fā)速度fast switching在某些資料上可能被稱為route-cache switching,思科路由器的ethernet、fast ethernet、serial接口默認(rèn)采用的就是fast switching。我們可以用ip route-cache命令,在接口上啟用fast switchingshow ip cache來檢查fast switching的相關(guān)信息。
3 Optimum and Distributed Switching
這兩種交換模式,從原理上來講都與fast switching極為相似,比如optimum switching其實(shí)采用了一種經(jīng)過優(yōu)化的交換緩存(optimumed switching cache),它的速度要較平常cache要快。distributed switching mode需要使用Versatile Interface Card這種硬件卡,又稱VIP card它會(huì)自已保存一份route cache,這樣在查詢時(shí)就不必要等待使用共享的系統(tǒng)緩存了(shared system buffer),無論相對(duì)于fast switching還是optimum switching來講,都是比較快的這兩種模式一般只在思科高端設(shè)備上有所應(yīng)用,比如7200系列路由器或者思科路由器。命令:ip route-cache optimum show ip cache optimum。
4 Netflow switching
這種模式是最值得參考的,它完全基于其它switching mode,重點(diǎn)在于對(duì)流經(jīng)的數(shù)據(jù)包進(jìn)行計(jì)費(fèi)、監(jiān)控、網(wǎng)管但不得不提的是,這種模式因?yàn)橐惨鎯?chǔ)相關(guān)信息,經(jīng)過統(tǒng)計(jì),大致65536條數(shù)據(jù)流(flow)會(huì)耗費(fèi)4MB的system buffer。相關(guān)命令:ip route-cache flow,show ip cache flow,ip flow-export 將NETFLOW審計(jì)的數(shù)據(jù)包轉(zhuǎn)發(fā)到指定設(shè)備。
5 Cisco Express Forwarding
思科CEF是最為高效的一種三層協(xié)議,很多人容易對(duì)CEF產(chǎn)生誤解,所以我們?nèi)匀灰f明它的來原
CEF采用了基于硬件的平臺(tái),它不僅僅是將數(shù)據(jù)都存入system buffer,而是將整個(gè)思科路由器、拓?fù)浔?以及所有的下一跳地址、MAC地址全部進(jìn)行"預(yù)存",只要路由表、拓?fù)浔碇写嬖诘臈l目,無論是否有數(shù)據(jù)請(qǐng)求發(fā)往其目的地址,都會(huì)提前預(yù)讀取,預(yù)設(shè)置緩存這樣,當(dāng)有新的數(shù)據(jù)請(qǐng)求發(fā)送時(shí),就不需要CPU去查詢目的接口,目的MAC地址等等信息,而是直接從緩存中讀取,從而使轉(zhuǎn)發(fā)速度得以大大提高