• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

04-二層技術-以太網交換配置指導

目錄

03-VLAN配置

本章節下載 03-VLAN配置  (310.61 KB)

03-VLAN配置


1 VLAN

1.1  VLAN簡介

VLAN(Virtual Local Area Network,虛擬局域網)技術把一個物理LAN劃分成多個邏輯的LAN——VLAN,處於同一VLAN的主機能直接互通,而處於不同VLAN的主機則不能直接互通,從而增強了局域網的安全性。劃分VLAN後,廣播報文被限製在同一個VLAN內,即每個VLAN是一個廣播域,有效地限製了廣播域的範圍。通過VLAN可以將不同的主機劃分到不同的工作組,同一工作組的主機可以位於不同的物理位置,網絡構建和維護更方便靈活。

1.1.1  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會被視為報文的普通數據部分。

 

1.1.2  基於端口的VLAN

基於端口劃分VLAN是最簡單、最有效的VLAN劃分方法。它按照設備端口來定義VLAN成員,將指定端口加入到指定VLAN中之後,該端口就可以轉發該VLAN的報文。

1. 端口的鏈路類型

端口的鏈路類型分為三種,端口的鏈路類型決定了端口能否加入多個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映射”。

2. 端口缺省VLAN

端口缺省VLAN簡稱為PVID(Port VLAN ID)。當端口收到Untagged報文時,會認為該報文所屬的VLAN為PVID。

Access端口的PVID就是它所在的VLAN。

Trunk端口和Hybrid端口可以允許多個VLAN通過,能夠配置端口PVID。

3. 端口對報文的處理方式

端口對報文的接收和發送的處理有幾種不同情況,具體情況請參看表1-1

表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

 

1.1.3  不同VLAN間的三層互通

不同VLAN間的主機不能直接通信,通過在設備上創建並配置VLAN接口,可以實現VLAN間的三層互通。

VLAN接口是一種三層的虛擬接口,它不作為物理實體存在於設備上。每個VLAN對應一個VLAN接口,在為VLAN接口配置了IP地址後,該IP地址即可作為本VLAN內網絡設備的網關地址,此時該VLAN接口能對需要跨網段的報文進行三層轉發。

1.1.4  協議規範

與VLAN相關的協議規範有:

·     IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks

1.2  配置VLAN

1.2.1  配置限製和指導

VLAN 1為係統缺省VLAN,用戶不能手工創建和刪除。

動態學習到的VLAN,以及被其他應用鎖定不讓刪除的VLAN,都不能使用undo vlan命令直接刪除。隻有將相關配置刪除之後,才能刪除相應的VLAN。

1.2.2  創建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”。

1.3  配置基於端口的VLAN

1.3.1  配置限製和指導

·     當執行undo vlan命令刪除的VLAN是某個端口的PVID時,對Access端口,端口的PVID會恢複到VLAN 1;對Trunk或Hybrid端口,端口的PVID配置不會改變,即它們可以使用已經不存在的VLAN作為端口PVID。

·     建議本端設備端口的PVID和相連的對端設備端口的PVID保持一致。

·     建議保證端口的PVID為端口允許通過的VLAN。如果端口不允許某VLAN通過,但是端口的PVID為該VLAN,則端口會丟棄收到的該VLAN的報文或者不帶VLAN Tag的報文。

1.3.2  配置基於Access端口的VLAN

1. 簡介

配置基於Access端口的VLAN有兩種方法:一種是在VLAN視圖下進行配置,另一種是在接口視圖下進行配置。

2. 在VLAN視圖下配置基於Access端口的VLAN

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     向當前VLAN中添加一個或一組Access端口。

port interface-list

缺省情況下,係統將所有端口都加入到VLAN 1。

3. 在接口視圖下配置基於Access端口的VLAN

