VLAN介绍
一、VLAN
1.1 什么是VLAN
- 名词解释
- VLAN——Virtual local area network——虚拟局域网
- 局域网:指在较小的地理区域内,通过传输介质连接的一组计算机及其外围设备的网络。局域网通常使用交换机来实现设备之间的高速互联,而广域网则主要依赖路由器来连接不同的网络。
- 广播域:指的是在网络中能接收到某一设备发出的广播消息的所有设备的集合。
- (发散) 离散数学中有等价类的概念,我们可将一个局域网中的所有设备看作设备集合G,R:(a能接收到b的广播,其中a,b∈G) 是定义在G上的一个等价关系,因此该等价关系可对集合G做划分,从而形成等价类,每一个等价类即为一个广播域。
- 定义
- VLAN是一种在逻辑上将一个物理局域网划分为多个广播域的技术。
1.2 为什么需要VLAN
- 同一个VLAN中的用户间通信和在同一个局域网内一样,同一个VLAN中的广播只有VLAN中的成员才能听到,而不会传输到其他的VLAN中。同时,若没有路由,不同VLAN之间不能相互通信,将不同VLAN划分定义为不同工作组,VLAN技术可提高不同工作组之间的信息安全性。
- 网络管理员可以通过配置VLAN之间的路由来全面管理网络内部不同工作组之间的信息互访。
1.3 VLAN的作用
- 划分广播域:广播报文被限制在一个VLAN内。
- 增强局域网内通信的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通(仅可通过路由)。
- 提高了网络的健壮性:网络故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,VLAN使得网络构建和维护更方便灵活。
二、VLAN的基本概念
2.1 VLAN标签
- 要使设备能够分辨不同VLAN的报文,需要在链路层帧头中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。
2.2 VLAN帧格式
- 如图:

- 字段解释如图:

- 转发设备利用VLAN标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发。
- 在一个VLAN交换网络中,以太网帧主要有以下两种格式:
- 有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
- 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。

- 注意,因网络中有些设备只会收发Untagged帧(如用户主机),要与这些设备交互,就需要转发设备接口能够识别Untagged帧并在收发时给数据帧添加、剥除VLAN标签,若转发设备收到Untagged帧,则根据某种规则给数据帧打上Tag再进行设备内部处理,该规则后续将详述。因此,网络转发设备内部处理的数据帧均为Tagged帧。
2.3 链路类型和接口类型
网络中属于同一个VLAN的用户可能会被连接在不同的转发设备上,且在该不同转发设备上定义的VLAN种类可能不止一个,若需要实现连接在不同转发设备上的用户间的互通,就需要转发设备的接口能够同时识别和发送多种VLAN数据帧。
- 链路类型:根据链路中需要承载的VLAN数目的不同,以太网链路分为以下两类
- 接入链路
- 接入链路只可以承载一类VLAN的数据帧,该链路用于连接转发设备和用户终端(如用户主机、服务器等)。
- 通常情况下,用户终端并不需要知道自己属于哪个VLAN,所以在接入链路上传输的帧都是Untagged帧。
- 干道链路
- 干道链路可以承载多类VLAN的数据帧,该链路用于转发设备间互连。
- 为了保证其它转发设备能够正确知晓数据帧所属的VLAN(如VID)信息,在干道链路上传输的数据帧必须都打上Tag。
- 接入链路
- 接口类型:根据接口连接对象以及对收发数据帧处理的不同,以太网转发设备接口分为以下三类
- Access接口
- Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。
- 它只能收发Untagged帧,且只能为Untagged帧添加唯一的VLAN Tag。
- Trunk接口
- Trunk接口一般用于连接交换机、路由器、AP及可同时收发Tagged帧和Untagged帧的网络设备。
- Trunk接口可以允许多种VLAN的帧携带VLAN Tag通过,但只允许携带唯一的某类VLAN Tag的数据帧从该接口上发出时剥除VLAN Tag。
- Hybrid接口
- Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等)和网络设备(如Hub集线器),也可以用于连接交换机、路由器及可同时收发Tagged帧和Untagged帧的网络设备。
- 它允许多种VLAN的帧携带VLAN Tag通过,且允许根据需要配置某类VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)从该接口上发出。
- Access接口
- PVID(Port Default VLAN ID)
- 转发设备处理的数据帧都带Tag,当设备收到Untagged帧时,就需要给该帧添加Tag,添加什么Tag,就由接口上的PVID决定。
- PVID默认是1,当端口被分到VLAN n中去时,PVID就默认是n。
- 不同类型接口添加或剥除VLAN Tag的信息表格
- 由表可知,Access接口发出的数据帧肯定不带Tag,Trunk接口发出的数据帧只有一种VLAN的数据帧不带Tag,其他都带VLAN标签,Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。
三、VLAN的划分方式
3.1 静态VALN
- 静态VLAN也叫做基于端口的VLAN。从意思也能理解,它是固定不变的,就是明确指定交换机各端口属于哪个VLAN的设定方法。
- 优点
- 定义的VLAN成员很简单明了。
- 缺点
- 由于需要依次指定端口所属VLAN,因此当网络设备较多时网络管理员的定义及管理工作量较大,因此静态VLAN不适合需要频繁改变拓补结构的网络和大型网络。
- 优点
3.2 动态VLAN
- 动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。这可避免上述更改设定等操作。动态VLAN可以大致分为3类
- 基于MAC地址的VLAN(MAC Based VLAN)
- 基于MAC地址的VLAN,即通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。
- 该方法需在转发设备内提前设置终端设备MAC地址所对应的VLAN种类。
- 基于子网的VLAN(Subnet Based VLAN)
- 基于子网的VLAN,则是通过所连计算机的IP地址,来决定端口所属VLAN的。
- 该方法需在转发设备内提前设置终端设备IP地址所对应的VLAN种类。
- 基于用户的VLAN(User Based VLAN)
- 基于用户的VLAN,则是根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN。
- 基于转发设备端口的VLAN(VLAN based on switch port)
- 基于MAC地址的VLAN(MAC Based VLAN)
四、VLAN的通信
4.1 同一VLAN内且同一交换机内的通信
- 可直接在该交换机内转发数据帧
4.1 同一VLAN内且不同交换机间的通信
- 使用汇聚链接


- 不再考虑设置专属VLAN端口直连
- 该办法的可扩展性和管理效率均较差。
4.2 不同VLAN间且同一交换机内的通信 / 不同VLAN间且不同交换机间的通信
不同VLAN间互相通信时需要用到路由功能
- 使用路由器

五、疑问及解答
- 不同VLAN下的主机IP地址一定属于不同子网吗?是否可以在不同VLAN下设置相同子网的IP,只是设置不允许通过交换机访问不同VLAN端口从而实现隔离?这是概念问题吗?
- 解答:这要看你使用动态VLAN时划分VLAN的依据是什么。
- 静态VLAN:只要网络管理员设定,可以在不同VLAN下设置相同子网的IP,即使两个用户终端互相判定对方与自己同属一个子网,但只要网管设定二者属于不同VLAN,那么两个用户终端便不在同一等价类中,即不在同一广播域中。
- 动态VLAN:注意,VLAN用来划分广播域,因此如果是基于MAC划分,那么不同VLAN下设置相同子网的IP是可行的(具体原因同静态VLAN);如果是基于IP地址划分,不同VLAN下设置相同子网的IP就是不可行的,因为属于不同的VLAN,属于相同的子网,这两个命题的异或必须为1。
- 解答:这要看你使用动态VLAN时划分VLAN的依据是什么。

文章介绍VLAN的基本定义、原理、实现方式等内容。
浙公网安备 33010602011771号