VLAN虚拟局域网知识笔记之(一)
VLAN基本原理和数据包分析
随着网络中计算机的数量越来越多,传统的以太网络开始面临冲突严重、广播泛滥以及安全性无法保障等各种问题。
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。
背景 -- 传统以太网
随着主机数量的增加,共享网络中的冲突会越来越严重,交换网络中的广播也会越来越多。
早期的局域网LAN技术是基于总线型结构的,它存在以下主要问题:
①若某时刻有多个节点同时试图发送消息,那么它们将产生冲突。
②从任意节点发出的消息都会被发送到其他节点,形成广播。
③所有主机共享一条传输通道,无法控制网络中的信息安全。
这种网络构成了一个冲突域,网络中计算机数量越多,冲突越严重,网络效率越低。同时,该网络也是一个广播域,当网络中发送信息的计算机数量越多时,广播流量将会耗费大量带宽。
因此,传统局域网不仅面临冲突域太大和广播域太大两大难题,而且无法保障传输信息的安全。
为了扩展传统LAN,以接入更多计算机,同时避免冲突的恶化,出现了网桥和二层交换机,它们能有效隔离冲突域。网桥和交换机采用交换方式将来自入端口的信息转发到出端口上,克服了共享网络中的冲突问题。但是,采用交换机进行组网时,广播域和信息安全问题依旧存在。
为限制广播域的范围,减少广播流量,需要在没有二层互访需求的主机之间进行隔离。路由器是基于三层IP地址信息来选择路由和转发数据的,其连接两个网段时可以有效抑制广播报文的转发,但成本较高。因此,人们设想在物理局域网上构建多个逻辑局域网,即VLAN。
VLAN技术
VLAN能够隔离广播域。
VLAN技术可以将一个物理局域网在逻辑上划分成多个广播域,也就是多个VLAN。
VLAN技术部署在数据链路层,用于隔离二层流量。
同一个VLAN内的主机共享同一个广播域,它们之间可以直接进行二层通信。而不同VLAN间的主机属于不同的广播域,不能直接实现二层互通。这样,广播报文就被限制在各个相应的VLAN内,同时也提高了网络安全性。
本例中,原本属于同一广播域的主机被划分到了两个VLAN中:即VLAN1和VLAN2。VLAN内部的主机可以直接在二层互相通信,VLAN1和VLAN2之间的主机无法直接实现二层通信。
VLAN帧格式
VLAN是通过数据帧中的tag来进行区分的。
下图是一个正常的以太网(Ethernet)帧格式,其中包括:
① 6字节的DMAC字段(目的MAC地址)。
② 6字节的SMAC字段(源MAC地址)。
③ 2字节的Type字段(帧协议类型以及后续数据的字节长度,但不包括CRC检验码)。
④ 46~1500字节的Data字段(封装数据的字段,最大传输单元MTU即1500字节)。
⑤ 4字节的FCS字段(循环冗余校验位,也称为CRC)。
总长度范围为64~1518字节,关于以太网帧格式的更详细知识,以后会另开一个网络基础知识笔记详谈。
VLAN采用IEEE 802.1Q标准对Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag。如下图所示:
802.1Q Tag主要分为两个部分:TPID和TCI。
(1)TPID
TPID(即Tag Protocol Identifier,占2字节)。当取值为0x8100时表示802.1Q Tag帧(固定取值)。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
(2)TCI
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,不能给用户使用。
Tips:VLAN ID知识的补充
交换机在初始情况下,默认所有的端口的VLAN ID(PVID)都为1。
VLAN报文抓包示例
以太网技术在网络中的大量部署,VLAN ID只有12比特所表示的4096个VLAN,无法满足以太网中对大量用户进行标识的需求。所以后来又提出了一个新的技术 -- QinQ技术。简单地说就是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能,达成使私网VLAN穿透公网的目的。这个以后若有时间,会对这个技术再做研究笔记。
链路类型
用户主机和交换机之间的链路为接入链路,交换机与交换机之间的链路为干道链路。
VLAN链路分为两种类型:Access链路和Trunk链路。
接入链路(Access Link):连接用户主机和交换机的链路称为接入(Access)链路。如本例所示,图中主机和交换机之间的链路都是接入链路。
干道链路(Trunk Link):连接交换机和交换机的链路称为干道(Trunk)链路。如本例所示,图中交换机之间的链路都是干道链路。干道链路上通过的帧一般为带Tag的VLAN帧。
本节笔记主要介绍了VLAN的基本背景和原理,详细讨论了VLAN帧的格式中每个字段的含义,以及涉及的VLAN链路类型。下一节笔记会着重介绍VLAN的端口类型以及配置方法,然后抓包查看现象,再讨论VLAN划分的方法。敬请期待。