1212 字
6 分钟
【计网 II】虚拟局域网

前言#

在上一节中学到了交换式网络及其冗余算法STP,这一节专注于虚拟局域网——用于分隔不同终端设备权限与广播域划分。


VLAN#

VLAN原理#

我们知道在一个网络中,我们会根据物理位置对用户进行分组,不同用户组会在不同的子网中,这就需要每个用户组的位置相对固定,不够灵活。

虚拟局域网(Virtual LAN, VLAN)是基于逻辑关联而不是物理位置来分隔用户,从而允许管理员以逻辑方式组织局域网。例如:

在交换式网络中,交换机的所有端口都处于同一广播域内,属于同一个IP子网。而VLAN允许多个IP子网存在于一台交换机中或跨多台交换机。这使得不同的终端设备在同一个交换机上逻辑上分隔。例如根据VLAN划分的交换机端口,将一个交换机分成了三个部分,它们可以是不同的子网。

初始情况下,交换机的所有端口均属于VLAN1。

逻辑上分隔的不同端口,即端口处于不同的VLAN, 它们处于不同的广播域,广播无法穿越VLAN

VLAN是在L2层上,基于交换机的端口、MAC地址等信息对网络进行划分不同的小广播域。 它与第三层路由器分隔的广播域有所不同,如图:

拥有VLAN功能的交换机的交换表中会记录每个终端设备所处的VLAN,而终端设备不会知道它处于哪个VLAN中。如下表是一个带有VLAN功能的Switching Table:

L2 address (MAC)PortVLAN
MAC 111
MAC 2322
MAC 3411

交换端口#

在拥有VLAN功能的交换机中,交换机的端口称为 交换端口(switched ports),它有两种基本类型:

  • Access Port :用来连接用户PC、服务器等终端设备的端口。
  • Trunk Port :用于交换机或其他设备 (路由器、防火墙等)之间的互联端口。

我们知道,交换机的不同端口可以属于不同VLAN。Access Port连接着终端设备,它们可以属于不同VLAN,而 Trunk Port连接着不同的交换机,它属于所有VLAN,意味着可以通过它与不同VLAN进行交流 。如下图的例子:

它的交换表可以是这样:

L2 address (MAC)PortVLAN
MAC 111
MAC 2211
MAC 3322
MAC 4 (Other Switch)41, 11, 22 (ALL)

初始情况下,Truck Port只会知道本路由器中的所有VLAN,如1, 11, 22。但是当未被Truck Port记录的未知VLAN,交换机会默认拒绝请求。 不利于多VLAN之间交流。

所以,为了防止出现数据无法通过Trunk Port的问题,在建立VLAN时Trunk口会自动学习与其相连的其他交换机的VLAN信息。 最后所有的交换机都会学习到整个网络所有的VLAN。


VLAN标记#

我们知道Trunk Port属于所有VLAN,那么当数据帧通过Trunk Port传输时,接收端的交换机如何知道该数据帧属于哪个VLAN呢?

答案是 VLAN标记 (VLAN Tagging)。当数据帧通过Trunk Port传输时,发送端交换机会在以太网帧中添加一个 VLAN标签 (VLAN Tag),用于标识该帧属于哪个VLAN。

IEEE 802.1Q 是最常用的VLAN标记协议。它在原始以太网帧头中插入一个4字节的VLAN标签,其中包含:

  • 标签协议标识符 (Tag Protocol Identifier, TPID): 2字节,值为0x8100,用于标识这是一个802.1Q标记的帧。
  • 标签控制信息 (Tag Control Information, TCI): 2字节,包含优先级、CFI和VLAN ID。

其中VLAN ID占12位,理论上可以支持4096个VLAN(实际可用的是1-4094)。

VLAN间通信#

不同VLAN之间默认是无法直接通信的,因为它们处于不同的广播域。如果需要实现VLAN间通信,需要通过 路由器三层交换机 来实现。

传统方法:单臂路由#

单臂路由(Router-on-a-Stick)是实现VLAN间通信的传统方法。路由器通过一个物理接口连接到交换机的Trunk端口,然后在路由器上配置多个子接口,每个子接口对应一个VLAN。

现代方法:三层交换#

三层交换机 集成了交换和路由功能,可以直接在交换机上实现VLAN间路由。每个VLAN可以配置一个 虚拟接口(Switched Virtual Interface, SVI),作为该VLAN的网关。


后记#

本章介绍了虚拟局域网(VLAN)的基本概念、工作原理和实现方法。VLAN技术通过逻辑分割提高了网络的灵活性和安全性,是现代网络设计中的重要技术。

【计网 II】虚拟局域网
https://hoyue.fun/network2_2.html
作者
Hoyue
发布于
2024-01-26
最后更新于
2024-01-26
许可协议
CC BY-NC-SA 4.0
评论