三層交換機與路由器

fjy26發表於2007-06-28
三層交換機與路由器的比較

三層交換機與路由器的比較

為了適應網路應用深化帶來的挑戰,網路在規模和速度方向都在急劇發展,區域網的速度已從最初的10Mbit/s 提高到100Mbit/s,目前千兆乙太網技術已得到普遍應用。在網路結構方面也從早期的共享介質的區域網發展到目前的交換式區域網。交換式區域網技術使專用的頻寬為使用者所獨享,極大的提高了區域網傳輸的效率。可以說,在網路系統整合的技術中,直接面向使用者的第一層介面和第二層交換技術方面已得到令人滿意的答案。但是,作為網路核心、起到網間互連作用的路由器技術卻沒有質的突破。在這種情況下,一各新的路由技術應運而生,這就是第三層交換技術:說它是路由器,因為它可操作在網路協議的第三層,是一種路由理解裝置並可起到路由決定的作用;說它是交換器,是因為它的速度極快,幾乎達到第二層交換的速度。二層交換機、三層交換機和路由器這三種技術究竟誰優誰劣,它們各自適用在什麼環境?為了解答這問題,我們先從這三種技術的工作原理入手

1.二層交換技術

二層交換機是資料鏈路層的裝置,它能夠讀取資料包中的MAC地址資訊並根據MAC地址來進行交換。交換機內部有一個地址表,這個地址表標明瞭MAC地址和交換機埠的對應關係。當交換機從某個埠收到一個資料包,它首先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機器是連在哪個埠上的,它再去讀取包頭中的目的MAC地址,並在地址表中查詢相應的埠,如果表中有與這目的MAC地址對應的埠,則把資料包直接複製到這埠上,如果在表中找不到相應的埠則把資料包廣播到所有埠上,當目的機器對源機器回應時,交換機又可以學習一目的MAC地址與哪個埠對應,在下次傳送資料時就不再需要對所有埠進行廣播了。二層交換機就是這樣建立和維護它自己的地址表。由於二層交換機一般具有很寬的交換匯流排頻寬,所以可以同時為很多埠進行資料交換。如果二層交換機有N個埠,每個埠的頻寬是M,而它的交換機匯流排頻寬超過N×M,那麼這交換機就可以實現線速交換。二層交換機對廣播包是不做限制的,把廣播包複製到所有埠上。
二層交換機一般都含有專門用於處理資料包轉發的ASIC (Application specific Integrated Circuit)晶片,因此轉發速度可以做到非常快。

2.路由技術

路由器是在OSI七層網路模型中的第三層——網路層操作的。路由器內部有一個路由表,這表標明瞭如果要去某個地方,下一步應該往哪走。路由器從某個埠收到一個資料包,它首先把鏈路層的包頭去掉(拆包),讀取目的IP地址,然後查詢路由表,若能確定下一步往哪送,則再加上鍊路層的包頭(打包),把該資料包轉發出去;如果不能確定下一步的地址,則向源地址返回一個資訊,並把這個資料包丟掉。
路由技術和二層交換看起來有點相似,其實路由和交換之間的主要區別就是交換髮生在OSI參考模型的第二層(資料鏈路層),而路由發生在第三層。這一區別決定了路由和交換在傳送資料的過程中需要使用不同的控制資訊,所以兩者實現各自功能的方式是不同的。
路由技術其實是由兩項最基本的活動組成,即決定最優路徑和傳輸資料包。其中,資料包的傳輸相對較為簡單和直接,而路由的確定則更加複雜一些。路由演算法在路由表中寫入各種不同的資訊,路由器會根據資料包所要到達的目的地選擇最佳路徑把資料包傳送到可以到達該目的地的下一臺路由器處。當下一臺路由器接收到該資料包時,也會檢視其目標地址,並使用合適的路徑繼續傳送給後面的路由器。依次類推,直到資料包到達最終目的地。
路由器之間可以進行相互通訊,而且可以透過傳送不同型別的資訊維護各自的路由表。路由更新資訊主是這樣一種資訊,一般是由部分或全部路由表組成。透過分析其它路由器發出的路由更新資訊,路由器可以掌握整個網路的拓撲結構。鏈路狀態廣播是另外一種在路由器之間傳遞的資訊,它可以把資訊傳送方的鏈路狀態及進的通知給其它路由器。

3.三層交換技術

