虛擬局域網---VLAN Trunk
VLAN Trunk
? ? ? ?通過前面的學習,我們已經能在交換機上劃分VLAN了。但是當網絡中有多臺交換機時,位于不同交換機上的相同VLAN的主機之間是如何通信的呢?現(xiàn)在我們就來學習如何解決這個問題,即跨交換機的VLAN通信。
? ? ? ?1、Trunk的作用
? ? ? ?如下圖所示,在兩臺交換機SW1和SW2上分別創(chuàng)建了VLAN 10、VLAN 20和VLAN 30,那么,如何才能讓連接在不同交換機上的相同VLAN的主機進行通信呢?

? ? ? ?如果為每個VLAN都連接一條物理鏈路,如下圖所示,那么兩臺交換機之間有幾個VLAN通信,就需要在兩臺交換機之間連接幾條物理鏈路。

? ? ? ?這種連接方式的擴展性有很大的問題,即隨著VLAN數(shù)量的增加,就需要在兩臺交換機之間連接多條物理鏈路,從而占用很多交換機端口,這顯然是不可取的。
? ? ? ?類似現(xiàn)實生活中運送貨物的例子,為了使貨物在到達目的地后被正確的區(qū)分開,通常的做法是在貨物上貼上不同的標識。那么在VLAN中,由于不同VLAN的VLAN號不同,實際上可以只使用一條中繼鏈路,將屬于不同VLAN的數(shù)據幀打上不同的標識即可,如下圖所示:

? ? ? ?在交換網絡中,鏈路有兩種類型:接入鏈路和中繼鏈路。
? ? ? ?1)接入鏈路:通常屬于一個VLAN。如上圖中的主機與交換機之間連接的鏈路就是接入鏈路。
? ? ? ?2)中繼鏈路:可以承載多個VLAN。如上圖中的SW1和SW2之間的鏈路就是中繼鏈路。中繼鏈路常用來將一臺交換機連接到其他交換機上,或將交換機連接到路由器上。
? ? ? ?Trunk(干道、中繼)的作用就是使同一個VLAN能夠跨交換機通信。如下圖所示,在VLAN跨交換機通信的過程中,數(shù)據幀有什么變化呢?

? ? ? ?(1)當VLAN 30中的主機PC2發(fā)送數(shù)據幀給主機PC5時,主機PC1發(fā)送的數(shù)據幀是普通的數(shù)據幀。
? ? ? ?(2)交換機SW1接收到數(shù)據幀,知道這個數(shù)據幀來自VLAN 30且要轉發(fā)給SW2,于是就會在數(shù)據幀中打上VLAN 30的標識,然后發(fā)送給SW2。
? ? ? ?(3)SW2接收到帶有VLAN 30標識的數(shù)據幀后,根據目標MAC地址,得知數(shù)據幀是發(fā)送給主機PC5的,就刪除VLAN標識還原為普通的數(shù)據幀,然后轉發(fā)給主機PC5。
? ? ? ?2、VLAN的標識
? ? ? ?1)ISL(Inter-Switch Link,交換機間鏈路)是Cisco私有的標識方法,ISL幀的封裝如下圖所示:

? ? ? ?ISL報頭封裝26字節(jié),CRC尾部是4字節(jié),總共30字節(jié)。
? ? ? ?ISL只是對幀進行封裝,而沒有修改幀中的任何內容。
? ? ? ?2)IEEE 802.1q
? ? ? ?IEEE 802.1q是公有的標識方法,其他廠商的產品也支持這種標識方法。
? ? ? ?無論采用哪種標識方法,鏈路雙方的設備都要使用相同的標識方法。
? ? ? ?3)Native VLAN
? ? ? ?IEEE 802.1q在設計時,為了兼容與不支持VLAN的交換機混合部署,特地設計了一個Native VLAN,它允許交換機從Trunk端口上轉發(fā)未被標識的幀。在Cisco Catalyst交換機上,默認的Native VLAN是VLAN 1,但是可以配置。Native VLAN的數(shù)據幀在Trunk鏈路中是未被識別的,如下圖所示:

? ? ? ?對于兩臺設備之間的Trunk端口,要求鏈路兩側具有相同的Native VLAN配置。
? ? ? ?4)Trunk模式和協(xié)商

? ? ? ?Catalyst 3560交換機支持ISL和IEEE 802.1q封裝;Catalyst 2960只支持IEEE 802.1q封裝,不支持ISL封裝。
? ? ? ?3、Trunk的配置
? ? ? ?1)配置步驟與命令
? ? ? ?(1)進入接口配置模式的命令如下:

? ? ? ?(2)選擇封裝類型的命令如下:

? ? ? ?如果選擇negotiate,就是指明端口與鄰接端口進行協(xié)商。根據鄰接端口的配置,本地端口可以協(xié)商成為ISL或IEEE 802.1q干道。
? ? ? ?(3)將接口配置為Trunk,具體命令如下:

? ? ? ?(4)指定Native VLAN(可選),具體命令如下:

? ? ? ?另外,如果不需要Trunk傳送某一個VLAN的數(shù)據,則可以從Trunk中刪除這個VLAN,具體命令如下:

? ? ? ?同樣,也可以在Trunk上添加某個VLAN,具體命令如下:

? ? ? ?使用show命令驗證接口模式,具體命令如下:

? ? ? ?4、實例配置
? ? ? ?如下圖所示,兩臺交換機SW1和SW2各劃分了三個VLAN,端口分配如下:
? ? ? ?VLAN 10:F0/1~F0/3;
? ? ? ?VLAN 20:F0/4~F0/10;
? ? ? ?VLAN 30:F0/11~F0/23

? ? ? ?兩臺交換機的配置類型,現(xiàn)以SW1為例,做Trunk配置與驗證的過程。
? ? ? ?(1)在交換機上添加VLAN,具體命令如下:

? ? ? ?(2)將接口添加套相應的VLAN中,具體命令如下:

? ? ? ?(3)配置交換機之間互連的端口為Trunk模式,具體命令如下:

? ? ? ?(4)在SW2交換機上執(zhí)行類似的配置,配置完成后,使用show命令進行驗證,具體命令如下:

? ? ? ?在上面的命令輸出中可以看出,在端口F0/24上配置接口模式為Trunk,并且工作模式也是Trunk。Trunk封裝的協(xié)議是IEEE 802.1q,Trunk可以承載所有的VLAN。
? ? ? ?(5)如果不需要在Trunk上傳輸出VLAN 20的數(shù)據,可以在Trunk上移除VLAN 20,命令如下:

? ? ? ?然后在觀察Trunk的信息,有點尷尬,可能是我這個模擬器有問題,刪除了VLAN 20并沒顯示出來。不過效果可以通過兩邊的主機互ping即可驗證。