• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

04-二层技术-以太网交换配置指导

目录

07-VLAN配置

本章节下载 07-VLAN配置  (314.27 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/CR/CR16000/Configure/Operation_Manual/H3C_CR16000_CG-R6135-6W102/04/201304/782343_30005_0.htm

07-VLAN配置


1 VLAN

1.1  VLAN简介

1.1.1  VLAN概述

以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,带冲突检测的载波侦听多路访问)技术的共享通讯介质。采用以太网技术构建的局域网,既是一个冲突域,又是一个广播域,当网络中主机数目较多时会导致冲突严重,广播泛滥、性能显著下降,甚至网络不可用等问题。通过在以太网中部署网桥或二层交换机,可以解决冲突严重的问题,但仍然不能隔离广播报文。在这种情况下出现了VLAN(Virtual Local Area Network,虚拟局域网)技术,这种技术可以把一个物理LAN划分成多个逻辑的LAN——VLAN。处于同一VLAN的主机能直接互通,而处于不同VLAN的主机则不能直接互通。这样,广播报文被限制在同一个VLAN内,即每个VLAN是一个广播域。如图1-1所示,VLAN 2内的主机可以互通,但与VLAN 5内的主机不能互通。

图1-1 VLAN示意图

 

VLAN的划分不受物理位置的限制:不在同一物理位置范围的主机可以属于同一个VLAN;一个VLAN包含的用户可以连接在同一个交换机上,也可以跨越交换机,甚至可以跨越路由器。

VLAN的优点如下:

·              限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。

·              增强局域网的安全性。VLAN间的二层报文是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需通过路由器或三层交换机等三层设备。

·              灵活构建虚拟工作组。通过VLAN可以将不同的主机划分到不同的工作组,同一工作组的主机可以位于不同的物理位置,网络构建和维护更方便灵活。

1.1.1  VLAN报文封装

要使网络设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。由于二层交换机工作在OSI模型的数据链路层,只能对报文的数据链路层封装进行识别。因此,如果添加识别字段,也需要添加到数据链路层封装中。

IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)于1999年颁布了用以标准化VLAN实现方案的IEEE 802.1Q协议标准草案,对带有VLAN标识的报文结构进行了统一规定。

传统的以太网报文在目的MAC地址和源MAC地址之后封装的是上层协议的类型字段,如图1-2所示,其中DA表示目的MAC地址,SA表示源MAC地址,Type表示上层协议的类型。

图1-2 传统以太网报文封装格式

 

IEEE 802.1Q协议规定,在以太网报文的目的MAC地址和源MAC地址之后、协议类型字段之前加入4个字节的VLAN Tag,用以标识VLAN的相关信息,如图1-3所示。

图1-3 VLAN Tag的组成字段

 

图1-3所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。

·              TPID用来表示报文是否带有VLAN Tag,长度为16比特,缺省情况下,TPID取值为0x8100,表示数据帧中包括VLAN Tag。但各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。如果报文的TPID值为配置值或0x8100,则该报文被认为带有VLAN Tag。配置TPID值的相关命令请参见“二层技术-以太网交换命令参考”中的“VLAN终结”和“QinQ”。

·              Priority用来表示报文的802.1p优先级,长度为3比特,相关内容请参见“ACL和QoS配置指导”中的“QoS”。

·              CFI用来表示MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1比特。取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装,缺省取值为0。

·              VLAN ID用来表示该报文所属VLAN的编号,长度为12比特,取值范围为0~4095。由于0和4095为协议保留取值,所以VLAN ID的取值范围为1~4094。

网络设备根据报文是否携带VLAN Tag以及携带的VLAN Tag信息,来对报文进行处理,利用VLAN ID来识别报文所属的VLAN。详细的处理方式请参见“1.4.1  基于端口的VLAN简介”。

说明

l   以太网支持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字段的方式请参见相关协议规范。

l   对于带有多层VLAN Tag的报文,设备会根据其最外层VLAN Tag进行处理,而内层VLAN Tag会被视为报文的普通数据部分。

 

1.1.2  VLAN划分

目前,设备仅支持基于端口的VLAN划分方式。

1.1.3  协议规范

与VLAN相关的协议规范有:

