二層交換機(jī)和三層交換機(jī)通訊過(guò)程對(duì)比
二層交換機(jī)和三層交換機(jī)通訊過(guò)程對(duì)比,對(duì)二層交換機(jī)通訊過(guò)程,三層交換機(jī)通訊過(guò)程分別作出介紹。經(jīng)過(guò)對(duì)比,發(fā)現(xiàn)三層交換機(jī)通訊具有速度快、性能好、價(jià)格低等眾多的優(yōu)勢(shì)。
二層交換機(jī)通訊過(guò)程
假設(shè)兩個(gè)使用IP協(xié)議的站點(diǎn)A、B通過(guò)第二層交換機(jī)進(jìn)行通信,發(fā)送站點(diǎn)A在開(kāi)始發(fā)送時(shí),會(huì)先拿自己的IP地址與B站的IP地址進(jìn)行比較,判斷B站是否與自己在同一子網(wǎng)內(nèi)。若目的站B與發(fā)送站A在同一子網(wǎng)內(nèi),則進(jìn)行二層交換機(jī)的轉(zhuǎn)發(fā)。
具體步驟如下:為了得到站點(diǎn)B的 MAC地址,站點(diǎn)A首先發(fā)一個(gè)ARP廣播報(bào)文,請(qǐng)求站點(diǎn)B的MAC地址。該ARP請(qǐng)求報(bào)文進(jìn)入交換機(jī)后,首先進(jìn)行源MAC地址學(xué)習(xí),芯片自動(dòng)把站點(diǎn)A的MAC地址以及進(jìn)入交換機(jī)的端口號(hào)等信息填入到芯片的MAC地址表中,然后在MAC地址表中進(jìn)行目的地址查找。
由于此時(shí)是一個(gè)廣播報(bào)文,交換機(jī)則會(huì)把這個(gè)廣播報(bào)文從進(jìn)入交換機(jī)端口所屬的VLAN中進(jìn)行廣播。B站點(diǎn)收到這個(gè)ARP請(qǐng)求報(bào)文之后,會(huì)立刻發(fā)送一個(gè)ARP回復(fù)報(bào)文,這個(gè)報(bào)文是一個(gè)單播報(bào)文,目的地址為站點(diǎn)A的MAC地址。
該包進(jìn)入交換機(jī)后,同樣,首先進(jìn)行源MAC地址學(xué)習(xí),然后進(jìn)行目的地址查找,由于此時(shí)MAC地址表中已經(jīng)存在了A站點(diǎn)MAC地址的匹配條目,所以交換機(jī)直接把此報(bào)文從相應(yīng)的端口中轉(zhuǎn)發(fā)出去。通過(guò)以上一次ARP過(guò)程,交換芯片就把站點(diǎn)A和B的信息保存在其MAC地址表中。
以后A、B之間進(jìn)行通信或者同一網(wǎng)段的其它站點(diǎn)想要與A或B通信,交換機(jī)就知道該把報(bào)文從哪個(gè)端口送出。從以上過(guò)程可以看出,所有二層交換機(jī)轉(zhuǎn)發(fā)都是由硬件完成的,無(wú)論是MAC地址表的學(xué)習(xí)過(guò)程還是目的地址查找確定輸出端口過(guò)程都沒(méi)有軟件進(jìn)行干預(yù)。
三層交換機(jī)通訊過(guò)程
站點(diǎn)A、B通過(guò)三層交換機(jī)通訊。站點(diǎn)A和B所在網(wǎng)段都屬于交換機(jī)上的直連網(wǎng)段,若站點(diǎn)A和站點(diǎn)B不在同一子網(wǎng)內(nèi),發(fā)送站A首先要向其“缺省網(wǎng)關(guān)”發(fā)出ARP請(qǐng)求報(bào)文,而“缺省網(wǎng)關(guān)”的IP地址其實(shí)就是三層交換機(jī)通訊上站點(diǎn)A所屬VLAN的IP地址。
當(dāng)發(fā)送站A對(duì)“缺省網(wǎng)關(guān)”的IP地址廣播出一個(gè)ARP請(qǐng)求時(shí),交換機(jī)就向發(fā)送站A回一個(gè)ARP回復(fù)報(bào)文,告訴站點(diǎn)A交換機(jī)此VLAN的MAC地址,同時(shí)可以通過(guò)軟件把站點(diǎn)A的IP地址、MAC地址、與交換機(jī)直接相連的端口號(hào)等信息設(shè)置到交換芯片的三層硬件表項(xiàng)中。
站點(diǎn)A收到這個(gè)ARP回復(fù)報(bào)文之后,進(jìn)行目的MAC地址替換,把要發(fā)給B的包首先發(fā)給交換機(jī)。交換機(jī)收到這個(gè)包以后,同樣首先進(jìn)行源MAC地址學(xué)習(xí),目的MAC地址查找,由于此時(shí)目的MAC地址為交換機(jī)的MAC地址,在這種情況下將會(huì)把該報(bào)文送到交換芯片的三層引擎處理。
一般來(lái)說(shuō),三層引擎會(huì)有兩個(gè)表,一個(gè)是主機(jī)路由表,這個(gè)表是以IP地址為索引的,里面存放目的IP地址、下一跳MAC地址、端口號(hào)等信息。若找到一條匹配表項(xiàng),就會(huì)在對(duì)報(bào)文進(jìn)行一些操作(例如目的MAC與源MAC替換、TTL減1等)之后將報(bào)文從表中指定的端口轉(zhuǎn)發(fā)出去。
若主機(jī)路由表中沒(méi)有找到匹配條目,則會(huì)繼續(xù)查找另一個(gè)表――網(wǎng)段路由表。這個(gè)表存放網(wǎng)段地址、下一跳MAC地址、端口號(hào)等信息。一般來(lái)說(shuō)這個(gè)表的條目要少得多,但覆蓋的范圍很大,只要設(shè)置得當(dāng),基本上可以保證大部分進(jìn)入交換機(jī)的報(bào)文都走硬件轉(zhuǎn)發(fā),這樣不僅大大提高轉(zhuǎn)發(fā)速度,同時(shí)也減輕了CPU的負(fù)荷。
由于芯片內(nèi)部的三層引擎中已經(jīng)保存站點(diǎn)A、B的路由信息,以后站點(diǎn)A、B之間進(jìn)行通信或其它網(wǎng)段的站點(diǎn)想要與A、B進(jìn)行通信,交換芯片則會(huì)直接把包從三層硬件表項(xiàng)中指定的端口轉(zhuǎn)發(fā)出去,而不必再把包交給CPU處理。這種通過(guò)“一次路由,多次交換”的方式,大大提高了轉(zhuǎn)發(fā)速度。
三層交換從概念的提出到今天的普及應(yīng)用,雖然只歷經(jīng)了幾年的時(shí)間,但其在網(wǎng)絡(luò)建設(shè)中的應(yīng)用越來(lái)越廣泛,從最初骨干層、中間的匯聚層一直滲透到邊緣的接入層。三層交換機(jī)通訊具有速度快、性能好、價(jià)格低等眾多的優(yōu)勢(shì)。
凡是沒(méi)有廣域網(wǎng)連接需求,同時(shí)又需要路由器的地方,都可以用三層交換機(jī)通訊代替二層交換機(jī)。隨著ASIC硬件芯片技術(shù)的發(fā)展和實(shí)際應(yīng)用的推廣,三層交換的技術(shù)與產(chǎn)品會(huì)得到進(jìn)一步發(fā)展。