詳談路由器與交換機(jī)的工作原理與區(qū)別
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協(xié)議的機(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ù)了用戶的投資。
1、交換機(jī)的定義
局域網(wǎng)交換機(jī)擁有許多端口,每個(gè)端口有自己的專用帶寬,并且可以連接不同的網(wǎng)段。交換機(jī)各個(gè)端口之間的通信是同時(shí)的、并行的,這就大大提高了信息吞吐量。為了進(jìn)一步提高性能,每個(gè)端口還可以只連接一個(gè)設(shè)備。
為了實(shí)現(xiàn)交換機(jī)之間的互連或與高檔服務(wù)器的連接,局域網(wǎng)交換機(jī)一般擁有一個(gè)或幾個(gè)高速端口,如100MB以太網(wǎng)端口、FDDI端口或155MB ATM端口,從而保證整個(gè)網(wǎng)絡(luò)的傳輸性能。
2、交換機(jī)的特性
通過集線器共享局域網(wǎng)的用戶不僅是共享帶寬,而且是競(jìng)爭(zhēng)帶寬?赡苡捎趥(gè)別用戶需要更多的帶寬而導(dǎo)致其他用戶的可用帶寬相對(duì)減少,甚至被迫等待,因而也就耽誤了通信和信息處理。利用交換機(jī)的網(wǎng)絡(luò)微分段技術(shù),可以將一個(gè)大型的共享式局域網(wǎng)的用戶分成許多獨(dú)立的網(wǎng)段,減少競(jìng)爭(zhēng)帶寬的用戶數(shù)量,增加每個(gè)用戶的可用帶寬,從而緩解共享網(wǎng)絡(luò)的擁擠狀況。由于交換機(jī)可以將信息迅速而直接地送到目的地能大大提高速度和帶寬,能 保護(hù)用戶以前在介質(zhì)方面的投資,并提供良好的可擴(kuò)展性,因此交換機(jī)不但是網(wǎng)橋的理想替代物,而且是集線器的理想替代物。
與網(wǎng)橋和集線器相比,交換機(jī)從下面幾方面改進(jìn)了性能:
(1)通過支持并行通信,提高了交換機(jī)的信息吞吐量。
(2)將傳統(tǒng)的一個(gè)大局域網(wǎng)上的用戶分成若干工作組,每個(gè)端口連接一臺(tái)設(shè)備 或連接一個(gè)工作組,有效地解決擁擠現(xiàn)像。這種方法人們稱之為網(wǎng)絡(luò)微分 段(Micro一segmentation)技術(shù)。
(3)虛擬網(wǎng)(VirtuaI LAN)技術(shù)的出現(xiàn),給交換機(jī)的使用和管理帶來了更大 的靈活性。我們將在后面專門介紹虛擬網(wǎng)。
(4)端口密度可以與集線器相媲美,一般的網(wǎng)絡(luò)系統(tǒng)都是有一個(gè)或幾個(gè)服務(wù)器,而絕大部分都是普通的客戶機(jī)?蛻魴C(jī)都需要訪問服務(wù)器,這樣就導(dǎo)致服務(wù)器的通信和事務(wù)處理能力成為整個(gè)網(wǎng)絡(luò)性能好壞的關(guān)鍵。
交換機(jī)就主要從提高連接服務(wù)器的端口的速率以及相應(yīng)的幀緩沖區(qū)的大小,來提高整個(gè)網(wǎng)絡(luò)的性能,從而滿足用戶的要求。一些高檔的交換機(jī)還采用全雙工技術(shù)進(jìn)一步提高端口的帶寬。以前的網(wǎng)絡(luò)設(shè)備基本上都是采用半雙工的工作方式,即當(dāng)一臺(tái)主機(jī)發(fā)送數(shù)據(jù)包的時(shí)候, 它就不能接收數(shù)據(jù)包,當(dāng)接收數(shù)據(jù)包的時(shí)候,就不能發(fā)送數(shù)據(jù)包。由于采用全雙工技術(shù),即主機(jī)在發(fā)送數(shù)據(jù)包的同時(shí),還可以接收數(shù)據(jù)包,普通的10M端口就可以變成20M端口,普通的100M端口就可以變成200M 端口,這樣就進(jìn)一步提高了信息吞吐量。
3、交換機(jī)的工作原理
傳統(tǒng)的交換機(jī)本質(zhì)上是具有流量控制能力的多端口網(wǎng)橋,即傳統(tǒng)的(二層) 交換機(jī)。把路由技術(shù)引入交換機(jī),可以完成網(wǎng)絡(luò)層路由選擇,故稱為三層交換,這是交換機(jī)的新進(jìn)展。交換機(jī)(二層交換)的工作原理交換機(jī)和網(wǎng)橋一樣,是工作在鏈路層的聯(lián)網(wǎng)設(shè)備,它的各個(gè)端口都具有橋接功能,每個(gè)端口可以連接一個(gè)LAN或一臺(tái)高性能網(wǎng)站或服務(wù)器,能夠通過自學(xué)習(xí)來了解每個(gè)端口的設(shè)備連接情況。所有端口由專用處理器進(jìn)行控制,并經(jīng)過控制管理總線轉(zhuǎn)發(fā)信息。
同時(shí)可以用專門的網(wǎng)管軟件進(jìn)行集中管理。 除此之外,交換機(jī)為了提高數(shù)據(jù)交換的速度和效率,一般支持多種方式。
(1)存儲(chǔ)轉(zhuǎn)發(fā):
所有常規(guī)網(wǎng)橋都使用這種方法。它們?cè)趯?shù)據(jù)幀發(fā)柱其他端口之前,要把收到的幀完全存儲(chǔ)在內(nèi)部的存儲(chǔ)器中,對(duì)其檢驗(yàn)后再發(fā)往其他端口,這樣其延時(shí)等于接收一個(gè)完整的數(shù)據(jù)幀的時(shí)間及處理時(shí)間的總和。如果級(jí)聯(lián)很長(zhǎng)時(shí),會(huì)導(dǎo)致嚴(yán)重的性能問題,但這種方法可以過濾掉錯(cuò)誤的數(shù)據(jù)幀。
(2)切入法:
這種方法只檢驗(yàn)數(shù)據(jù)幀的目標(biāo)地址,這使得數(shù)據(jù)幀幾乎馬上就 可以傳出去,從而大大降低延時(shí)。
其缺點(diǎn)是:錯(cuò)誤幀也會(huì)被傳出去。錯(cuò)誤幀的概率較小的情況下,可以采用切入法以提高傳輸速度。而錯(cuò)誤幀的概率較大的情況下,可以采用存儲(chǔ)轉(zhuǎn)發(fā)法/以減少錯(cuò)誤幀的重傳。