03-VLAN配置
本章節下載: 03-VLAN配置 (310.61 KB)
目 錄
VLAN(Virtual Local Area Network,虛擬局域網)技術把一個物理LAN劃分成多個邏輯的LAN——VLAN,處於同一VLAN的主機能直接互通,而處於不同VLAN的主機則不能直接互通,從而增強了局域網的安全性。劃分VLAN後,廣播報文被限製在同一個VLAN內,即每個VLAN是一個廣播域,有效地限製了廣播域的範圍。通過VLAN可以將不同的主機劃分到不同的工作組,同一工作組的主機可以位於不同的物理位置,網絡構建和維護更方便靈活。
要使網絡設備能夠分辨不同VLAN的報文,需要在報文中添加標識VLAN的字段。IEEE 802.1Q協議規定,在以太網報文的目的MAC地址和源MAC地址字段之後、協議類型字段之前加入4個字節的VLAN Tag,用以標識VLAN的相關信息。
圖1-1 VLAN Tag的組成字段
如圖1-1所示,VLAN Tag包含四個字段,分別是TPID(Tag Protocol Identifier,標簽協議標識符)、Priority、CFI(Canonical Format Indicator,標準格式指示位)和VLAN ID。
TPID:協議規定TPID取值為0x8100時表示報文帶有VLAN Tag,但各設備廠商可以自定義該字段的值。為了能夠識別這樣的報文,實現互通,必須確保與鄰居設備的TPID值保持一致。如果報文的TPID值為配置值或0x8100,則該報文被認為帶有VLAN Tag。
· Priority:用來表示報文的802.1p優先級,長度為3比特,相關內容請參見“ACL和QoS配置指導/QoS”中的“附錄”。
· CFI:用來表示MAC地址在不同的傳輸介質中是否以標準格式進行封裝,長度為1比特。取值為0表示MAC地址以標準格式進行封裝,為1表示以非標準格式封裝。在以太網中,CFI取值為0。
· VLAN ID:用來表示該報文所屬VLAN的編號,長度為12比特。由於0和4095為協議保留取值,所以VLAN ID的取值範圍為1~4094。
網絡設備根據報文是否攜帶VLAN Tag以及攜帶的VLAN Tag信息,來對報文進行處理,利用VLAN ID來識別報文所屬的VLAN。
· 以太網支持Ethernet II、802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封裝格式,本文以Ethernet II型封裝為例。802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封裝格式添加VLAN Tag字段的方式請參見相關協議規範。
· 對於攜帶有多層VLAN Tag的報文,設備會根據其最外層VLAN Tag進行處理,而內層VLAN Tag會被視為報文的普通數據部分。
基於端口劃分VLAN是最簡單、最有效的VLAN劃分方法。它按照設備端口來定義VLAN成員,將指定端口加入到指定VLAN中之後,該端口就可以轉發該VLAN的報文。
端口的鏈路類型分為三種,端口的鏈路類型決定了端口能否加入多個VLAN。不同鏈路類型的端口在轉發報文時對VLAN Tag的處理方式不同:
· Access:端口隻能發送一個VLAN的報文,發出去的報文不帶VLAN Tag。一般用於和不能識別VLAN Tag的用戶終端設備相連,或者不需要區分不同VLAN成員時使用。
· Trunk:端口能發送多個VLAN的報文,發出去的端口缺省VLAN的報文不帶VLAN Tag,其他VLAN的報文都必須帶VLAN Tag。通常用於網絡傳輸設備之間的互連。
· Hybrid:端口能發送多個VLAN的報文,端口發出去的報文可根據需要配置某些VLAN的報文帶VLAN Tag,某些VLAN的報文不帶VLAN Tag。在一些應用場景下,需要使用Hybrid端口的功能。比如在1:2 VLAN映射中,服務提供商網絡的多個VLAN的報文在進入用戶網絡前,需要剝離外層VLAN Tag,此時Trunk端口不能實現該功能,因為Trunk端口隻能使該端口缺省VLAN的報文不帶VLAN Tag通過。有關1:2 VLAN映射的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“VLAN映射”。
端口缺省VLAN簡稱為PVID(Port VLAN ID)。當端口收到Untagged報文時,會認為該報文所屬的VLAN為PVID。
Access端口的PVID就是它所在的VLAN。
Trunk端口和Hybrid端口可以允許多個VLAN通過,能夠配置端口PVID。
端口對報文的接收和發送的處理有幾種不同情況,具體情況請參看表1-1。
端口類型 |
對接收報文的處理 |
對發送報文的處理 |
|
當接收到的報文不帶Tag時 |
當接收到的報文帶有Tag時 |
||
Access端口 |
為報文添加端口PVID的Tag |
· 當報文的VLAN ID與端口的PVID相同時,接收該報文 · 當報文的VLAN ID與端口的PVID不同時,丟棄該報文 |
去掉Tag,發送該報文 |
Trunk端口 |
· 當端口的PVID在端口允許通過的VLAN ID列表裏時,接收該報文,給報文添加PVID的Tag · 當端口的PVID不在端口允許通過的VLAN ID列表裏時,丟棄該報文 |
· 當報文的VLAN ID在端口允許通過的VLAN ID列表裏時,接收該報文 · 當報文的VLAN ID不在端口允許通過的VLAN ID列表裏時,丟棄該報文 |
· 當報文的VLAN ID與端口的PVID相同,且是該端口允許通過的VLAN ID時:去掉Tag,發送該報文 · 當報文的VLAN ID與端口的PVID不同,且是該端口允許通過的VLAN ID時:保持原有Tag,發送該報文 |
Hybrid端口 |
當報文的VLAN ID是端口允許通過的VLAN ID時,發送該報文,並可以配置端口在發送該VLAN的報文時是否攜帶Tag |
不同VLAN間的主機不能直接通信,通過在設備上創建並配置VLAN接口,可以實現VLAN間的三層互通。
VLAN接口是一種三層的虛擬接口,它不作為物理實體存在於設備上。每個VLAN對應一個VLAN接口,在為VLAN接口配置了IP地址後,該IP地址即可作為本VLAN內網絡設備的網關地址,此時該VLAN接口能對需要跨網段的報文進行三層轉發。
與VLAN相關的協議規範有:
· IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks
VLAN 1為係統缺省VLAN,用戶不能手工創建和刪除。
動態學習到的VLAN,以及被其他應用鎖定不讓刪除的VLAN,都不能使用undo vlan命令直接刪除。隻有將相關配置刪除之後,才能刪除相應的VLAN。
(1) 進入係統視圖。
system-view
(2) 創建VLAN。請至少選擇其中一項進行配置。
¡ 創建一個VLAN,並進入VLAN視圖。
vlan vlan-id
¡ 批量創建VLAN,然後進入VLAN視圖。
vlan { vlan-id-list | all }
vlan vlan-id
缺省情況下,係統隻有一個缺省VLAN(VLAN 1)。
(3) (可選)指定VLAN的名稱。
name text
缺省情況下,VLAN的名稱為“VLAN vlan-id”,其中vlan-id為該VLAN的四位數編號,如果該VLAN的編號不足四位,則會在編號前增加0,補齊四位。例如,VLAN 100的名稱為“VLAN 0100”。
(4) (可選)配置VLAN的描述信息。
description text
缺省情況下,VLAN的描述信息為“VLAN vlan-id”,其中vlan-id為該VLAN的四位數編號,如果該VLAN的編號不足四位,則會在編號前增加0,補齊四位。例如,VLAN 100的描述信息為“VLAN 0100”。
· 當執行undo vlan命令刪除的VLAN是某個端口的PVID時,對Access端口,端口的PVID會恢複到VLAN 1;對Trunk或Hybrid端口,端口的PVID配置不會改變,即它們可以使用已經不存在的VLAN作為端口PVID。
· 建議本端設備端口的PVID和相連的對端設備端口的PVID保持一致。
· 建議保證端口的PVID為端口允許通過的VLAN。如果端口不允許某VLAN通過,但是端口的PVID為該VLAN,則端口會丟棄收到的該VLAN的報文或者不帶VLAN Tag的報文。
配置基於Access端口的VLAN有兩種方法:一種是在VLAN視圖下進行配置,另一種是在接口視圖下進行配置。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 向當前VLAN中添加一個或一組Access端口。
port interface-list
缺省情況下,係統將所有端口都加入到VLAN 1。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
(3) interface bridge-aggregation interface-number
(4) 配置端口的鏈路類型為Access類型。
port link-type access
缺省情況下,端口的鏈路類型為Access。
(5) 將Access端口加入到指定VLAN。
port access vlan vlan-id
缺省情況下,所有Access端口都屬於VLAN 1。
在將Access端口加入到指定VLAN之前,該VLAN必須已經存在。
Trunk端口可以加入多個VLAN。基於Trunk端口的VLAN隻能在接口視圖下配置。
Trunk端口不能直接切換為Hybrid端口,隻能先將Trunk端口配置為Access端口,再配置為Hybrid端口。
配置端口PVID後,必須使用port trunk permit vlan命令配置允許PVID的報文通過,接口才能轉發PVID的報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
(3) interface bridge-aggregation interface-number
(4) 配置端口的鏈路類型為Trunk類型。
port link-type trunk
缺省情況下,端口的鏈路類型為Access類型。
(5) 允許指定的VLAN通過當前Trunk端口。
port trunk permit vlan { vlan-id-list | all }
缺省情況下,Trunk端口隻允許VLAN 1的報文通過。
(6) (可選)配置Trunk端口的PVID。
port trunk pvid vlan vlan-id
缺省情況下,Trunk端口的PVID為VLAN 1。
Hybrid端口可以加入多個VLAN。基於Hybrid端口的VLAN隻能在接口視圖下配置。將Hybrid端口加入VLAN時,指定VLAN必須已經存在。
Hybrid端口不能直接切換為Trunk端口,隻能先將Hybrid端口配置為Access端口,再配置為Trunk端口。
配置端口PVID後,必須使用port hybrid vlan命令配置允許PVID的報文通過,出接口才能轉發PVID的報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置端口的鏈路類型為Hybrid類型。
port link-type hybrid
缺省情況下,端口的鏈路類型為Access類型。
(4) 允許指定的VLAN通過當前Hybrid端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時的所屬VLAN的報文以Untagged方式通過。
(5) (可選)配置Hybrid端口的PVID。
port hybrid pvid vlan vlan-id
缺省情況下,Hybrid端口的PVID為該端口在鏈路類型為Access時的所屬VLAN。
有關bandwidth、description、shutdown命令的詳細介紹,請參見“接口管理命令參考”中的“接口公共命令”。
如果未手工關閉VLAN接口,此時VLAN接口狀態受VLAN中端口狀態的影響,即:
· 當VLAN中所有以太網端口狀態均為down時,VLAN接口為down狀態,即關閉狀態。
· 當VLAN中有一個或一個以上的以太網端口處於up狀態時,則VLAN接口處於up狀態。
如果手工關閉VLAN接口,則VLAN接口的狀態始終為down(Administratively),不受VLAN中端口狀態的影響。
配置VLAN接口參數前,為了避免配置過程中對網絡造成影響,建議先使用shutdown命令手工關閉接口,之後再配置參數。配置完成後,使用undo shutdown命令取消手工關閉接口,使配置的參數生效。
當VLAN接口出現故障時,可以使用shutdown命令手工關閉接口,然後再使用undo shutdown命令取消手工關閉接口,這樣有可能使接口恢複正常。
關閉和打開VLAN接口對於屬於這個VLAN的任何一個以太網端口本身都不起作用,以太網端口的狀態不隨VLAN接口狀態的改變而改變。
在創建VLAN接口之前,對應的VLAN必須已經存在,否則將不能創建指定的VLAN接口。
(1) 進入係統視圖。
system-view
(2) 創建VLAN接口,並進入VLAN接口視圖。
interface vlan-interface interface-number
(3) 配置VLAN接口的IP地址。
ip address ip-address { mask | mask-length } [ sub ]
缺省情況下,未配置VLAN接口的IP地址。
(4) (可選)配置VLAN接口的描述信息。
description text
缺省情況下,VLAN接口的描述信息為該VLAN接口的接口名,如“Vlan-interface1 Interface”。
(5) (可選)配置VLAN接口的MTU值。
mtu size
缺省情況下,VLAN接口的MTU值為1500字節。
(6) (可選)配置VLAN接口的MAC地址。
mac-address mac-address
缺省情況下,未配置VLAN接口的MAC地址。
(7) (可選)配置VLAN接口的期望帶寬。
bandwidth bandwidth-value
缺省情況下,接口的期望帶寬=接口的波特率÷1000(kbps)。
(8) 取消手工關閉VLAN接口。
undo shutdown
缺省情況下,VLAN接口處於關閉狀態。
您可以在執行default命令後通過display this命令確認執行效果。對於未能成功恢複缺省的配置,建議您查閱相關功能的命令手冊,手工執行恢複該配置缺省情況的命令。如果操作仍然不能成功,您可以通過設備的提示信息定位原因。
有關default命令的詳細介紹,請參見“接口管理命令參考”中的“接口公共命令”。
(1) 進入係統視圖。
(2) system-view
(3) 進入VLAN接口視圖。
interface vlan-interface interface-number
(4) 恢複VLAN接口的缺省配置。
default
接口下的某些配置恢複到缺省情況後,會對設備上當前運行的業務產生影響。建議您在執行該命令前,完全了解其對網絡產生的影響。
可在任意視圖下執行以下命令:
· 顯示設備上所有已創建VLAN的概要信息。
display vlan brief
· 顯示VLAN相關信息。
display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ]
· 顯示設備上存在的Hybrid或Trunk端口。
display port { hybrid | trunk }
可在任意視圖下執行以下命令:
· 顯示VLAN接口相關信息。
display interface [ vlan-interface [ interface-number ] ] [ brief [ description | down ] ]
請在用戶視圖下執行以下命令,清除VLAN接口的統計信息。
reset counters interface [ vlan-interface [ interface-number ] ]
有關reset counters interface命令的詳細介紹,請參見“接口管理命令參考”中“接口公共命令”
· Host A和Host C屬於部門A,但是通過不同的設備接入公司網絡;Host B和Host D屬於部門B,也通過不同的設備接入公司網絡。
· 為了通信的安全性,也為了避免廣播報文泛濫,公司網絡中使用VLAN技術來隔離部門間的二層流量。其中部門A使用VLAN 100,部門B使用VLAN 200。
圖1-2 基於端口的VLAN組網圖
缺省情況下,本設備的接口處於ADM(Administratively Down)狀態,請根據實際需要在對應接口視圖下使用undo shutdown命令開啟接口。
本舉例中的物理接口需要工作在二層模式。缺省情況下,本設備的物理接口處於三層模式,請根據實際需要在對應接口視圖下使用port link-mode命令切換接口的工作模式。
(1) 配置Device A
# 創建VLAN 100,並將HundredGigE1/0/1加入VLAN 100。
<DeviceA> system-view
[DeviceA] vlan 100
[DeviceA-vlan100] port hundredgige 1/0/1
[DeviceA-vlan100] quit
# 創建VLAN 200,並將HundredGigE1/0/2加入VLAN 200。
[DeviceA] vlan 200
[DeviceA-vlan200] port hundredgige 1/0/2
[DeviceA-vlan200] quit
# 為了使Device A上VLAN 100和VLAN 200的報文能發送給Device B,將HundredGigE1/0/3的鏈路類型配置為Trunk,並允許VLAN 100和VLAN 200的報文通過。
[DeviceA] interface hundredgige 1/0/3
[DeviceA-HundredGigE1/0/3] port link-type trunk
[DeviceA-HundredGigE1/0/3] port trunk permit vlan 100 200
(2) Device B上的配置與Device A上的配置相同,不再贅述。
(3) 將Host A和Host C配置在一個網段,比如192.168.100.0/24;將Host B和Host D配置在一個網段,比如192.168.200.0/24。
(1) Host A和Host C能夠互相ping通,但是均不能ping通Host B和Host D。Host B和Host D能夠互相ping通,但是均不能ping通Host A和Host C。
(2) 通過查看顯示信息驗證配置是否成功。
# 查看Device A上VLAN 100和VLAN 200的配置信息,驗證以上配置是否生效。
[DeviceA-HundredGigE1/0/3] display vlan 100
VLAN ID: 100
VLAN type: Static
Route interface: Not configured
Description: VLAN 0100
Name: VLAN 0100
Tagged ports:
HundredGigE1/0/3
Untagged ports:
HundredGigE1/0/1
[DeviceA-HundredGigE1/0/3] display vlan 200
VLAN ID: 200
VLAN type: Static
Route interface: Not configured
Description: VLAN 0200
Name: VLAN 0200
Tagged ports:
HundredGigE1/0/3
Untagged ports:
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!