购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 虚拟局域网(VLAN)基础

传统的局域网存在广播风暴和小区宽带用户隔离的问题。为了解决这两个问题,提出了VLAN技术。

传统的局域网使用的是集线器(Hub),Hub只有一根总线,一根总线就是一个冲突域。所以传统的局域网是一个扁平的网络,一个局域网属于同一个冲突域。任何一台主机发出的报文都会被同一冲突域中的所有其他机器接收到。后来,组网时使用二层交换机代替集线器,每个端口可以看成是一根单独的总线,冲突域缩小到每个端口,使得网络发送单播报文的效率大大提高,极大地提高了二层网络的性能。但是假如一台主机发出广播报文,设备仍然可以接收到该广播信息,通常把广播报文所能传输的范围称为广播域,交换机在传递广播报文的时候依然要将广播报文复制多份,发送到网络的各个角落。随着网络规模的扩大,网络中的广播报文越来越多,广播报文占用的网络资源越来越多,严重影响网络性能,这就是所谓的广播风暴问题,最坏情况下,广播风暴可以使整个网络瘫痪。

此外,随着Internet的快速发展,许多小区构建了自己的小区宽带网络,用户通过LAN直接接入Internet。在这种LAN接入方式中,应该考虑的一个重要问题就是用户之间的隔离问题。由于在局域网环境中,接入到局域网的用户都处于同一个广播域中,也就是一个用户在通过局域网进行通信时,发出的广播信息同样能够被其他用户监听到。在一般的局域网网络环境下,当接入到同一LAN的不同用户处于互相信任的关系时,这种情况并不会产生严重的安全问题。但是,一般情况下,接入到同一LAN的各个用户之间都互不相干,即他们之间不存在互相信任的基础。因此,接入到LAN中的用户一般都不希望自己网络的通信信息被其他用户所获得。这时,就要求在实现LAN的接入中,充分考虑各个接入用户的隔离问题。

由于工作原理本身的限制,传统二层交换机对广播风暴和用户隔离问题无能为力。为了提高网络的效率,一般需要将网络进行分段,把一个大的广播域划分成几个小的广播域。

VLAN是将一个物理上互联的局域网交换网络划分为逻辑上相互隔离的虚拟局域网络。一个VLAN在逻辑上等价于一个广播域,如图2-4所示。

图2-4 VLAN划分示意图

VLAN技术的出现打破了传统网络的许多固有观念,使网络结构变得灵活、方便。在局域网交换技术中,虚拟局域网是一种迅速发展的技术。此种技术的核心是通过路由和交换设备,在网络的物理拓扑结构基础上建立一个逻辑网络,以使得网络中任意几个LAN段或单站能够组合成一个逻辑上的局域网。LAN交换设备给用户提供了非常好的网络分段能力、极低的报文转发延迟以及很高的传输带宽。LAN交换设备能够将整个网络逻辑分成许多虚拟工作组。此种逻辑上被划分的虚拟工作组通常就被称为虚拟局域网。近年来,各大主要的LAN设备厂商均在其交换LAN方案中集成虚拟局域网技术。

在引入交换技术之后,人们可以在第2层上将网络划分成更小的分段。这样做的好处是各网段的带宽将得以提高,而网络中的路由器可以集中力量做好广播数据的隔离工作。此时一个广播域可以跨越多个交换的网段,从而使得在一个广播域中提供对500个甚至更多用户的支持也不再是什么困难的事。但是,大量的交换设备将网络分成越来越多的网段并不能降低对于广播数据隔离的要求。在这种网络中仍然要使用路由器,而一个广播域通常只能包含100~500个用户。

VLAN代表着一种不用路由器对广播数据进行隔离的解决方案。在VLAN中,对广播数据的隔离将由交换机完成。此时,每一个物理网段可以仅包含一个用户,而一个广播域中则可以具有多达1000个以上的用户。另外,VLAN还可以跟踪各个工作站物理位置的变动,使之在移动位置之后不需要对其网络地址重新进行手工配置。VLAN一方面建立在局域网交换机(如以太网交换机、ATM交换机等)的基础之上;另一方面,VLAN是局域交换网的灵魂。VLAN充分体现了现代网络技术的重要特征,即高速、灵活、管理简便和容易扩展。

2.3.1 VLAN的划分方法

VLAN划分方法指的是在一个VLAN中包含哪些站点(包括服务器和客户站),采用何种方法将这些站点划分到同一个VLAN中。处在同一个VLAN中的所有成员(站点)将共享广播数据,而这些广播数据将不会被扩散到其他VLAN的站点那里。VLAN划分的方法如下。

(1)按交换机端口号划分VLAN

按交换机端口号来划分VLAN是划分虚拟局域网最简单也是最有效的方法。使用这种方法,网络管理员只需管理和配置交换机端口,而不管交换机端口连接什么设备。如图2-5所示,端口1和端口7被指定属于VLAN 5,端口2和端口10被指定属于VLAN 10。主机A和主机C连接在端口1和端口7上,因此它们就属于VLAN 5;同理,主机B和主机D属于VLAN 10。

