第09章_VLAN原理与配置

  • 随着网络中计算机的数量越来越多,传统的以太网络开始面临冲突严重、广播泛滥以及安全性无法保障等各种问题。

  • 以太网是一种基于CSMA/CD的数据网络通信技术,其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。

  • VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。

1.传统以太网的问题

  • 随着主机数量的增加,共享网络中的冲突会越来越严重,交换网络中的广播也会越来越多。

image-20231109230924781

  • 早期的局域网LAN技术是基于总线型结构的,它存在以下主要问题:
    • 若某时刻有多个节点同时试图发送消息,那么它们将产生冲突。
    • 从任意节点发出的消息都会被发送到其他节点,形成广播。
    • 所有主机共享一条传输通道,无法控制网络中的信息安全。
    • 这种网络构成了一个冲突域,网络中计算机数量越多,冲突越严重,网络效率越低。同时,该网络也是一个广播域,当网络中发送信息的计算机数量变多时,广播流量将会耗费大量带宽。
  • 因此,传统局域网不仅面临冲突域太大和广播域太大两大难题,而且无法保障传输信息的安全。
  • 为了扩展传统LAN,以接入更多计算机,同时避免冲突的恶化,出现了网桥二层交换机,它们能有效隔离冲突域。网桥和交换机采用交换方式将来自入端口的信息转发到出端口上,克服了共享网络中的冲突问题。但是,采用交换机进行组网时,广播域和信息安全问题依旧存在。
  • 为限制广播域的范围,减少广播流量,需要在没有二层互访需求的主机之间进行隔离。路由器是基于三层IP地址信息来选择路由和转发数据的,其连接两个网段时可以有效抑制广播报文的转发,但成本较高。因此,人们设想在物理局域网上构建多个逻辑局域网,即VLAN。

2.虚拟局域网 (VLAN, Virtual LAN)

  • 将一个物理局域网在逻辑上划分成多个广播域
  • 1 VLAN=1 广播域
  • 广播不会在VLAN之间转发,而是被限制在各自的VLAN中
  • 不同VLAN间的设备默认无法通讯,需要第三层设备才能实现互通
  • ==VLAN范围==:0~4095共4096个(0和4095为保留、1为默认)
  • VLAN能够隔离广播域

image-20231109231434323

  • 为了解决广播域带来的问题,人们引入了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

image-20231109232038817

  • 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?

image-20231109232408273

  • 如图所示,SW1识别出某个帧是属于哪个VLAN后,会在这个帧的特定位置上添加一个标签。这个标签明确地标明了这个帧是属于哪个VLAN的。其他交换机(如SW2)收到这个带标签的数据帧后,就能轻而易举地直接根据标签信息识别出这个帧属于哪个VLAN。
  • ==IEEE 802.1Q==定义了这种带标签的数据帧的格式。满足这种格式的数据帧称为IEEE 802.1Q数据帧,也称VLAN数据帧。

3.3VLAN数据帧

image-20231109232552729

  • 在一个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的实现

image-20231109233421358

  • Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据“标记”手段,以便对不同VLAN的数据帧进行区分。
  • IEEE 802.1Q标准(也被称为Dot1Q)定义了该“标记”方法。该标准对传统的以太网数据帧进行修改,在帧头中插入802.1Q Tag,而在该Tag中,便可以写入VLAN信息。

4.VLAN的划分方式

  • 整个网络是如何划分VLAN的?

image-20231109233619486

  • 计算机发出的数据帧不带任何标签。对已支持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中传输。

5.VLAN的链路类型

  • 用户主机和交换机之间的链路为接入链路,交换机与交换机之间的链路为干道链路。

image-20231109234036151

VLAN链路分为两种类型:Access链路Trunk链路

  • 接入链路(Access Link):连接用户主机和交换机的链路称为接入链路。如本例所示,图中主机和交换机之间的链路都是接入链路。

  • 干道链路(Trunk Link):连接交换机和交换机的链路称为干道链路。如本例所示,图中交换机之间的链路都是干道链路。干道链路上通过的帧一般为带Tag的VLAN帧。

6.VLAN的二层接口类型

PVID:

image-20231111192924986

  • PVID即Port VLAN ID,代表端口的缺省VLAN。交换机从对端设备收到的帧有可能是Untagged的数据帧,但所有以太网帧在交换机中都是以Tagged的形式来被处理和转发的,因此交换机必须给端口收到的Untagged数据帧添加上Tag。为了实现此目的,必须为交换机配置端口的缺省VLAN。当该端口收到Untagged数据帧时,交换机将给它加上该缺省VLAN的VLAN Tag。

image-20231111192714796

  • 基于接口的VLAN划分依赖于交换机的接口类型。
  • Access接口
    • Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。
  • Trunk接口
    • Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。
  • Hybrid接口
    • Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。

