二層交換技術(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ù)它自己的地址表。
從二層交換機(jī)的工作原理可以推知以下三點(diǎn):
(1) 由于交換機(jī)對(duì)多數(shù)端口的數(shù)據(jù)進(jìn)行同時(shí)交換,這就要求具有很寬的交換總線帶寬,如果二層交換機(jī)有N個(gè)端口,每個(gè)端口的帶寬是M,交換機(jī)總線帶寬超過(guò)N×M,那么這交換機(jī)就可以實(shí)現(xiàn)線速交換;
(2) 學(xué)習(xí)端口連接的機(jī)器的MAC地址,寫(xiě)入地址表,地址表的大小(一般兩種表示方式:一為BEFFER RAM,一為MAC表項(xiàng)數(shù)值),地址表大小影響交換機(jī)的接入容量;
(3) 還有一個(gè)就是二層交換機(jī)一般都含有專門(mén)用于處理數(shù)據(jù)包轉(zhuǎn)發(fā)的ASIC(Application specific Integrated Circuit)芯片,因此轉(zhuǎn)發(fā)速度可以做到非常快。由于各個(gè)廠家采用ASIC不同,直接影響產(chǎn)品性能。
以上三點(diǎn)也是評(píng)判二三層交換機(jī)性能優(yōu)劣的主要技術(shù)參數(shù),這一點(diǎn)請(qǐng)大家在考慮設(shè)備選型時(shí)注意比較。
(二)路由技術(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ù)包。路由表中寫(xiě)入各種信息,由路由算法計(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ù)
近年來(lái)的對(duì)三層技術(shù)的宣傳,耳朵都能起繭子,到處都在喊三層技術(shù),有人說(shuō)這是個(gè)非常新的技術(shù),也有人說(shuō),三層交換嘛,不就是路由器和二層交換機(jī)的堆疊,也沒(méi)有什么新的玩意,事實(shí)果真如此嗎?下面先來(lái)通過(guò)一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)來(lái)看看三層交換機(jī)的工作過(guò)程。
組網(wǎng)比較簡(jiǎn)單
使用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ī)工作過(guò)程的簡(jiǎn)單概括,可以看出三層交換的特點(diǎn):
由硬件結(jié)合實(shí)現(xiàn)數(shù)據(jù)的高速轉(zhuǎn)發(fā)。
這就不是簡(jiǎn)單的二層交換機(jī)和路由器的疊加,三層路由模塊直接疊加在二層交換的高速背板總線上,突破了傳統(tǒng)路由器的接口速率限制,速率可達(dá)幾十Gbit/s。算上背板帶寬,這些是三層交換機(jī)性能的兩個(gè)重要參數(shù)。
簡(jiǎn)潔的路由軟件使路由過(guò)程簡(jiǎn)化。
大部分的數(shù)據(jù)轉(zhuǎn)發(fā),除了必要的路由選擇交由路由軟件處理,都是又二層模塊高速轉(zhuǎn)發(fā),路由軟件大多都是經(jīng)過(guò)處理的高效優(yōu)化軟件,并不是簡(jiǎn)單照搬路由器中的軟件。
(四)結(jié)論
二層交換機(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ò)按照部門(mén),地域等等因素劃分成一個(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ī)就成為首選。
一般來(lái)說(shuō),在內(nèi)網(wǎng)數(shù)據(jù)流量大,要求快速轉(zhuǎn)發(fā)響應(yīng)的網(wǎng)絡(luò)中,如全部由三層交換機(jī)來(lái)做這個(gè)工作,會(huì)造成三層交換機(jī)負(fù)擔(dān)過(guò)重,響應(yīng)速度受影響,將網(wǎng)間的路由交由路由器去完成,充分發(fā)揮不同設(shè)備的優(yōu)點(diǎn),不失為一種好的組網(wǎng)策略,當(dāng)然,前提是客戶的腰包很鼓,不然就退而求其次,讓三層交換機(jī)也兼為網(wǎng)際互連。
第四層交換的一個(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/IP協(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ǔ)
“熟知”端口號(hào)舉例
應(yīng)用協(xié)議 端口號(hào)
FTP 20(數(shù)據(jù))
21(控制)
TELNET 23
SMTP 25
HTTP 80
NNTP 119
NNMP 16
162(SNMPtraps)
TCP/UDP端口號(hào)提供的附加信息可以為網(wǎng)絡(luò)交換機(jī)所利用,這是第四層交換的基礎(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)分配傳輸流。
如何選用合適的第四層交換
a,速度
為了在企業(yè)網(wǎng)中行之有效,第四層交換必須提供與第三層線速路由器可比擬的性能。也就是說(shuō),第四層交換必須在所有端口以全介質(zhì)速度操作,即使在多個(gè)千兆以太網(wǎng)連接上亦如此。千兆以太網(wǎng)速度等于以每秒488000 個(gè)數(shù)據(jù)包的最大速度路由(假定最壞的情形,即所有包為以及網(wǎng)定義的最小尺寸,長(zhǎng)64字節(jié))。
b,服務(wù)器容量平衡算法
依據(jù)所希望的容量平衡間隔尺寸,第四層交換機(jī)將應(yīng)用分配給服務(wù)器的算法有很多種,有簡(jiǎn)單的檢測(cè)環(huán)路最近的連接、檢測(cè)環(huán)路時(shí)延或檢測(cè)服務(wù)器本身的閉環(huán)反饋。在所有的預(yù)測(cè)中,閉環(huán)反饋提供反映服務(wù)器現(xiàn)有業(yè)務(wù)量的最精確的檢測(cè)。
c,表容量
應(yīng)注意的是,進(jìn)行第四層交換的交換機(jī)需要有區(qū)分和存貯大量發(fā)送表項(xiàng)的能力。交換機(jī)在一個(gè)企業(yè)網(wǎng)的核心時(shí)尤其如此。許多第二/ 三層交換機(jī)傾向發(fā)送表的大小與網(wǎng)絡(luò)設(shè)備的數(shù)量成正比。對(duì)第四層交換機(jī),這個(gè)數(shù)量必須乘以網(wǎng)絡(luò)中使用的不同應(yīng)用協(xié)議和會(huì)話的數(shù)量。因而發(fā)送表的大小隨端點(diǎn)設(shè)備和應(yīng)用類型數(shù)量的增長(zhǎng)而迅速增長(zhǎng)。第四層交換機(jī)設(shè)計(jì)者在設(shè)計(jì)其產(chǎn)品時(shí)需要考慮表的這種增長(zhǎng)。大的表容量對(duì)制造支持線速發(fā)送第四層流量的高性能交換機(jī)至關(guān)重要.
d,冗余
第四層交換機(jī)內(nèi)部有支持冗余拓?fù)浣Y(jié)構(gòu)的功能。在具有雙鏈路的網(wǎng)卡容錯(cuò)連接時(shí),就可能建立從一個(gè)服務(wù)器到網(wǎng)卡,鏈路和服務(wù)器交換器的完全冗余系統(tǒng)。