詳細分析二層交換機的操作技巧
下面講解下什么是二層交換機?以及二層交換機的種種操作技巧和運行方式,這些都是在一些技術的論壇和博客上找到的,僅供大家學習參考。
為了適應網絡應用深化帶來的挑戰,網絡在規模和速度方向都在急劇發展,局域網的速度已從最初的10Mbit/s提高到100Mbit/s,目前千兆以太網技術已得到普遍應用,在網絡結構方面也從早期的共享介質的局域網發展到目前的交換式局域網。
交換式局域網技術使專用的帶寬為用戶所獨享,極大的提高了局域網傳輸的效率。可以說,在網絡系統集成的技術中,直接面向用戶的第 一層接口和第二層交換技術方面已得到令人滿意的答案。
但是,作為網絡核心、起到網間互連作用的路由器技術卻沒有質的突破。在這種情況下,一種新的路由技術應運而生,這就是第三層交換技術:說它是路由器,因為它可操作在網絡協議的第三層,是一種路由理解設備并可起到路由決定的作用;
說它是交換器,是因為它的速度極快,幾乎達到第二層交換的速度。二層交換機、三層交換機和路由器這三種技術究竟誰優誰劣,它們各自適用在什么環境?為了解答這問題,我們先從這三種技術的工作原理入手:
二層交換機是數據鏈路層的設備,它能夠讀取數據包中的MAC地址信息并根據MAC地址來進行交換。交換機內部有一個地址表,這個地址表標明了MAC地址和交換機端口的對應關系。
當交換機從某個端口收到一個數據包,它首先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機器是連在哪個端口上的,它再去讀取包頭中的目的MAC地址,并在地址表中查找相應的端口。
如果表中有與這目的MAC地址對應的端口,則把數據包直接復制到這端口上,如果在表中找不到相應的端口則把數據包廣播到所有端口上,當目的機器對源機器回應時,交換機又可以學習一目的MAC地址與哪個端口對應,在下次傳送數據時就不再需要對所有端口進行廣播了。
二層交換機就是這樣建立和維護它自己的地址表。由于二層交換機一般具有很寬的交換總線帶寬,所以可以同時為很多端口進行數據交換。如果二層交換機有N個端口,每個端口的帶寬是M,而它的交換機總線帶寬超過N×M,那么這交換機就可以實現線速交換。二層交換機對廣播包是不做限制的,把廣播包復制到所有端口上。
二層交換機一般都含有專門用于處理數據包轉發的ASIC (Application specific Integrated Circuit)芯片,因此轉發速度可以做到非常快, 一個具有第三層交換功能的設備是一個帶有第三層路由功能的第二層交換機,但它是二者的有機結合,并不是簡單的把路由器設備的硬件及軟件簡單地疊加在局域網交換機上。
從硬件上看,第二層交換機的接口模塊都是通過高速背板/總線(速率可高達幾十Gbit/s)交換數據的,在第三層交換機中,與路由器有關的第三層路由硬件模塊也插接在高速背板/總線上。#t#
這種方式使得路由模塊可以與需要路由的其他模塊間高速的交換數據,從而突破了傳統的外接路由器接口速率的限制。在軟件方面,第三層交換機也有重大的舉措,它將傳統的基于軟件的路由器軟件進行了界定。
其做法是:
對于數據包的轉發:如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地址封裝,數據轉發過程全部交給第二層交換處理,信息得以高速交換。既所謂的一次選路,多次交換。