1. 程式人生 > >不同虛擬機器區域網Vlan之間訪問

不同虛擬機器區域網Vlan之間訪問

上篇部落格講了什麼是虛擬區域網,以及如何搭建虛擬區域網。這篇講述如何使不同虛擬區域網之間進行通訊。

不同虛擬區域網通訊需要路由裝置進行轉發。路由裝置可以是路由器也可以是具有路由功能的三層交換機。

上一講:認識虛擬區域網及搭建(https://mp.csdn.net/postedit/80199792)

這一講:

1、利用二層交換機——路由器方式來實現不同虛擬區域網之間的訪問。

方式一:

我們稱為雙臂路由法,所謂雙臂是指交換機到路由器有兩個線路,其實三個也行,但是路由器介面很少,很少使用這種雙臂路由法實現不同虛擬區域網通訊。不過,話雖如此,方法還是要將出來的,請看下圖:


上圖中,我們將路由器與交換機用兩根直通線連線在一起。在交換機中劃分兩個子網,192.168.1.0/24和192.168.2.0/24。

用交換機劃分兩個虛擬區域網vlan10 和Vlan20。Vlan10虛擬區域網中有兩臺主機pc0和pc5,Vlan20虛擬區域網中有一臺pc1主機。

交換機接路由器的埠fa0/3和fa0/4都設定為Access模式,fa0/3設定為Vlan10,fa0/4設定為vlan20。這樣交換機的兩個虛擬區域網分別都有到路由器的的通道了。虛擬區域網vlan10的資料通過fa0/3埠轉發到路由器fa0/0埠,Vlan20的資料通過fa0/4埠轉發到路由器fa0/4埠。

這樣兩個虛擬區域網之間可以相互訪問。下圖是虛擬區域網Vlan10的pc0來ping虛擬區域網vlan20的pc1,ping通了,說明不同虛擬區域網之間實現了訪問。


方式二:


單臂路由:

    單臂路由的意思就是隻有一條物理資料鏈路到路由器,簡單說路由器和交換機之間只有一條線相連,不像雙臂一樣每個虛擬區域網都要一跟線與路由器相連。

這裡有個問題,只用一個物理線路的話,路由器是怎麼識別交換機發來的資料到底是Vlan10虛擬區域網的資料還是Vlan20的呢?

這裡就使用到了二種協議,和ISL協議。這這兩個協議就是給資料幀進行標記虛擬區域網號的,這樣路由器就知道是哪個虛擬區域網傳來的資料了。IEEE802.1Q和ISL,下面是協議的簡單介紹:

802.1Q:基本標準的IEEE協議,屬業界標準。
ISL(Inter-Switch Link):Cisco專有的Trunk封裝方式。
802.1q協議是在乙太網幀的源MAC個和Type欄位之間插入4個位元組的Tag欄位,並將原有的FCS重寫。TAG欄位裡包括priority和VLANID,TPID=0X8100表示是乙太網幀。

ISL協議是在乙太網幀的最外層家個26位元組的幀頭,重新計算的CRC放在幀尾。在26位元組的報頭裡有15bit用來表示VLAN,但只用到低10位。即1024個VLAN數目。在26位元組的報頭裡有15bit用來表示VLAN,但只用到低10位。即1024個VLAN數目。
這裡我們只用802.1q,因為這個協議是業界標準,所以推薦使用802.1q協議。
先給拓撲圖看看:

我們用主機pc0來ping 主機pc5。

我們先來看看一般資料鏈路層封裝的乙太網幀是什麼樣子。下圖主機pc0正常傳送交換機switch0的Ethernet II幀格式和例項,屬於乙太網幀格式的一種,共有四種,讀者可以自己百度其他三種格式。



從上面可以看出乙太網幀中,並沒有標註這個資料幀是屬於哪個虛擬區域網的。正常情況下,這個資料幀應該是交換機直接轉發出去,不做任何修改。但是當交換機轉發的埠使用了8021.q協議後,就會將上面的乙太網幀進行封裝標記。看下圖,交換機轉發出去的乙太網幀格式和例項。



增加的的欄位說明:

Start-of-Frame Delimiter(SFD) - 1位元組。欄位中1和0互動使用,結尾是兩個連續的1,表示下一位是利用目的地址的重複使用位元組的重複使用位。

TPID - 值為8100(hex)。當幀中的 EtherType 也為8100時,該幀傳送標籤 IEEE 802.1Q/802.1P。

TCI - 標籤控制資訊欄位,包括使用者優先順序(User Priority)、規範格式指示器(Canonical Format Indicator)和 VLAN ID。

我們發現,乙太網幀出現了其他欄位。其中TPID是用來表示封裝協議的型別,例如上面的數值TPID表示封裝協議是802.1q。

TCI主要是用來標記VLan ID。

看到你也許明白了,802.1q協議其實就是將資料鏈路層的乙太網幀加上一些標號,例如虛擬區域網ID(Vlan ID),這樣交換機將乙太網幀轉發給路由器後,路由器埠如果也使用了802.1q協議,就知道了這些資料是屬於那些虛擬區域網的,然後下一步儘可以轉發了。

所以關鍵點就在802.1q協議。

所以,關於交換機和路由器相連的埠必須封裝802.1q協議,才能讓不同的虛擬區域網之間通訊。

所以關於802.1q協議的作用,你懂了嗎?

那怎麼配置交換機和路由器的埠802.1q協議呢,請往下繼續看

接下來我們開始進入配置操作:

首先我們劃分兩個子網1   192.168.1.0/24和子網2  192.168.2.0/24。子網1有兩個主機,子網2有一個主機。

請看下圖:


圖中我們使用了一個思科模擬器中的交換機2950和路由器1841,然後選擇三個主機。三個pc0和pc5屬於虛擬區域網Vlan10,pc1屬於虛擬區域網Vlan20。下面試具體的配置資訊。

1、交換機: Vlan資料庫我們建立兩個虛擬區域網,名稱Vlan10和Vlan20,  Vlan號為10和20,交換機與主機之間的埠設定為Access模式,交換機連線路由器的埠fa0/3設定為Trunk模式。

2、路由器:我們使用直通線將路由器的fa0/0埠連線到交換機埠fa0/3。

說明:路由器fa0/0埠不用設定i和子網掩碼,因為我們要使用的不是物理介面fa0/0,我們要使用的是路由器fa0/0埠的邏輯子介面,你可以想象成這個埠有多個子介面可以與交換機相連,就好像雙臂路由一樣,只是肉眼看不見而已。

路由器我們使用兩個邏輯子介面fa/0.1和fa0/0.2,來連線兩個子網,fa0/0.1的設定為ip:92.168.1.1子網掩碼255.255.255.0, fa0/0.2介面設定為ip:192.168.2.1和255.255.255.0,這兩個ip地址分別作為兩個子網的閘道器。

3、pc0:    ip:192.168.1..2 ,子網掩碼:255.255.255.0  閘道器:192.168.1.1    接入交換機的fa0/1埠,交換機的埠fa0/1設定為Access和Vlan10。

    pc1:  ip:192.168.2.1      子網掩碼:255.255.255.0  閘道器:192.168.2.1   接入交換機的fa0/2埠,交換機的埠fa0/2設定為Access和Vlan20。

    pc5:  ip:192.168.1.3     子網掩碼:255.255.255.0   閘道器:192.168.2.1      接入交換機的fa0/5埠, 交換機的埠fa0/5設定為Access和Vlan10。

具體配置步驟,你也可以選擇命令列配置,我是為了讓大家看的更直觀,採用圖形介面配置。

第一步:

1.主機資訊配置:下圖只是一個主機例項,其他主機類似。


第二步:

1、給交換機新增vlan資料庫,並將設定相應的交換機的埠。

新增Vlan10和Vlan20。


2、配置交換機連線主機的埠:下圖只是一個fa0/1,其他埠類似。


3、配置交換機連線路由器的埠:設定為Trunk模式。


關於dot1.q協議封裝的說明:
    2950只支援802.1Q,所以配置trunk的時候,預設封裝dot1.q的

    3560這些,支援多種,所以需要指定是哪一種封裝模式。

2950交換機預設封裝的是dot1q協議,所以你就不用在fa0/3埠再封裝802.1q協議了。如果其他交換機,可能需要封裝802.1q協議,就輸入下面命令,進入相應的介面,輸入switchport trunk encapsulationdot1q。例如這裡的fa0/3埠,命令如下:

enable

config t

switchport trunk encapsulation dot1q


這裡出錯,是因為2950交換機已經封裝了802.1q協議。所以其實沒必要再封裝這個埠的協議。

第三步:

路由器配置,這裡我們使用fa0/0的邏輯子埠,所以不能通過圖形介面配置,只能命令列配置。

路由器配置圖如下:

首先給路由器新增同樣的Vlan資料庫Vlan10和Vlan20


路由配置命令:

Router>enableRouter#configConfiguring from terminal, memory, or network [terminal]?Enter configuration commands, one per line. End with CNTL/Z. .................進入全域性配置模式Router(config)#interface fa0/0 ................進入和交換機連線的那個介面fa0/0Router(config-if)#no shutdown ................啟用該埠Router(config-if)#exit ……………返回到全域性配置模式Router(config)#interface fa0/0.1 ...........配置 子介面 這是配置單臂路由的關鍵,這個介面是個 邏輯介面,並不是實際存在的物理介面,但是功能卻和物理介面是一樣的。Router(config-subif)#encapsulation dot1q 2 .......為這個介面配置802.1Q協議,最後面的 2 是vlan 號,這也是關鍵部分Router(config-subif)#ip address 192.168.1.1  255.255.255.0 .........為該介面劃分閘道器地址。Router(config-subif)#exitRouter(config)#interface fa0/0.2 .....同樣,進入第2個子介面,進行配置Router(config-subif)#encapsulation dot1q 3 .........配置802.1Q協議Router(config-subif)#ip address 192.168.2.1  255.255.255.0 ......劃分閘道器地址和子網掩碼Router(config-subif)#end%SYS-5-CONFIG_I: Configured from console by console ..........完成配置經過分別對pc0和pc1兩臺機子互相ping的測試,可以發現能夠ping通,說明實驗成功。下圖是配置圖;



將滑鼠放在路由器上幾秒,就會顯示所有介面的資訊。可以檢視是否設定成功。

測試結果:成功了。寫的好累!!!


方式三:

前面介紹的都是路由器與二層交換機組合使用來實現路由轉發的。其實只要交換機有路由功能,就可以不用連線路由器了。三層交換機及以上就具有這樣的功能。

下面就用三層交換機來實現不同虛擬區域網的通訊。

大致分為兩種情況

1、先看第一種情況,三層交換機直接與主機相連。

思科模擬器中的三層交換機是一般3開頭的,如下圖型號3560,如果開頭是2,就是二層交換機了,沒有路由功能。


上圖三層交換機劃分了兩個虛擬區域網Vlan10和Vlan20。主機pc0和pc1屬於虛擬區域網Vlan10,主機pc2屬於虛擬區域網Vlan20。ip地址配置子網掩碼配置,如圖所示。

然後在三層交換機中新增Vlan資料庫Vlan10和Vlan20。

也可以命令列輸入:輸入如下:

(1)建立Vlan並命名

Switch>enable
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#name Vlan10
Switch(config-vlan)#exit
Switch(config)#vlan 20

Switch(config-vlan)#name Vlan20

(2)把VLAN號分配給介面 

 Switch(config)#int fa0/1     //進入交換機埠fa0/1

Switch(config-if)#switchport mode access //將fa0/1埠設定為Access模式。

Switch(config-if)#switchport access vlan 10//將fa0/1埠劃分為Vlan 10

圖形


下面就是配置交換機的路由功能了:

Switch> enable

Switch# configure terminal

Switch(config)#ip routing //啟動三層交換機路由功能

Switch(config)# interface Vlan 10//新增設定關聯Vlan號為10的路由埠

Switch(config-if)# ip address 192.168.1.1255.255.255.0//為該路由埠設定IP和子網掩碼

Switch(config-if)# no shutdown //啟動該埠

Switch(config-if)# exit//退出該埠

Switch(config)# interface Vlan 20 //新增設定關聯Vlan號為20的路由埠

Switch(config-if)# ip address 192.168.2.1255.255.255.0//為該路由埠設定IP和子網掩碼

Switch(config-if)# no shutdown //啟動該埠

Switch(config-if)# exit//退出該埠

Switch(config-if)# end//完成退出

Switch# show ip route //檢視路由資訊

下圖最後出現了配置資訊,說明配置成功。


主機pc0來ping主機pc2,測試成功:


2、再來看第二種情況:


路由器的配置跟第一種一樣,開啟路由功能, ip routing ,然後建立Vlan10 和Vlan20, 再然後命令列進入Vlan10和Vlan20介面。配置ip和子網掩碼。


顯示路由表


測試: