第三層交換機(jī)與路由瓶頸問題的綜合說明
第三層交換機(jī)有很多值得學(xué)習(xí)的地方,這里我們主要介紹第三層交換機(jī)與路由瓶頸問題。路由器工作在OSI模型的第三層——網(wǎng)絡(luò)層。對于不同規(guī)模的網(wǎng)絡(luò),路由器作用的側(cè)重點有所不同。在主干網(wǎng)上,路由器的主要作用是路由選擇。
主干網(wǎng)上的路由器,必須知道到達(dá)所有下層網(wǎng)絡(luò)的路徑。這需要維護(hù)龐大的路由表,并對連接狀態(tài)的變化作出盡可能迅速的反應(yīng)。路由器的故障將會導(dǎo)致嚴(yán)重的信息傳輸問題。在地區(qū)網(wǎng)中,路由器的主要作用是網(wǎng)絡(luò)連接和路由選擇,即連接下層各個基層網(wǎng)絡(luò)單位——園區(qū)網(wǎng),同時負(fù)責(zé)下層網(wǎng)絡(luò)之間的數(shù)據(jù)轉(zhuǎn)發(fā)。在園區(qū)網(wǎng)內(nèi)部,路由器的主要作用是分隔子網(wǎng)。早期的互連網(wǎng)基層單位是局域網(wǎng)(LAN),其中所有主機(jī)處于同一個邏輯網(wǎng)絡(luò)中。隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,局域網(wǎng)演變成以高速主干和路由器連接的多個子網(wǎng)所組成的園區(qū)網(wǎng)。在其中,各個子網(wǎng)在邏輯上獨立,而路由器就是唯一能夠分隔它們的設(shè)備,它負(fù)責(zé)子網(wǎng)間的報文轉(zhuǎn)發(fā)和廣播隔離,在邊界上的路由器則負(fù)責(zé)與上層網(wǎng)絡(luò)的連接。
可見,傳統(tǒng)的路由器在網(wǎng)絡(luò)中有路由、轉(zhuǎn)發(fā)、防火墻、隔離廣播等作用。但隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,在大型的局域網(wǎng)絡(luò)中,用戶的數(shù)據(jù)往往越過本地的網(wǎng)絡(luò)在網(wǎng)際間傳送,傳統(tǒng)的路由器常常不堪重負(fù)。
例如在一個劃分了VLAN以后的網(wǎng)絡(luò)中,邏輯上劃分的不同網(wǎng)段之間通信仍然要通過路由器轉(zhuǎn)發(fā)。由于在局域網(wǎng)上,不同VLAN之間的通信數(shù)據(jù)量很大,這樣,如果路由器要對每一個數(shù)據(jù)包都路由一次,隨著網(wǎng)絡(luò)上數(shù)據(jù)量的不斷增大,它將成為瓶頸。
第三層交換的概念
第三層交換機(jī)技術(shù)也稱為IP交換技術(shù)、高速路由技術(shù)等。這是一種利用第三層協(xié)議中的信息來加強(qiáng)第二層交換功能的機(jī)制。三層交換(也稱多層交換技術(shù),或IP交換技術(shù))是相對于傳統(tǒng)交換概念而提出的。眾所周知,傳統(tǒng)的交換技術(shù)是在OSI網(wǎng)絡(luò)標(biāo)準(zhǔn)模型中的第二層——數(shù)據(jù)鏈路層進(jìn)行操作的,而三層交換技術(shù)是在網(wǎng)絡(luò)模型中的第三層交換機(jī)實現(xiàn)了數(shù)據(jù)包的高速轉(zhuǎn)發(fā)。簡單地說,三層交換技術(shù)就是:二層交換技術(shù) + 三層轉(zhuǎn)發(fā)技術(shù)。
具有第第三層交換機(jī)功能的設(shè)備是一個帶有第三層路由功能的第二層交換機(jī),但它是二者的有機(jī)結(jié)合,并不是簡單的把路由器設(shè)備的硬件及軟件簡單地疊加在局域網(wǎng)交換機(jī)上。第三層交換機(jī)的目標(biāo)是,只要在源地址和目的地址之間有一條更為直接的第二層通路,就沒有必要經(jīng)過路由器轉(zhuǎn)發(fā)數(shù)據(jù)包。第三層交換機(jī)使用第三層路由協(xié)議確定傳送路徑,此路徑可以只用一次,也可以存儲起來,供以后使用。之后數(shù)據(jù)包通過一條虛電路繞過路由器快速發(fā)送。
(1)第三層交換機(jī)的種類:
三層交換機(jī)可以根據(jù)其處理數(shù)據(jù)的不同而分為純硬件和純軟件兩大類。純硬件的三層技術(shù)相對來說技術(shù)復(fù)雜,成本高,但是速度快,性能好,帶負(fù)載能力強(qiáng)。其原理是,采用ASIC芯片,采用硬件的方式進(jìn)行路由表的查找和刷新。
當(dāng)數(shù)據(jù)由端口接口芯片接收進(jìn)來以后,首先在二層交換芯片中查找相應(yīng)的目的MAC地址,如果查到,就進(jìn)行二層轉(zhuǎn)發(fā),否則將數(shù)據(jù)送至三層引擎。在三層引擎中,ASIC芯片查找相應(yīng)的路由表信息,與數(shù)據(jù)的目的IP地址相比對,然后發(fā)送ARP數(shù)據(jù)包到目的主機(jī),得到該主機(jī)的MAC地址,將MAC地址發(fā)到二層芯片,由二層芯片轉(zhuǎn)發(fā)該數(shù)據(jù)包。基于軟件的三層交換機(jī)技術(shù)較簡單,但速度較慢,不適合作為主干。其原理是,采用CPU用軟件的方式查找路由表。
當(dāng)數(shù)據(jù)由端口接口芯片接收進(jìn)來以后,首先在二層交換芯片中查找相應(yīng)的目的MAC地址,如果查到,就進(jìn)行二層轉(zhuǎn)發(fā)否則將數(shù)據(jù)送至CPU.CPU查找相應(yīng)的路由表信息,與數(shù)據(jù)的目的IP地址相比對,然后發(fā)送ARP數(shù)據(jù)包到目的主機(jī)得到該主機(jī)的MAC地址,將MAC地址發(fā)到二層芯片,由二層芯片轉(zhuǎn)發(fā)該數(shù)據(jù)包。因為低價CPU處理速度較慢,因此這種三層交換機(jī)處理速度較慢。
(2)第三層交換機(jī)工作原理:
簡單的網(wǎng)絡(luò):A——E——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ā)。