一個具有第三層交換功能的裝置是一個帶有第三層路由功能的第二層交換機,但它是二者的有機結合,並不是簡單的把路由器裝置的硬體及軟體簡單地疊加在區域網交換機上。
從硬體上看,第二層交換機的介面模組都是透過高速背板/匯流排(速率可高達幾十Gbit/s)交換資料的,在第三層交換機中,與路由器有關的第三層路由硬體模組也插接在高速背板/匯流排上,這種方式使得路由模組可以與需要路由的其他模組間高速的交換資料,從而突破了傳統的外接路由器介面速率的限制。在軟體方面,第三層交換機也有重大的舉措,它將傳統的基於軟體的路由器軟體進行了界定,其做法是: 對於資料包的轉發:如IP/IPX包的轉發,這些規律的過程透過硬體得以高速實現。
對於第三層路由軟體:如路由資訊的更新、路由表維護、路由計算、路由的確定等功能,用最佳化、高效的軟體實現。

假設兩個使用IP協議的機器透過第三層交換機進行通訊的過程,機器A在開始傳送時,已知目的IP地址,但尚不知道在區域網上傳送所需要的MAC地址。要採用地址解析(ARP)來確定目的MAC地址。機器A把自己的IP地址與目的IP地址比較,從其軟體中配置的子網掩碼提取出網路地址來確定目的機器是否與自己在同一子網內。若目的機器B與機器A在同一子網內,A廣播一個ARP請求,B返回其MAC地址,A得到目的機器B的MAC地址後將這一地址快取起來,並用此MAC地址封包轉發資料,第二層交換模組查詢MAC地址表確定將資料包發向目的埠。若兩個機器不在同一子網內,如傳送機器A要與目的機器C通訊,傳送機器A要向“預設閘道器”發出ARP包,而“預設閘道器”的IP地址已經在系統軟體中設定。這個IP地址實際上對應第三層交換機的第三層交換模組。所以當傳送機器A對“預設閘道器”的IP地址廣播出一個ARP請求時,若第三層交換模組在以往的通訊過程中已得到目的機器C的MAC地址,則向傳送機器A回覆C的MAC地址;否則第三層交換模組根據路由資訊向目的機器廣播一個ARP請求,目的機器C得到此ARP請示後向第三層交換模組回覆其MAC地址,第三層交換模組儲存此地址並回復給傳送機器A。以後,當再進行A與C之間資料包轉發進,將用最終的目的機器的MAC地址封裝,資料轉發過程全部交給第二層交換處理,資訊得以高速交換。既所謂的一次選路,多次交換。

第三層交換具有以下突出特點:

有機的硬體結合使得資料交換加速;

最佳化的路由軟體使 得路由過程效率提高;

除了必要的路由決定過程外,大部分資料轉發過程由第二層交換處理;

多個子網互連時只是與第三層交換模組的邏輯連線,不象傳統的外接路由器那樣需增加埠,保護了使用者的投資。


4.三種技術的對比


可以看出,二層交換機主要用在小型區域網中,機器數量在二、三十臺以下,這樣的網路環境下,廣播包影響不大,二層交換機的快速交換功能、多個接入埠和低謙價格為小型網路使用者提供了很完善的解決方案。在這種小型網路中根本沒必要引入路由功能從而增加管理的難度和費用,所以沒有必要使用路由器,當然也沒有必要使用三層交換機。

  三層交換機是為IP設計的,介面型別簡單,擁有很強二層包處理能力,所以適用於大型區域網,為了減小廣播風暴的危害,必須把大型區域網按功能或地域等因素劃他成一個一個的小區域網,也就是一個一個的小網段,這樣必然導致不同網段這間存在大量的互訪,單純使用二層交換機沒辦法實現網間的互訪而單純使用路由器,則由於埠數量有限,路由速度較慢,而限制了網路的規模和訪問速度,所以這種環境下,由二層交換技術和路由技術有機結合而成的三層交換機就最為適合。

  路由器埠型別多,支援的三層協議多,路由能力強,所以適合於在大型網路之間的互連,雖然不少三層交換機甚至二層交換機都有異質網路的互連埠,但一般大型網路的互連埠不多,互連裝置的主要功能不在於在埠之間進行快速交換,而是要選擇最佳路徑,進行負載分擔,鏈路備份和最重要的與其它網路進行路由資訊交換,所有這些都是路由完成的功能。在這種情況下,自然不可能使用二層交換機,但是否使用三層交換機,則視具體情況而下。影響的因素主要有網路流量、響應速度要求和投資預算等。三層交換機的最重要目的是加快大型區域網內部的資料交換,揉合進去的路由功能也是為這目的服務的,所以它的路由功能沒有同一檔次的專業路由器強。在網路流量很大的情況下,如果三層交換機既做網內的交換,又做網間的路由,必然會大大加重了它的負擔,影響響應速度。在網路流量很大,但又要求響應速度很高的情況下由三層交換機做網內的交換,由路由器專門負責網間的路由工作,這樣可以充分發揮不同裝置的優勢,是一個很好的配合。當然,如果受到投資預算的限制,由三層交換機兼做網間互連,也是個不錯的選擇

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/74617/viewspace-921899/,如需轉載,請註明出處,否則將追究法律責任。

相關文章