1.VLAN概述
VLAN(Virtual Local Area Network)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成不同网段从而实现虚拟工作组的新兴技术。IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。
VLAN技术允许网络管理者将一个物理的LAN逻辑地划分成不同的广播域(即VLAN)。每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。由于它是逻辑地而不是物理地划分,同一个VLAN内的各个工作站无须被放置在同一个物理空间里,即这些工作站不一定属于同一个物理LAN网段。一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络安全性。
VLAN是为解决以太网的广播问题和安全性而提出的一种协议。它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户二层互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。
VLAN是一个广播域,其中的成员就像共享同一物理网段一样。不同VLAN成员不能直接访问。
在VLAN中,划分在同一广播域中的成员并没有任何物理或地理上的限制,它们可以连接到一个交换网络中的不同交换机上。广播分组、未知分组及成员之间的数据分组都被限定在VLAN之内。
2.VLAN成员划分的方式
VLAN分为以下几种类型,最常用的就是基于端口的VLAN。
(1)基于端口的VLAN。L2设备(交换机,桥接器)的端口分配给了VLAN。由端口接收的任何流量都被认为属于该端口所属的VLAN。目前最普遍的VLAN划分方式是基于端口的静态划分方式。网络管理员将端口划分为某个特定VLAN的端口,连接在这个端口的主机即属于这个特定的VLAN。此种VLAN配置相对简单,对交换机转发性能几乎没有影响,但需要为每个交换机端口配置所属的VLAN,一旦用户移动位置需要对交换机相应端口进行重新设置。
(2)基于MAC地址的VLAN。在该类型的VLAN中,每个交换设备保持追踪网络中的所有MAC地址,根据网络管理器配置的信息将它们映射到相应的虚拟局域网(VLAN)上。在端口接收帧时,根据目的MAC地址查询VLAN数据库,VLAN数据库将该帧所属VLAN的名字返回。该VLAN类型的优势表现在网络设备(打印机或工作站)可在网络内任意移动无需重新配置,但是由于网络上的所有MAC地址需要掌握和配置,所以管理任务较重。
(3)基于协议的VLAN。基于协议的VLAN将物理网络划分成基于协议的逻辑VLAN。在端口接收帧时,它的VLAN由该信息包的协议决定。例如,IP,IPX和Appletalk可能有各自独立的VLAN。IP广播帧只被广播到IPVLAN中的所有端口接收。
(4)基于子网的VLAN。基于子网的VLAN是基于协议的VLAN的一个子集,根据帧所属的子网决定一个帧所属的VLAN。要做到这点,交换机必须查看入帧的网络层包头。这种VLAN划分与路由器相似,把不同的子网分成不同的广播域。
(5)基于组播的VLAN。基于组播的VLAN为组播分组动态创建的。典型的例子就是每个组播分组都与一个不同VLAN对应。这就保证了组播帧只被相应的组播分组成员的那些端口接收。
(6)基于策略的VLAN。基于策略的VLAN是VLAN的最基本的定义。对于每个入(无标签的)帧都查询策略数据库,从而决定该帧所属的VLAN。比如,可以建立一个公司的管理人员之间来往电子邮件的特别VLAN策略,防止这些流量被其他人看见。
3.VLAN的工作原理
每个VLAN相当于一个物理上独立的网桥,不同VLAN成员不能直接访问。VLAN可以跨越交换机,不同交换机上相同VLAN的成员处于一个广播域,可以直接相互访问。由于VLAN的划分是基于交换机的物理端口,交换机从连接主机的某个端口上接收到一个数据帧,交换机知道这个数据帧是属于哪个VLAN的。VLAN运行机制如图6-4所示。(www.xing528.com)
图6-4 VLAN的运行机制
对于连接两台交换机的链路而言,此链路需要承载不同VLAN的数据,连接此链路的交换机端口不属于某个特定VLAN。如果不对数据帧做标记,交换机对从这样的链路上接收到的数据帧将无法确定其所属的VLAN。所以交换机将数据帧发送到这样的链路前必须对数据帧做标记,即为每一个数据帧都被加上了一个标记,用来确定该分组所属的VLAN。故VLAN的标记使交换机能够将来自不同VLAN上的业务流复用到一条物理线路上。
4.VLAN的端口类型
VLAN报文分为tag和untag两种,网络设备的端口类型包括access、trunk、Hybrid三种,分别作如下说明。
1)Tag和untag报文
untag就是普通的ethernet报文,普通PC机的网卡可以识别这样的报文进行通信。tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4Bytes的vlan信息,也就是vlan tag头。一般来说这样的报文普通PC机的网卡是不能识别的,主要用于交换机级联时报文的传递。
2)Access、Trunk和Hybrid
Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口。Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口。配置Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。
Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同在于发送数据Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。
在某些情况下VLAN域内端口未标记VLAN ID,此为缺省VLAN。Access端口只属于一个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置。Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1。
如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口。当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。
3)VLAN转发原则
Access端口收报文,收到一个报文,判断是否有VLAN信息。如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)。Access端口发报文,将报文的VLAN信息剥离,直接发送出去。
trunk端口收报文,收到一个报文,判断是否有VLAN信息。如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃。trunk端口发报文,比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送。
hybrid端口收报文,收到一个报文,判断是否有VLAN信息。如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用)。trunk和hybrid的区别主要是,hybrid端口可以允许多个vlan的报文不打标签,而trunk端口只允许缺省vlan的报文不打标签。hybrid端口发报文:①判断该VLAN在本端口的属性(untag/tag);②如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。