1.引言
在今天的網(wǎng)絡(luò)建設(shè)中,新出現(xiàn)的三層交換機已成為我們的首選。它以其高效的性能、優(yōu)良的性能價格比得到用戶的認(rèn)可和贊許。目前,三層交換機在企業(yè)網(wǎng)/校園網(wǎng)建設(shè)、智能社區(qū)接入等等許多場合中得到了大量的應(yīng)用,市場的需求和技術(shù)的更新推動這種應(yīng)用向縱深發(fā)展。
2.傳統(tǒng)交換技術(shù)
傳統(tǒng)的局域網(wǎng)交換機是一種二層網(wǎng)絡(luò)設(shè)備,它在操作過程中不斷收集信息去建立起它本身的一個MAC地址表。這個表相當(dāng)簡單,基本上說明了某個MAC 地址是在哪個端口上被發(fā)現(xiàn)的。這樣當(dāng)交換機收到一個以太網(wǎng)包時,它便會查看一下該以太網(wǎng)包的目的MAC地址,核對一下自己的地址表以確認(rèn)該從哪個端口把包發(fā)出去。但當(dāng)交換機收到一個不認(rèn)識的包時,也就是說如果目的MAC地址不在MAC地址表中,交換機便會把該包“擴散”出去,即從所有端口發(fā)出去,就如同交換機收到一個廣播包一樣,這就暴露出傳統(tǒng)局域網(wǎng)交換機的弱點:不能有效的解決廣播、異種網(wǎng)絡(luò)互連、安全性控制等問題。因此,產(chǎn)生了交換機上的VLAN(虛擬局域網(wǎng))技術(shù)。
3.第三層交換技術(shù)
三層交換(也稱多層交換技術(shù),或IP交換技術(shù))是相對于傳統(tǒng)交換概念而提出的。眾所周知,傳統(tǒng)的交換技術(shù)是在OSI網(wǎng)絡(luò)標(biāo)準(zhǔn)模型中的第二層――數(shù)據(jù)鏈路層進行操作的,而三層交換技術(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)必須依賴路由器進行管理的局面,解決了傳統(tǒng)路由器低速、復(fù)雜所造成的網(wǎng)絡(luò)瓶頸問題。
一個具有三層交換功能的設(shè)備,是一個帶有第三層路由功能的第二層交換機,但它是兩者的有機結(jié)合,而不是簡單地把路由器設(shè)備的硬件及軟件疊加在局域網(wǎng)交換機上。我們可以通過以下例子說明三層交換機是如何工作的。
假設(shè)兩個使用IP協(xié)議的站點A、B通過第三層交換機進行通信,發(fā)送站點A在開始發(fā)送時,會先拿自己的IP地址與B站的IP地址進行比較,判斷B站是否與自己在同一子網(wǎng)內(nèi)。若目的站B與發(fā)送站A在同一子網(wǎng)內(nèi),則進行二層的轉(zhuǎn)發(fā)。具體步驟如下:為了得到站點B的 MAC地址,站點A首先發(fā)一個ARP廣播報文,請求站點B的MAC地址。該ARP請求報文進入交換機后,首先進行源MAC地址學(xué)習(xí),芯片自動把站點A的MAC地址以及進入交換機的端口號等信息填入到芯片的MAC地址表中,然后在MAC地址表中進行目的地址查找。由于此時是一個廣播報文,交換機則會把這個廣播報文從進入交換機端口所屬的VLAN中進行廣播。B站點收到這個ARP請求報文之后,會立刻發(fā)送一個ARP回復(fù)報文,這個報文是一個單播報文,目的地址為站點A的MAC地址。該包進入交換機后,同樣,首先進行源MAC地址學(xué)習(xí),然后進行目的地址查找,由于此時MAC地址表中已經(jīng)存在了A站點MAC地址的匹配條目,所以交換機直接把此報文從相應(yīng)的端口中轉(zhuǎn)發(fā)出去。通過以上一次ARP過程,交換芯片就把站點A和B的信息保存在其MAC地址表中。以后A、B之間進行通信或者同一網(wǎng)段的其它站點想要與A或B通信,交換機就知道該把報文從哪個端口送出。還必須說明的一點是,當(dāng)查找MAC地址表的時候發(fā)現(xiàn)找不到匹配表項,該報文又不是廣播或多播報文,此時此報文被稱為DLF(Destination Lookup Failure)報文,交換機對此類報文的處理就象對收到一個廣播報文處理一樣,將此報文從進入端口所屬的VLAN中擴散出去。從以上過程可以看出,所有二層轉(zhuǎn)發(fā)都是由硬件完成的,無論是MAC地址表的學(xué)習(xí)過程還是目的地址查找確定輸出端口過程都沒有軟件進行干預(yù)。
下面我們看一下兩個站點通過三層交換機實現(xiàn)跨網(wǎng)段通信是怎樣一個過程。
如上例,站點A、B通過三層交換機進行通信。站點A和B所在網(wǎng)段都屬于交換機上的直連網(wǎng)段,若站點A和站點B不在同一子網(wǎng)內(nèi),發(fā)送站A首先要向其“缺省網(wǎng)關(guān)”發(fā)出ARP請求報文,而“缺省網(wǎng)關(guān)”的IP地址其實就是三層交換機上站點A所屬VLAN的IP地址。當(dāng)發(fā)送站A對“缺省網(wǎng)關(guān)”的IP地址廣播出一個ARP請求時,交換機就向發(fā)送站A回一個ARP回復(fù)報文,告訴站點A交換機此VLAN的MAC地址,同時可以通過軟件把站點A的IP地址、MAC地址、與交換機直接相連的端口號等信息設(shè)置到交換芯片的三層硬件表項中。站點A收到這個ARP回復(fù)報文之后,進行目的MAC地址替換,把要發(fā)給B的包首先發(fā)給交換機。交換機收到這個包以后,同樣首先進行源MAC地址學(xué)習(xí),目的MAC地址查找,由于此時目的MAC地址為交換機的MAC地址,在這種情況下將會把該報文送到交換芯片的三層引擎處理。一般來說,三層引擎會有兩個表,一個是主機路由表,這個表是以IP地址為索引的,里面存放目的IP地址、下一跳MAC地址、端口號等信息。若找到一條匹配表項,就會在對報文進行一些操作(例如目的MAC與源MAC替換、TTL減1等)之后將報文從表中指定的端口轉(zhuǎn)發(fā)出去。若主機路由表中沒有找到匹配條目,則會繼續(xù)查找另一個表――網(wǎng)段路由表。這個表存放網(wǎng)段地址、下一跳MAC地址、端口號等信息。一般來說這個表的條目要少得多,但覆蓋的范圍很大,只要設(shè)置得當(dāng),基本上可以保證大部分進入交換機的報文都走硬件轉(zhuǎn)發(fā),這樣不僅大大提高轉(zhuǎn)發(fā)速度,同時也減輕了CPU的負(fù)荷。若查找網(wǎng)段路由表也沒有找到匹配表項,則交換芯片會把包送給CPU處理,進行軟路由。由于站點B屬于交換機的直連網(wǎng)段之一,CPU收到這個IP報文以后,會直接以B的IP為索引檢查ARP緩存,若沒有站點B的MAC地址,則根據(jù)路由信息向B站廣播一個ARP請求,B站得到此ARP請求后向交換機回復(fù)其MAC地址,CPU在收到這個ARP回復(fù)報文的同時,同樣可以通過軟件把站點B的IP地址、MAC地址、進入交換機的端口號等信息設(shè)置到交換芯片的三層硬件表項中,然后把由站點A發(fā)來的IP報文轉(zhuǎn)發(fā)給站點B,這樣就完成了站點A到站點B的第一次單向通信。由于芯片內(nèi)部的三層引擎中已經(jīng)保存站點A、B的路由信息,以后站點A、B之間進行通信或其它網(wǎng)段的站點想要與A、B進行通信,交換芯片則會直接把包從三層硬件表項中指定的端口轉(zhuǎn)發(fā)出去,而不必再把包交給CPU處理。這種通過“一次路由,多次交換”的方式,大大提高了轉(zhuǎn)發(fā)速度。需要說明的是,三層引擎中的路由表項大都是通過軟件設(shè)置的。至于何時設(shè)置、怎么設(shè)置并不存在一個固定的標(biāo)準(zhǔn),我們在此也不詳細(xì)討論。一個單波IP報文從進入三層交換機到轉(zhuǎn)發(fā)出去一般來說走以下流程:
通過以上流程我們可以了解報文在交換機中的執(zhí)行過程,同時我們也可以清楚的看出三層交換機是如何充分把傳統(tǒng)交換機和路由器的優(yōu)勢有機的結(jié)合在一起。
在實際應(yīng)用的網(wǎng)絡(luò)環(huán)境中,對于跨網(wǎng)段通信的需求不斷提高,過去的網(wǎng)絡(luò)在一般情況下按“80/20分配”規(guī)則,即只有20%的流量是通過骨干路由器與中央服務(wù)器或企業(yè)網(wǎng)的其他部分通信,而80%的網(wǎng)絡(luò)流量主要仍集中在不同的部門子網(wǎng)內(nèi)。而今天,這個比例已經(jīng)提高到了50%,甚至80%(倒二八,20/80),這是因為今天的網(wǎng)絡(luò)正在經(jīng)歷著諸多應(yīng)用的集合影響。網(wǎng)絡(luò)應(yīng)用已經(jīng)超越了組件和電子信函,新型應(yīng)用已經(jīng)如此迅速和深刻地沖擊著網(wǎng)絡(luò),比如,任何人通過任何一個瀏覽器便可進行訪問設(shè)定的網(wǎng)頁,支持諸如銷售、服務(wù)和財務(wù)之類商業(yè)功能的數(shù)據(jù)倉庫。這種變化對傳統(tǒng)路由器產(chǎn)生了直接的沖擊。因為傳統(tǒng)的路由器更注重對多種介質(zhì)類型和多種傳輸速度的支持,而目前數(shù)據(jù)緩沖和轉(zhuǎn)換能力比線速吞吐能力和低時延更為重要。處于網(wǎng)絡(luò)核心位置的路由器的高費用、低性能使其成為網(wǎng)絡(luò)的瓶頸,但由于網(wǎng)絡(luò)間互連的需求,它又是不可缺少的。雖然也開發(fā)了高速路由器,但是由于其成本太高,所以僅用于Internet主干部分。三層交換機將二層交換機和三層路由器兩者的優(yōu)勢有機而智能化的結(jié)合在一起,在各個層次上提供線速性能,從而解決了傳統(tǒng)路由器低速、復(fù)雜所造成的網(wǎng)絡(luò)瓶頸問題。在沒有廣域網(wǎng)連接需求的場合,用于連接不同子網(wǎng)的傳統(tǒng)路由器正在以極快的速度被三層交換機所代替。
4.小結(jié)
三層交換從概念的提出到今天的普及應(yīng)用,雖然只歷經(jīng)了幾年的時間,但其在網(wǎng)絡(luò)建設(shè)中的應(yīng)用越來越廣泛,從最初骨干層、中間的匯聚層一直滲透到邊緣的接入層。三層交換機以其速度快、性能好、價格低等眾多的優(yōu)勢已經(jīng)把路由器排擠到網(wǎng)絡(luò)的“邊緣”。凡是沒有廣域網(wǎng)連接需求,同時又需要路由器的地方,都可以用三層交換機代替。隨著ASIC硬件芯片技術(shù)的發(fā)展和實際應(yīng)用的推廣,三層交換的技術(shù)與產(chǎn)品會得到進一步發(fā)展。