二層交換機和三層交換機通訊過程對比
二層交換機和三層交換機通訊過程對比,對二層交換機通訊過程,三層交換機通訊過程分別作出介紹。經過對比,發現三層交換機通訊具有速度快、性能好、價格低等眾多的優勢。
二層交換機通訊過程
假設兩個使用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地址、端口號等信息。一般來說這個表的條目要少得多,但覆蓋的范圍很大,只要設置得當,基本上可以保證大部分進入交換機的報文都走硬件轉發,這樣不僅大大提高轉發速度,同時也減輕了CPU的負荷。
由于芯片內部的三層引擎中已經保存站點A、B的路由信息,以后站點A、B之間進行通信或其它網段的站點想要與A、B進行通信,交換芯片則會直接把包從三層硬件表項中指定的端口轉發出去,而不必再把包交給CPU處理。這種通過“一次路由,多次交換”的方式,大大提高了轉發速度。
三層交換從概念的提出到今天的普及應用,雖然只歷經了幾年的時間,但其在網絡建設中的應用越來越廣泛,從最初骨干層、中間的匯聚層一直滲透到邊緣的接入層。三層交換機通訊具有速度快、性能好、價格低等眾多的優勢。
凡是沒有廣域網連接需求,同時又需要路由器的地方,都可以用三層交換機通訊代替二層交換機。隨著ASIC硬件芯片技術的發展和實際應用的推廣,三層交換的技術與產品會得到進一步發展。