图2-5 按交换机端口号划分VLAN

按交换机端口号划分的优点如下。

1)易于理解和管理。

2)厂商常用的方法。

3)在一个企业中,对于连接不同交换机的用户,可以创建用户的逻辑分组。

4)由于端口可以连接集线器,而集线器支持共享介质的多用户网络,因此,按交换端口号的分组方法能够将两个或多个共享介质的网络分为一组。

按交换机端口号划分的缺点如下。

1)当工作站移动到新的端口时,必须对用户进行配置。

2)每个端口不能加入多个VLAN。

(2)按MAC地址划分VLAN

由于只有网卡才分配有MAC地址,因此按MAC地址划分VLAN,该VLAN是一些MAC地址的集合,如图2-6所示。当设备移动时,网络管理需要管理和配置设备的MAC地址。很显然,如果网络规模很大,设备很多,则会给管理带来难度。

图2-6 按MAC地址划分VLAN

这种方法由网管人员指定属于同一个VLAN中的各客户端的MAC地址。用MAC地址进行VLAN成员的定义和划分,实际上是将某些工作站和服务器划分给某个VLAN。由于MAC地址是固化在网卡中的,故移至网络中另外一个地方时,它将仍然保持其原先的VLAN成员身份而无须网管人员对其进行重新配置,VLAN能自动识别。因此,用MAC地址定义的VLAN可以看成是基于用户的VLAN。另外,在此种方式中,同一个MAC地址处于多个VLAN中是不成问题的。

这种方法的不足之处是:首先,所有用户最初都必须被手工配置到至少一个VLAN中,只有经过这种手工配置之后,方可实现对VLAN成员的自动跟踪,但在大型的网络中完成初始配置并不是一件容易的事;其次,在共享媒体环境下,当多个不同VLAN的成员同时存在于同一个交换端口时,可能会导致严重的性能下降;最后,在此种VLAN中的交换设备之间进行VLAN成员身份信息的大规模交换时,也会引起性能降低。

(3)按第3层协议划分VLAN

基于第3层协议的VLAN在决定VLAN成员身份时,主要是考虑协议类型(支持多协议的情况下)或网络层地址(如TCP/IP网络的子网地址),如图2-7所示。此种类型的VLAN划分需要将子网地址映射到VLAN,交换设备则根据子网地址而将各主机中MAC地址的同一个VLAN联系起来。交换设备将决定哪些网络端口上连接的主机属于同一个VLAN。但应注意,此处对于第3层信息的使用并不构成路由功能,不应将其同网络层路由混淆起来。因为在交换设备使用报文的IP地址决定VLAN成员身份时,并没有进行任何路由计算,也没有使用任何路由协议,交换设备只是根据生成树算法在其他各端口之间进行帧的转发。因此,从这个意义上讲,任一VLAN内部的连接仍然是一种平板式的桥接拓扑结构。

在第3层定义VLAN有许多优点。首先,可以根据协议类型进行VLAN的划分,这对于那些基于服务或基于应用VLAN策略的网管人员无疑是极具吸引力的;其次,用户可以自由地移动他们的主机而无须对网络地址进行重新配置,并且在第3层上定义VLAN将不再需要报文标识,从而可以消除因在交换设备之间传递VLAN成员信息而花费的开销。

图2-7 按第3层协议划分VLAN

第3层VLAN方法同前两种方法相比,其缺点是存在性能问题。对报文中的网络地址进行检查将比对数据帧中的MAC地址进行检查开销更大。正是由于这个原因,使用第3层信息进行VLAN划分的交换设备,一般都比使用第二层信息进行VLAN划分的交换设备更慢。目前第3层交换器的出现,会大大改善VLAN成员间的通信效率。

在第3层上所定义的VLAN对于TCP/IP特别有效,但对于其他一些协议,如IPX、DECnet和Apple则要差一些,并且对于那些不可进行路由选择的一些协议,如NetBIOS,在第3层上实现VLAN划分将特别困难。因为使用此种协议的主机是无法互相区分的,所以,也就无法将其定义成某个网络层VLAN的一员。

(4)按IP组播划分VLAN

IP组播代表着一种与众不同的VLAN定义方法。但在此种分组方法中,VLAN作为广播域的基本概念仍然适用,各站点可以自由地决定参加到哪一个或哪一些IP组播组中。一个IP组播组实际上是用一个D类地址表示的,当向一个组播组发送一个IP报文时,此报文将被传送到此组中的各个站点处。从这个意义上讲,可以将一个IP组播组看成是一个VLAN。但此VLAN中的各个成员都只具有临时性的特点,由IP组播定义VLAN的动态特性可以达到很高的灵活性,并且借助于路由器,此种VLAN可以很容易地扩展到整个广域网(Wide Area Network, WAN)上。

2.3.2 VLAN信息的帧结构

