介绍

VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。

Vlan就是交换机内定义的广播域,用来控制广播、多播、单播以及二层设备内的未知单播流量。简单说来vlan就是为了让一个原本过于庞大的局域网,划分成若干个小局域网,因此各自子网内部的广播风暴以及其他无用流量信息限制在本子网内,降低网络风暴引起的网络故障。

vlan 跨设备 跨vlan通信_数据帧

通过Access实现跨vlan通信

Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器)相连,或者不需要区分不同VLAN成员时使用。

在一个VLAN交换网络中,以太网数据帧主要有以下两种形式:

  • 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。
  • 有标记帧(Tagged帧):加入了4字节VLAN标签的帧。

Access接口大部分情况只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。交换机内部只处理Tagged帧,所以Access接口需要给收到的数据帧添加VLAN Tag,也就必须配置缺省VLAN。配置缺省VLAN后,该Access接口也就加入了该VLAN。

当Access接口收到带有Tag的帧,并且帧中VID与PVID相同时,Access接口也能接收并处理该帧。

在发送带有Tag的帧前,Access接口会剥离Tag。

<Huawei>system-view 
[Huawei]sysname sw1
[sw1]vlan 2
[sw1-vlan2]quit
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]port link-type access 
[sw1-GigabitEthernet0/0/1]port default vlan 2
[sw1-GigabitEthernet0/0/1]int g0/0/2
[sw1-GigabitEthernet0/0/2]port link-type access 
[sw1-GigabitEthernet0/0/2]port default vlan 2

[Huawei]sysname sw2
[sw2]vlan 2
[sw2-vlan2]quit
[sw2]int g0/0/1
[sw2-GigabitEthernet0/0/1]port link-type access 
[sw2-GigabitEthernet0/0/1]port default vlan 2
[sw2-GigabitEthernet0/0/1]int g0/0/2
[sw2-GigabitEthernet0/0/2]port link-type access 
[sw2-GigabitEthernet0/0/2]port default vlan 2

Access端口工作原理如下:
Acess端口收报文:
收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)
Acess端口发报文:
将报文的VLAN信息剥离,直接发送出去
(所以,Access端口可以实现同一交换机上相同VLAN下的主机通信;也可以实现交换机级连时的缺省VLAN1报文交换,但不能实现VLAN透传。)

上面环境释义如下:sw1交换机g0/0/1打标签,g0/0/2剥离标签。sw02交换机g0/0/2打标签g0/0/1剥离标签,所以实现了跨交换机vlan间通信

Trunk接口实现Vlan之间通信

  Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许属于缺省VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。

  Trunk接口上的缺省VLAN,有的厂商也将它定义为native VLAN。当Trunk接口收到Untagged帧时,会为Untagged帧打上Native VLAN对应的Tag。

vlan 跨设备 跨vlan通信_Access_02

 

[Huawei]sysname sw1
[sw1]vlan batch 2 3
[sw1-GigabitEthernet0/0/2]port link-type access
[sw1-GigabitEthernet0/0/2]port default vlan 2
[sw1-GigabitEthernet0/0/2]int g0/0/3
[sw1-GigabitEthernet0/0/3]port link-type access
[sw1-GigabitEthernet0/0/3]port default vlan 3
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]port link-type trunk 
[sw1-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3

[Huawei]sysname sw2
[sw2]vlan batch 2 3
[sw2]int g0/0/2
[sw2-GigabitEthernet0/0/2]port link-type access 
[sw2-GigabitEthernet0/0/2]port default vlan 2
[sw2-GigabitEthernet0/0/2]int g0/0/3
[sw2-GigabitEthernet0/0/3]port link-type access 
[sw2-GigabitEthernet0/0/3]port default vlan 3
[sw2]int g0/0/1
[sw2-GigabitEthernet0/0/1]port link-type trunk 
[sw2-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3

vlan 跨设备 跨vlan通信_Access_03

Hybrid端口实现Vlan之间通信

  Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。

  Hybrid接口和Trunk接口在很多应用场景下可以通用,但在某些应用场景下,必须使用Hybrid接口。比如在灵活QinQ中,服务提供商网络的多个VLAN的报文在进入用户网络前,需要剥离外层VLAN Tag,此时Trunk接口不能实现该功能,因为Trunk接口只能使该接口缺省VLAN的报文不带VLAN Tag通过。

Hybrid是huawei交换机默认的端口类型
[sw1]display port vlan 
Port                    Link Type    PVID  Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1    hybrid       1     2-3
GigabitEthernet0/0/2    hybrid       2     -                                   
GigabitEthernet0/0/3    hybrid       3     -                                   
GigabitEthernet0/0/4    hybrid       1     -                                   
GigabitEthernet0/0/5    hybrid       1     -                                   
GigabitEthernet0/0/6    hybrid       1     -                                   
GigabitEthernet0/0/7    hybrid       1     -                                   
GigabitEthernet0/0/8    hybrid       1     -                                   
GigabitEthernet0/0/9    hybrid       1     -                                   
…………………………………

实验环境还是上面的图
[sw1]int g0/0/2
[sw1-GigabitEthernet0/0/2]port hybrid pvid vlan 2              # 进来的数据帧打上tag标签2
[sw1-GigabitEthernet0/0/2]port hybrid untagged vlan 2          # 发出去的数据帧去除标签
[sw1-GigabitEthernet0/0/2]int g0/0/3
[sw1-GigabitEthernet0/0/3]port link-type hybrid
[sw1-GigabitEthernet0/0/3]port hybrid pvid vlan 3
[sw1-GigabitEthernet0/0/3]port hybrid untagged vlan 3

# 查看
[sw1]display port vlan g0/0/2
Port                    Link Type    PVID  Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/2    hybrid       2     -                                   
[sw1]display port vlan g0/0/3
Port                    Link Type    PVID  Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/3    hybrid       3     -      

[sw2]int g0/0/2
[sw2-GigabitEthernet0/0/2]port link-type hybrid
[sw2-GigabitEthernet0/0/2]port hybrid pvid vlan 2
[sw2-GigabitEthernet0/0/2]port hybrid untagged vlan 2
[sw2-GigabitEthernet0/0/2]int g0/0/3
[sw2-GigabitEthernet0/0/3]port link-type hybrid
[sw2-GigabitEthernet0/0/3]port hybrid pvid vlan 3
[sw2-GigabitEthernet0/0/3]port hybrid untagged vlan 3

vlan 跨设备 跨vlan通信_List_04

使用Hybrid实现Trunk的功能

vlan 跨设备 跨vlan通信_List_05

 

进入g0/0/1和g0/0/2更改模式为Hybrid模式

交换机1
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]undo port trunk allow-pass vlan 2 3         # 清除trunk信息
[sw1-GigabitEthernet0/0/1]port link-type hybrid
[sw1-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3

交换机2
[sw2-GigabitEthernet0/0/1]undo port trunk allow-pass vlan 2 3
[sw2-GigabitEthernet0/0/1]port link-type hybrid
[sw2-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3

以太网端口有 3种链路类型:access、trunk、hybird

  • Access类型端口:只能属于1个VLAN,一般用于连接计算机端口;
  • Trunk类型端口:可以允许多个VLAN通过,可以接收和发送多个VLAN 报文,一般用于交换机与交换机相关的接口。
  • Hybrid类型端口:可以允许多个VLAN通过,可以接收和发送多个VLAN 报文,可以用于交换机的间连接也可以用于连接用户计算机。

作者:杨灏