1.1 前言
是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通讯介质的数据网络通讯技术。当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。通过交换机实现LAN互连虽然可以解决冲突严重的问题,但仍然不能隔离广播报文和提升网络质量。在这种情况下出现了VLAN技术,这种技术可以把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,广播报文就被限制在一个VLAN内。
1.2 VLAN概述
VLAN 是一种将局域网设备从逻辑上划分成一个个网络,从而实现将一个大的物理网络分隔成多个虚拟工作组数据交换技术。这些设备和用户不受物理位置的限制,可以根据功能、部门及应用等因素设定为一个群组,使它们之间通信像在同一个物理分段中。基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发指定VLAN的报文。
1.2.1 802.1q介绍
802.1Q协议,即Virtual Bridged Local Area Networks协议,主要规定了VLAN的实现,IEEE 802.1q 标准为标识带有VLAN 成员信息的以太帧建立了一种标准方法。IEEE 802.1q 标准定义了 VLAN 网桥操作,从而允许在桥接局域网结构中实现定义、运行以及管理VLAN 拓扑结构等操作。IEEE 802.1q 标准主要用来解决如何将大型网络划分为多个小网络,以使广播和组播流量不会占据更多带宽。此外 IEEE 802.1q 标准还提供更高的网络段间安全性。IEEE802.1q完成这些功能的关键在于标签。支持IEEE 802.1q 的交换端口可被配置来传输标签帧或无标签帧。如图1-1就是以太网中的IEEE 802.1q 标签帧格式。802.1Q Tag 的长度是4bytes,它位于以太网帧中源MAC地址和长度/类型之间。Tag包含4个字段。
图1-1 802.1q帧格式
DA:帧的目的地址。这个地址被打上标签或未被打上标签都是一样的。
SA:帧的源地址。这个地址被打上标签或未被打上标签都是一样的。
类型(0X8100):长度为2字节,表示帧类型,802.1Q帧中type字段取固定值0x8100,表示这个帧包含一个802.1qVLAN标签,如果不支持802.1Q的设备收到802.1Q帧,则将其丢弃。
PRI:priority字段,长度为3bit,表示以太网帧的优先级,取值范围是0~7,数值越大,优先级越高。当交换机/路由器发生传输拥塞时,优先发送优先级高的数据帧。
CFI:Canonical Format Indicator,长度为1bit,表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。该字段用于区分以太网帧、FDDI帧和令牌环网帧,在以太网帧中,CFI取值为0。
VLAN:VLAN ID,长度为12bit,取值范围是0~4095,其中0和4095是保留值,不能给用户使用。
类型/长度:标签帧的三层协议。
数据:标记帧的数据部分。
FCS:用来确认帧的完整性的帧校验。
1.2.2 端口的VLAN模式
根据端口在转发报文时对VLAN Tag的不同处理方式,用户进行端口的VLAN配置时必须首先指定端口的VLAN模式,可将端口的链路连接类型分为三种:
Access类型的端口只能属于一个VLAN, 端口发出去的报文不带VLAN Tag。一般用于和不能识别VLAN Tag的终端设备相连,或者不需要区分不同VLAN成员时使用。
Trunk类型的端口可以允许多个VLAN通过,端口发出去的报文,端口缺省VLAN内的报文不带Tag,其它VLAN内的报文都必须带Tag。通常用于网络传输设备之间的互连。
Hybrid类型的端口可以允许多个VLAN通过, 端口发出去的报文可根据需要设置某些VLAN内的报文带Tag,某些VLAN内的报文不带Tag。Hybrid类型端口既可以用于网络传输设备之间的互连,又可以直接连接终端设备。
1.2.3 VLAN Access
收到一个报文, 如果没有VLAN信息则打上端口 PVID并进行交换、转发,如果有VLAN信息,则直接丢弃。 Access端口发报文是将报文VLAN信息剥离直接发送出去。相同PVID的Access端口之间能够通信,不相同则不能通信。
如图1-2是一个Access通信与隔离的例子,用户1与用户3连接的端口是PVID为2的Access端口,在VLAN中继端口允许vlan2情况下,它们之间能够互相通信。用户2与用户4连接端口是PVID为3的Access端口,在VLAN中继端口允许vlan3情况下,它们之间能够互相通信。用户1与用户3是不能用户2与用户4互相通信。
图1-2 Access通信
1.2.4 VLAN Trunk
如果一个端口属于两个或多个VLAN 的tagged成员,那么这个端口又称为VLAN 中继端口。两个交换机之间可以以VLAN 中继端口相连,这样两个交换机之间可以划分两个或多个共同的VLAN 。
如图1-3是一个VLAN中继的例子,两个交换机之间以VLAN 中继端口相连,是VLAN 2和VLAN 3的中继端口,每个交换机划分为两个VLAN,分别是VLAN 2和VLAN 3,每个VLAN内有一个用户。这样,用户1可以与用户3通信,用户2可以与用户4通信,用户1和用户3不能与用户2 和用户4通信。
图1-3 VLAN中继
1.2.5 VLAN Hybrid
Hybrid端口收到一个报文,如果没有VLAN信息,则打上端口 PVID 并进行交换转发。如果有VLAN信息,且该Hybrid端口允许该VLAN数据进入则转发,否则丢弃(此时端口上untag配置是不用考虑,untag配置只对发送报文时起作用) 。
1.2.6 端口对报文的处理方式
表1-1 端口对报文的处理方式
端口类型 | 对接收报文的处理 | 对发送报文的处理 |
接收的报文不带Tag时 | 接收的报文带有Tag时 |
Access | 为报文添加缺省VLAN的Tag | 丢弃该报文 | 去掉Tag,发送该报文 |
Trunk | 当缺省VLAN在端口允许通过的VLAN列表中时,接收该报文,为报文添加缺省VLAN的Tag。 当缺省VLAN不在端口允许通过的VLAN列表中时,丢弃该报文。 | 当VLAN在端口允许通过的VLAN列表中时,接收该报文。 当VLAN不在端口允许通过的VLAN列表中时,丢弃该报文。 | 当VLAN与缺省VLAN相同,且在端口允许通过的VLAN列表中时,去掉Tag,发送该报文。 当VLAN与缺省VLAN不同,且在端口允许通过的VLAN列表中时,保持原有Tag,发送该报文。 |
Hybrid | VLAN在Untag列表中,发送该报文; 当VLAN在Tag列表中,去掉Tag,发送该报文。 |
1.3 VLAN网页配置
1.3.1 创建/删除VLAN
(1) 在导航栏中选择“交换管理 > VLAN管理 > 创建VLAN”,进入“创建VLAN”页面,如图1-4所示。在VLAN设置页面中可以查看各个VLAN的相关配置信息,也可以进行VLAN创建或删除操作。
图1-4 创建VLAN页面
(2) 创建/删除VLAN2-4094,选择“创建”/“删除”,输入VLAN ID,单击<应用>按钮,完成设置。
(3) 显示VLAN ID, 在“VLAN列表”中可以查看当前存在的VLAN ID,以及对应的端口成员,根据VLAN的ID号从小到大排列。具有完全相同端口成员的VLAN合并为一组;
(4) 选中“VLAN列表”的某一组或多组VLAN,单击<删除>按钮,完成删除操作。
创建VLAN页面的信息和按钮说明如下所示。
表1-2 创建VLAN配置参数说明
配置参数 | 说明 |
创建 | 添加VLAN至允许通过的VLAN |
删除 | 删除VLAN从允许通过的VLAN |
VLAN ID | 创建VLAN ID, 范围为1-4094 |
1.3.2 Access VLAN
(1) 在导航栏中选择“交换管理 > VLAN管理 > Access VLAN”,进入“Access VLAN”页面。在“Access VLAN”页面中可以查看和设置端口的VLAN配置,如图1-5所示。
图1-5 Access VLAN页面
(2) 如需设置某个端口的VLAN配置,选择对应端口,设置端口的PVID(已创建的VLAN), 单击<应用>按钮,完成设置。
页面中各参数的含义如下表所示:
表1-3 Access VLAN配置参数说明
配置参数 | 说明 |
端口 | 选择被配置的端口的名称,包括以太网端口和聚合逻辑端口 |
PVID | 设置端口的PVID,范围为1-4094,配置时要求为已创建VLAN |
1.3.3 Trunk VLAN
(1)在导航栏选择“交换管理>VLAN管理>Trunk VLAN”,进入到Trunk VLAN 的配置和显示界面,如图1-6所示。
(2)显示Trunk端口, 在“Trunk VLAN列表”中,可以查看所有Trunk端口的PVID和允许通过的VLAN。
(3)创建Trunk端口。通过“VLAN_PORT”的下拉菜单选择要创建的端口,设置PVID,选择“创建”,并设置允许通过的VLAN列表。单击<应用>按钮,完成配置。
(4)修改Trunk端口的配置,通过“VLAN_PORT”的下拉菜单选择要修改的端口,修改PVID,选择“创建”或者“删除”允许通过的VLAN。单击<应用>按钮,完成配置。
(5)删除Trunk端口, 在“Trunk VLAN列表”中,选中需要删除的一个或者多个Trunk端口,点击<删除>按钮,完成删除操作。Trunk端口删除后,变成Access端口,显示在图1-5的“Access vlan列表”中。
图1-6 Trunk VLAN页面
页面中各参数的含义如下表所示:
表1-4 Trunk VLAN配置参数说明
配置参数 | 说明 |
VLAN_PORT | 选择被配置的端口的名称,包括以太网端口和聚合逻辑端口 |
PVID | 设置端口的PVID,范围为1-4094,配置时要求为已创建VLAN |
创建 | 添加VLAN至允许通过的VLAN |
删除 | 删除VLAN从允许通过的VLAN |
允许通过的VLAN | 设置允许通过的VLAN列表,不能为空 所有VLAN:1-4094 指定VLAN:指定的单个或多个VLAN,范围为1-4094,要求为已创建VLAN |
1.3.4 Hybrid VLAN
(1)在导航栏选择“交换管理>VLAN管理>Hybrid VLAN”,进入Hybrid VLAN的配置和显示界面,如图1-7所示。
(2)显示Hybrid端口,在“Hybrid VLAN列表”中,可以查看所有Hybrid端口的PVID、Tag VLAN列表和UnTag VLAN 列表。
(3)创建Hybrid端口。通过“端口”的下拉菜单选择要创建的端口,设置PVID,选择“创建”,并设置Tag VLAN列表和UnTag VLAN列表。单击<应用>按钮,完成配置。
(4)修改Hybrid端口的配置,通过“端口”的下拉菜单选择要修改的端口,修改PVID,选择“创建”或者“删除”Tag VLAN列表和UnTag VLAN列表。单击<应用>按钮,完成配置。
(5)删除Hybrid端口,在“Hybrid VLAN列表”中,选中需要删除的一个或者多个Hybrid端口,点击<删除>按钮,完成删除操作。Hybrid端口删除后,变成Access端口,显示在图1-5的“Access vlan列表”中。
图1-7 Hybrid VLAN页面
页面中各参数的含义如下表所示:
表1-5 Hybrid VLAN配置参数说明
配置参数 | 说明 |
端口 | 选择被配置的端口的名称,包括以太网端口和聚合逻辑端口 |
PVID | 设置端口的PVID,范围为1-4094,配置时要求为已创建VLAN |
创建 | 添加VLAN至允许通过的VLAN |
删除 | 删除VLAN从允许通过的VLAN |
Tagged VLAN | 设置Tagged VLAN和Untagged VLAN列表,范围为1-4094,配置时要求为已创建VLAN;Tagged VLAN和Untagged VLAN 不能同时为空;不能存在相同的VLAN |
Untagged VLAN |
1.4 VLAN命令行配置
1.4.1 创建和删除VLAN
在创建和删除VLAN之前,用户需要在全局配置模式下创建和删除VLAN。系统在缺省情况下已经创建了VLAN 1,并且VLAN 1不能被用户删除。
命令 | 说明 | 命令模式 |
vlan VLANLIST | 创建/进入vlan | 全局配置模式 |
no vlan VLANLIST | 删除vlan | 全局配置模式 |
1.4.2 配置端口的VLAN模式
在配置端口的VLAN之前需要指定端口的VLAN模式,缺省情况下端口的VLAN模式是Access模式。
命令 | 说明 | 命令模式 |
switchport mode (access|trunk|hybrid) | 配置vlan模式 | 端口配置模式 |
1.4.3 Access模式的VLAN配置
端口做VLAN配置之前需要指定端口的VLAN模式为Access模式。
命令 | 说明 | 命令模式 |
switchport access vlan VLANLIST | 配置AccessVLAN | 端口配置模式 |
1.4.4 Trunk模式的VLAN配置
端口做VLAN配置之前需要指定端口的VLAN模式为Trunk模式。在这种VLAN模式下可以配置tagged成员。
命令 | 说明 | 命令模式 |
switchport trunk pvid vlan VLANLIST | 配置Trunk口PVID | 端口配置模式 |
switchport trunk permit (all | VLANLIST) | Trunk口添加VLAN | 端口配置模式 |
no switchport trunk permit VLANLIST | Trunk口删除VLAN | 端口配置模式 |
no switchport trunk | 取消Trunk端口模式恢复为缺省Access端口模式 | 端口配置模式 |
1.4.5 Hybrid模式的VLAN配置
端口进行VLAN配置之前需要指定端口的VLAN模式为Hybrid模式。有Tagged VLAN表和Untagged VLAN表。
命令 | 说明 | 命令模式 |
switchport hybrid pvid vlan VLANLIST | 配置Hybrid口PVID | 端口配置模式 |
switchport hybrid vlan VLANLIST untagged | Hybrid口添加Untag VLAN | 端口配置模式 |
switchport hybrid vlan VLANLIST tagged | Hybrid口添加Tag VLAN | 端口配置模式 |
no switchport hybrid vlan VLANLIST untagged | Hybrid口删除Untag VLAN | 端口配置模式 |
no switchport hybrid vlan VLANLIST tagged | Hybrid口删除Tag VLAN | 端口配置模式 |
no switchport hybrid | 取消Hybrid端口模式恢复为缺省Access端口模式 | 端口配置模式 |
1.4.6 查看VLAN的信息
命令 | 说明 | 命令模式 |
show vlan (VLANLIST | all) | 显示某个/所有VLAN配置信息 | 全局模式 |
show interface switchport | 显示端口VLAN配置信息 | 全局模式 |
show switchport | 显示端口VLAN配置信息 | 端口配置模式 |
1.5 基于协议的VLAN
1.5.1 基于协议的VLAN介绍
VLAN按网络层协议来划分,可分为IPv4、IPv5、IPx、AppleTalk、etch-type等VLAN网络。按网络层协议来组成的VLAN,可使广播域跨越多个VLAN交换机。这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN。这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。
1.5.2 基于协议的VLAN配置
命令 | 说明 | 命令模式 |
protocol-vlan (| at | ipv4 | ipv6 | ipx | eth-type<0x0600-0xffff>) | 添加协议VLAN | VLAN配置模式 |
no protocol-vlan (| all) | 删除协议VLAN | VLAN配置模式 |
protocol-vlan (enable | disable) | 端口使能协议VLAN | 端口配置模式 |
show protocol-vlan (all | vlan) | 显示协议VLAN | 全局模式 |
1.6 基于MAC的VLAN
1.6.1 基于MAC的VLAN介绍
根据每个主机的MAC地址来划分VLAN,即对每个MAC地址的主机都配置它属于哪个组,它实现的机制就是每一块网卡都对应唯一的MAC地址,VLAN交换机跟踪属于VLAN MAC的地址。这种方法的VLAN允许用户从一个物理位置移动到另一个物理位置时,自动保留其所属VLAN的成员身份。
从划分的机制可以看出,这种VLAN划分的最大优点就是当用户物理地址移动,即从一个交换机移动到其他交换机时,VLAN不用重新配置,因为它是基于用户MAC地址的。
1.6.2 基于MAC的VLAN配置
命令 | 说明 | 命令模式 |
[no] mac-vlan mac-address | 删除/添加协议VLAN | VLAN配置模式 |
mac-vlan (enable | disable) | 端口使能协议VLAN | 端口配置模式 |
show mac-vlan (all | vlan) | 显示协议VLAN | 全局模式 |
1.7 VLAN 配置示例
1.7.1 基于PORT 的VLAN
1.组网需求
(1)用户1所属于vlan2。
(2)用户2所属于vlan3。
(3)用户1与用户2之间无法通信
图1-8组网拓扑图
2.配置思路
(1)创建vlan
(2)配置端口划分vlan
3.配置步骤
(1)创建vlan2-3
HOUSHI# configure terminal
HOUSHI(config)# vlan 2-3
(2)配置端口划分vlan
(3)配置端口1为access模式且pvid为2
HOUSHI(config)# interface gigabitethernet 1/0/1
HOUSHI(config-ge1/0/1)# switchport mode access
HOUSHI(config-ge1/0/1)# switchport access vlan 2
(4)配置端口2为access模式且pvid为3
HOUSHI(config)# interface gigabitethernet 1/0/2
HOUSHI(config-ge1/0/2)# switchport mode access
HOUSHI(config-ge1/0/2)# switchport access vlan 3
4.验证配置
(1)查看vlan配置
HOUSHI(config)# show vlan all
----------------------------------------
Vlan : 1
Ports : ge1/0/3,ge1/0/4,ge1/0/5,ge1/0/6,ge1/0/7,ge1/0/8,ge1/0/9,ge1/0/10,ge1/0/11,ge1/0/12,
ge1/0/13,ge1/0/14,ge1/0/15,ge1/0/16,ge1/0/17,ge1/0/18,ge1/0/19,ge1/0/20,ge1/0/21,ge1/0/22,ge1/0/23,
ge1/0/24,ge1/0/25,ge1/0/26,ge1/0/27,ge1/0/28,ge1/0/29,ge1/0/30,ge1/0/31,ge1/0/32,lag1,lag2,lag3,lag4,
lag5,lag6,lag7,lag8
----------------------------------------
Vlan : 2
Ports : ge1/0/1
----------------------------------------
Vlan : 3
Ports : ge1/0/2
----------------------------------------
Total 3 Vlan Groups
1.7.2 基于802.1Q 的VLAN
1.组网需求
(1)用户1与用户4互相通信。
(2)用户2与用户3互相通信。
图1-9组网拓扑图
2.配置思路
(1)Switch1创建vlan 2、3,端口1配置trunk且允许所有,端口2配置pvid为2,端口3配置pvid为3。
(2)Switch2创建vlan 2、3,端口1配置trunk且允许所有,端口2配置pvid为3,端口3配置pvid为2。
3.配置步骤
(1)配置vlan与端口vlan
(2)配置Switch1。
HOUSHI# configure terminal
HOUSHI(config)# vlan 2-3
HOUSHI(config)# interface gigabitethernet 1/0/1
HOUSHI(config-ge1/0/1)# switchport mode trunk
HOUSHI(config-ge1/0/1)# switchport trunk permit 1-3
HOUSHI(config-ge1/0/1)# interface gigabitethernet 1/0/2
HOUSHI(config-ge1/0/2)# switchport access vlan 2
HOUSHI(config-ge1/0/2)# interface gigabitethernet 1/0/3
HOUSHI(config-ge1/0/3)# switchport access vlan 3
(3)配置Switch2.
HOUSHI# configure terminal
HOUSHI(config)# vlan 2-3
HOUSHI(config)# interface gigabitethernet 1/0/1
HOUSHI(config-ge1/0/1)# switchport mode trunk
HOUSHI(config-ge1/0/1)# switchport trunk permit all
HOUSHI(config-ge1/0/1)# interface gigabitethernet 1/0/2
HOUSHI(config-ge1/0/2)# switchport access vlan 3
HOUSHI(config-ge1/0/2)# interface gigabitethernet 1/0/3
HOUSHI(config-ge1/0/3)# switchport access vlan 2
4.验证配置
(1)#查看Switch1的vlan设置与端口vlan设置
HOUSHI# show vlan all
----------------------------------------
Vlan : 1
Ports : ge1/0/1,ge1/0/4,ge1/0/5,ge1/0/6,ge1/0/7,ge1/0/8,ge1/0/9,ge1/0/10,ge1/0/11,ge1/0/12,
ge1/0/13,ge1/0/14,ge1/0/15,ge1/0/16,ge1/0/17,ge1/0/18,ge1/0/19,ge1/0/20,ge1/0/21,ge1/0/22,ge1/0/23,
ge1/0/24,ge1/0/25,ge1/0/26,ge1/0/27,ge1/0/28,ge1/0/29,ge1/0/30,ge1/0/31,ge1/0/32,lag1,lag2,lag3,lag4,
lag5,lag6,lag7,lag8
----------------------------------------
Vlan : 2
Ports : ge1/0/1,ge1/0/2
----------------------------------------
Vlan : 3
Ports : ge1/0/1,ge1/0/3
----------------------------------------
Total 3 Vlan Groups
(2)#查看Switch2的vlan设置与端口vlan设置
HOUSHI# show vlan all
----------------------------------------
Vlan : 1
Ports : ge1/0/1,ge1/0/4,ge1/0/5,ge1/0/6,ge1/0/7,ge1/0/8,ge1/0/9,ge1/0/10,ge1/0/11,ge1/0/12,
ge1/0/13,ge1/0/14,ge1/0/15,ge1/0/16,ge1/0/17,ge1/0/18,ge1/0/19,ge1/0/20,ge1/0/21,ge1/0/22,ge1/0/23,
ge1/0/24,ge1/0/25,ge1/0/26,ge1/0/27,ge1/0/28,ge1/0/29,ge1/0/30,ge1/0/31,ge1/0/32,lag1,lag2,lag3,lag4,
lag5,lag6,lag7,lag8
----------------------------------------
Vlan : 2
Ports : ge1/0/1,ge1/0/3
----------------------------------------
Vlan : 3
Ports : ge1/0/1,ge1/0/2
----------------------------------------
Total 3 Vlan Groups