為了適應(yīng)網(wǎng)絡(luò)應(yīng)用深化帶來的挑戰(zhàn),網(wǎng)絡(luò)在規(guī)模和速度方向都在急劇發(fā)展,局域網(wǎng)的速度已從最初的10Mbit/s 提高到100Mbit/s,目前千兆以太網(wǎng)技術(shù)已得到普遍應(yīng)用。在網(wǎng)絡(luò)結(jié)構(gòu)方面也從早期的共享介質(zhì)的局域網(wǎng)發(fā)展到目前的式局域網(wǎng)。式局域網(wǎng)技術(shù)使專用的帶寬為用戶所獨(dú)享,極大的提高了局域網(wǎng)傳輸?shù)男?梢哉f,在網(wǎng)絡(luò)系統(tǒng)集成的技術(shù)中,直接面向用戶的第一層接口和第二層交換技術(shù)方面已得到令人滿意的答案。但是,作為網(wǎng)絡(luò)核心、起到網(wǎng)間互連作用的器技術(shù)卻沒有質(zhì)的突破。在這種情況下,一各新的技術(shù)應(yīng)運(yùn)而生,這就是第三層交換技術(shù):說它是路由器,因?yàn)樗刹僮髟诰W(wǎng)絡(luò)的第三層,是一種路由理解設(shè)備并可起到路由決定的作用;說它是交換器,是因?yàn)樗乃俣葮O快,幾乎達(dá)到第二層交換的速度。二層交換機(jī)、三層交換機(jī)和路由器這三種技術(shù)究竟誰優(yōu)誰劣,它們各自適用在什么環(huán)境?為了解答這問題,我們先從這三種技術(shù)的工作原理入手。
1.二層交換技術(shù)
二層交換機(jī)是數(shù)據(jù)鏈路層的設(shè)備,它能夠讀取數(shù)據(jù)包中的MAC地址信息并根據(jù)MAC地址來進(jìn)行交換。交換機(jī)內(nèi)部有一個(gè)地址表,這個(gè)地址表標(biāo)明了MAC地址和交換機(jī)端口的對(duì)應(yīng)關(guān)系。當(dāng)交換機(jī)從某個(gè)端口收到一個(gè)數(shù)據(jù)包,它首先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機(jī)器是連在哪個(gè)端口上的,它再去讀取包頭中的目的MAC地址,并在地址表中查找相應(yīng)的端口,如果表中有與這目的MAC地址對(duì)應(yīng)的端口,則把數(shù)據(jù)包直接復(fù)制到這端口上,如果在表中找不到相應(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)行廣播了。二層交換機(jī)就是這樣建立和維護(hù)它自己的地址表。由于二層交換機(jī)一般具有很寬的交換總線帶寬,所以可以同時(shí)為很多端口進(jìn)行數(shù)據(jù)交換。如果二層交換機(jī)有N個(gè)端口,每個(gè)端口的帶寬是M,而它的交換機(jī)總線帶寬超過N×M,那么這交換機(jī)就可以實(shí)現(xiàn)線速交換。二層交換機(jī)對(duì)廣播包是不做限制的,把廣播包復(fù)制到所有端口上。
二層交換機(jī)一般都含有專門用于處理數(shù)據(jù)包轉(zhuǎn)發(fā)的ASIC (Application specific Integrated Circuit)芯片,因此轉(zhuǎn)發(fā)速度可以做到非常快。
2.路由技術(shù)
路由器是在OSI七層網(wǎng)絡(luò)模型中的第三層——網(wǎng)絡(luò)層操作的。路由器內(nèi)部有一個(gè)路由表,這表標(biāo)明了如果要去某個(gè)地方,下一步應(yīng)該往哪走。路由器從某個(gè)端口收到一個(gè)數(shù)據(jù)包,它首先把鏈路層的包頭去掉(拆包),讀取目的IP地址,然后查找路由表,若能確定下一步往哪送,則再加上鏈路層的包頭(打包),把該數(shù)據(jù)包轉(zhuǎn)發(fā)出去;如果不能確定下一步的地址,則向源地址返回一個(gè)信息,并把這個(gè)數(shù)據(jù)包丟掉。
路由技術(shù)和二層交換看起來有點(diǎn)相似,其實(shí)路由和交換之間的主要區(qū)別就是交換發(fā)生在OSI參考模型的第二層(數(shù)據(jù)鏈路層),而路由發(fā)生在第三層。這一區(qū)別決定了路由和交換在傳送數(shù)據(jù)的過程中需要使用不同的控制信息,所以兩者實(shí)現(xiàn)各自功能的方式是不同的。
路由技術(shù)其實(shí)是由兩項(xiàng)最基本的活動(dòng)組成,即決定最優(yōu)路徑和傳輸數(shù)據(jù)包。其中,數(shù)據(jù)包的傳輸相對(duì)較為簡(jiǎn)單和直接,而路由的確定則更加復(fù)雜一些。路由算法在路由表中寫入各種不同的信息,路由器會(huì)根據(jù)數(shù)據(jù)包所要到達(dá)的目的地選擇最佳路徑把數(shù)據(jù)包發(fā)送到可以到達(dá)該目的地的下一臺(tái)路由器處。當(dāng)下一臺(tái)路由器接收到該數(shù)據(jù)包時(shí),也會(huì)查看其目標(biāo)地址,并使用合適的路徑繼續(xù)傳送給后面的路由器。依次類推,直到數(shù)據(jù)包到達(dá)最終目的地。
路由器之間可以進(jìn)行相互通訊,而且可以通過傳送不同類型的信息維護(hù)各自的路由表。路由更新信息主是這樣一種信息,一般是由部分或全部路由表組成。通過分析其它路由器發(fā)出的路由更新信息,路由器可以掌握整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。鏈路狀態(tài)廣播是另外一種在路由器之間傳遞的信息,它可以把信息發(fā)送方的鏈路狀態(tài)及進(jìn)的通知給其它路由器。
3.三層交換技術(shù)
一個(gè)具有第三層交換功能的設(shè)備是一個(gè)帶有第三層路由功能的第二層交換機(jī),但它是二者的有機(jī)結(jié)合,并不是簡(jiǎn)單的把路由器設(shè)備的硬件及軟件簡(jiǎn)單地疊加在局域網(wǎng)交換機(jī)上。
從硬件上看,第二層交換機(jī)的接口模塊都是通過高速背板/總線(速率可高達(dá)幾十Gbit/s)交換數(shù)據(jù)的,在第三層交換機(jī)中,與路由器有關(guān)的第三層路由硬件模塊也插接在高速背板/總線上,這種方式使得路由模塊可以與需要路由的其他模塊間高速的交換數(shù)據(jù),從而突破了傳統(tǒng)的外接路由器接口速率的限制。在軟件方面,第三層交換機(jī)也有重大的舉措,它將傳統(tǒng)的基于軟件的路由器軟件進(jìn)行了界定,其做法是:
對(duì)于數(shù)據(jù)包的轉(zhuǎn)發(fā):如IP/IPX包的轉(zhuǎn)發(fā),這些 規(guī)律的過程通過硬件得以高速實(shí)現(xiàn)。
對(duì)于第三層路由軟件:如路由信息的更新、路由表維護(hù)、路由計(jì)算、路由的確定等功能,用優(yōu)化、高效的軟件實(shí)現(xiàn)。
假設(shè)兩個(gè)使用IP的機(jī)器通過第三層交換機(jī)進(jìn)行通信的過程,機(jī)器A在開始發(fā)送時(shí),已知目的IP地址,但尚不知道在局域網(wǎng)上發(fā)送所需要的MAC地址。要采用地址解析(ARP)來確定目的MAC地址。機(jī)器A把自己的IP地址與目的IP地址比較,從其軟件中配置的子網(wǎng)掩碼提取出網(wǎng)絡(luò)地址來確定目的機(jī)器是否與自己在同一子網(wǎng)內(nèi)。若目的機(jī)器B與機(jī)器A在同一子網(wǎng)內(nèi),A廣播一個(gè)ARP請(qǐng)求,B返回其MAC地址,A得到目的機(jī)器B的MAC地址后將這一地址緩存起來,并用此MAC地址封包轉(zhuǎn)發(fā)數(shù)據(jù),第二層交換模塊查找MAC地址表確定將數(shù)據(jù)包發(fā)向目的端口。若兩個(gè)機(jī)器不在同一子網(wǎng)內(nèi),如發(fā)送機(jī)器A要與目的機(jī)器C通信,發(fā)送機(jī)器A要向“缺省網(wǎng)關(guān)”發(fā)出ARP包,而“缺省網(wǎng)關(guān)”的IP地址已經(jīng)在系統(tǒng)軟件中設(shè)置。這個(gè)IP地址實(shí)際上對(duì)應(yīng)第三層交換機(jī)的第三層交換模塊。所以當(dāng)發(fā)送機(jī)器A對(duì)“缺省網(wǎng)關(guān)”的IP地址廣播出一個(gè)ARP請(qǐng)求時(shí),若第三層交換模塊在以往的通信過程中已得到目的機(jī)器C的MAC地址,則向發(fā)送機(jī)器A回復(fù)C的MAC地址;否則第三層交換模塊根據(jù)路由信息向目的機(jī)器廣播一個(gè)ARP請(qǐng)求,目的機(jī)器C得到此ARP請(qǐng)示后向第三層交換模塊回復(fù)其MAC地址,第三層交換模塊保存此地址并回復(fù)給發(fā)送機(jī)器A。以后,當(dāng)再進(jìn)行A與C之間數(shù)據(jù)包轉(zhuǎn)發(fā)進(jìn),將用最終的目的機(jī)器的MAC地址封裝,數(shù)據(jù)轉(zhuǎn)發(fā)過程全部交給第二層交換處理,信息得以高速交換。
第三層交換具有以下突出特點(diǎn):
有機(jī)的硬件結(jié)合使得數(shù)據(jù)交換加速;
優(yōu)化的路由軟件使 得路由過程效率提高;
除了必要的路由決定過程外,大部分?jǐn)?shù)據(jù)轉(zhuǎn)發(fā)過程由第二層交換處理 ;
多個(gè)子網(wǎng)互連時(shí)只是與第三層交換模塊的邏輯連接,不象傳統(tǒng)的外接路由器那樣需增加端口,保護(hù)了用戶的投資。
4.三種技術(shù)的對(duì)比
可以看出,二層交換機(jī)主要用在小型局域網(wǎng)中,機(jī)器數(shù)量在二、三十臺(tái)以下,這樣的網(wǎng)絡(luò)環(huán)境下,廣播包影響不大,二層交換機(jī)的快速交換功能、多個(gè)接入端口和低謙價(jià)格為小型網(wǎng)絡(luò)用戶提供了很完善的解決方案。在這種小型網(wǎng)絡(luò)中根本沒必要引入路由功能從而增加管理的難度和費(fèi)用,所以沒有必要使用路由器,當(dāng)然也沒有必要使用三層交換機(jī)。
三層交換機(jī)是為IP設(shè)計(jì)的,接口類型簡(jiǎn)單,擁有很強(qiáng)二層包處理能力,所以適用于大型局域網(wǎng),為了減小廣播風(fēng)暴的危害,必須把大型局域網(wǎng)按功能或地域等因素劃他成一個(gè)一個(gè)的小局域網(wǎng),也就是一個(gè)一個(gè)的小網(wǎng)段,這樣必然導(dǎo)致不同網(wǎng)段這間存在大量的互訪,單純使用二層交換機(jī)沒辦法實(shí)現(xiàn)網(wǎng)間的互訪而單純使用路由器,則由于端口數(shù)量有限,路由速度較慢,而限制了網(wǎng)絡(luò)的規(guī)模和訪問速度,所以這種環(huán)境下,由二層交換技術(shù)和路由技術(shù)有機(jī)結(jié)合而成的三層交換機(jī)就最為適合。
路由器端口類型多,支持的三層多,路由能力強(qiáng),所以適合于在大型網(wǎng)絡(luò)之間的互連,雖然不少三層交換機(jī)甚至二層交換機(jī)都有異質(zhì)網(wǎng)絡(luò)的互連端口,但一般大型網(wǎng)絡(luò)的互連端口不多,互連設(shè)備的主要功能不在于在端口之間進(jìn)行快速交換,而是要選擇最佳路徑,進(jìn)行負(fù)載分擔(dān),鏈路備份和最重要的與其它網(wǎng)絡(luò)進(jìn)行路由信息交換,所有這些都是路由完成的功能。在這種情況下,自然不可能使用二層交換機(jī),但是否使用三層交換機(jī),則視具體情況而下。影響的因素主要有網(wǎng)絡(luò)流量、響應(yīng)速度要求和投資預(yù)算等。三層交換機(jī)的最重要目的是加快大型局域網(wǎng)內(nèi)部的數(shù)據(jù)交換,揉合進(jìn)去的路由功能也是為這目的服務(wù)的,所以它的路由功能沒有同一檔次的專業(yè)路由器強(qiáng)。在網(wǎng)絡(luò)流量很大的情況下,如果三層交換機(jī)既做網(wǎng)內(nèi)的交換,又做網(wǎng)間的路由,必然會(huì)大大加重了它的負(fù)擔(dān),影響響應(yīng)速度。在網(wǎng)絡(luò)流量很大,但又要求響應(yīng)速度很高的情況下由三層交換機(jī)做網(wǎng)內(nèi)的交換,由路由器專門負(fù)責(zé)網(wǎng)間的路由工作,這樣可以充分發(fā)揮不同設(shè)備的優(yōu)勢(shì),是一個(gè)很好的配合。當(dāng)然,如果受到投資預(yù)算的限制,由三層交換機(jī)兼做網(wǎng)間互連,也是個(gè)不錯(cuò)的選擇。