VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。划分的相同VLAN的主机可以相互通信,其工作在二层,不能实现三层的通信,也就是不能实现VLAN间的通信,而VLAN间的通信必须引入路由技术。下面将介绍二层VLAN和三层VLAN的特点和技术。
传统二层网络
- 传统的交换机工作在二层,也就是工作在同一个广播域之中,这样随着主机数量的增加,共享网络中的冲突会越来越严重,交换网络中的广播也会越来越多。为此如果需要交换机实现不同广播域的隔离可以引入路由设备,但成本也会随机而高。为此人们设想在物理局域网上构建多个逻辑局域网,即VLAN。
VLAN技术
- 工作原理
数据链路层,用于隔离二层流量。同一个VLAN内的主机共享同一个广播域,它们之间可以直接进行二层通信。而VLAN间的主机属于不同的广播域,不能直接实现二层互通。
- 报文格式
- 通过Tag区分不同VLAN。
- TPID:Tag Protocol Identifier,2字节,固定取值,0x8100,是IEEE定义的新类型,表明这是一个携带802.1Q标签的帧。
- TCI:Tag Control Information,2字节。帧的控制信息,详细说明如下:
- Priority:3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。当交换机阻塞时,优先发送优先级高的数据帧。
- CFI:Canonical Format Indicator,1比特。CFI表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。
- VLAN Identifier:VLAN ID,12比特,可配置的VLAN ID取值范围为0~4095,0和4095为保留的VLAN ID,不能给用户使用。
- PVID
PVID(Port VLAN ID)表示端口在缺省情况下所属的VLAN(缺省pvid为1)。交换机收到的帧有可能是Untagged的数据帧,但所有以太网帧在交换机中都是以Tagged的形式来被处理和转发的,因此交换机端口收到的Untagged数据帧必须添加上Tag。
- 链路类型
VLAN链路分为两种类型:Access链路和Trunk链路。后面还会说到混合( Hybrid )类型
- 接入链路(Access Link):连接用户主机和交换机的链路称为接入链路。如本例所示,图中主机和交换机之间的链路都是接入链路。
- 干道链路(Trunk Link):连接交换机和交换机的链路称为干道链路。干道链路上通过的帧一般为带Tag的VLAN帧。
Access端口:
收:端口收到的帧是untagged(不带VLAN标签),加上该端口的PVID;收到对端设备发送的帧是tagged(带VLAN标签),检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
发:总是先剥离帧的Tag,然后再发送。Access端口发往对端设备的以太网帧永远是不带标签的帧。
trunk端口(***):
收:接收到不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的 VLAN ID列表 中,则接收该报文,否则丢弃该报文。接收带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表 中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文。否则丢弃该报文。
发:端口发送数据帧时,当VLAN ID与端口的PVID相同,且是该端口允许通过的VLAN ID时,去掉Tag,发送该报文。当VLAN ID与端口的PVID不同,且是该端口允许通过的VLAN ID时,保持原有Tag,直接转发报文。
Hybrid端口:
Access端口发往其他设备的报文,都是Untagged数据帧,而Trunk端口仅在一种特定情况下才能发出untagged数据帧,其它情况发出的都是Tagged数据帧。
- Hybrid端口既可以连接主机,又可以连接交换机。
- Hybrid端口可以以Tagged 或Untagged方式加入VLAN 。
- Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉。
- 划分方法
端口的VLAN划分方法在实际中最为常见。
配置命令:
[SWA]vlan 10 // 创建vlan
[SWA]vlan batch 2 to 3 // 批量创建vlan
[SWA]interface GigabitEthernet 0/0/5
[SWA-GigabitEthernet0/0/5]port link-type access // 配置为接入接口
[SWA]vlan 2
[SWA-vlan2]port GigabitEthernet 0/0/7 // 将接口加入vlan中 方法一
[SWA-vlan2]quit
[SWA]interface GigabitEthernet0/0/5
[SWA-GigabitEthernet0/0/5]port default vlan 3 // 方法二
[SWA-GigabitEthernet0/0/1]port link-type trunk // 配置端口
[SWA-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3 // 配置接口允许通过的vlan
[SWA-GigabitEthernet0/0/1]port link-type hybrid // 配置为混合端口
[SWA-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3 100 // 配置交换机之间允许通过的vlan
[SWA-GigabitEthernet0/0/2]port hybrid pvid vlan 2 // 配置接口默认的pvid,一般在与主机相连的接口上
[SWA-GigabitEthernet0/0/2]port hybrid untagged vlan 2 100 // 配置允许通过的vlan