IEEE 802.1Q:IEEE Standards for Local and Metropolitan Area Networks: Virtual Bridged Local Area Networks

1.2  配置VLAN基本属性

表1-1 配置VLAN基本属性

配置

命令

说明

进入系统视图

system-view

-

创建一个VLAN并进入VLAN视图,或批量创建VLAN

vlan { vlan-id1 [ to vlan-id2 ] | all }

可选

缺省情况下,系统只有一个缺省VLAN(VLAN 1)

进入VLAN视图

vlan vlan-id

必选

批量创建VLAN时,为必选;否则,无需执行本命令

指定当前VLAN的名称

name text

可选

缺省情况下,VLAN的名称为“VLAN vlan-id”,其中vlan-id为该VLAN的编号。例如,VLAN 100的名称为“VLAN 0100”

配置当前VLAN的描述信息

description text

可选

缺省情况下,VLAN的描述信息为“VLAN vlan-id”,其中vlan-id为该VLAN的编号。例如,VLAN 100的描述信息为“VLAN 0100”

 

 

说明

VLAN 1为系统缺省VLAN,用户不能手工创建和删除。

 

1.3  配置VLAN接口基本属性

1.3.1  VLAN接口简介

不同VLAN间的主机不能直接通信,通过在设备上配置VLAN接口,可以实现VLAN间的三层互通。

VLAN接口是一种三层的虚拟接口,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,在为VLAN接口配置了IP地址后,该IP地址即可作为本VLAN内网络设备的网关地址,对需要跨网段的报文进行基于IP地址的三层转发。

1.3.2  配置VLAN接口基本属性

表1-2 配置VLAN接口基本属性

配置

命令

说明

进入系统视图

system-view

-

创建VLAN接口并进入VLAN接口视图

interface vlan-interface vlan-interface-id

必选

如果该VLAN接口已经存在,则直接进入该VLAN接口视图

配置VLAN接口的IP地址

ip address ip-address { mask | mask-length } [ sub ]

可选

缺省情况下,没有配置VLAN接口的IP地址

配置当前VLAN接口的描述信息

description text

可选

缺省情况下,VLAN接口的描述信息为该VLAN接口的接口名,如“Vlan-interface1 Interface”

配置VLAN接口的MTU值

mtu size

可选

缺省情况下,VLAN接口的MTU值为1500字节

恢复VLAN接口的缺省配置

default

可选

取消手工关闭VLAN接口

undo shutdown

可选

缺省情况下,未手工关闭VLAN接口。此时VLAN接口状态受VLAN中端口状态的影响,即:当VLAN中所有以太网端口状态均为down时,VLAN接口为down状态,即关闭状态;当VLAN中有一个或一个以上的以太网端口处于up状态时,则VLAN接口处于up状态

 

说明

在创建VLAN接口之前,对应的VLAN必须已经存在,否则将不能创建指定的VLAN接口。

 

1.3.3  VLAN接口配置举例

1. 组网需求

图1-4所示,PC A、PC B与Router A组网。其中PC A、PC B分别属于VLAN 5、VLAN 10,且处于不同网段,不能直接通信。通过在Router A上创建并配置VLAN接口,实现不同网段的PC A与PC B跨VLAN三层互通。

2. 组网图

图1-4 通过VLAN接口实现VLAN间互通

3. 配置步骤

(1)      配置Router A

# 创建VLAN 5,并向VLAN 5中添加端口GigabitEthernet3/1/1。

<RouterA> system-view

[RouterA] vlan 5

[RouterA-vlan5] port GigabitEthernet 3/1/1

# 创建VLAN 10,并向VLAN 10中添加端口GigabitEthernet3/1/2。

[RouterA-vlan5] vlan 10

[RouterA-vlan10] port GigabitEthernet 3/1/2

[RouterA-vlan10] quit

# 创建Vlan-interface5,并配置其IP地址为192.168.0.10/24。

[RouterA] interface Vlan-interface 5

[RouterA-Vlan-interface5] ip address 192.168.0.10 24

[RouterA-Vlan-interface5] quit

# 创建Vlan-interface10,并配置其IP地址为192.168.1.20/24。

[RouterA] interface Vlan-interface 10

