VLAN原理与配置


1 什么是VLAN

1.1 划分VLAN的背景

  在典型交换网络中,当某台主机发送一个广播帧或未知单播帧时,该数据帧会被泛洪,甚至传递到整个广播域。

  广播域越大,产生的网络安全问题、垃圾流量问题,就越严重。

1.2 虚拟局域网(VLAN)

  虚拟局域网VLAN可以隔离广播域。

  特点:不受地域限制、同一VLAN内的设备才能直接二层通信

2 VLAN的基本原理

2.1 如何实现VLAN

  Switch1与Switch2同属一个企业,该企业统一规划了网络中的VLAN。其中VLAN10用于A部门,VLAN20用于B部门。A、B部门的员工在Switch1和Switch2上都有接入。

  PC1发出的数据经过Switch1和Switch2之间的链路到达了Switch2。如果不加处理,后者无法判断该数据所属的VLAN,也不知道应该将这个数据输出到本地哪个VLAN中

2.2 VLAN标签(VLAN Tag)

  交换机如何识别接收到的数据帧属于哪个VLAN?

  VLAN标签

   要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。

   IEEE802.1Q协议规定,在以太网数据帧中加入4个字节的VLAN标签,又称VLAN Tag,简称Tag。

  VLAN数据帧

2.3 VLAN的实现

  Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据标记手段,以便对不同VLAN的数据帧进行区分

  IEEE 802.1Q标准(也被称为Dot1Q)定义了该”标记”方法。该标准对传统的以太网数据帧进行修改,在帧头中插入802.1Q Tag,而在该Tag中,便可以写入VLAN信息。

2.4 VLAN的划分方式

基于接口的VLAN划分

  原理

   根据交换机的接口划分VLAN。

   网络管理员预先给交换机的每个接口配置不同的PVID,将该接口划入PVID对应的VLAN。

   当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的Tag,然后数据帧将在指定PVID中传输。

  缺省VLAN,PVID

   Port VLAN ID,是接口上的缺省VLAN。

   取值:1~4094。

基于MAC地址的VLAN划分

  原理

   根据数据帧的源MAC地址来划分VLAN。

   网络管理员预先配置MAC地址和VLAN ID映射关系表。

   当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的Tag,然后数据帧将在指定VLAN中传输。

  映射表

   记录了MAC地址和VLAN ID的关联情况。

2.5 以太网二层接口类型

2.5.1 Access接口

  交换机上常用来连接用户PC、服务器等终端设备的接口。

  Access接口所连接的设备的网卡只收发无标记帧。

  Access接口只能加入一个VLAN。

2.5.2 Trunk接口

  Trunk接口允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。

  Trunk接口常用于交换机之间的互联,也用于连接路由器、防火墙等设备的子接口。

2.5.3 Access接口与Trunk接口示例

  描述主机之间数据访问的全流程。

2.5.3 Hybrid接口

  Hybrid接口与Trunk接口类似,也允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。

  用户可以灵活指定Hybrid接口在发送某个(或某些)VLAN的数据帧时是否携带Tag。

  Hybrid接口示例

  描述主机访问服务器的全流程。

2.5.5 接口类型总结

接口类型 接收数据帧 发送数据帧
Access接口 Untagged数据帧,打上PVID,接收。
Tagged数据帧,与PVID比较,相同则接收;不同则丢弃。
VID与PVID比较,相同则剥离标签发送;不同则丢弃。
Trunk接口 Untagged数据帧,打上PVID,且VID在允许列表中,则接收;VID不在允许列表,则丢弃。
Tagged数据帧,查看VID是否在允许列表中,在允许列表中,则接收;VID不在允许列表,则丢弃。
VID在允许列表中,且VID与PVID一致,则剥离标签发送。
VID在允许列表,但VID与PVID不一致,则直接带标签发送
不在允许列表中,则直接丢弃。
Hybrid接口 Untagged数据帧,打上PvID,且VID在允许列表中,则接收;VID不在允许列表中,则丢弃。
Tagged数据帧,查看VID是否在允许列表中,在允许列表中,则接收;VID不在允许列表,则丢弃。
VID不在允许列表中,直接丢弃。
VID在Untagged列表中,剥离标签发送。
VID在Tagged列表中,带标签直接发送。
不在允许列表中,则直接丢弃。

3 VLAN的配置

3.1 VLAN基础配置命令

1.通过此命令创建VLAN并进入VLAN视图,如果VLAN已存在,直接进入该VLAN的视图。
  [Huawei] vlan vlan-id    # vlan-id是整数形式,取值范围是1~4094

2.通过此命令批量创建VLAN。
  [Huawei] vlan batch { vlan-id1 [ to vlan-id2 ] }  
  # batch:指定批量创建的VLAN ID。
  # vlan-id1:第一个VLAN编号
  # vlan-id2:最后一个VLAN编号

3.2 Access接口基础配置命令

1.配置接口类型
  [Huawei-GigabitEthernet0/0/1] port link-type access   # 接口视图下,配置接口的链路类型为Access
  
2.配置Access接口的缺省VLAN
  [Huawei-GigabitEthernet0/0/1] port default vlan vlan-id
  # 接口视图下,配置接口缺省VLAN并同时加入这个VLAN
  # vlan-id:配置缺省VLAN的编号。整数形式,取值范围是1~4094

3.3 Trunk接口基础配置命令

1.配置接口类型
  [Huawei-GigabitEthernet0/0/1] port link-type trunk   # 接口视图下,配置接口链路类型为Trunk

2.配置Trunk接口加入指定VLAN
  [Huawei-GigabitEthernet0/0/1] port trunk allow pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }
  # 接口视图下,配置Trunk类型接口加入的VLAN
  
3.(可选)配置Trunk接口的缺省VLAN
  [Huawei-GigabitEthernet0/0/1] port trunk pvid vlan vlan-id
  # 接口视图下,配置Trunk类型接口的缺省VLAN

3.4 Hybrid接口基础配置命令

1.配置接口类型
  [Huawei-GigabitEthernet0/0/1] port link-type hybrid  # 接口视图下,配置接口链路类型为Hybrid
  
2.配置Hybrid接口加入指定VLAN
  [Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan { { v/an-id1 [ to vlan-id2 ] } | all }
  # 接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Untagged方式通过接口
  
  [Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan { { v/an-id1 [ to v/an-id2 ] } | all }
  # 接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Tagged方式通过接口
  
3. (可选)配置Hybrid接口的缺省VLAN
  [Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id  # 接口视图下,配置Hybrid类型接口的缺省VLAN

文章作者: 罗宇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 罗宇 !
  目录