劉易
北京信息職業(yè)技術(shù)學(xué)院 北京 100018
VLAN的作用是隔離二層廣播域,也就嚴(yán)格地隔離了各個VLAN之間的任何流量,分屬于不同VLAN的用戶不能互相通信。VLAN雖然在很大意義上提高了網(wǎng)絡(luò)的安全性,但是從另一個角度來說,VLAN又阻隔了不同分組之間的連通性。為了在保證網(wǎng)絡(luò)安全性的基礎(chǔ)上實現(xiàn)不同VLAN之間的連通,這就需要VLAN間路由技術(shù)。
網(wǎng)絡(luò)上的數(shù)據(jù)包都必須要有四個地址才能進(jìn)行通信,即源IP地址、目的IP地址,源MAC地址和目的MAC地址。其中,前三個地址是發(fā)送方能夠確定的。為了能夠通信,還必須要知道目的MAC地址,而獲取目的MAC的方式是ARP請求。因為ARP請求數(shù)據(jù)包是廣播報文,不能在分屬不用VLAN的不同廣播域中傳播。因此需要借助VLAN間路由來實現(xiàn)不同廣播域之間的數(shù)據(jù)包傳輸[1]。
為了實現(xiàn)VLAN間的通信,總共有三種方式:物理接口;子接口;三層交換。
(1)物理接口的方式是指為每個VLAN提供一個物理接口,從而為每個VLAN都提供一個網(wǎng)關(guān)。但是這樣的方法每個VLAN都需要增加一個接口,增加了更多的投資。為了解決如上問題,可以通過在路由器的一個物理接口上創(chuàng)建多個子接口來解決。
(2)子接口的方式是指將路由器上的一個物理端口分割為多個虛擬端口(邏輯接口),分別對應(yīng)不同的VLAN,為每個VLAN提供一個網(wǎng)關(guān)。但是,如果使用路由器進(jìn)行VLAN間通信的話,隨著VLAN之間流量的不斷增加,很可能導(dǎo)致匯聚鏈路成為整個網(wǎng)絡(luò)的瓶頸。
(3)三層交換的方式是指在三層交換機(jī)中為每一個VLAN都創(chuàng)建一個VLANIF的虛接口,從而為每個VLAN提供一個網(wǎng)關(guān)。三層交換機(jī)就相當(dāng)于在一臺交換機(jī)中,分別設(shè)置了交換機(jī)模塊和路由模塊。而內(nèi)置的路由模塊與交換模塊相同,都使用硬件處理路由。因此,與傳統(tǒng)的路由器通過軟件路由相比,可以實現(xiàn)高速路由。并且,路由模塊與交換模塊的匯聚鏈接是內(nèi)部鏈接,可以確保相當(dāng)大的帶寬。
通過一個實例來了解子接口的工作過程,屬于VLAN 2的PC1和屬于VLAN3的PC2分別連接到交換機(jī)S1,交換機(jī)的G0/0再與路由器R1的一個物理接口G0/1相連接。
為了實現(xiàn)VLAN間通信,需要在路由器上設(shè)置物理接口的邏輯接口,即子接口G0/1.1和G0/1.2分別作為VLAN 2和VLAN 3的網(wǎng)關(guān)。
首先計算機(jī)PC1向PC2發(fā)送數(shù)據(jù),發(fā)現(xiàn)PC2與PC1不屬于同一個網(wǎng)段,因此會將數(shù)據(jù)發(fā)送給默認(rèn)網(wǎng)關(guān)。交換機(jī)S1在端口上收到PC1的數(shù)據(jù)幀后,會附加上VLAN 2 的tag信息,然后查看MAC地址表,通過匯聚接口G0/0發(fā)現(xiàn)給路由器R1。路由器收到數(shù)據(jù)幀后,確認(rèn)是屬于VLAN2的數(shù)據(jù)幀,去除tag后,交由負(fù)責(zé)VLAN2的子接口G0/1.1處理。
路由器查看數(shù)據(jù)包,發(fā)現(xiàn)目的IP所在網(wǎng)段與路由表中的G0/1.2子接口相匹配,找到與之匹配的端口G0/1.2,并將數(shù)據(jù)包發(fā)送給該端口。子接口G0/1.2收到數(shù)據(jù)包后,將目的Mac地址修改為PC2的MAC地址,源MAC修改為G0/1的MAC地址,并打上VLAN3的tag,從G0/1.2發(fā)送出去。
交換機(jī)收到數(shù)據(jù)幀后,查看MAC地址表,找到目標(biāo)計算機(jī)PC2連接的端口,然后將數(shù)據(jù)幀的VLAN信息去除后,從該端口轉(zhuǎn)發(fā),最終計算機(jī)PC2成功地收到PC1的數(shù)據(jù)幀。
VLAN間通信時,即使通信雙方都連接在同一臺交換機(jī)上,也必須經(jīng)過:發(fā)送方——交換機(jī)——路由器——交換機(jī)——接收方五個步驟。
通過一個實例來了解三層交換的工作過程,屬于VLAN 2的PC1和PC2,屬于VLAN3的PC3分別連接到三層交換機(jī)CS上。
(1)在三層交換機(jī)中如果相同VLAN進(jìn)行通信,計算機(jī)PC1發(fā)送數(shù)據(jù)包,交換機(jī)收到數(shù)據(jù)包后,查看MAC地址表,發(fā)現(xiàn)計算機(jī)PC2屬于同一VLAN 2,于是交換機(jī)將數(shù)據(jù)幀轉(zhuǎn)發(fā)給PC2所連接的端口,最終計算機(jī)PC2收到該幀。相同VLAN內(nèi)的通信在交換模塊完成。
(2)三層交換機(jī)中不同VLAN間通信需要通過路由模塊。需要在三層交換機(jī)上設(shè)置虛接口VLANIF2和VLANIF3分別作為VLAN 2和VLAN 3 的網(wǎng)關(guān)。
計算機(jī)PC1向PC3發(fā)送數(shù)據(jù),判斷出PC3與本機(jī)不屬于同一個網(wǎng)段,因此會將數(shù)據(jù)發(fā)送給默認(rèn)網(wǎng)關(guān)。交換機(jī)CS收到數(shù)據(jù)幀,添加VLAN2的tag信息,并查看MAC地址表,將數(shù)據(jù)幀轉(zhuǎn)發(fā)給路由模塊。
路由模塊在收到數(shù)據(jù)幀時,分辨出tag信息是VLAN2,據(jù)此判斷由VLANIF2接口負(fù)責(zé)接收,去掉tag后,進(jìn)行路由處理。路由模塊查看數(shù)據(jù)包,發(fā)現(xiàn)目的IP所在網(wǎng)段與路由表中的VLANIF3所在的網(wǎng)段相匹配,找到相對應(yīng)的端口VLANIF 3,并將數(shù)據(jù)包發(fā)送給VLANIF 3。
虛接口VLANIF 3收到數(shù)據(jù)包,將目的Mac地址修改為PC3的MAC地址,源MAC修改為VLANIF 3的MAC地址,并打上VLAN3的tag。交換模塊收到數(shù)據(jù)幀后,查看MAC地址表,確認(rèn)需要將它轉(zhuǎn)發(fā)給PC3所連接的端口。由于該端口是ACCESS類型,因此轉(zhuǎn)發(fā)前會先將VLAN3的tag去除。最終,計算機(jī)PC3成功地收到PC1發(fā)來的數(shù)據(jù)幀。
通過三層交換機(jī)實現(xiàn)VLAN間通信,也必須經(jīng)過:發(fā)送方-交換模塊-路由模塊-交換模塊-接收方的過程。
VLAN間路由的三種方法中,物理接口的方式會造成資源浪費(fèi),且很難擴(kuò)展,因此一般不使用該方法。路由器子接口使用軟件實現(xiàn)路由,當(dāng)并發(fā)流量大時,單鏈路容易造成網(wǎng)絡(luò)的瓶頸。三層交換機(jī)是使用硬件進(jìn)行路由和轉(zhuǎn)發(fā),速度更快。在實際工程中可根據(jù)設(shè)備情況進(jìn)行相應(yīng)的規(guī)劃。