[RouterA-Vlan-interface10] ip address 192.168.1.20 24

[RouterA-Vlan-interface10] return

(2)      配置PC A

# 将其默认网关配为192.168.0.10。

(3)      配置PC B

# 将其默认网关配为192.168.1.20。

4. 显示与验证

(1)      PC A与PC B可以相互ping通。

(2)      通过查看显示信息验证配置是否成功。

# 查看Router A上三层接口的IP基本配置信息,验证以上配置是否生效。

<RouterA> display ip interface brief

*down: administratively down

(s): spoofing

Interface                     Physical Protocol IP Address      Description

Vlan5                         up       up       192.168.0.10    Vlan-inte...

Vlan10                        up       up       192.168.1.20    Vlan-inte...

1.4  配置基于端口的VLAN

1.4.1  基于端口的VLAN简介

基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发该VLAN的报文。

1. 端口的链路类型

根据端口在转发报文时对VLAN Tag的不同处理方式,可将端口的链路类型分为三种:

·              Access连接:端口发出去的报文不带VLAN Tag。一般用于和不能识别VLAN Tag的终端设备相连,或者不需要区分不同VLAN成员时使用。如图1-5所示,Device A和普通的PC相连,PC不能识别带VLAN Tag的报文,所以需要将Device A和PC相连端口的链路类型设置为Access。

·              Trunk连接:端口发出去的报文,端口缺省VLAN内的报文不带Tag,其它VLAN内的报文都必须带Tag。通常用于网络传输设备之间的互连。如图1-5所示,Device A和Device B之间需要传输VLAN 2和VLAN 3的报文,所以,需要将Device A和Device B相连端口的链路类型设置为Trunk,并允许VLAN 2和VLAN 3通过。

·              Hybrid连接:端口发出去的报文可根据需要配置某些VLAN内的报文带Tag,某些VLAN内的报文不带Tag。通常在不确定相连的设备是否支持VLAN Tag(即是否可以识别携带VLAN Tag的报文)时,配置某些VLAN内的报文不带Tag。如图1-5所示,Device C与一个小局域网相连,局域网中有些PC属于VLAN 2,有些PC属于VLAN 3,此时Device B不确定Device C是否支持VLAN Tag,需要将与Device C相连端口的链路类型设置为Hybrid,并允许VLAN 2和VLAN 3的报文不带Tag通过。

图1-5 链路类型配置示意图

 

2. 端口缺省VLAN

除了可以设置端口允许通过的VLAN外,还可以设置端口的缺省VLAN,即PVID(Port VLAN ID,端口VLAN ID)。在缺省情况下,所有端口的缺省VLAN均为VLAN1,但用户可以根据需要进行配置。

·              Access端口的缺省VLAN就是它所在的VLAN。

·              Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置缺省VLAN。

·              当执行undo vlan命令删除的VLAN是某个端口的缺省VLAN时,对Access端口,端口的缺省VLAN会恢复到VLAN1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为缺省VLAN。

说明

·       建议本端设备端口的缺省VLAN ID和相连的对端设备端口的缺省VLAN ID保持一致。

·       建议保证端口的缺省VLAN为端口允许通过的VLAN。如果端口不允许某VLAN通过,但是端口的缺省VLAN为该VLAN,则端口会丢弃收到的该VLAN的报文或者不带VLAN Tag的报文。

 

3. 端口对报文的处理方式

在配置了端口链路类型和缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表1-3

表1-3 不同链路类型端口收发报文的差异

端口类型

对接收报文的处理

对发送报文的处理

当接收到的报文不带Tag时

当接收到的报文带有Tag时

Access端口

为报文添加缺省VLAN的Tag

·       当VLAN ID与缺省VLAN ID相同时,接收该报文

·       当VLAN ID与缺省VLAN ID不同时,丢弃该报文

去掉Tag,发送该报文

Trunk端口

·       当缺省VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文,给报文添加缺省VLAN的Tag

·       当缺省VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文

·       当VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文

·       当VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文

·       当VLAN ID与缺省VLAN ID相同,且是该端口允许通过的VLAN ID时:去掉Tag,发送该报文

·       当VLAN ID与缺省VLAN ID不同,且是该端口允许通过的VLAN ID时:保持原有Tag,发送该报文

