1.引言 在今天的網(wǎng)絡(luò)建設(shè)中,新出現(xiàn)的三層交換機(jī)已成為我們的首選,。它以其高效的性能,、優(yōu)良的性能價格比得到用戶的認(rèn)可和贊許。目前,,三層交換機(jī)在企業(yè)網(wǎng)/校園網(wǎng)建設(shè),、智能社區(qū)接入等等許多場合中得到了大量的應(yīng)用,市場的需求和技術(shù)的更新推動這種應(yīng)用向縱深發(fā)展,。 2.傳統(tǒng)交換技術(shù) 傳統(tǒng)的局域網(wǎng)交換機(jī)是一種二層網(wǎng)絡(luò)設(shè)備,,它在操作過程中不斷收集信息去建立起它本身的一個MAC地址表。這個表相當(dāng)簡單,,基本上說明了某個MAC 地址是在哪個端口上被發(fā)現(xiàn)的,。這樣當(dāng)交換機(jī)收到一個以太網(wǎng)包時,它便會查看一下該以太網(wǎng)包的目的MAC地址,,核對一下自己的地址表以確認(rèn)該從哪個端口把包發(fā)出去,。但當(dāng)交換機(jī)收到一個不認(rèn)識的包時,也就是說如果目的MAC地址不在MAC地址表中,,交換機(jī)便會把該包“擴(kuò)散”出去,,即從所有端口發(fā)出去,就如同交換機(jī)收到一個廣播包一樣,,這就暴露出傳統(tǒng)局域網(wǎng)交換機(jī)的弱點:不能有效的解決廣播,、異種網(wǎng)絡(luò)互連、安全性控制等問題,。因此,,產(chǎn)生了交換機(jī)上的VLAN(虛擬局域網(wǎng))技術(shù)。 3.第三層交換技術(shù) 三層交換(也稱多層交換技術(shù),,或IP交換技術(shù))是相對于傳統(tǒng)交換概念而提出的,。眾所周知,傳統(tǒng)的交換技術(shù)是在OSI網(wǎng)絡(luò)標(biāo)準(zhǔn)模型中的第二層??數(shù)據(jù)鏈路層進(jìn)行操作的,,而三層交換技術(shù)在網(wǎng)絡(luò)模型中的第三層實現(xiàn)了分組的高速轉(zhuǎn)發(fā),。簡單的說,三層交換技術(shù)就是“二層交換技術(shù) + 三層轉(zhuǎn)發(fā)”。三層交換技術(shù)的出現(xiàn),,解決了局域網(wǎng)中網(wǎng)段劃分之后網(wǎng)段中的子網(wǎng)必須依賴路由器進(jìn)行管理的局面,,解決了傳統(tǒng)路由器低速、復(fù)雜所造成的網(wǎng)絡(luò)瓶頸問題,。 一個具有三層交換功能的設(shè)備,,是一個帶有第三層路由功能的第二層交換機(jī),但它是兩者的有機(jī)結(jié)合,,而不是簡單地把路由器設(shè)備的硬件及軟件疊加在局域網(wǎng)交換機(jī)上,。我們可以通過以下例子說明三層交換機(jī)是如何工作的。 假設(shè)兩個使用IP協(xié)議的站點A,、B通過第三層交換機(jī)進(jìn)行通信,發(fā)送站點A在開始發(fā)送時,,會先拿自己的IP地址與B站的IP地址進(jìn)行比較,,判斷B站是否與自己在同一子網(wǎng)內(nèi)。若目的站B與發(fā)送站A在同一子網(wǎng)內(nèi),,則進(jìn)行二層的轉(zhuǎn)發(fā),。具體步驟如下:為了得到站點B的 MAC地址,站點A首先發(fā)一個ARP廣播報文,,請求站點B的MAC地址,。該ARP請求報文進(jìn)入交換機(jī)后,首先進(jìn)行源MAC地址學(xué)習(xí),,芯片自動把站點A的MAC地址以及進(jìn)入交換機(jī)的端口號等信息填入到芯片的MAC地址表中,,然后在MAC地址表中進(jìn)行目的地址查找。由于此時是一個廣播報文,,交換機(jī)則會把這個廣播報文從進(jìn)入交換機(jī)端口所屬的VLAN中進(jìn)行廣播,。B站點收到這個ARP請求報文之后,會立刻發(fā)送一個ARP回復(fù)報文,,這個報文是一個單播報文,,目的地址為站點A的MAC地址。該包進(jìn)入交換機(jī)后,,同樣,,首先進(jìn)行源MAC地址學(xué)習(xí),然后進(jìn)行目的地址查找,,由于此時MAC地址表中已經(jīng)存在了A站點MAC地址的匹配條目,,所以交換機(jī)直接把此報文從相應(yīng)的端口中轉(zhuǎn)發(fā)出去。通過以上一次ARP過程,,交換芯片就把站點A和B的信息保存在其MAC地址表中,。以后A、B之間進(jìn)行通信或者同一網(wǎng)段的其它站點想要與A或B通信,交換機(jī)就知道該把報文從哪個端口送出,。還必須說明的一點是,,當(dāng)查找MAC地址表的時候發(fā)現(xiàn)找不到匹配表項,該報文又不是廣播或多播報文,,此時此報文被稱為DLF(Destination Lookup Failure)報文,交換機(jī)對此類報文的處理就象對收到一個廣播報文處理一樣,,將此報文從進(jìn)入端口所屬的VLAN中擴(kuò)散出去。從以上過程可以看出,,所有二層轉(zhuǎn)發(fā)都是由硬件完成的,,無論是MAC地址表的學(xué)習(xí)過程還是目的地址查找確定輸出端口過程都沒有軟件進(jìn)行干預(yù)。 下面我們看一下兩個站點通過三層交換機(jī)實現(xiàn)跨網(wǎng)段通信是怎樣一個過程,。 如上例,,站點A、B通過三層交換機(jī)進(jìn)行通信,。站點A和B所在網(wǎng)段都屬于交換機(jī)上的直連網(wǎng)段,,若站點A和站點B不在同一子網(wǎng)內(nèi),發(fā)送站A首先要向其“缺省網(wǎng)關(guān)”發(fā)出ARP請求報文,,而“缺省網(wǎng)關(guān)”的IP地址其實就是三層交換機(jī)上站點A所屬VLAN的IP地址,。當(dāng)發(fā)送站A對“缺省網(wǎng)關(guān)”的IP地址廣播出一個ARP請求時,交換機(jī)就向發(fā)送站A回一個ARP回復(fù)報文,,告訴站點A交換機(jī)此VLAN的MAC地址,,同時可以通過軟件把站點A的IP地址、MAC地址,、與交換機(jī)直接相連的端口號等信息設(shè)置到交換芯片的三層硬件表項中,。站點A收到這個ARP回復(fù)報文之后,進(jìn)行目的MAC地址替換,,把要發(fā)給B的包首先發(fā)給交換機(jī),。交換機(jī)收到這個包以后,同樣首先進(jìn)行源MAC地址學(xué)習(xí),,目的MAC地址查找,,由于此時目的MAC地址為交換機(jī)的MAC地址,在這種情況下將會把該報文送到交換芯片的三層引擎處理,。一般來說,,三層引擎會有兩個表,一個是主機(jī)路由表,,這個表是以IP地址為索引的,,里面存放目的IP地址、下一跳MAC地址,、端口號等信息,。若找到一條匹配表項,,就會在對報文進(jìn)行一些操作(例如目的MAC與源MAC替換、TTL減1等)之后將報文從表中指定的端口轉(zhuǎn)發(fā)出去,。若主機(jī)路由表中沒有找到匹配條目,,則會繼續(xù)查找另一個表??網(wǎng)段路由表。這個表存放網(wǎng)段地址,、下一跳MAC地址,、端口號等信息。一般來說這個表的條目要少得多,,但覆蓋的范圍很大,,只要設(shè)置得當(dāng),基本上可以保證大部分進(jìn)入交換機(jī)的報文都走硬件轉(zhuǎn)發(fā),,這樣不僅大大提高轉(zhuǎn)發(fā)速度,,同時也減輕了CPU的負(fù)荷。若查找網(wǎng)段路由表也沒有找到匹配表項,,則交換芯片會把包送給CPU處理,,進(jìn)行軟路由。由于站點B屬于交換機(jī)的直連網(wǎng)段之一,,CPU收到這個IP報文以后,會直接以B的IP為索引檢查ARP緩存,,若沒有站點B的MAC地址,,則根據(jù)路由信息向B站廣播一個ARP請求,B站得到此ARP請求后向交換機(jī)回復(fù)其MAC地址,,CPU在收到這個ARP回復(fù)報文的同時,,同樣可以通過軟件把站點B的IP地址、MAC地址,、進(jìn)入交換機(jī)的端口號等信息設(shè)置到交換芯片的三層硬件表項中,,然后把由站點A發(fā)來的IP報文轉(zhuǎn)發(fā)給站點B,這樣就完成了站點A到站點B的第一次單向通信,。由于芯片內(nèi)部的三層引擎中已經(jīng)保存站點A,、B的路由信息,以后站點A,、B之間進(jìn)行通信或其它網(wǎng)段的站點想要與A,、B進(jìn)行通信,交換芯片則會直接把包從三層硬件表項中指定的端口轉(zhuǎn)發(fā)出去,,而不必再把包交給CPU處理,。這種通過“一次路由,多次交換”的方式,,大大提高了轉(zhuǎn)發(fā)速度,。需要說明的是,,三層引擎中的路由表項大都是通過軟件設(shè)置的。至于何時設(shè)置,、怎么設(shè)置并不存在一個固定的標(biāo)準(zhǔn),,我們在此也不詳細(xì)討論。一個單波IP報文從進(jìn)入三層交換機(jī)到轉(zhuǎn)發(fā)出去一般來說走以下流程: 通過以上流程我們可以了解報文在交換機(jī)中的執(zhí)行過程,,同時我們也可以清楚的看出三層交換機(jī)是如何充分把傳統(tǒng)交換機(jī)和路由器的優(yōu)勢有機(jī)的結(jié)合在一起,。 (1) 當(dāng)交換機(jī)從某個端口收到一個數(shù)據(jù)包,,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機(jī)器是連在哪個端口上的,; (2) 再去讀取包頭中的目的MAC地址,,并在地址表中查找相應(yīng)的端口; (3) 如表中有與這目的MAC地址對應(yīng)的端口,,把數(shù)據(jù)包直接復(fù)制到這端口上,; (4) 如表中找不到相應(yīng)的端口則把數(shù)據(jù)包廣播到所有端口上,當(dāng)目的機(jī)器對源機(jī)器回應(yīng)時,,交換機(jī)又可以學(xué)習(xí)一目的MAC地址與哪個端口對應(yīng),,在下次傳送數(shù)據(jù)時就不再需要對所有端口進(jìn)行廣播了。 不斷的循環(huán)這個過程,,對于全網(wǎng)的MAC地址信息都可以學(xué)習(xí)到,,二層交換機(jī)就是這樣建立和維護(hù)它自己的地址表。 從二層交換機(jī)的工作原理可以推知以下三點: (1) 由于交換機(jī)對多數(shù)端口的數(shù)據(jù)進(jìn)行同時交換,,這就要求具有很寬的交換總線帶寬,,如果二層交換機(jī)有N個端口,每個端口的帶寬是M,,交換機(jī)總線帶寬超過N×M,,那么這交換機(jī)就可以實現(xiàn)線速交換; (2) 學(xué)習(xí)端口連接的機(jī)器的MAC地址,,寫入地址表,,地址表的大小(一般兩種表示方式:一為BEFFER RAM,,一為MAC表項數(shù)值),,地址表大小影響交換機(jī)的接入容量; (3) 還有一個就是二層交換機(jī)一般都含有專門用于處理數(shù)據(jù)包轉(zhuǎn)發(fā)的ASIC (Application specific Integrated Circuit)芯片,,因此轉(zhuǎn)發(fā)速度可以做到非???。由于各個廠家采用ASIC不同,直接影響產(chǎn)品性能,。 以上三點也是評判二三層交換機(jī)性能優(yōu)劣的主要技術(shù)參數(shù),,這一點請大家在考慮設(shè)備選型時注意比較。 (二)路由技術(shù) 路由器工作在OSI模型的第三層---網(wǎng)絡(luò)層操作,,其工作模式與二層交換相似,,但路由器工作在第三層,這個區(qū)別決定了路由和交換在傳遞包時使用不同的控制信息,,實現(xiàn)功能的方式就不同,。工作原理是在路由器的內(nèi)部也有一個表,這個表所標(biāo)示的是如果要去某一個地方,,下一步應(yīng)該向那里走,,如果能從路由表中找到數(shù)據(jù)包下一步往那里走,把鏈路層信息加上轉(zhuǎn)發(fā)出去,;如果不能知道下一步走向那里,,則將此包丟棄,然后返回一個信息交給源地址,。 路由技術(shù)實質(zhì)上來說不過兩種功能:決定最優(yōu)路由和轉(zhuǎn)發(fā)數(shù)據(jù)包,。路由表中寫入各種信息,由路由算法計算出到達(dá)目的地址的最佳路徑,,然后由相對簡單直接的轉(zhuǎn)發(fā)機(jī)制發(fā)送數(shù)據(jù)包,。接受數(shù)據(jù)的下一臺路由器依照相同的工作方式繼續(xù)轉(zhuǎn)發(fā),依次類推,,直到數(shù)據(jù)包到達(dá)目的路由器。 而路由表的維護(hù),,也有兩種不同的方式,。一種是路由信息的更新,將部分或者全部的路由信息公布出去,,路由器通過互相學(xué)習(xí)路由信息,,就掌握了全網(wǎng)的拓?fù)浣Y(jié)構(gòu),這一類的路由協(xié)議稱為距離矢量路由協(xié)議,;另一種是路由器將自己的鏈路狀態(tài)信息進(jìn)行廣播,,通過互相學(xué)習(xí)掌握全網(wǎng)的路由信息,進(jìn)而計算出最佳的轉(zhuǎn)發(fā)路徑,,這類路由協(xié)議稱為鏈路狀態(tài)路由協(xié)議,。 由于路由器需要做大量的路徑計算工作,一般處理器的工作能力直接決定其性能的優(yōu)劣,。當(dāng)然這一判斷還是對中低端路由器而言,,因為高端路由器往往采用分布式處理系統(tǒng)體系設(shè)計,。 (三)三層交換技術(shù) 近年來的對三層技術(shù)的宣傳,耳朵都能起繭子,,到處都在喊三層技術(shù),,有人說這是個非常新的技術(shù),也有人說,,三層交換嘛,,不就是路由器和二層交換機(jī)的堆疊,也沒有什么新的玩意,,事實果真如此嗎,?下面先來通過一個簡單的網(wǎng)絡(luò)來看看三層交換機(jī)的工作過程。 組網(wǎng)比較簡單 使用IP的設(shè)備A------------------------三層交換機(jī)------------------------使用IP的設(shè)備B 比如A要給B發(fā)送數(shù)據(jù),,已知目的IP,,那么A就用子網(wǎng)掩碼取得網(wǎng)絡(luò)地址,判斷目的IP是否與自己在同一網(wǎng)段,。 如果在同一網(wǎng)段,,但不知道轉(zhuǎn)發(fā)數(shù)據(jù)所需的MAC地址,A就發(fā)送一個ARP請求,,B返回其MAC地址,,A用此MAC封裝數(shù)據(jù)包并發(fā)送給交換機(jī),交換機(jī)起用二層交換模塊,,查找MAC地址表,,將數(shù)據(jù)包轉(zhuǎn)發(fā)到相應(yīng)的端口。 如果目的IP地址顯示不是同一網(wǎng)段的,,那么A要實現(xiàn)和B的通訊,,在流緩存條目中沒有對應(yīng)MAC地址條目,就將第一個正常數(shù)據(jù)包發(fā)送向一個缺省網(wǎng)關(guān),,這個缺省網(wǎng)關(guān)一般在操作系統(tǒng)中已經(jīng)設(shè)好,,對應(yīng)第三層路由模塊,所以可見對于不是同一子網(wǎng)的數(shù)據(jù),,最先在MAC表中放的是缺省網(wǎng)關(guān)的MAC地址,;然后就由三層模塊接收到此數(shù)據(jù)包,查詢路由表以確定到達(dá)B的路由,,將構(gòu)造一個新的幀頭,,其中以缺省網(wǎng)關(guān)的MAC地址為源MAC地址,以主機(jī)B的MAC地址為目的MAC地址,。通過一定的識別觸發(fā)機(jī)制,,確立主機(jī)A與B的MAC地址及轉(zhuǎn)發(fā)端口的對應(yīng)關(guān) 系,并記錄進(jìn)流緩存條目表,,以后的A到B的數(shù)據(jù),,就直接交由二層交換模塊完成,。這就通常所說的一次路由多次轉(zhuǎn)發(fā)。 以上就是三層交換機(jī)工作過程的簡單概括,,可以看出三層交換的特點: 由硬件結(jié)合實現(xiàn)數(shù)據(jù)的高速轉(zhuǎn)發(fā),。 這就不是簡單的二層交換機(jī)和路由器的疊加,三層路由模塊直接疊加在二層交換的高速背板總線上,,突破了傳統(tǒng)路由器的接口速率限制,,速率可達(dá)幾十Gbit/s。算上背板帶寬,,這些是三層交換機(jī)性能的兩個重要參數(shù),。 簡潔的路由軟件使路由過程簡化。 大部分的數(shù)據(jù)轉(zhuǎn)發(fā),,除了必要的路由選擇交由路由軟件處理,,都是又二層模塊高速轉(zhuǎn)發(fā),路由軟件大多都是經(jīng)過處理的高效優(yōu)化軟件,,并不是簡單照搬路由器中的軟件,。 結(jié)論 二層交換機(jī)用于小型的局域網(wǎng)絡(luò)。這個就不用多言了,,在小型局域網(wǎng)中,,廣播包影響不大,二層交換機(jī)的快速交換功能,、多個接入端口和低謙價格為小型網(wǎng)絡(luò)用戶提供了很完善的解決方案,。 路由器的優(yōu)點在于接口類型豐富,支持的三層功能強(qiáng)大,,路由能力強(qiáng)大,,適合用于大型的網(wǎng)絡(luò)間的路由,它的優(yōu)勢在于選擇最佳路由,,負(fù)荷分擔(dān),,鏈路備份及和其他網(wǎng)絡(luò)進(jìn)行路由信息的交換等等路由器所具有功能。 三層交換機(jī)的最重要的功能是加快大型局域網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)的快速轉(zhuǎn)發(fā),,加入路由功能也是為這個目的服務(wù)的。如果把大型網(wǎng)絡(luò)按照部門,,地域等等因素劃分成一個個小局域網(wǎng),,這將導(dǎo)致大量的網(wǎng)際互訪,單純的使用二層交換機(jī)不能實現(xiàn)網(wǎng)際互訪,;如單純的使用路由器,,由于接口數(shù)量有限和路由轉(zhuǎn)發(fā)速度慢,將限制網(wǎng)絡(luò)的速度和網(wǎng)絡(luò)規(guī)模,,采用具有路由功能的快速轉(zhuǎn)發(fā)的三層交換機(jī)就成為首選,。 一般來說,,在內(nèi)網(wǎng)數(shù)據(jù)流量大,要求快速轉(zhuǎn)發(fā)響應(yīng)的網(wǎng)絡(luò)中,,如全部由三層交換機(jī)來做這個工作,,會造成三層交換機(jī)負(fù)擔(dān)過重,響應(yīng)速度受影響,,將網(wǎng)間的路由交由路由器去完成,,充分發(fā)揮不同設(shè)備的優(yōu)點,不失為一種好的組網(wǎng)策略,,當(dāng)然,,前提是客戶的腰包很鼓,不然就退而求其次,,讓三層交換機(jī)也兼為網(wǎng)際互連,。 第四層交換的一個簡單定義是:它是一種功能,它決定傳輸不僅僅依據(jù)MAC地址(第二層網(wǎng)橋)或源/目標(biāo)IP地址(第三層路由),而且依據(jù)TCP/UDP(第四層) 應(yīng)用端口號,。第四層交換功能就象是虛IP,,指向物理服務(wù)器,。它傳輸?shù)臉I(yè)務(wù)服從的協(xié)議多種多樣,,有HTTP,、FTP,、NFS,、Telnet或其他協(xié)議,。這些業(yè)務(wù)在物理服務(wù)器基礎(chǔ)上,需要復(fù)雜的載量平衡算法。在IP世界,,業(yè)務(wù)類型由終端TCP或UDP端口地址來決定,,在第四層交換中的應(yīng)用區(qū)間則由源端和終端IP地址、TCP和UDP端口共同決定,。 在第四層交換中為每個供搜尋使用的服務(wù)器組設(shè)立虛IP地址(VIP),,每組服務(wù)器支持某種應(yīng)用。在域名服務(wù)器(DNS)中存儲的每個應(yīng)用服務(wù)器地址是VIP,,而不是真實的服務(wù)器地址,。 當(dāng)某用戶申請應(yīng)用時,一個帶有目標(biāo)服務(wù)器組的VIP連接請求(例如一個TCP SYN包)發(fā)給服務(wù)器交換機(jī),。服務(wù)器交換機(jī)在組中選取最好的服務(wù)器,將終端地址中的VIP用實際服務(wù)器的IP取代,并將連接請求傳給服務(wù)器,。這樣,同一區(qū)間所有的包由服務(wù)器交換機(jī)進(jìn)行映射,,在用戶和同一服務(wù)器間進(jìn)行傳輸,。 第四層交換的原理 OSI模型的第四層是傳輸層,。傳輸層負(fù)責(zé)端對端通信,即在網(wǎng)絡(luò)源和目標(biāo)系統(tǒng)之間協(xié)調(diào)通信,。在IP協(xié)議棧中這是TCP(一種傳輸協(xié)議)和UDP(用戶數(shù)據(jù)包協(xié)議)所在的協(xié)議層,。 在第四層中,,TCP和UDP標(biāo)題包含端口號(portnumber),它們可以唯一區(qū)分每個數(shù)據(jù)包包含哪些應(yīng)用協(xié)議(例如HTTP、FTP等),。端點系統(tǒng)利用這種信息來區(qū)分包中的數(shù)據(jù),,尤其是端口號使一個接收端計算機(jī)系統(tǒng)能夠確定它所收到的IP包類型,,并把它交給合適的高層軟件。端口號和設(shè)備IP地址的組合通常稱作“插口(socket)”。 1和255之間的端口號被保留,,他們稱為“熟知”端口,,也就是說,在所有主機(jī)TCP/IP協(xié)議棧實現(xiàn)中,這些端口號是相同的。除了“熟知”端口外,,標(biāo)準(zhǔn)UNIX服務(wù)分配在256到1024端口范圍,,定制的應(yīng)用一般在1024以上分配端口號. 分配端口號的最近清單可以在RFc1700”Assigned Numbers”上找到,。TCP/UDP端口號提供的附加信息可以為網(wǎng)絡(luò)交換機(jī)所利用,,這是第4層交換的基礎(chǔ),。 "熟知"端口號舉例: 應(yīng)用協(xié)議 端口號 FTP 20(數(shù)據(jù)) 21(控制) TELNET 23 SMTP 25 HTTP 80 NNTP 119 NNMP 16 162(SNMP traps) TCP/UDP端口號提供的附加信息可以為網(wǎng)絡(luò)交換機(jī)所利用,,這是第四層交換的基礎(chǔ)。 具有第四層功能的交換機(jī)能夠起到與服務(wù)器相連接的“虛擬IP”(VIP)前端的作用,。 每臺服務(wù)器和支持單一或通用應(yīng)用的服務(wù)器組都配置一個VIP地址,。這個VIP地址被發(fā)送出去并在域名系統(tǒng)上注冊。 在發(fā)出一個服務(wù)請求時,,第四層交換機(jī)通過判定TCP開始,,來識別一次會話的開始。然后它利用復(fù)雜的算法來確定處理這個請求的最佳服務(wù)器,。一旦做出這種決定,,交換機(jī)就將會話與一個具體的IP地址聯(lián)系在一起,,并用該服務(wù)器真正的IP地址來代替服務(wù)器上的VIP地址。 每臺第四層交換機(jī)都保存一個與被選擇的服務(wù)器相配的源IP地址以及源TCP 端口相關(guān)聯(lián)的連接表,。然后第四層交換機(jī)向這臺服務(wù)器轉(zhuǎn)發(fā)連接請求,。所有后續(xù)包在客戶機(jī)與服務(wù)器之間重新影射和轉(zhuǎn)發(fā),,直到交換機(jī)發(fā)現(xiàn) 會話為止。 在使用第四層交換的情況下,接入可以與真正的服務(wù)器連接在一起來滿足用戶制定的規(guī)則,,諸如使每臺服務(wù)器上有相等數(shù)量的接入或根據(jù)不同服務(wù)器的容量來分配傳輸流。 如何選用合適的第四層交換 a,速度 為了在企業(yè)網(wǎng)中行之有效,,第四層交換必須提供與第三層線速路由器可比擬的性能,。也就是說,第四層交換必須在所有端口以全介質(zhì)速度操作,,即使在多個千兆以太網(wǎng)連接上亦如此,。千兆以太網(wǎng)速度等于以每秒488000 個數(shù)據(jù)包的最大速度路由(假定最壞的情形,即所有包為以及網(wǎng)定義的最小尺寸,長64字節(jié))。 b,服務(wù)器容量平衡算法 依據(jù)所希望的容量平衡間隔尺寸,,第四層交換機(jī)將應(yīng)用分配給服務(wù)器的算法有很多種,,有簡單的檢測環(huán)路最近的連接、檢測環(huán)路時延或檢測服務(wù)器本身的閉環(huán)反饋,。在所有的預(yù)測中,,閉環(huán)反饋提供反映服務(wù)器現(xiàn)有業(yè)務(wù)量的最精確的檢測。 c,表容量 應(yīng)注意的是,,進(jìn)行第四層交換的交換機(jī)需要有區(qū)分和存貯大量發(fā)送表項的能力,。交換機(jī)在一個企業(yè)網(wǎng)的核心時尤其如此。許多第二/ 三層交換機(jī)傾向發(fā)送表的大小與網(wǎng)絡(luò)設(shè)備的數(shù)量成正比,。對第四層交換機(jī),,這個數(shù)量必須乘以網(wǎng)絡(luò)中使用的不同應(yīng)用協(xié)議和會話的數(shù)量。因而發(fā)送表的大小隨端點設(shè)備和應(yīng)用類型數(shù)量的增長而迅速增長,。第四層交換機(jī)設(shè)計者在設(shè)計其產(chǎn)品時需要考慮表的這種增長,。大的表容量對制造支持線速發(fā)送第四層流量的高性能交換機(jī)至關(guān)重要. d,冗余 第四層交換機(jī)內(nèi)部有支持冗余拓?fù)浣Y(jié)構(gòu)的功能。在具有雙鏈路的網(wǎng)卡容錯連接時,,就可能建立從一個服務(wù)器到網(wǎng)卡,,鏈路和服務(wù)器交換器的完全冗余系統(tǒng)。 二,、三,、四層交換機(jī)的區(qū)別。 3層交換,、一次路由,,多次轉(zhuǎn)發(fā)、MLS 其實都是一個東西。CEF是比MLS更高級的東西,,思科目前的新型交換產(chǎn)品都默認(rèn)使用基于CEF的MLS了,,所以實際上原有的一次路由,多次轉(zhuǎn)發(fā)3層交換技術(shù)已經(jīng)開始在漸漸被淘汰了,,但搞清楚MLS原理還是有必要的,。CEF通過提前構(gòu)建FIB和鄰接表,因此可以實現(xiàn)無需路由,,永久交換,。有時間我再把CEF整理一下。 另外,,網(wǎng)上流傳的“一次路由,,多次轉(zhuǎn)發(fā)”是通過ARP將接收數(shù)據(jù)的客戶機(jī)MAC通告給發(fā)送數(shù)據(jù)的客戶機(jī),這個說法其實是錯誤的,,不管怎么說發(fā)送數(shù)據(jù)的PC都只知道3層交換的網(wǎng)關(guān)MAC,,也就是說一次路由,多次轉(zhuǎn)發(fā)其后的交換過程,,3層交換機(jī)仍然是要修改數(shù)據(jù)包的2層MAC地址的,,而不是發(fā)送數(shù)據(jù)的PC在發(fā)送數(shù)據(jù)時就封裝上接收PC的目的MAC!即便是CEF也要進(jìn)行第2層的MAC地址重新封裝,。 MLS(MultiLayer Switching,多層交換)為交換機(jī)提供基于硬件的第三層高性能交換,。它采用先進(jìn)的專用集成電路(ASIC)交換部件完成子網(wǎng)間的IP包交換,,可以大大減輕路由器在處理數(shù)據(jù)包時所引起的過高系統(tǒng)開銷。 MLS是一種用硬件處理包交換和重寫幀頭,,從而提高IP路由性能的技術(shù),。Cisco多層交換技術(shù)支持所有傳統(tǒng)路由協(xié)議,而原來由路由器完成的幀轉(zhuǎn)發(fā)和重寫功能現(xiàn)在已經(jīng)由交換機(jī)的硬件完成,。MLS將傳統(tǒng)路由器的包交換功能遷移到第三層交換機(jī)上,。當(dāng)然,這首先要求交換的路徑必須存在,。 MLS由以下三個部分組成: 1. 多層路由處理器 (MLS-RP) 它相當(dāng)于網(wǎng)絡(luò)中的路由器,,負(fù)責(zé)處理每個數(shù)據(jù)流的第一個數(shù)據(jù)包,協(xié)助MLS交換引擎 (MLS-SE)在第三層的CAM (Content-Addressable Memory)中建立捷徑條目(Shortcut Entry),。MLS-RP可以是一個外部的路由器,,也可以由三層交換機(jī)的路由交換模塊(RSM)來實現(xiàn)。 2. 多層交換的交換引擎 (MLS-SE) 它是負(fù)責(zé)處理轉(zhuǎn)發(fā)和重寫數(shù)據(jù)包功能的交換實體,。 3. 多層交換協(xié)議 (MLSP) 它是一個輕型協(xié)議,,用來通過多層路由處理器 (MLS-RP)對多層交換的交換引擎進(jìn)行初始化。 下面以圖1所示的網(wǎng)絡(luò)為例,,闡述多層交換實現(xiàn)的步驟,。 第一步:發(fā)送MLSP Hello 信息 當(dāng)路由器激活后,,多層路由處理器每15秒發(fā)送一個MLSP Hello包,這些包內(nèi)含路由器接口所使用的VLAN標(biāo)識和MAC地址信息,。MLS-SE通過這些信息掌握具備多層交換能力的路由器的第二層屬性,。如果交換機(jī)連接了多個MLS-RP,MLS-SE通過為它們的MAC地址分配XTAG值的方法來區(qū)分每個MLS-RP的MAC地址條目,。如果MLSP幀從同一個 MLS-RP得到所有MAC地址,,MLS-SE則為其附加相同的XTAG值,具體如圖2所示,。這些關(guān)聯(lián)的記錄都存放在CAM中,。由于Hello包是周期性發(fā)送的,所以,,這種方法可以保證相關(guān)值動態(tài)地跟蹤網(wǎng)絡(luò)的變化,,并可實現(xiàn)一定的淘汰機(jī)制。 Hello包是在第二層發(fā)布的,,它使用多播地址01-00-0C-DD-DD-DD. 第二步:標(biāo)識候選包(Candidate Packet) 在了解具有多層交換能力的路由器的相關(guān)地址后,,MLS-SE可以對進(jìn)入交換機(jī)的數(shù)據(jù)包進(jìn)行匹配判斷。對于一個流中的數(shù)據(jù)包,,如果MLS緩存中含有與之匹配的捷徑條目,,則MLS-SE就旁路路由器而直接轉(zhuǎn)發(fā)該數(shù)據(jù)包;如果MLS中不含與該數(shù)據(jù)包相匹配的捷徑條目,,則MLS-SE將它歸為候選包,,并在緩存中建立部分捷徑(Partial shortcut)。這樣的包采用傳統(tǒng)的第二層交換機(jī)處理方式處理,,并發(fā)往與之相連的路由器接口(網(wǎng)關(guān)),,具體見圖3所示。 這里要注意,,候選包(幀)必須滿足兩個標(biāo)準(zhǔn):目標(biāo)地址經(jīng)過MLSP所列的路由器接口的一個MAC地址,;不存在捷徑條目。 第三步:標(biāo)識使能包(Enable Packet) 路由器收到并以傳統(tǒng)的方式轉(zhuǎn)發(fā)數(shù)據(jù)包,。通過數(shù)據(jù)包的目標(biāo)地址路由表得知,,這個包應(yīng)從Fast Ethernet1/0的第二個接口轉(zhuǎn)出,并將包封裝為VLAN2幀通過ISL鏈路送回,。具體過程如圖4所示,。 此時,路由器已經(jīng)重寫第二層幀的幀頭,。同時,,路由器不僅改寫了ISL頭的VLAN號,而且也修改了兩個MAC 地址域:源MAC改為路由器出口的MAC地址,目標(biāo)MAC改為主機(jī)B的MAC地址,。雖然數(shù)據(jù)包的IP地址未改寫,,但I(xiàn)P包頭的生存時間(TTL)值被減1,故 IP包頭的校驗和也需要做相應(yīng)的修改,。 這個修改后的數(shù)據(jù)包稱為使能包(Enable Packet),,當(dāng)這個數(shù)據(jù)包從路由器送出并穿過交換機(jī)到達(dá)目的地主機(jī)B時,要履行下列五個功能: 第二層交換機(jī)根據(jù)使能包的目的地MAC地址,,知道該數(shù)據(jù)包應(yīng)該從PORT3/1口轉(zhuǎn)發(fā)出去,; MLS-SE得知使能包的幀頭上源地址是通過Hello過程建立的地址記錄之一; MLS-SE根據(jù)使能包目的IP地址查尋在第二步中建立的部分捷徑條目,; MLS-SE將與使能包源MAC地址相關(guān)聯(lián)的XTAG值和部分捷徑條目的對應(yīng)XTAG值相比較,,如果匹配,則表明這個使能包與第二步中的候選包來自同一個路由器,; MLS-SE完成該捷徑條目的建立過程,,該捷徑記錄將包含重寫數(shù)據(jù)流中的后續(xù)包幀頭所需的所有信息。 第四步:直接交換(轉(zhuǎn)發(fā))數(shù)據(jù)流中的后續(xù)包 當(dāng)后續(xù)的數(shù)據(jù)包被主機(jī)A送出后,,MLS-SE利用數(shù)據(jù)包中的目標(biāo)IP地址查找在第三步建立的完整捷徑,。地址匹配后,MLS-SE利用重寫引擎修改幀頭信息,,然后直接轉(zhuǎn)發(fā)給主機(jī)B(數(shù)據(jù)包不發(fā)給路由器),。重寫操作修改幀頭域,其值同第一個被路由器修改的數(shù)據(jù)包的域值一樣,。詳見圖5所示,。這里需要解釋的是, NFFC(NetFlow Feature Card)是裝備在三層交換機(jī)中的網(wǎng)絡(luò)流性能卡,,它維護(hù)第三層交換數(shù)據(jù)包流的交換表(MLS Cache),作為多層交換的交換引擎部分,。 上述這個過程被稱為“一次路由,,多次交換”。交換機(jī)利用專業(yè)化硬件ASIC來處理數(shù)據(jù)包,,速度相當(dāng)快,,可以達(dá)到100Mbps甚至1000Mbps. |
|