传统的以太网数据帧格式是不包含VLAN信息的,无法用这种传统的以太网数据帧来传送VLAN信息。要想让跨越交换机的多个VLAN能正常工作,必须重新提出一种新的帧格式。该帧格式与传统以太网帧格式不同的是它包含了VLAN信息,这便是在1996年3月,由IEEE 802委员会发布的IEEE 802.1Q VLAN标准,其帧结构如图2-8所示。

图2-8 IEEE 802.1Q VLAN帧结构

可以看出,该帧格式跟传统以太网帧格式不同的是,在传统的以太网帧格式的类型/长度字段前面,附加了一个4B的额外部分,称为802.1Q标记。

标记字段分为四部分。

1)TYPE:这是一个2B长度的字段,该字段用来表示数据帧类型,目前来说都是0X8100,这样做的目的是跟传统的以太网数据帧兼容。当不能识别带VLAN标记帧的设备接收到该数据帧以后,检查类型字段,发现是一个陌生的值,丢弃即可。

2)PRI:这是一个3bit的数据字段,该字段用来表示数据帧的优先级。3bit可以表示8种优先级,利用该字段可以满足一定的服务质量要求。一般情况下,交换机的接口提供若干个发送队列,这些队列有不同的发送优先级,在把一个数据帧从该接口发送出去的时候,检查该数据帧的PRI字段,根据取值把该数据帧放入相应的队列中,将优先级高的帧放到优先级高的队列中,得到优先传输服务。

3)CFI:这是个1bit的字段,该字段用在一些环形结构的物理介质网络中,比如令牌环、FDDI等。

4)VID:这是802.1Q数据帧的核心部分,即VLAN ID,用来表示该数据帧所属的VLAN,该字段是一个12bit长度的字段,总共可以表示4096个VLAN,取值范围为0~4095。但VLAN 1用来做默认VLAN使用(没有划分到具体VLAN中的交换机端口默认情况下都属于VLAN 1),4095一般不用,故实际中能使用的只有4094个VLAN。有些厂商的产品对可使用VLAN范围限制的可能更小,因为这些设备内部也使用一些VLAN来携带控制信息。

2.3.3 VLAN的链路类型

在以太网交换机的端口存在接入链路(Access)、主干链路(Trunk)和混合链路(Hybird)。对于接入链路只能承载一个VLAN;主干链路可以承载多个VLAN。因此,对于主干链路必须标记以太网帧所属的VLAN,对于接入链路则不需要进行标记,直接由交换机VLAN表判别即可。

对应于上述三种链路类型,存在两种类型的数据帧:普通帧(UNTAG)和标记帧(TAG)。接入链路只能识别UNTAG帧,主干链路识别TAG帧。

1.UNTAG帧

UNTAG就是普通的Ethernet帧。如图2-9所示,在数据帧中不带任何VLAN信息。普通PC的网卡是只能识别普通的Ethernet帧。所以,从交换机传递到计算机的数据帧一定要是UNTAG帧,计算机才能接收并处理。

2.TAG帧

TAG帧是在Ethernet帧中加入了VLAN标识,如图2-10所示,主要用于交换机端口承载多个VLAN时,进行VLAN的区分。

图2-9 UNTAG帧结构

图2-10 TAG帧结构

Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口。Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口。Hybrid类型的端口可以允许多个VLAN通过,能够接收和发送多个VLAN的报文,既可以用于交换机之间的连接,也可以用于用户之间计算机的连接。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时,Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许默认VLAN的报文发送时不打标签。

3.默认VLAN

Access端口只属于1个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,然后再发送该报文。(注:华为交换机默认VLAN被称为“Pvid Vlan”;思科交换机默认VLAN被称为“Native Vlan”)。

4.交换机接口出入数据处理过程

(1)Access端口

收报文:收到一个报文,判断是否有VLAN信息。如果没有,则打上端口的PVID,并进行交换转发;如果有,则直接丢弃(默认)。

发报文:将报文的VLAN信息剥离,直接发送出去。

(2)Trunk端口

收报文:收到一个报文,判断是否有VLAN信息。如果没有,则打上端口的PVID,并进行交换转发;如果有,判断该Trunk端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃。

发报文:比较端口的PVID和将要发送报文的VLAN信息,如果两者相等,则剥离VLAN信息后再发送;如果不相等,则直接发送。

(3)Hybrid端口

收报文:收到一个报文,判断是否有VLAN信息。如果没有,则打上端口的PVID,并进行交换转发;如果有,则判断该Hybrid端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只在发送报文时起作用)。发报文:①判断该VLAN在本端口的属性(disp interface,即可看到该端口对哪些VLAN是UNTAG,哪些VLAN是TAG);②如果是UNTAG,则剥离VLAN信息后再发送;如果是TAG,则直接发送。 lGkpOhByKMEuj4U68BBUDAt4ei9lyhkZ/Ej2U4s7P6awRKrPceVSIGW3zCGfigNz

点击中间区域
呼出菜单
上一章
目录
下一章
×