Hybrid端口

当报文中携带的VLAN ID是该端口允许通过的VLAN ID时,发送该报文,并可以通过port hybrid vlan命令配置端口在发送该VLAN(包括缺省VLAN)的报文时是否携带Tag

 

1.4.2  配置基于Access端口的VLAN

配置基于Access端口的VLAN有两种方法:一种是在VLAN视图下进行配置,一种是在接口视图下进行配置。

表1-4 配置基于Access端口的VLAN(在VLAN视图下)

配置

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

向当前VLAN中添加一个或一组Access端口

port interface-list

必选

缺省情况下,系统将所有端口都加入到VLAN 1

 

表1-5 配置基于Access端口的VLAN(在以太网接口视图/端口组视图/二层聚合接口视图下)

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入二层以太网接口视图

interface interface-type interface-number

三者必选其一

·       二层以太网接口视图下的配置只对当前接口生效

·       端口组视图下的配置对当前端口组中的所有端口生效

·       二层聚合接口视图下的配置对当前二层聚合接口及其所有成员端口都生效,若配置二层聚合接口时失败,则不再配置其成员端口,若配置某成员端口时失败,系统会自动跳过该成员端口继续配置其它成员端口

进入端口组视图

port-group manual port-group-name

进入二层聚合接口视图

interface bridge-aggregation interface-number

配置端口的链路类型为Access类型

port link-type access

可选

缺省情况下,端口的链路类型为Access类型

将当前Access端口加入到指定VLAN

port access vlan vlan-id

可选

缺省情况下,所有Access端口都属于且只属于VLAN 1

 

说明

·       在将Access端口加入到指定VLAN之前,要加入的VLAN必须已经存在。

·       在VLAN视图下向VLAN中添加端口时,只能添加二层以太网端口。

 

1.4.3  配置基于Trunk端口的VLAN

Trunk端口可以允许多个VLAN通过,只能在接口视图下进行配置。

表1-6 配置基于Trunk端口的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入二层以太网接口视图

interface interface-type interface-number

三者必选其一

·       二层以太网接口视图下的配置只对当前接口生效

·       端口组视图下的配置对当前端口组中的所有端口生效

·       二层聚合接口视图下的配置对当前二层聚合接口及其所有成员端口都生效,若配置二层聚合接口时失败,则不再配置其成员端口,若配置某成员端口时失败,系统会自动跳过该成员端口继续配置其它成员端口

进入端口组视图

port-group manual port-group-name

进入二层聚合接口视图

interface bridge-aggregation interface-number

配置端口的链路类型为Trunk类型

port link-type trunk

必选

缺省情况下,所有端口的链路类型均为Access类型

允许指定的VLAN通过当前Trunk端口

port trunk permit vlan { vlan-list | all }

必选

缺省情况下,Trunk端口只允许VLAN 1的报文通过

设置Trunk端口的缺省VLAN

port trunk pvid vlan vlan-id

可选

缺省情况下,Trunk端口的缺省VLAN为VLAN 1

 

说明

·       Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。

·       配置缺省VLAN后,必须使用port trunk permit vlan命令配置允许缺省VLAN的报文通过,出接口才能转发缺省VLAN的报文。

 

1.4.4  配置基于Hybrid端口的VLAN

Hybrid端口可以允许多个VLAN通过,只能在接口视图下进行配置。

表1-7 配置基于Hybrid端口的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入二层以太网接口视图

interface interface-type interface-number

三者必选其一

·       二层以太网接口视图下的配置只对当前端口生效

·       端口组视图下的配置对当前端口组中的所有端口生效

·       二层聚合接口视图下的配置对当前二层聚合接口及其所有成员端口都生效,若配置二层聚合接口时失败,则不再配置其成员端口,若配置某成员端口时失败,系统会自动跳过该成员端口继续配置其它成员端口

进入端口组视图

port-group manual port-group-name

进入二层聚合接口视图

interface bridge-aggregation interface-number

配置端口的链路类型为Hybrid类型

port link-type hybrid

必选

缺省情况下,所有端口的链路类型均为Access类型

允许指定的VLAN通过当前Hybrid端口

port hybrid vlan vlan-list { tagged | untagged }

必选

