同一VLAN內(nèi)的通信
接下來,我們繼續(xù)學(xué)習(xí)使用匯聚鏈路連接交換機(jī)與路由器時(shí),VLAN間路由是如何進(jìn)行的。如下圖所示,為各臺(tái)計(jì)算機(jī)以及路由器的子接口設(shè)定IP地址。
紅色VLAN(VLAN ID=1)的網(wǎng)絡(luò)地址為192.168.1.0/24,藍(lán)色VLAN(VLAN ID=2)的網(wǎng)絡(luò)地址為192.168.2.0/24。各計(jì)算機(jī)的MAC地址分別為A/B/C/D,路由器匯聚鏈接端口的MAC地址為R。交換機(jī)通過對(duì)各端口所連計(jì)算機(jī)MAC地址的學(xué)習(xí),生成如下的MAC地址列表。
計(jì)算機(jī)A發(fā)出ARP請(qǐng)求信息,請(qǐng)求解析B的MAC地址。交換機(jī)收到數(shù)據(jù)幀后,檢索MAC地址列表中與收信端口同屬一個(gè)VLAN的表項(xiàng)。結(jié)果發(fā)現(xiàn),計(jì)算機(jī)B連接在端口2上,于是交換機(jī)將數(shù)據(jù)幀轉(zhuǎn)發(fā)給端口2,最終計(jì)算機(jī)B收到該幀。收發(fā)信雙方同屬一個(gè)VLAN之內(nèi)的通信,一切處理均在交換機(jī)內(nèi)完成。
不同VLAN間通信時(shí)數(shù)據(jù)的流程
接下來是這一講的核心內(nèi)容,不同VLAN間的通信。讓我們來考慮一下計(jì)算機(jī)A與計(jì)算機(jī)C之間通信時(shí)的情況。
計(jì)算機(jī)A從通信目標(biāo)的IP地址(192.168.2.1)得出C與本機(jī)不屬于同一個(gè)網(wǎng)段。因此會(huì)向設(shè)定的默認(rèn)網(wǎng)關(guān)(Default Gateway,GW)轉(zhuǎn)發(fā)數(shù)據(jù)幀。在發(fā)送數(shù)據(jù)幀之前,需要先用ARP獲取路由器的MAC地址。
得到路由器的MAC地址R后,接下來就是按圖中所示的步驟發(fā)送往C去的數(shù)據(jù)幀。①的數(shù)據(jù)幀中,目標(biāo)MAC地址是路由器的地址R、但內(nèi)含的目標(biāo)IP地址仍是最終要通信的對(duì)象C的地址。這一部分的內(nèi)容,涉及到局域網(wǎng)內(nèi)經(jīng)過路由器轉(zhuǎn)發(fā)時(shí)的通信步驟,有機(jī)會(huì)再詳細(xì)解說吧。
交換機(jī)在端口1上收到①的數(shù)據(jù)幀后,檢索MAC地址列表中與端口1同屬一個(gè)VLAN的表項(xiàng)。由于匯聚鏈路會(huì)被看作屬于所有的VLAN,因此這時(shí)交換機(jī)的端口6也屬于被參照對(duì)象。這樣交換機(jī)就知道往MAC地址R發(fā)送數(shù)據(jù)幀,需要經(jīng)過端口6轉(zhuǎn)發(fā)。
從端口6發(fā)送數(shù)據(jù)幀時(shí),由于它是匯聚鏈接,因此會(huì)被附加上VLAN識(shí)別信息。由于原先是來自紅色VLAN的數(shù)據(jù)幀,因此如圖中②所示,會(huì)被加上紅色VLAN的識(shí)別信息后進(jìn)入?yún)R聚鏈路。路由器收到②的數(shù)據(jù)幀后,確認(rèn)其VLAN識(shí)別信息,由于它是屬于紅色VLAN的數(shù)據(jù)幀,因此交由負(fù)責(zé)紅色VLAN的子接口接收。
接著,根據(jù)路由器內(nèi)部的路由表,判斷該向哪里中繼。
由于目標(biāo)網(wǎng)絡(luò)192.168.2.0/24是藍(lán)色VLAN,,且該網(wǎng)絡(luò)通過子接口與路由器直連,因此只要從負(fù)責(zé)藍(lán)色VLAN的子接口轉(zhuǎn)發(fā)就可以了。這時(shí),數(shù)據(jù)幀的目標(biāo)MAC地址被改寫成計(jì)算機(jī)C的目標(biāo)地址;并且由于需要經(jīng)過匯聚鏈路轉(zhuǎn)發(fā),因此被附加了屬于藍(lán)色VLAN的識(shí)別信息。這就是圖中③的數(shù)據(jù)幀。
交換機(jī)收到③的數(shù)據(jù)幀后,根據(jù)VLAN標(biāo)識(shí)信息從MAC地址列表中檢索屬于藍(lán)色VLAN的表項(xiàng)。由于通信目標(biāo)——計(jì)算機(jī)C連接在端口3上、且端口3為普通的訪問鏈接,因此交換機(jī)會(huì)將數(shù)據(jù)幀除去VLAN識(shí)別信息后(數(shù)據(jù)幀④)轉(zhuǎn)發(fā)給端口3,最終計(jì)算機(jī)C才能成功地收到這個(gè)數(shù)據(jù)幀。
進(jìn)行VLAN間通信時(shí),即使通信雙方都連接在同一臺(tái)交換機(jī)上,也必須經(jīng)過:
發(fā)送方——交換機(jī)——路由器——交換機(jī)——接收方
這樣一個(gè)流程。