概述
VLAN( Virtual Local Area Network)的中文名为"虚拟局域网"。VLAN 是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。IEEE 于 1999 年颁布了用以标准化 VLAN 实现方案的 802.1Q 协议标准草案。
VLAN 技术的出现,使得管理员根据实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个 VLAN 都包含一组有着相同需求的计算机工作站,与物理上形成的 LAN 有着相同的属性。由于它是从逻辑上划分,而不是从物理上划分,所以同一个 VLAN 内的各个工作站没有限制在同一个物理范围中,即这些工作站可以在不同物理 LAN 网段。由 VLAN的特点可知,一个 VLAN 内部的广播和单播流量都不会转发到其他 VLAN 中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。
1.1 技术优点
VLAN 是为解决以太网的广播问题和安全性而提出的一种协议,它的优点如下:
①广播风暴防范
限制网络上的广播,将网络划分为多个 VLAN 可减少参与广播风暴的设备数量。LAN 分段可以防止广播风暴波及整个网络。
②安全性
增强局域网的安全性,含有敏感数据的用户组可与网络的其余部分隔离,从而降低泄露机密信息的可能性。
③性能提高
将第二层平面网络划分为多个逻辑工作组(广播域)可以减少网络上不必要的流量并提高性能。
④增加网络连接的灵活性
借助 VLAN 技术,能将不同地点、不同网络、不同用户组合在一起,形成一个虚拟的网络环境,就像使用本地 LAN 一样方便、灵活、有效.
2.VLAN 介绍
2.1 VLAN 工作原理
图 1 VLAN 原理示意图
VLAN 与普通局域网从原理上讲没有什么不同,但从用户使用和网络管理的角度来看, VLAN与普通局域网最基本的差异体现在:VLAN 并不局限于某一网络或物理范围, VLAN 中的用户可以位于一个园区的任意位置,甚至位于不同的国家。
2.2VLAN 的划分
①基于端口划分的 VLAN
Port VLAN, 基于端口的 VLAN, 这种划分 VLAN 的方法是根据以太网交换机的端口来划分,即明确指定各端口属于哪个 VLAN。
这种划分的方法的优点是定义 VLAN 成员时非常简单只要将所有的端口都定义一下就可以了。它的缺点是如果 VLAN 的用户离开了原来的端口到了一个新的交换机的某个端口那么就必须重新定义,不适合那些需要频繁改变拓扑结构的网络,并且当网络中的计算机数目超过一定数量(比如数百台)后,设定操作就会变得烦杂无比。
②基于 MAC 地址划分的 VLAN
这种划分 VLAN 的方法是根据每个主机的 MAC 地址来划分即对每个 MAC 地址的主机都配置他属于哪个 VLAN 组。
这种划分 VLAN 的方法的最大优点就是当用户物理位置移动时即从一个交换机换到其他的交换机时,VLAN 不用重新配置。这种方法的缺点是,在设定时必须调查所有连接的计算机的 MAC地址并加以记录,如果计算机交换了网卡,还需要更改设定。
③基于网络层划分的 VLAN
这种划分 VLAN 的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的。例如,用 IP 地址分组的用户形成一个 VLAN。
这种方法的优点在于用户的位置改变了, 不需要重新配置所需的 VLAN,而且可以根据协议类型来划分 VLAN。而且不需要附加帧标签来识别 VLAN,以减少网络通信量。这种方法的缺点是效率低,需要花费时间资源来检查每个数据包的网络层地址。
④根据 IP 组播划分 VLAN
IP 组播实际上也是一种 VLAN 的定义, 即认为一个组播组就是一个 VLAN, 这种划分的方法将 VLAN 扩大到了广域网, 因此这种方法具有更大的灵活性, 而且也很容易通过路由器进行扩展, 当然这种方法不适合局域网, 主要是效率不高。
2.3 相关术语
2.3.1 IEEE 802.1Q标准
IEEE 于 1999 年正式签发了 802.1Q 标准, 即 Virtual Bridged Local Area Networks 协议。IEEE802.1Q 标准定义了 VLAN 网桥操作,从而允许在桥接局域网结构中实现定义、运行以及管理 VLAN 拓朴结构等操作。Tag VLAN 基于 IEEE 802.1Q( VLAN 标准),用 VID( VLAN ID)来划分不同的 VLAN。
图 2 802.1Q 帧格式
①VLAN Identified( VID ):这是一个 12 位的域, 指明 VLAN 的 ID, 一共 4096 个, 每个支持 802.1Q 协议的主机发送出来的数据包都会包含这个域以指明自己所属的 VLAN。
②Canonical Format Indicator( CFI ):这一位主要用于总线型的以太网与 FDDI、 令牌环网交换数据时的帧格式。
③Priority:这 3 位指明帧的优先级一共有 8 种优先级主要用于当交换机阻塞时优先发送优先级高的数据包。
2.3.2 VID
VID,即交换机入站数据帧的 VLAN 标识号。交换机根据入站数据帧的 VLAN 标识号( VID)将它们分类,无标号的为一类,标号相同的为一类。交换机根据 VID 来决定转发或者丢弃一个数据包,同时交换机也可以分配一个 VID 给一个无标记帧或者贴了优先级标记的帧。
如果一个数据帧没有标记 VID,交换机将会分配一个 VID 给它,并把这个 VID 插到它的帧头中,这个过程叫做贴 VLAN 标签。交换机通过这个过程来处理包的转发,来填写数据帧的 VLAN或者优先级信息的标记字段。管理员可以设置优先级别来选择 VLAN 类型, 选择 VID 值。
2.3.3 PVID
PVID 为 Port-base VLAN ID,也就是端口的虚拟局域网 ID 号,关系到端口收发数据帧时的VLAN Tag 标记。PVID 是在划分 VLAN 时候每个端口都有的属性。
交换机上的端口分为三种, 一种是接入层端口直连设备的,叫做 Access;一种是交换机和交换机之间的端口负责汇聚的叫做 Trunk,还有一种是Access与 Trunk混合的模式,叫做 Hybrid。
Access 端口负责接终端设备,他收到一个帧的时候,如果帧这个没有标记他就用自己的PVID 给他打上标记,他在发出一个帧时如果 VID=PVID 就去掉标记以保证传送给终端设备的帧没有被变动过。ACCESS 端口的特点是只允许符合 PVID 的流量通过。
Trunk 的意思是,它是一条中继链路,允许各种 VLAN 通过。它的规则和 Access 差不多,当收到一个没有tag的标记的时候就用自己的 PVID给他标记,当发送一个帧时候如果 VID=PVID则去掉 PVID,与 Access 不同的是, Trunk 有一个属于自己的本征 VLAN,用来发送一些 CDP,BPDU 等交换机间联系的数据或者管理流量,从交换机自身产生的帧在发出去的时候是不会带标记的,因为 VID=PVID 所以标记被去掉,而对端接收到没有标记的帧时候就会用自身本征 VLAN的信息给他加上标记,然后查看交换表如果发现目的地址是自己则去掉标记,如果发现目的 MAC地址不是自己则继续转发给其他 Trunk 同时去掉标记。
Hybrid 是 Access 与 Trunk 的混合模式,它允许 VID=PVID。Hybrid 与 Trunk 一样,在该端口上可以传送多个 VLAN 的包,一般用于交换机与交换机之间,或者交换机与服务器之间的链接。如果收到的数据包不带 VLAN,则加上 PVID 进行转发;如果收到的数据包带 VLAN,则判断该端口是否允许该 VLAN 进入,如果可以则进行转发,否则丢弃。
2.3.4 端口处理报文方式
A.端口对发送报文的处理
①Access 端口:将报文的 VLAN 标签剥离,直接发送出去。
②Trunk 端口:1.比较端口的 PVID 和将要发送报文的 VLAN 标签;
2.如果两者相等则转到第 3 步,否则转到第 4 步;
3.剥离 VLAN 标签,再发送;
4.直接发送
B.端口对接收报文的处理
①Access 端口:
1.收到一个报文;
2.判断是否有 VLAN 标签:如果没有则转到第 3 步,否则转到第 4 步;
3.打上端口的 PVID,并进行交换转发;
4.若 VLAN 标签和 PVID 一致,转发 VLAN 帧,否则丢弃
②Trunk 端口:
1.收到一个报文;
2.判断是否有 VLAN 标签:如果没有则转到第 3 步, 否则转到第 4 步;
3.打上端口的 PVID,并进行交换转发;
4.判断该 trunk 端口是否允许该 VLAN 帧进入:如果可以则转发,否则丢弃
2.4 VLAN 之间互通
图 3 不同 VLAN 间通过路由器通信
①同一 VLAN 的计算机之间的通信处理在交换机内完成。
②不同 VLAN 间通信时,即使通信双方都连接在同一台交换机上,也必须经过如下流程:发送方——交换机——路由器——交换机——接收方
3.参考文献
IEEE802.1Q
VID
PVID