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