之前我们学习了以太网的基础知识,了解了网络交换设备的发展,交换机的工作原理,广播域和冲突域。
一、概述
还简单了解了以太网的CSMA/CD通讯机制,以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。CSMA/CD是一种媒体访问控制方法,用于解决网络中多个节点同时发送数据时可能发生的冲突。在CSMA/CD协议中,所有节点在发送数据前都会先侦听信道是否空闲。如果信道空闲,节点会发送数据;如果信道忙碌,节点则会等待一段时间后再次侦听。当两个或更多的节点同时发送数据时,会导致信号发生碰撞。当发生碰撞时,节点会检测到冲突并停止发送数据。其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。
大家可以想象一下多个交换机串联在一起,有几十台或者几百台交换机进行连接时候,那时候所有的广播数据需要整个网络泛洪会出现什么情况?为了解决这个问题出现了VLAN (Virtual Local Area Network)虚拟局域网,用于隔离广播域。
传统以太网现象:
划分VLAN后:
二、VLAN的定义与数据格式
2.1 VLAN的原理
VLAN (Virtual Local Area Network)虚拟局域网,特点:
-
不受地域限制。 -
同一VLAN内的设备才能直接进行二层通信。
其实可以理解为在交换机内部进行分组,打上标签,属于同组的端口才会进行互相通信。数据链路还是需要通过物理链路进行数据传输的,VLAN只是基于端口进行逻辑隔离。
VLAN通过标签识别不同VLAN,VLAN标签 (VLAN Tag)。在二层数据帧直接插入一个VLAN标签。
VLAN的实现:没有Tag的原始数据帧进入交换机端口被依据IEEE 802.1Q标准(也被称为Dot1Q)定义了一个标记。
2.2 VLAN的划分方式
有多种划分VLAN的方式,一般常用的就是基于交换机的端口进行划分,其他的比较少见。
VLAN的范围:1~4094,交换机的默认VLAN,VLAN 1,默认交换机所有端口都属于VLAN 1,属于同一个广播域。
三、VLAN的接口类型
思考下,两台交换机都有不同的VLAN,然后交换机间通过线缆连接,那两个连接的接口划分什么VLAN才能使不同VLAN通信呢,配置接口为单个VLAN肯定不能实现全部VLAN互通是吧,因此在二层网络VLAN提供了三种不同的接口类型,以实现不同的功能与使用。
3.1 ACCESS接口
VLAN ID,数据帧中携带的VLAN号,PVID,端口的默认VLAN ID。默认为VLAN1。
ACCESS接口仅允许VLAN ID与接口PVID相同的数据帧通过。
简单讲就是接口配置了VLAN后,数据帧进入端口会打上PVID,转发数据时,只会从相同PVID接口转发,就是不同VLAN不会转发和泛洪。
注意:数据帧在交换机内部都是带有VLAN Tag的,只有在发出时才会根据PVID进行剥离或者转发。
一般用于连接电脑、服务器等终端设备。
3.2 Trunk接口
对于Trunk接口,除了要配置PVID外,还必须配置允许通过的VLAN ID列表,其中VLAN 1是默认存在的。
Trunk口有一个允许通信的VLAN列表,只有在允许列表才允许通过。允许多个VLAN通过,只允许PVID的数据帧剥离为无tag数据。
Trunk接口特点:
-
Trunk接口仅允许VLAN ID在允许通过列表中的数据帧通过。 -
Trunk接口可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Trunk口一般用于交换机之间,Trunk接口还可以用于连接无线AP实现本地转发,以及通过一些特殊配置实现不同VLAN通信。
3.3 Hybrid接口
交换机Hybrid接口是一种特殊的端口模式,它结合了Access接口和Trunk接口的功能。这种接口模式允许多个VLAN的流量通过,并且可以指定哪些VLAN的数据帧被剥离标签。Hybrid接口的主要特点是它具有高隔离度的波分和复用功能,可以实现多个VLAN之间的灵活通信和访问控制。
Hybrid接口特点:
-
Hybrid接口仅允许VLAN ID在允许通过列表中的数据帧通过。 -
Hybrid接口可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag、某些VLAN的帧不带Tag。 -
与Trunk最主要的区别就是,能够支持多个VLAN的数据帧,不带标签通过。
Hybrid接口结合了access和trunk接口的特点,但是好像我实践中用得比较少,一般如果是标准配置上述两个接口也已经足够了。
四、VLAN的最佳实践
现实情况下可以灵活使用几种接口实现需求。 配置:
# 创建VLAN
[Huawei] vlan vlan-id
# 批量创建vlan
[Huawei] vlan batch { vlan-id1 [ to vlan-id2 ] }
# 配置接口类型为ACCESS,必须创建和VLAN才能进行划分VLAN ID
[Huawei-GigabitEthernet0/0/1] port link-type access
# 配置Access的默认VLAN
[Huawei-GigabitEthernet0/0/1] port default vlan vlan-id
# 配置接口类型Trunk口
[Huawei-GigabitEthernet0/0/1] port link-type trunk
# 配置trunk接口放行列表
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }
# 配置trunk的默认VLAN
[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan vlan-id
# 配置接口类型Hybrid
[Huawei-GigabitEthernet0/0/1] port link-type hybrid
# 配置接口untagged或者tagged的vlan
[Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
# 配置Hybrid接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id
# hybrid接口隐含配置
port link_type hybrid
port hybrid pvid vlan 1
port hybrif untagged vlan 1
总结:以太网通过VLAN实现隔离广播域,一般通过接口进行VLAN划分,现实中一般是一个VLAN对应一个子网网段。有三种接口类型,用得较多的是ACCESS用于连接终端,Trunk用于交换机之间互联,Hybrid可以灵活实现复杂的VLAN通信,使用没有那么多。
本文由 mdnice 多平台发布