交換機(jī)必學(xué)知識 VLAN間路由理論指導(dǎo)
在交換機(jī)上劃分VLAN 后,VLAN 間的計算機(jī)就無法通信了。VLAN 間的通信需要借助第三層設(shè)備,我們可以使用路由器來實現(xiàn)這個功能,如果使用路由器通常會采用單臂路由模式。實踐上,VLAN 間的路由大多是通過三層交換機(jī)實現(xiàn)的,三層交換機(jī)可以看成是路由器加交換機(jī),然而因為采用了特殊的技術(shù),其數(shù)據(jù)處理能力比路由器要大得多。VLAN間路由主要有單臂路由和三層交換兩種解決方案。
物理接口和子接口
使用物理接口的傳統(tǒng) VLAN 間路由具有一定的局限性。隨著網(wǎng)絡(luò)中 VLAN 數(shù)量的增加,每個 VLAN 配置一個路由器接口的物理方式將受到路由器物理硬件的局限。路由器用于連接不同 VLAN 的物理接口數(shù)量有限。因此子接口便是最好的選擇。
物理接口和字接口的區(qū)別:
單臂路由
處于不同VLAN 的計算機(jī)即使它們是在同一交換機(jī)上,它們之間的通信也必須使用路由器。可以在每個VLAN 上都有一個以太網(wǎng)口和路由器連接。采用這種方法,如果要實現(xiàn)N 個VLAN 間的通信,則路由器需要N 個以太網(wǎng)接口,同時也會占用了N 個交換上的以太網(wǎng)接口。單臂路由提供了一種解決方案。路由器只需要一個以太網(wǎng)接口和交換機(jī)連接,交換機(jī)的這個接口設(shè)置為Trunk 接口。在路由器上創(chuàng)建多個子接口和不同的VLAN 連接,子接口是路由器物理接口上的邏輯接口。如圖11-1,當(dāng)交換機(jī)收到VLAN1 的計算機(jī)發(fā)送的數(shù)據(jù)幀后,從它的Trunk 接口發(fā)送數(shù)據(jù)給路由器,由于該鏈路是Trunk 鏈路,幀中帶有VLAN1的標(biāo)簽,幀到了路由器后,如果數(shù)據(jù)要轉(zhuǎn)發(fā)到VLAN2 上,路由器將把數(shù)據(jù)幀的VLAN1 標(biāo)簽去掉,重新用VLAN2 的標(biāo)簽進(jìn)行封裝,通過Trunk 鏈路發(fā)送到交換機(jī)上的Trunk 接口;交換機(jī)收到該幀,去掉VLAN2 標(biāo)簽,發(fā)送給VLAN2 上的計算機(jī),從而實現(xiàn)了VLAN 間的通信。
單臂路由的缺點:
VLAN 之間的通信需要路由器來完成
數(shù)據(jù)量增大,路由器與交換機(jī)之間的通道會成為整個網(wǎng)絡(luò)的瓶頸:
單臂路由配置中用到的命令:
創(chuàng)建子接口
Interface F0/0.1
指明子接口承載哪個VLAN 的流量以及封裝類型,同時該VLAN 是native vlan
encapture dot1q 1 native
#p#
三層交換
采用單臂路由實現(xiàn)VLAN 間的路由時轉(zhuǎn)發(fā)速率較慢,在實際工作中多在局域網(wǎng)內(nèi)部采用三層交換的方式實現(xiàn)VLAN間路由。由于三層交換機(jī)采用硬件來實現(xiàn)路由,所以其路由數(shù)據(jù)包的速率是普通路由器的幾十倍。從使用者的角度可以把三層交換機(jī)看成是二層交換機(jī)和路由器的組合,現(xiàn)在Cisco 主要采用CEF 的三層交換技術(shù)。在CEF 技術(shù)中,交換機(jī)利用路由表形成轉(zhuǎn)發(fā)信息庫(FIB),F(xiàn)IB 和路由表是同步的,關(guān)鍵的是它的查詢是硬件化,查詢速度快得多。除了FIB,還有鄰接表(Adjacency Table),該表和ARP 表有些類似,主要放置了第二層的封裝信息。FIB 和鄰接表都是在數(shù)據(jù)轉(zhuǎn)發(fā)之前就已經(jīng)建立準(zhǔn)備好了,這樣一有數(shù)據(jù)要轉(zhuǎn)發(fā),交換機(jī)就能直接利用它們進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)和封裝,不需要查詢路由表和發(fā)送ARP 請求,所以VLAN 間的路由速率大大提高。如下圖所示:
三層交換解決VLAN間路由中用到的命令:
打開路由功能: ip routing
接口不作為交換機(jī)接: no switchport
實驗:普通VLAN間路由配置
1. 實驗?zāi)康?/p>
(1) 路由器以太網(wǎng)接口上的子接口
(2) 單臂路由實現(xiàn)VLAN 間路由的配置
2. 實驗拓?fù)?/p>
普通VLAN間路由配置
3. 實驗步驟
步驟1:在S1 上劃分VLAN
S1(config)#vlan 2
S1(config-vlan)#exit
S1(config)#int f0/5
S1(config-if)#switchport mode access
S1(config-if)#switchport access vlan 1
S1(config-if)#int f0/6
S1(config-if)#switchport mode access
S1(config-if)#switchport access vlan 2
步驟2:要先把交換機(jī)上的以太網(wǎng)接口配置成Trunk 接口
S1(config)#int f0/1
S1(config-if)#switch trunk encap dot1q
S1(config-if)#switch mode trunk
在路由器的物理以太網(wǎng)接口下創(chuàng)建子接口,并定義封裝類型
R1(config)#int g0/0
R1(config-if)#no shutdown
R1(config)#int g0/0.1
R1(config-subif)#encapture dot1q 1 native
//以上是定義該子接口承載哪個VLAN 流量,由于交換機(jī)上的native vlan 是VLAN 1,所以
我們這里也要指明該VLAN 就是native vlan。實際上默認(rèn)時 native vlan 就是vlan 1。
R1 (config-subif)#ip address 172.16.1.254 255.255.255.0
//在子接口上配置IP 地址,這個地址就是VLAN 1 的網(wǎng)關(guān)了
R1(config)#int g0/0.2
R1(config-subif)#encapture dot1q 2
R1 (config-subif)#ip address 172.16.2.254 255.255.255.0
4. 實驗調(diào)試
在PC1 和PC2 上配置IP 地址和網(wǎng)關(guān),PC1 的網(wǎng)關(guān)指向:17.16.1.254, PC1 的網(wǎng)關(guān)指向:17. 16.2.254。測試PC1 和PC2 的通信。注意:如果計算機(jī)有兩個網(wǎng)卡,請去掉另一網(wǎng)卡上設(shè)置的網(wǎng)關(guān)。
注意事項:
S1 實際上是catalyst 3560 交換機(jī),該交換機(jī)具有三層功能,我們這里把它當(dāng)作二層交換機(jī)使用了,有點大材小用。
三層交換實現(xiàn)VLAN 間路由
1. 實驗?zāi)康?/p>
(1) 理解三層交換的概念
(2) 配置三層交換
2. 實驗拓?fù)?/p>
實驗拓?fù)鋱D
3. 實驗步驟
步驟1:在S1 上劃分VLAN
S1(config)#vlan 2
S1(config-vlan)#exit
S1(config)#int f0/5
S1(config-if)#switchport mode access
S1(config-if)#switchport access vlan 1
S1(config-if)#int f0/6
S1(config-if)#switchport mode access
S1(config-if)#switchport access vlan 2
步驟2:配置三層交換
S1(config)#ip routing
//以上開啟S1 的路由功能,這時S1 就啟用了三層功能。
S1(config)#int vlan 1
S1(config-if)#no shutdown
S1(config-if)#ip address 172.16.1.254 255.255.255.0
S1(config)#int vlan 2
S1(config-if)#no shutdown
S1(config-if)#ip address 172.16.2.254 255.255.255.0
//在vlan 接口上配置IP 地址即可,VLAN 1 接口上的地址就是PC1 的網(wǎng)關(guān)了,VLAN 2 接口
上的地址就是PC2 的網(wǎng)關(guān)了。
注意事項:
要在三層交換機(jī)上啟用路由功能,還需要啟用CEF(命令為:ip cef),不過這是默認(rèn)值。和路由器一樣,三層交換機(jī)上同樣可以運(yùn)行路由協(xié)議。
4. 實驗調(diào)試
(1) 檢查S1 上的路由表
S1#show ip route
172.16.0.0/24 is subnetted, 2 subnets
C 172.16.1.0 is directly connected, Vlan1
C 172.16.2.0 is directly connected, Vlan2
//和路由器一樣,三層交換機(jī)上也有路由表。
(2) 測試PC1 和PC2 間的通信
在PC1 和PC2 上配置IP 地址和網(wǎng)關(guān),PC1 的網(wǎng)關(guān)指向:17.16.1.254, PC2 的網(wǎng)關(guān)指向:
17. 16.2.254。測試PC1 和PC2 的通信。注意:如果計算機(jī)有兩個網(wǎng)卡,請去掉另一網(wǎng)卡上設(shè)置的網(wǎng)關(guān)。
注意事項:
我們也可以把f0/5 和f0/6 接口作為路由接口使用,這時它們就和路由器的以太網(wǎng)接口一樣了,可以在接口上配置IP 地址。如果S1 上的全部以太網(wǎng)都這樣設(shè)置,S1 實際上成了具有24 個以太網(wǎng)接口的路由器了,我們不建議這樣做,這樣太浪費接口了,。配置示例:
S1(config)#int f0/10
S1(config-if)#no switchport
//該接口不再是交換接口了,成為了路由接口
S1(config-if)#ip address 10.0.0.254 255.255.255.0