注:华为设备默认的接口类型是Hybrid。


6.1Access接口

image-20231111193101502

  • 上文已经介绍了交换机如何识别数据帧属于哪个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帧。

6.2Trunk接口

image-20231111194516519

  • 对于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接口发送数据帧:
    • 当一个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接口举例

image-20231111195957621

  • 在本例中,SW1和SW2连接主机的接口为Access接口,PVID如图所示。SW1和SW2互连的接口为Trunk接口,PVID都为1,此Trunk接口的允许通过的VLAN ID列表也如图所示。

6.3Hybrid接口

image-20231111200051027

  • 对于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接口发送数据帧:
    • 当一个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进行剥离,而是直接将它从链路上发送出去。

举例

image-20231111201059596

  • 在本例中,SW1和SW2连接主机的接口以及互连的接口均为Hybrid接口,PVID如图所示,Hybrid接口的允许通过的VLAN ID列表也如图所示。

6.4小结

image-20231111201354994

  • 各类接口添加或剥除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的规划

image-20231111201854775

  • VLAN编号建议连续分配,以保证VLAN资源合理利用。最常用的划分方式是基于接口的方式。

7.2应用场景

7.2.1基于接口的VLAN划分

image-20231111201953832


7.2.2基于MAC的VLAN划分

image-20231111202034340

8.VLAN的配置(基于接口)

8.1VLAN配置

image-20231111202359392

  • 在交换机上划分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号之间需要有空格。

配置验证

image-20231111202557476

  • 创建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端口

image-20231111202801164

  • 配置端口类型的命令是port link-type <type>,type可以配置为Access ,Trunk或Hybrid。
  • 需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的hybrid端口链路类型。当修改端口类型时,必须先恢复端口的默认VLAN配置,使端口属于缺省的==VLAN 1==。

添加端口到VLAN

image-20231111203927510

  • 可以使用两种方法把端口加入到VLAN。
  1. 第一种方法是进入到VLAN视图,执行port <interface>命令,把端口加入VLAN。
  2. 第二种方法是进入到接口视图,执行port default vlan <vlan-id>命令,把端口加入VLAN。vlan-id是指端口要加入的VLAN。

配置验证

image-20231111203748804

  • 执行display vlan命令,可以确认端口是否已经加入到VLAN中。
  • 在本示例中,端口GigabitEthernet0/0/5和GigabitEthernet0/0/7分别加入了VLAN 3和VLAN 2。==UT==表明该端口发送数据帧时,会剥离VLAN标签,即此端口是一个Access端口或不带标签的Hybrid端口。==U==或==D==分别表示链路当前是Up状态或Down状态。

8.3配置Trunk端口

image-20231111205038839

  • 配置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的数据流量通过。

配置验证

image-20231111211028376

  • 执行display vlan命令可以查看修改后的配置。==TG==表明该端口在转发对应VLAN的数据帧时,不会剥离标签,直接进行转发,该端口可以是Trunk端口或带标签的Hybrid端口。
  • 本示例中,GigabitEthernet0/0/1在转发VLAN 2和VLAN3的流量时,不剥离标签,直接转发。

8.4配置Hybrid端口

image-20231111211310001

  • 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的数据帧在通过该端口时都不携带标签。

image-20231111212134462

  • 在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的数据帧在通过该端口时都不携带标签。

配置验证

image-20231111212300882

  • 在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

image-20231111212842852

配置思路:

  1. 创建VLAN。
  2. 配置各以太网接口以正确的方式加入VLAN。
  3. 配置主机1、主机2、主机3的MAC地址与VLAN关联,实现根据报文中的源MAC地址确定VLAN。

创建VLAN,并关联MAC地址和VLAN:

image-20231111223800009

加入VLAN,并使能MAC VLAN功能:

image-20231111212954132

验证配置

image-20231111213041281

  • 命令: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可以区分语音流量和业务流量,使语音流量优于业务流量,从而为语音流量提供服务保证。

image-20231111224045635

  • 随着IP网络的融合,TCP/IP网络可以为高速上网HSI(High Speed Internet)业务、==VoIP(Voice over IP)==业务、IPTV(Internet Protocol Television)业务提供服务。
  • 语音数据在传输时需要具有比其他业务数据更高的优先级,以减少传输过程中可能产生的时延和丢包现象。
  • 为了区分语音数据流,可在交换机上部署Voice VLAN功能,把VoIP的电话流量进行VLAN隔离,并配置更高的优先级,从而能够保证通话质量。

10.1配置Voice VLAN

image-20231111224322449

  • 执行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功能的端口将认为此数据流是语音数据流,接入的设备是语音设备。

配置验证

image-20231111224958474

  • 执行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内的设备不可以直接进行二层通信。