第09章_VLAN原理与配置
随着网络中计算机的数量越来越多,传统的以太网络开始面临冲突严重、广播泛滥以及安全性无法保障等各种问题。
以太网是一种基于CSMA/CD的数据网络通信技术,其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。
1.传统以太网的问题
- 随着主机数量的增加,共享网络中的冲突会越来越严重,交换网络中的广播也会越来越多。
- 早期的局域网LAN技术是基于总线型结构的,它存在以下主要问题:
- 若某时刻有多个节点同时试图发送消息,那么它们将产生冲突。
- 从任意节点发出的消息都会被发送到其他节点,形成广播。
- 所有主机共享一条传输通道,无法控制网络中的信息安全。
- 这种网络构成了一个冲突域,网络中计算机数量越多,冲突越严重,网络效率越低。同时,该网络也是一个广播域,当网络中发送信息的计算机数量变多时,广播流量将会耗费大量带宽。
- 因此,传统局域网不仅面临冲突域太大和广播域太大两大难题,而且无法保障传输信息的安全。
- 为了扩展传统LAN,以接入更多计算机,同时避免冲突的恶化,出现了网桥和二层交换机,它们能有效隔离冲突域。网桥和交换机采用交换方式将来自入端口的信息转发到出端口上,克服了共享网络中的冲突问题。但是,采用交换机进行组网时,广播域和信息安全问题依旧存在。
- 为限制广播域的范围,减少广播流量,需要在没有二层互访需求的主机之间进行隔离。路由器是基于三层IP地址信息来选择路由和转发数据的,其连接两个网段时可以有效抑制广播报文的转发,但成本较高。因此,人们设想在物理局域网上构建多个逻辑局域网,即VLAN。
2.虚拟局域网 (VLAN, Virtual LAN)
- 将一个物理局域网在逻辑上划分成多个广播域
- 1 VLAN=1 广播域
- 广播不会在VLAN之间转发,而是被限制在各自的VLAN中
- 不同VLAN间的设备默认无法通讯,需要第三层设备才能实现互通
- ==VLAN范围==:0~4095共4096个(0和4095为保留、1为默认)
- VLAN能够隔离广播域
- 为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术:
- 通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。
- VLAN的特点:
- 一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。
- VLAN的划分不受地域的限制。
- VLAN的好处:
- 灵活构建虚拟工作组:
- 用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
- 限制广播域:
- 广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
- 增强局域网的安全性:
- 不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
- 提高了网络的健壮性:
- 故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
- 灵活构建虚拟工作组:
注:二层,即数据链路层。
3.VLAN数据帧
3.1如何实现VLAN
- Switch1与Switch2同属一个企业,该企业统一规划了网络中的VLAN。其中VLAN10用于A部门,VLAN20用于B部门。A、B部门的员工在Switch1和Switch2上都有接入。
- PC1发出的数据经过Switch1和Switch2之间的链路到达了Switch2。如果不加处理,后者无法判断该数据所属的VLAN,也不知道应该将这个数据输出到本地哪个VLAN中。
3.2VLAN标签 (VLAN Tag)
- ==IEEE 802.1q:dot1q==,是VLAN的正式标准,对 Ethernet 帧格式进行了修改,在源 MAC 地址字段和协议类型字段之间加入 4 字节的 802.1q Tag
- 每台支持 802.1q 协议的交换机发送的数据包都会包含 VLAN ID,以指明交换机属于哪一个 VLAN。因此,在一个 VLAN 交换网络中,以太网帧有以下两种形式
- 有标记帧(tagged frame) :加入了 4 字节 802.1q Tag 的帧
- 无标记帧(untagged frame):原始的、未加入 4字节 802.1q Tag 的帧
- 交换机如何识别接收到的数据帧属于哪个VLAN?
- 如图所示,SW1识别出某个帧是属于哪个VLAN后,会在这个帧的特定位置上添加一个标签。这个标签明确地标明了这个帧是属于哪个VLAN的。其他交换机(如SW2)收到这个带标签的数据帧后,就能轻而易举地直接根据标签信息识别出这个帧属于哪个VLAN。
- ==IEEE 802.1Q==定义了这种带标签的数据帧的格式。满足这种格式的数据帧称为IEEE 802.1Q数据帧,也称VLAN数据帧。
3.3VLAN数据帧
在一个VLAN交换网络中,以太网帧主要有以下两种形式:
- 有标记帧(Tagged帧):IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag)的数据帧。
- 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的数据帧。
VLAN数据帧中的主要字段:
==TPID==:2字节,Tag Protocol Identifier(标签协议标识符),表示数据帧类型。
- 取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
- 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。
==PRI==:3 bit,Priority,表示数据帧的优先级,用于QoS。
- 取值范围为0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧。
==CFI==:1 bit,Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网
- CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。
- 在以太网中,CFI的值为0。
==VID==:12 bit,VLAN ID,表示该数据帧所属VLAN的编号。
- VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。
- 交换机利用VLAN标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发,这就将广播域限制在一个VLAN内。
如何识别带VLAN标签的数据帧:数据帧的Length/Type = 0x8100。
注意:计算机无法识别Tagged数据帧,因此计算机处理和发出的都是Untagged数据帧;为了提高处理效率,交换机内部处理的数据帧一律都是Tagged帧。
3.4VLAN的实现
- Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据“标记”手段,以便对不同VLAN的数据帧进行区分。
- IEEE 802.1Q标准(也被称为Dot1Q)定义了该“标记”方法。该标准对传统的以太网数据帧进行修改,在帧头中插入802.1Q Tag,而在该Tag中,便可以写入VLAN信息。
4.VLAN的划分方式
- 整个网络是如何划分VLAN的?
- 计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。
- VLAN的划分包括如下5种方法:
- 基于接口划分:根据交换机的接口来划分VLAN。
- 网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的标签,然后数据帧将在指定VLAN中传输。
- 基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。
- 网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
- 基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。
- 网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
- 基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。
- 网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
- 基于策略划分:根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。
- 网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
- 基于接口划分:根据交换机的接口来划分VLAN。
5.VLAN的链路类型
- 用户主机和交换机之间的链路为接入链路,交换机与交换机之间的链路为干道链路。
VLAN链路分为两种类型:Access链路和Trunk链路。
接入链路(Access Link):连接用户主机和交换机的链路称为接入链路。如本例所示,图中主机和交换机之间的链路都是接入链路。
干道链路(Trunk Link):连接交换机和交换机的链路称为干道链路。如本例所示,图中交换机之间的链路都是干道链路。干道链路上通过的帧一般为带Tag的VLAN帧。
6.VLAN的二层接口类型
PVID:
- PVID即Port VLAN ID,代表端口的缺省VLAN。交换机从对端设备收到的帧有可能是Untagged的数据帧,但所有以太网帧在交换机中都是以Tagged的形式来被处理和转发的,因此交换机必须给端口收到的Untagged数据帧添加上Tag。为了实现此目的,必须为交换机配置端口的缺省VLAN。当该端口收到Untagged数据帧时,交换机将给它加上该缺省VLAN的VLAN Tag。
- 基于接口的VLAN划分依赖于交换机的接口类型。
- Access接口
- Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。
- Trunk接口
- Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。
- Hybrid接口
- Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。
注:华为设备默认的接口类型是Hybrid。
6.1Access接口
- 上文已经介绍了交换机如何识别数据帧属于哪个VLAN以及VLAN的划分方式,那交换机对于Untagged帧和Tagged帧又是如何处理的呢?
- Access接口特点:
- 仅允许VLAN ID与接口PVID相同的数据帧通过。
- Access接口接收数据帧:
- 当Access接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后对得到的Tagged帧进行转发操作(泛洪、转发、丢弃)。
- 当Access接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否与PVID相同。如果相同,则对这个Tagged帧进行转发操作;如果不同,则直接丢弃这个Tagged帧。
- Access接口发送数据帧:
- 当一个Tagged帧从本交换机的其他接口到达一个Access接口后,交换机会检查这个帧的Tag中的VID是否与PVID相同:
- 如果相同,则将这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
- 如果不同,则直接丢弃这个Tagged帧。
- 当一个Tagged帧从本交换机的其他接口到达一个Access接口后,交换机会检查这个帧的Tag中的VID是否与PVID相同:
6.2Trunk接口
- 对于Trunk接口,除了要配置PVID外,还必须配置允许通过的VLAN ID列表,其中==VLAN 1==是默认存在的。
- Trunk接口特点:
- Trunk接口仅允许VLAN ID在允许通过列表中的数据帧通过。
- Trunk接口可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
- Trunk接口接收数据帧:
- 当Trunk接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在允许通过的VLAN ID列表中。
- 如果在,则对得到的Tagged帧进行转发操作;
- 如果不在,则直接丢弃得到的Tagged帧。
- 当Trunk接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在允许通过的VLAN ID列表中。
- 如果在,则对这个Tagged帧进行转发操作;
- 如果不在,则直接丢弃这个Tagged帧。
- 当Trunk接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在允许通过的VLAN ID列表中。
- Trunk接口发送数据帧:
- 当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID不在允许通过的VLAN ID列表中,则该Tagged帧会被直接丢弃。
- 当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID在允许通过的VLAN ID列表中,则会比较该Tag中的VID是否与接口的PVID相同:
- 如果相同,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
- 如果不同,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。
6.2.1Access接口与Trunk接口举例
- 在本例中,SW1和SW2连接主机的接口为Access接口,PVID如图所示。SW1和SW2互连的接口为Trunk接口,PVID都为1,此Trunk接口的允许通过的VLAN ID列表也如图所示。
6.3Hybrid接口
- 对于Hybrid接口,除了要配置PVID外,还存在两个允许通过的VLAN ID列表,一个是Untagged VLAN ID列表,另一个是Tagged VLAN ID列表,其中==VLAN 1==默认在Untagged VLAN列表中。这两个允许通过列表中的所有VLAN的帧都是允许通过这个Hybrid接口的。
- Hybrid接口特点:
- Hybrid接口仅允许VLAN ID在允许通过列表中的数据帧通过。
- Hybrid接口可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag、某些VLAN的帧不带Tag。
- 与Trunk最主要的区别就是,能够支持多个VLAN的数据帧,不带标签通过。
- Hybrid接口接收数据帧:
- 当Hybrid接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在Untagged或Tagged VLAN ID列表中。
- 如果在,则对得到的Tagged帧进行转发操作;
- 如果不在,则直接丢弃得到的Tagged帧。
- 当Hybrid接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在Untagged或Tagged VLAN ID列表中。
- 如果在,则对这个Tagged帧进行转发操作;
- 如果不在,则直接丢弃这个Tagged帧。
- 当Hybrid接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在Untagged或Tagged VLAN ID列表中。
- Hybrid接口发送数据帧:
- 当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID既不在Untagged VLAN ID列表中,也不在Tagged VLAN ID列表中,则该Tagged帧会被直接丢弃。
- 当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Untagged VLAN ID列表中,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去。
- 当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Tagged VLAN ID列表中,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。
举例:
- 在本例中,SW1和SW2连接主机的接口以及互连的接口均为Hybrid接口,PVID如图所示,Hybrid接口的允许通过的VLAN ID列表也如图所示。
6.4小结
- 各类接口添加或剥除VLAN标签的处理过程总结如下:
- 当接收数据帧时:
- 当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。
- 当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。
- 当发送数据帧时:
- Access接口直接剥离数据帧中的VLAN标签。
- Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。
- Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。
- 当接收数据帧时:
- 因此,Access接口发出的数据帧肯定不带Tag;Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签;Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。
7.VLAN的应用
7.1VLAN的规划
- VLAN编号建议连续分配,以保证VLAN资源合理利用。最常用的划分方式是基于接口的方式。
7.2应用场景
7.2.1基于接口的VLAN划分
7.2.2基于MAC的VLAN划分
8.VLAN的配置(基于接口)
8.1VLAN配置
- 在交换机上划分VLAN时,需要首先创建VLAN。在交换机上执行
vlan <vlan-id>
命令,创建VLAN。 - 如本例所示,执行
vlan 10
命令后,就创建了VLAN 10,并进入了VLAN 10视图。VLAN ID的取值范围是1到4094。如需创建多个VLAN,可以在交换机上执行vlan batch {vlan-id1[to vlan-id2]}
命令,以创建多个连续的VLAN。也可以执行vlan batch{vlan-id1 vlan-id2}
命令,创建多个不连续的VLAN,VLAN号之间需要有空格。
配置验证:
- 创建VLAN后,可以执行
display vlan
命令验证配置结果。如果不指定任何参数,则该命令将显示所有VLAN的简要信息。 - 执行
display vlan [vlan-id[verbose ]]
命令,可以查看指定VLAN的详细信息,包括VLAN ID、类型、描述、VLAN的状态、VLAN中的端口、以及VLAN中端口的模式等。 - 执行
display vlan vlan-id statistics
命令,可以查看指定VLAN中的流量统计信息。 - 执行
display vlan summary
命令,可以查看系统中所有VLAN的汇总信息。
8.2配置Access端口
- 配置端口类型的命令是
port link-type <type>
,type可以配置为Access ,Trunk或Hybrid。 - 需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的hybrid端口链路类型。当修改端口类型时,必须先恢复端口的默认VLAN配置,使端口属于缺省的==VLAN 1==。
添加端口到VLAN:
- 可以使用两种方法把端口加入到VLAN。
- 第一种方法是进入到VLAN视图,执行
port <interface>
命令,把端口加入VLAN。 - 第二种方法是进入到接口视图,执行
port default vlan <vlan-id>
命令,把端口加入VLAN。vlan-id是指端口要加入的VLAN。
配置验证:
- 执行
display vlan
命令,可以确认端口是否已经加入到VLAN中。 - 在本示例中,端口GigabitEthernet0/0/5和GigabitEthernet0/0/7分别加入了VLAN 3和VLAN 2。==UT==表明该端口发送数据帧时,会剥离VLAN标签,即此端口是一个Access端口或不带标签的Hybrid端口。==U==或==D==分别表示链路当前是Up状态或Down状态。
8.3配置Trunk端口
配置Trunk时,应先使用
port link-type trunk
命令修改端口的类型为Trunk,然后再配置Trunk端口允许哪些VLAN的数据帧通过。执行port trunk allow-pass vlan {{vlan-idl[to vlan-id2]}|all }
命令,可以配置端口允许的VLAN,all表示允许所有VLAN的数据帧通过。执行
port trunk pvid vlan vlan-id
命令,可以修改Trunk端口的PVID。修改Trunk端口的PVID之后,需要注意:缺省VLAN不一定是端口允许通过的VLAN。只有使用命令port trunk allow-pass vlan{{vlan-id1[to vlan-id2]}|all }
允许缺省VLAN数据通过,才能转发缺省VLAN的数据帧。交换机的所有端口默认允许==VLAN 1==的数据通过。在本示例中,将SWA的G0/0/1端口配置为Trunk端口,该端口PVID默认为1。配置
port trunk allow-pass vlan 2 3
命令之后,该Trunk允许VLAN 2和VLAN 3的数据流量通过。
配置验证:
- 执行
display vlan
命令可以查看修改后的配置。==TG==表明该端口在转发对应VLAN的数据帧时,不会剥离标签,直接进行转发,该端口可以是Trunk端口或带标签的Hybrid端口。 - 本示例中,GigabitEthernet0/0/1在转发VLAN 2和VLAN3的流量时,不剥离标签,直接转发。
8.4配置Hybrid端口
port link-type hybrid
命令的作用是将端口的类型配置为Hybrid。默认情况下,X7系列交换机的端口类型是Hybrid。因此,只有在把Access口或Trunk口配置成Hybrid时,才需要执行此命令。port hybrid tagged vlan{{vlan-idl [to vlan-id2]}|all }
命令用来配置允许哪些VLAN的数据帧以Tagged方式通过该端口。port hybrid untagged vlan{{vlan-idl[to vlan-id2]}|all }
命令用来配置允许哪些VLAN的数据帧以Untagged方式通过该端口。在本示例中,要求主机A和主机B都能访问服务器,但是它们之间不能互相访问。此时通过命令
port link-type hybrid
配置交换机连接主机和服务器的端口,以及交换机互连的端口都为Hybrid类型。通过命令port hybrid pvid vlan 2
配置交换机连接主机A的端口的PVID是2。类似地,连接主机B的端口的PVID是3,连接服务器的端口的PVID是100。通过在G0/0/1端口下使用命令
port hybrid tagged vlan 2 3 100
,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都携带标签。在G0/0/2端口下使用命令port hybrid untagged vlan 2 100
,配置VLAN2和VLAN100的数据帧在通过该端口时都不携带标签。在G0/0/3端口下使用命令port hybrid untagged vlan 3 100
,配置VLAN3和VLAN100的数据帧在通过该端口时都不携带标签。
在SWB上继续进行配置,在G0/0/1端口下使用命令
port link-type hybrid
配置端口类型为Hybrid。在G0/0/1端口下使用命令
port hybrid tagged vlan 2 3 100
,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都携带标签。在G0/0/2端口下使用命令
port hybrid untagged vlan 2 3 100
,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都不携带标签。
配置验证:
在SWA上执行
display vlan
命令,可以查看hybrid端口的配置。在本示例中,GigabitEthernet 0/0/2在发送VLAN2和VLAN100的数据帧时会剥离标签。GigabitEthernet 0/0/3在发送VLAN3和VLAN100的数据帧时会剥离标签。GigabitEthernet 0/0/1允许VLAN 2,VLAN 3和VLAN 100的带标签的数据帧通过。此配置满足了多个VLAN可以访问特定VLAN,而其他VLAN间不允许互相访问的需求。
9.VLAN的配置(基于MAC)
9.1基础配置命令
1.关联MAC地址与VLAN
[Huawei-vlan10] mac-vlan mac-address mac-address [ mac-address-mask | mac-address-mask-length ]
通过此命令配置MAC地址与VLAN关联。
- mac-address:指定与VLAN关联的MAC地址。格式为H-H-H。其中H为4位的十六进制数,可以输入1~4位,如00e0、fc01。当输入不足4位时,表示前面的几位为0,如:输入e0,等同于00e0。MAC地址不可设置为0000-0000-0000、FFFF-FFFF-FFFF和组播地址。
- mac-address-mask:指定MAC地址掩码。格式为H-H-H,其中H为1至4位的十六进制数。
- mac-address-mask-length:指定MAC地址掩码长度。整数形式,取值范围是1~48。
2.使能MAC地址与VLAN
[Huawei-GigabitEthernet0/0/1] mac-vlan enable
通过此命令使能接口的MAC VLAN功能。
9.2基于MAC地址划分VLAN
配置思路:
- 创建VLAN。
- 配置各以太网接口以正确的方式加入VLAN。
- 配置主机1、主机2、主机3的MAC地址与VLAN关联,实现根据报文中的源MAC地址确定VLAN。
创建VLAN,并关联MAC地址和VLAN:
加入VLAN,并使能MAC VLAN功能:
验证配置:
- 命令:
display mac-vlan { mac-address { all | mac-address [ mac-address-mask | mac-address-mask-length ] } | vlan vlan-id }
,用来查看基于MAC地址划分VLAN的配置信息。- all:显示所有MAC地址VLAN划分信息。
- mac-address mac-address:显示指定MAC地址的VLAN划分信息。
- 格式为H-H-H,其中H为1至4位的十六进制数。
- mac-address-mask:MAC地址掩码。
- 格式为H-H-H,其中H为1至4位的十六进制数。
- mac-address-mask-length:MAC地址掩码长度。
- 整数形式,取值范围是1~48。
- vlan vlan-id:显示指定MAC-VLAN的配置信息。
- 整数形式,取值范围是1~4094。
- 输出信息:
- MAC Address:MAC地址。
- MASK:MAC地址的掩码。
- VLAN:基于MAC地址划分的VLAN。
- Priority:指定MAC地址对应VLAN的802.1P优先级。
10.Voice VLAN应用
- 通过配置Voice VLAN可以区分语音流量和业务流量,使语音流量优于业务流量,从而为语音流量提供服务保证。
- 随着IP网络的融合,TCP/IP网络可以为高速上网HSI(High Speed Internet)业务、==VoIP(Voice over IP)==业务、IPTV(Internet Protocol Television)业务提供服务。
- 语音数据在传输时需要具有比其他业务数据更高的优先级,以减少传输过程中可能产生的时延和丢包现象。
- 为了区分语音数据流,可在交换机上部署Voice VLAN功能,把VoIP的电话流量进行VLAN隔离,并配置更高的优先级,从而能够保证通话质量。
10.1配置Voice VLAN
执行
voice-vlan <vlan-id> enable
命令,可以把VLAN 2到VLAN 4094之间的任一VLAN配置成语音VLAN。执行
voice-vlan mode <mode>
命令,可以配置端口加入语音VLAN的模式。端口加入Voice VLAN的模式有两种:自动模式:使能Voice VLAN功能的端口根据进入端口的数据流中的源MAC地址字段来判断该数据流是否为语音数据流。源MAC地址符合系统设置的语音设备OUI(Organizationally Unique Identifier)地址的报文认为是语音数据流。接收到语音数据流的端口将自动加入Voice VLAN中传输,并通过老化机制维护Voice VLAN内的端口数量。
手动模式:当接口使能Voice VLAN功能后,必须通过手工将连接语音设备的端口加入或退出Voice VLAN中,这样才能保证Voice VLAN功能生效。
执行
voice-vlan mac-address mac-address mask oui-mask [description text ]
命令,用来配置Voice VLAN的OUI地址。OUI地址表示一个MAC地址段。交换机将48位的MAC地址和掩码的对应位做“与”运算可以确定出OUI地址。接入设备的MAC地址和OUI地址匹配的位数,由掩码中全“1”的长度决定。例如,MAC地址为0001-0001-0001,掩码为FFFF-FFOO-0000,那么将MAC地址与其相应掩码位执行“与”运算的结果就是OUI地址0001-0000-0000。只要接入设备的MAC地址前24位和OUI地址的前24位匹配,那么使能Voice VLAN功能的端口将认为此数据流是语音数据流,接入的设备是语音设备。
配置验证:
执行
display voice-vlan status
命令,可以查看语音VLAN的信息,包括状态、工作模式、老化时间、以及使能了语 音VLAN功能的端口信息。Add-Mode字段表明语音VLAN的添加模式。自动模式中,使能了语音VLAN功能后,端口可以自动加入到语音VLAN。如果语音设备发送的报文的MAC地址匹配了OUI,连接该语音设备的端口也会加入语音VLAN。如果在老化时间内,端口没有收到语音设备的任何语音数据报文,端口自动会被删除。手动模式中,在端口上使能了语音VLAN功能之后,必须手动把端口添加到语音VLAN中。
Security-Mode字段表示Voice VLAN端口的工作模式,有两种:
- 正常模式:可以传输语音数据和业务数据,但是容易受到恶意数据流量的攻击。
- 安全模式:只允许传输语音数据流。安全模式可以防止Voice VLAN受到恶意数据流量的攻击,但是检查报文的工作会占用一定的系统资源。
Legacy字段表明端口是否开启与其他厂商语音设备互通的功能,Enable表示开启,Disable表示关闭。
11.本章总结
- 本章节主要介绍了虚拟局域网 (VLAN)的相关技术知识,包括:VLAN的作用,VLAN的标识及划分,VLAN的数据交互,VLAN的实际规划和应用,以及VLAN的相关基本配置。
- 通过VLAN技术,可以将物理的局域网划分成多个广播域,实现同一VLAN内的网络设备可以直接进行二层通信,不同VLAN内的设备不可以直接进行二层通信。