缺省情况下,Hybrid端口只允许VLAN 1的报文以Untagged方式通过(即VLAN 1的报文从该端口发送出去后不携带VLAN Tag)

设置Hybrid端口的缺省VLAN

port hybrid pvid vlan vlan-id

可选

缺省情况下,Hybrid端口的缺省VLAN为VLAN 1

 

说明

·       Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。

·       在设置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。

·       配置缺省VLAN后,必须使用port hybrid vlan命令配置允许缺省VLAN的报文通过,出接口才能转发缺省VLAN的报文。

 

1.4.5  基于端口的VLAN典型配置举例

1. 组网需求

·              Host A和Host C属于部门A,但是通过不同的设备接入公司网络;Host B和Host D属于部门B,也通过不同的设备接入公司网络。

·              为了通信的安全性,也为了避免广播报文泛滥,公司网络中使用VLAN技术来隔离部门间的二层流量。其中部门A使用VLAN 100,部门B使用VLAN 200。

·              现要求不管是否使用相同的设备接入公司网络,同一VLAN内的主机能够互通。即Host A和Host C能够互通,Host B和Host D能够互通。

2. 组网图

图1-6 基于端口的VLAN组网图

 

3. 配置步骤

(1)      配置Device A

# 创建VLAN 100,并将GigabitEthernet3/1/1加入VLAN 100。

<DeviceA> system-view

[DeviceA] vlan 100

[DeviceA-vlan100] port GigabitEthernet 3/1/1

[DeviceA-vlan100] quit

# 创建VLAN 200,并将GigabitEthernet3/1/2加入VLAN 200。

[DeviceA] vlan 200

[DeviceA-vlan200] port GigabitEthernet 3/1/2

[DeviceA-vlan200] quit

# 为了使Device A上VLAN 100和VLAN 200的报文能发送给Device B,将GigabitEthernet3/1/3的链路类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。

[DeviceA] interface GigabitEthernet 3/1/3

[DeviceA-GigabitEthernet3/1/3] port link-mode bridge

[DeviceA-GigabitEthernet3/1/3] port link-type trunk

[DeviceA-GigabitEthernet3/1/3] port trunk permit vlan 100 200

Please wait... Done.

(2)      Device B上的配置与Device A上的配置完全一样,不再赘述。

(3)      将Host A和Host C配置在一个网段,比如192.168.100.0/24;将Host B和Host D配置在一个网段,比如192.168.200.0/24。

4. 显示与验证

(1)      Host A和Host C能够互相ping通,但是均不能ping通Host B。Host B和Host D能够互相ping通,但是均不能ping通Host A。

(2)      通过查看显示信息验证配置是否成功。

# 查看Device A的GigabitEthernet3/1/1的相关信息,验证以上配置是否生效。

[DeviceA-GigabitEthernet3/1/3] display vlan 100

 VLAN ID: 100

 VLAN Type: static

 Route Interface: not configured

 Description: VLAN 0100

 Name: VLAN 0100

 Broadcast MAX-ratio: 100%

 Tagged   Ports:

    GigabitEthernet3/1/3

 Untagged Ports:

    GigabitEthernet3/1/1

[DeviceA-GigabitEthernet3/1/3] display vlan 200

 VLAN ID: 200

 VLAN Type: static

 Route Interface: not configured

 Description: VLAN 0200

 Name: VLAN 0200

 Broadcast MAX-ratio: 100%

Tagged   Ports:

    GigabitEthernet3/1/3

 Untagged Ports:

    GigabitEthernet3/1/2

1.5  VLAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除接口统计信息。

表1-8 VLAN显示和维护

操作

命令

显示VLAN相关信息

display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ] [ | { begin | exclude | include } regular-expression ]

显示VLAN接口相关信息

display interface [ vlan-interface ] [ brief [ down ] ] [ | { begin | exclude | include } regular-expression ]

display interface vlan-interface vlan-interface-id [ brief ] [ | { begin | exclude | include } regular-expression ]

显示设备上当前存在的Hybrid或Trunk端口

display port { hybrid | trunk } [ | { begin | exclude | include } regular-expression ]

清除VLAN接口的统计信息

reset counters interface vlan-interface [ vlan-interface-id ]

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们