(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必須已經存在。

1.3.3  配置基於Trunk端口的VLAN

1. 簡介

Trunk端口可以加入多個VLAN。基於Trunk端口的VLAN隻能在接口視圖下配置。

2. 配置限製和指導

Trunk端口不能直接切換為Hybrid端口,隻能先將Trunk端口配置為Access端口,再配置為Hybrid端口。

配置端口PVID後,必須使用port trunk permit vlan命令配置允許PVID的報文通過,接口才能轉發PVID的報文。

3. 配置步驟

(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。

1.3.4  配置基於Hybrid端口的VLAN

1. 簡介

Hybrid端口可以加入多個VLAN。基於Hybrid端口的VLAN隻能在接口視圖下配置。將Hybrid端口加入VLAN時,指定VLAN必須已經存在。

2. 配置限製和指導

Hybrid端口不能直接切換為Trunk端口,隻能先將Hybrid端口配置為Access端口,再配置為Trunk端口。

配置端口PVID後,必須使用port hybrid vlan命令配置允許PVID的報文通過,出接口才能轉發PVID的報文。

3. 配置步驟

(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。

1.4  配置VLAN接口

1.4.1  配置限製和指導

有關bandwidthdescriptionshutdown命令的詳細介紹,請參見“接口管理命令參考”中的“接口公共命令”。

如果未手工關閉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接口狀態的改變而改變。

1.4.2  配置準備

在創建VLAN接口之前,對應的VLAN必須已經存在,否則將不能創建指定的VLAN接口。

1.4.3  創建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接口處於關閉狀態。

1.4.4  恢複VLAN接口的缺省配置

1. 配置限製和指導

您可以在執行default命令後通過display this命令確認執行效果。對於未能成功恢複缺省的配置,建議您查閱相關功能的命令手冊,手工執行恢複該配置缺省情況的命令。如果操作仍然不能成功,您可以通過設備的提示信息定位原因。

有關default命令的詳細介紹,請參見“接口管理命令參考”中的“接口公共命令”。

2. 配置步驟

(1)     進入係統視圖。

(2)     system-view

(3)     進入VLAN接口視圖。

interface vlan-interface interface-number

(4)     恢複VLAN接口的缺省配置。

default

注意

接口下的某些配置恢複到缺省情況後,會對設備上當前運行的業務產生影響。建議您在執行該命令前,完全了解其對網絡產生的影響。

 

1.5  VLAN顯示和維護

1.5.1  顯示VLAN配置

可在任意視圖下執行以下命令:

·     顯示設備上所有已創建VLAN的概要信息。

display vlan brief

·     顯示VLAN相關信息。

display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ]

·     顯示設備上存在的Hybrid或Trunk端口。

display port { hybrid | trunk }

1.5.2  顯示VLAN接口的配置及運行狀況

可在任意視圖下執行以下命令:

·     顯示VLAN接口相關信息。

display interface [ vlan-interface [ interface-number ] ] [ brief [ description | down ] ]

1.5.3  清除VLAN接口的統計信息

請在用戶視圖下執行以下命令,清除VLAN接口的統計信息。

reset counters interface [ vlan-interface [ interface-number ] ]

有關reset counters interface命令的詳細介紹,請參見“接口管理命令參考”中“接口公共命令”

1.6  VLAN典型配置舉例

1.6.1  基於端口的VLAN配置舉例

1. 組網需求

·     Host A和Host C屬於部門A,但是通過不同的設備接入公司網絡;Host B和Host D屬於部門B,也通過不同的設備接入公司網絡。

·     為了通信的安全性,也為了避免廣播報文泛濫,公司網絡中使用VLAN技術來隔離部門間的二層流量。其中部門A使用VLAN 100,部門B使用VLAN 200。

2. 組網圖

圖1-2 基於端口的VLAN組網圖

3. 配置準備

缺省情況下,本設備的接口處於ADM(Administratively Down)狀態,請根據實際需要在對應接口視圖下使用undo shutdown命令開啟接口。

本舉例中的物理接口需要工作在二層模式。缺省情況下,本設備的物理接口處於三層模式,請根據實際需要在對應接口視圖下使用port link-mode命令切換接口的工作模式。

4. 配置步驟

 

(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。

5. 驗證配置

(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:

    HundredGigE1/0/2

 

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們