在今天,交換機(jī)以更多的卻是以應(yīng)用需求為導(dǎo)向,在選擇方案和產(chǎn)品時(shí)用戶還非常關(guān)心如何有效保證投資收益。在用戶提出需求后,由系統(tǒng)集成商或廠商來(lái)為其需求來(lái)提供相應(yīng)的服務(wù),然后再去選擇相應(yīng)的技術(shù)。
一、二層交換
二層交換技術(shù)是發(fā)展比較成熟,二層交換機(jī)屬數(shù)據(jù)鏈路層設(shè)備,可以識(shí)別數(shù)據(jù)包中的MAC地址信息,根據(jù)MAC地址進(jìn)行轉(zhuǎn)發(fā),并將這些MAC地址與對(duì)應(yīng)的端口記錄在自己內(nèi)部的一個(gè)地址表中。具體的工作流程如下:
(1)當(dāng)交換機(jī)從某個(gè)端口收到一個(gè)數(shù)據(jù)包,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機(jī)器是連在哪個(gè)端口上的;
(2)再去讀取包頭中的目的MAC地址,并在地址表中查找相應(yīng)的端口;
(3)如表中有與這目的MAC地址對(duì)應(yīng)的端口,把數(shù)據(jù)包直接復(fù)制到這端口上;
(4)如表中找不到相應(yīng)的端口則把數(shù)據(jù)包廣播到所有端口上,當(dāng)目的機(jī)器對(duì)源機(jī)器回應(yīng)時(shí),交換機(jī)又可以學(xué)習(xí)一目的MAC地址與哪個(gè)端口對(duì)應(yīng),在下次傳送數(shù)據(jù)時(shí)就不再需要對(duì)所有端口進(jìn)行廣播了。不斷的循環(huán)這個(gè)過(guò)程,對(duì)于全網(wǎng)的MAC地址信息都可以學(xué)習(xí)到,二層交換機(jī)就是這樣建立和維護(hù)它自己的地址表。
二、路由技術(shù)
路由器工作在OSI模型的第三層——網(wǎng)絡(luò)層操作,其工作模式與二層交換相似,但路由器工作在第三層,這個(gè)區(qū)別決定了路由和交換在傳遞包時(shí)使用不同的控制信息,實(shí)現(xiàn)功能的方式就不同。工作原理是在路由器的內(nèi)部也有一個(gè)表,這個(gè)表所標(biāo)示的是如果要去某一個(gè)地方,下一步應(yīng)該向那里走,如果能從路由表中找到數(shù)據(jù)包下一步往那里走,把鏈路層信息加上轉(zhuǎn)發(fā)出去;如果不能知道下一步走向那里,則將此包丟棄,然后返回一個(gè)信息交給源地址。
路由技術(shù)實(shí)質(zhì)上來(lái)說(shuō)不過(guò)兩種功能:決定最優(yōu)路由和轉(zhuǎn)發(fā)數(shù)據(jù)包。路由表中寫入各種信息,由路由算法計(jì)算出到達(dá)目的地址的最佳路徑,然后由相對(duì)簡(jiǎn)單直接的轉(zhuǎn)發(fā)機(jī)制發(fā)送數(shù)據(jù)包。接受數(shù)據(jù)的下一臺(tái)路由器依照相同的工作方式繼續(xù)轉(zhuǎn)發(fā),依次類推,直到數(shù)據(jù)包到達(dá)目的路由器。而路由表的維護(hù),也有兩種不同的方式。一種是路由信息的更新,將部分或者全部的路由信息公布出去,路由器通過(guò)互相學(xué)習(xí)路由信息,就掌握了全網(wǎng)的拓?fù)浣Y(jié)構(gòu),這一類的路由協(xié)議稱為距離矢量路由協(xié)議;另一種是路由器將自己的鏈路狀態(tài)信息進(jìn)行廣播,通過(guò)互相學(xué)習(xí)掌握全網(wǎng)的路由信息,進(jìn)而計(jì)算出最佳的轉(zhuǎn)發(fā)路徑,這類路由協(xié)議稱為鏈路狀態(tài)路由協(xié)議。
由于路由器需要做大量的路徑計(jì)算工作,一般處理器的工作能力直接決定其性能的優(yōu)劣。當(dāng)然這一判斷還是對(duì)中低端路由器而言,因?yàn)楦叨寺酚善魍捎梅植际教幚硐到y(tǒng)體系設(shè)計(jì)。
三、三層交換技術(shù)
使用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ā)送一個(gè)ARP請(qǐng)求,B返回其MAC地址,A用此MAC封裝數(shù)據(jù)包并發(fā)送給交換機(jī),交換機(jī)起用二層交換模塊,查找MAC地址表,將數(shù)據(jù)包轉(zhuǎn)發(fā)到相應(yīng)的端口。
如果目的IP地址顯示不是同一網(wǎng)段的,那么A要實(shí)現(xiàn)和B的通訊,在流緩存條目中沒(méi)有對(duì)應(yīng)MAC地址條目,就將第一個(gè)正常數(shù)據(jù)包發(fā)送向一個(gè)缺省網(wǎng)關(guān),這個(gè)缺省網(wǎng)關(guān)一般在操作系統(tǒng)中已經(jīng)設(shè)好,對(duì)應(yīng)第三層路由模塊,所以可見(jiàn)對(duì)于不是同一子網(wǎng)的數(shù)據(jù),最先在MAC表中放的是缺省網(wǎng)關(guān)的MAC地址;然后就由三層模塊接收到此數(shù)據(jù)包,查詢路由表以確定到達(dá)B的路由,將構(gòu)造一個(gè)新的幀頭,其中以缺省網(wǎng)關(guān)的MAC地址為源MAC地址,以主機(jī)B的MAC地址為目的MAC地址。通過(guò)一定的識(shí)別觸發(fā)機(jī)制,確立主機(jī)A與B的MAC地址及轉(zhuǎn)發(fā)端口的對(duì)應(yīng)關(guān)系,并記錄進(jìn)流緩存條目表,以后的A到B的數(shù)據(jù),就直接交由二層交換模塊完成。這就通常所說(shuō)的一次路由多次轉(zhuǎn)發(fā)。
二層交換機(jī)用于小型的局域網(wǎng)絡(luò)。這個(gè)就不用多言了,在小型局域網(wǎng)中,廣播包影響不大,二層交換機(jī)的快速交換功能、多個(gè)接入端口和低謙價(jià)格為小型網(wǎng)絡(luò)用戶提供了很完善的解決方案。
路由器的優(yōu)點(diǎn)在于接口類型豐富,支持的三層功能強(qiáng)大,路由能力強(qiáng)大,適合用于大型的網(wǎng)絡(luò)間的路由,它的優(yōu)勢(shì)在于選擇最佳路由,負(fù)荷分擔(dān),鏈路備份及和其他網(wǎng)絡(luò)進(jìn)行路由信息的交換等等路由器所具有功能。
三層交換機(jī)的最重要的功能是加快大型局域網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)的快速轉(zhuǎn)發(fā),加入路由功能也是為這個(gè)目的服務(wù)的。如果把大型網(wǎng)絡(luò)按照部門,地域等等因素劃分成一個(gè)個(gè)小局域網(wǎng),這將導(dǎo)致大量的網(wǎng)際互訪,單純的使用二層交換機(jī)不能實(shí)現(xiàn)網(wǎng)際互訪;如單純的使用路由器,由于接口數(shù)量有限和路由轉(zhuǎn)發(fā)速度慢,將限制網(wǎng)絡(luò)的速度和網(wǎng)絡(luò)規(guī)模,采用具有路由功能的快速轉(zhuǎn)發(fā)的三層交換機(jī)就成為首選。
四、四層交換
第四層交換的一個(gè)簡(jiǎn)單定義是:它是一種功能,它決定傳輸不僅僅依據(jù)MAC地址(第二層網(wǎng)橋)或源/目標(biāo)IP地址(第三層路由),而且依據(jù)TCP/UDP(第四層) 應(yīng)用端口號(hào)。第四層交換功能就象是虛IP,指向物理服務(wù)器。它傳輸?shù)臉I(yè)務(wù)服從的協(xié)議多種多樣,有HTTP、FTP、NFS、Telnet或其他協(xié)議。這些業(yè)務(wù)在物理服務(wù)器基礎(chǔ)上,需要復(fù)雜的載量平衡算法。在IP世界,業(yè)務(wù)類型由終端TCP或UDP端口地址來(lái)決定,在第四層交換中的應(yīng)用區(qū)間則由源端和終端IP地址、TCP和UDP端口共同決定。在第四層交換中為每個(gè)供搜尋使用的服務(wù)器組設(shè)立虛IP地址(VIP),每組服務(wù)器支持某種應(yīng)用。在域名服務(wù)器(DNS)中存儲(chǔ)的每個(gè)應(yīng)用服務(wù)器地址是VIP,而不是真實(shí)的服務(wù)器地址。當(dāng)某用戶申請(qǐng)應(yīng)用時(shí),一個(gè)帶有目標(biāo)服務(wù)器組的VIP連接請(qǐng)求(例如一個(gè)TCP SYN包)發(fā)給服務(wù)器交換機(jī)。服務(wù)器交換機(jī)在組中選取最好的服務(wù)器,將終端地址中的VIP用實(shí)際服務(wù)器的IP取代,并將連接請(qǐng)求傳給服務(wù)器。這樣,同一區(qū)間所有的包由服務(wù)器交換機(jī)進(jìn)行映射,在用戶和同一服務(wù)器間進(jìn)行傳輸。第四層交換的原理 OSI模型的第四層是傳輸層。傳輸層負(fù)責(zé)端對(duì)端通信,即在網(wǎng)絡(luò)源和目標(biāo)系統(tǒng)之間協(xié)調(diào)通信。在IP協(xié)議棧中這是TCP(一種傳輸協(xié)議)和UDP(用戶數(shù)據(jù)包協(xié)議)所在的協(xié)議層。
在第四層中,TCP和UDP標(biāo)題包含端口號(hào)(portnumber),它們可以唯一區(qū)分每個(gè)數(shù)據(jù)包包含哪些應(yīng)用協(xié)議(例如HTTP、FTP等)。端點(diǎn)系統(tǒng)利用這種信息來(lái)區(qū)分包中的數(shù)據(jù),尤其是端口號(hào)使一個(gè)接收端計(jì)算機(jī)系統(tǒng)能夠確定它所收到的IP包類型,并把它交給合適的高層軟件。端口號(hào)和設(shè)備IP地址的組合通常稱作"插口(socket)"。 1和255之間的端口號(hào)被保留,他們稱為"熟知"端口,也就是說(shuō),在所有主機(jī)TCP/I P協(xié)議棧實(shí)現(xiàn)中,這些端口號(hào)是相同的。除了"熟知"端口外,標(biāo)準(zhǔn)UNIX服務(wù)分配在256到1024端口范圍,定制的應(yīng)用一般在1024以上分配端口號(hào)。分配端口號(hào)的最近清單可以在RFc1700"Assigned Numbers"上找到。TCP/UDP端口號(hào)提供的附加信息可以為網(wǎng)絡(luò)交換機(jī)所利用,這是第4層交換的基礎(chǔ)。
具有第四層功能的交換機(jī)能夠起到與服務(wù)器相連接的"虛擬IP"(VIP)前端的作用。 每臺(tái)服務(wù)器和支持單一或通用應(yīng)用的服務(wù)器組都配置一個(gè)VIP地址。這個(gè)VIP地址被發(fā)送出去并在域名系統(tǒng)上注冊(cè)。在發(fā)出一個(gè)服務(wù)請(qǐng)求時(shí),第四層交換機(jī)通過(guò)判定TCP開(kāi)始,來(lái)識(shí)別一次會(huì)話的開(kāi)始。然后它利用復(fù)雜的算法來(lái)確定處理這個(gè)請(qǐng)求的最佳服務(wù)器。一旦做出這種決定,交換機(jī)就將會(huì)話與一個(gè)具體的IP地址聯(lián)系在一起,并用該服務(wù)器真正的IP地址來(lái)代替服務(wù)器上的VIP地址。
每臺(tái)第四層交換機(jī)都保存一個(gè)與被選擇的服務(wù)器相配的源IP地址以及源TCP 端口相關(guān)聯(lián)的連接表。然后第四層交換機(jī)向這臺(tái)服務(wù)器轉(zhuǎn)發(fā)連接請(qǐng)求。所有后續(xù)包在客戶機(jī)與服務(wù)器之間重新影射和轉(zhuǎn)發(fā),直到交換機(jī)發(fā)現(xiàn)會(huì)話為止。在使用第四層交換的情況下,接入可以與真正的服務(wù)器連接在一起來(lái)滿足用戶制定的規(guī)則,諸如使每臺(tái)服務(wù)器上有相等數(shù)量的接入或根據(jù)不同服務(wù)器的容量來(lái)分配傳輸流。