三層交換機的由來,三層交換機與二層交換機之間有什么區別?
三層交換機的由來:
網絡技術隨著應用的需求在不斷的進化和演變。80年代初期,***代局域網技術開始應用于企業內部組網時,當時的應用主要局限于主機連接、文件和打印共享,多個用戶共享10Mbit/s信道已能滿足要求。
隨著網絡規模的日益擴大,網上用戶越來越多。特別是用戶的應用已轉向客戶/服務器、大流量的應用、Intranet Web訪問和實時音像服務。當時的網絡系統已不能勝任,表現在:HUB是基于共享介質的通信設備,它是一種***層設備。用戶數據的碰撞檢測和出錯重發過程使傳輸的效率大大降低。橋可起到網段微化、減小碰撞域從而優化局域網性能的目的。它是一種第二層設備,可識別MAC地址,可以作到局域網間信息的智能轉發。
但它是對高層(第三層交換機技術以上)協議透明的設備,不能有效的阻止廣播風暴。路由器在子網間互聯、安全控制、廣播風暴限制等方面起了關鍵的作用,但其復雜的算法、較低的數據吞吐量使其成為網絡的瓶頸。
意識到以上問題,業界從HUB和橋這些直接面向用戶、可獨立形成局域網的基礎設備入手,對網絡技術進行了革命,其中***的變革就是在新一代的網絡系統集成中,用局域網交換機替代HUB,以提高網絡的性能。
90年代初的網絡系統的集成模式中,大量引入局域網交換機,局域網交換機是一種第二層網絡設備,它可理解網絡協議的第二層如MAC地址等。第三層交換機技術在操作過程中不斷的收集資料去建立它本身的地址表。這個表相當簡單,主要標明某個MAC地址是在哪個端口上被發現的,所以當交換機接收到一個數據封包時,它會檢查該封包的目的MAC地址,核對一下自己的地址表以決定從哪個端口發送出去。而不是象HUB那樣,任何一個發方數據都會出現在HUB的所有端口上(不管是否為你所需)。
第三層交換機技術的引入使得網絡站點間可獨享帶寬,消除了無謂的碰撞檢測和出錯重發,提高了傳輸效率,在交換機中可并行的維護幾個獨立的、互不影響的通信進程。在交換網絡環境下,用戶信息只在源節點與目的節點之間進行傳送,其他節點是不可見的。但有一點例外,當某一節點在網上發送廣播或多目廣播時,或某一節點發送了一個交換機不認識的MAC地址封包時,交換機上的所有節點都將收到這一廣播信息。整個交換環境構成一個大的廣播域。
二層交換機技術:
傳統的局域網交換機是一種第二層交換機網絡設備,它在操作過程中不斷收集信息去建立起它本身的一個MAC地址表。這個表相當簡單,基本上說明了某個MAC 地址是在哪個端口上被發現的。這樣當交換機收到一個以太網包時,它便會查看一下該以太網包的目的MAC地址,核對一下自己的地址表以確認該從哪個端口把包發出去。但當交換機收到一個不認識的包時,也就是說如果目的MAC地址不在MAC地址表中,交換機便會把該包“擴散”出去,即從所有端口發出去,就如同交換機收到一個廣播包一樣,這就暴露出傳統局域網交換機的弱點:不能有效的解決廣播、異種網絡互連、安全性控制等問題。因此,產生了交換機上的VLAN(虛擬局域網)技術。
三層交換技術:
三層交換(也稱多層交換技術,或IP交換技術)是相對于傳統交換概念而提出的。眾所周知,傳統的交換技術是在OSI網絡標準模型中的第二層交換機――數據鏈路層進行操作的,而三層交換技術在網絡模型中的第三層實現了分組的高速轉發。簡單的說,三層交換技術就是“第二層交換機技術 + 三層轉發”。三層交換技術的出現,解決了局域網中網段劃分之后網段中的子網必須依賴路由器進行管理的局面,解決了傳統路由器低速、復雜所造成的網絡瓶頸問題。
第二層交換機通訊過程:
假設兩個使用IP協議的站點A、B通過第二層交換機進行通信,發送站點A在開始發送時,會先拿自己的IP地址與B站的IP地址進行比較,判斷B站是否與自己在同一子網內。若目的站B與發送站A在同一子網內,則進行二層的轉發。具體步驟如下:為了得到站點B的 MAC地址,站點A首先發一個ARP廣播報文,請求站點B的MAC地址。該ARP請求報文進入交換機后,首先進行源MAC地址學習,芯片自動把站點A的MAC地址以及進入交換機的端口號等信息填入到芯片的MAC地址表中,然后在MAC地址表中進行目的地址查找。由于此時是一個廣播報文,交換機則會把這個廣播報文從進入交換機端口所屬的VLAN中進行廣播。B站點收到這個ARP請求報文之后,會立刻發送一個ARP回復報文,這個報文是一個單播報文,目的地址為站點A的MAC地址。
該包進入交換機后,同樣,首先進行源MAC地址學習,然后進行目的地址查找,由于此時MAC地址表中已經存在了A站點MAC地址的匹配條目,所以交換機直接把此報文從相應的端口中轉發出去。通過以上一次ARP過程,交換芯片就把站點A和B的信息保存在其MAC地址表中。以后A、B之間進行通信或者同一網段的其它站點想要與A或B通信,交換機就知道該把報文從哪個端口送出。從以上過程可以看出,所有二層轉發都是由硬件完成的,無論是MAC地址表的學習過程還是目的地址查找確定輸出端口過程都沒有軟件進行干預。
三層交換機通訊過程:
站點A、B通過三層交換機進行通信。站點A和B所在網段都屬于交換機上的直連網段,若站點A和站點B不在同一子網內,發送站A首先要向其“缺省網關”發出ARP請求報文,而“缺省網關”的IP地址其實就是三層交換機上站點A所屬VLAN的IP地址。當發送站A對“缺省網關”的IP地址廣播出一個ARP請求時,交換機就向發送站A回一個ARP回復報文,告訴站點A交換機此VLAN的MAC地址,同時可以通過軟件把站點A的IP地址、MAC地址、與交換機直接相連的端口號等信息設置到交換芯片的三層硬件表項中。站點A收到這個ARP回復報文之后,進行目的MAC地址替換,把要發給B的包首先發給交換機。交換機收到這個包以后,同樣首先進行源MAC地址學習,目的MAC地址查找,由于此時目的MAC地址為交換機的MAC地址,在這種情況下將會把該報文送到交換芯片的三層引擎處理。
一般來說,三層引擎會有兩個表,一個是主機路由表,這個表是以IP地址為索引的,里面存放目的IP地址、下一跳MAC地址、端口號等信息。若找到一條匹配表項,就會在對報文進行一些操作(例如目的MAC與源MAC替換、TTL減1等)之后將報文從表中指定的端口轉發出去。若主機路由表中沒有找到匹配條目,則會繼續查找另一個表――網段路由表。這個表存放網段地址、下一跳MAC地址、端口號等信息。




















