考点九:VLAN

考点九:VLAN

1. VLAN的概念

VLAN(Virtual LAN),译为“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN就是在一物理LAN内划分出多个虚拟LAN的,每个VLAN是一个广播域,这就缩小了广播域的范围,各个VLAN之间不能直接通信。

2. VLAN的实现机制

交换机是使用VLAN分割广播域的。首先,在一台未设置任何VLAN的二层交换机上,任何广播帧都会被转发给除接收端口之外的所有其他端口。例如,计算机A发送广播信息后,会被转发给交换机的端口2、3、4,如图3-39所示。

这时,如果在交换机上生成红色、蓝色两个VLAN,同时设置端口1、2属于红色VLAN,端口3、4属于蓝色VLAN。若再从A发出广播帧,交换机则只会把它转发给同属于一个VLAN的其他端口,也就是同属于红色VLAN的端口,不会再转发给属于蓝色VLAN的端口。

图3-39 VLAN的实现机制(1)

同样,C发送广播信息时,只会被转发给其他属于蓝色VLAN的端口,不会被转发给属于红色VLAN的端口(图3-40)。

图3-40 VLAN的实现机制(2)

这样,VLAN通过限制广播帧转发的范围分割了广播域。在图3-40中为了便于说明,以红色、蓝色识别不同的VLAN,在实际使用中则是用“VLAN ID”来区分的。

如果要更为直观地描述VLAN,我们可以把它理解为将一台交换机在逻辑上分割成了数台交换机。在一台交换机上生成红色、蓝色两个VLAN,也可以看作将一台交换机换成一红一蓝两台虚拟的交换机。

3. VLAN的访问链接

在VLAN中,交换机的端口可以分为访问链接(Access Link)、汇聚链接(Trunk Link)两种。

首先学习“访问链接”。访问链接是指“只属于一个VLAN,且仅向该VLAN转发数据帧”的端口。在大多数情况下,访问链接所连的是客户机。通常设置VLAN的顺序是:生成VLAN;设定访问链接(决定各端口属于哪个VLAN)。

设定访问链接的手法,可以是事先固定的,也可以是根据所连的计算机动态设定的。前者被称为“静态VLAN”,后者被称为“动态VLAN”。

(1)静态VLAN。静态VLAN又称为基于端口的VLAN(PortBased VLAN)。顾名思义,就是明确指定各端口属于哪个VLAN的设定方法(图3-41)。

图3-41 静态VLAN

由于需要一个个地指定端口,因此当网络中的计算机数目超过一定数字(如数百台)后,设定操作就会变得繁杂无比。并且,客户机每次变更所连端口,都必须同时更改该端口所属VLAN的设定。这显然不适合那些需要频繁改变拓扑结构的网络。

(2)动态VLAN。动态VLAN是根据每个端口所连的计算机,随时改变端口所属的VLAN。动态VLAN可以大致分为3类:基于MAC地址的VLAN(MAC Based VLAN)、基于子网的VLAN(SubnetBased VLAN)、基于用户的VLAN(User Based VLAN)。

其间的差异,主要在于根据OSI参考模型在哪层的信息决定端口所属的VLAN。

①基于MAC地址的VLAN(MAC Based VLAN)。基于MAC地址的VLAN是通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个MAC地址“A”被交换机设定为属于VLAN1,那么不论MAC地址为“A”的这台计算机连在交换机哪个端口,该端口都会被划分到VLAN1中去。计算机连在端口1时,端口1属于VLAN1;而计算机连在端口2时,则端口2属于VLAN1(图3-42)。

图3-42 基于MAC地址的VLAN

由于是基于MAC地址决定所属VLAN的,因此可以理解为这是一种在OSI的第二层设定访问链接的办法。但是,基于MAC地址的VLAN,在设定时必须调查所连接的所有计算机的MAC地址并加以登录。而且如果计算机交换了网卡,还是需要更改设定的。

②基于子网的VLAN。基于子网的VLAN是通过所连计算机的IP地址来决定端口所属VLAN的。不像基于MAC地址的VLAN,即使计算机因为交换了网卡或其他原因导致MAC地址改变,只要它的IP地址不变,就仍可以加入原先设定的VLAN(图3-43)。

图3-43 基于子网的VLAN

因此,与基于MAC地址的VLAN相比,基于子网的VLAN能够更为简便地改变网络结构。IP地址是OSI参照模型中第三层的信息,所以我们可以理解为基于子网的VLAN是一种在OSI的第三层设定访问链接的方法。

③基于用户的VLAN。基于用户的VLAN是根据交换机各端口所连的计算机上当前登录的用户来决定该端口属于哪个VLAN。这里的用户识别信息,一般是计算机操作系统登录的用户,如可以是Windows域中使用的用户名。这些用户名信息属于OSI第四层以上的信息。

总体来说,决定端口所属VLAN时利用的信息在OSI中的层面越高,就越适合构建灵活多变的网络。

4. VLAN的汇聚链接

在规划网络时,很有可能会遇到隶属于同一部门的用户分散在同一座建筑物中的不同楼层的情况,这时可能就需要考虑到如何跨越多台交换机设置VLAN的问题了。假设有如图3-44所示的网络,且需要将不同楼层的A、C和B、D设置为同一个VLAN。

图3-44 VLAN的网络结构

这时最关键的就是“交换机1和交换机2该如何连接才好呢?”最简单的方法自然是在交换机1和交换机2上各设一个红、蓝VLAN专用的接口并互联(图3-45)。

图3-45 将不同楼层的A、C和B、D设置为同一个VLAN

但是,这个方法从扩展性和管理效率来看并不好。例如,在现有网络基础上新建VLAN时,为了让这个VLAN能够互通,就需要在交换机间连接新的网线。建筑物楼层间的纵向布线是比较麻烦的,一般不能由基层管理人员随意进行。并且,VLAN越多,楼层间(严格地说是交换机间)互联所需的端口也越多,交换机端口的利用效率低是对资源的一种浪费,也限制了网络的扩展。

为了避免这种低效率的连接方式,人们想办法让交换机间互联的网线集中到一根上,这时使用的就是汇聚链接(Trunk Link)。汇聚链接(Trunk Link)是指能够转发多个不同VLAN的通信的端口。汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。

接下来让我们具体看看汇聚链接是如何实现跨越交换机间的VLAN的。A发送的数据帧从交换机1经过汇聚链路到达交换机2时,在数据帧上附加了表示属于红色VLAN的标记。交换机2收到数据帧后,经过检查VLAN标识发现这个数据帧是属于红色VLAN的,因此去除标记后根据需要将复原的数据帧只转发给其他属于红色VLAN的端口。这时的转发,是指经过确认目标MAC地址并与MAC地址列表比对后只转发给目标MAC地址所连的端口。只有当数据帧是一个广播帧、多播帧或目标不明的帧时,它才会被转发到所有属于红色VLAN的端口(图3-46)。

蓝色VLAN发送数据帧时的情形也与此相同。

图3-46 VLAN的汇聚链接

通过汇聚链路时附加的VLAN识别信息,有可能支持标准的IEEE 802.1Q协议,也可能是Cisco产品独有的ISL(Inter Switch Link)。如果交换机支持这些规格,用户就能够高效率地构筑横跨多台交换机的VLAN。

5. VLAN的域间路由

计算机分属不同的VLAN,也就意味着分属不同的广播域,自然收不到彼此的广播报文。因此,属于不同VLAN的计算机之间无法直接互相通信。为了能够在VLAN间通信,需要利用OSI参考模型中更高一层—网络层的信息(IP地址)来进行路由。

路由功能一般主要由路由器提供。但在现在的局域网里,我们也经常利用带有路由功能的交换机—三层交换机(Layer 3 Switch)来实现。接下来就让我们分别看看使用路由器和三层交换机进行VLAN间路由时的情况。

在使用路由器进行VLAN间路由时,与构建横跨多台交换机的VLAN时的情况类似,我们还是会遇到“该如何连接路由器与交换机”这个问题。路由器和交换机的接线方式大致有以下两种:

(1)将路由器与交换机上的每个VLAN分别连接。

最容易想到的,当然还是“把路由器和交换机以VLAN为单位分别用网线连接”了。将交换机上用于和路由器互联的每个端口设为访问链接(Access Link),然后分别用网线与路由器上的独立端口互联。如图3-47所示,交换机上有2个VLAN,就需要在交换机上预留2个端口用于与路由器互联;路由器上同样需要有2个端口;两者之间用2条网线分别连接。

图3-47 将路由器与交换机上的每个VLAN分别连接

如果采用这种接线方式,大家应该不难想象它的扩展性差。每增加一个新的VLAN,都需要消耗路由器的端口和交换机上的访问链接,而且还需要重新布设一条网线。而路由器,通常是不会带有太多LAN接口的。新建VLAN时,为了对应增加的VLAN所需的端口,就必须将路由器升级成带有多个LAN接口的高端产品,这部分成本,还有重新布线所带来的开销,都使得这种接线方式成为一种不受欢迎的办法。

(2)不论VLAN有多少个,路由器与交换机都只用一条网线连接。

具体实现过程:首先将用于连接路由器的交换机端口设为汇聚链接(Trunk Link),而路由器上的端口也必须支持汇聚链路,双方用于汇聚链路的协议自然也必须相同;其次在路由器上定义对应各个VLAN的“子接口”(Sub Interface)。尽管实际与交换机连接的物理端口只有一个,但在理论上我们可以把它分割为多个虚拟端口。

VLAN将交换机从逻辑上分割成了多台,因而用于VLAN间路由的路由器也必须拥有分别对应各个VLAN的虚拟接口(图3-48)。

图3-48 路由器与交换机只用一条网线连接

采用这种接线方式,即使之后在交换机上新建VLAN,仍只需要一条网线连接交换机和路由器。用户只需要在路由器上新设一个对应新VLAN的子接口就可以了。与第一种的接线方式相比,第二种接线方式的扩展性更好。

政哥应试提醒:这是2022年新大纲增加的内容,其工作原理和VLAN的构建方法是重要考点。

难度系数:★

牛刀小试

1.对三层网络交换机描述不正确的是( )。

A.能隔离冲突域  B.只工作在数据链路层

C.通过VLAN设置能隔离广播域 D.VLAN之间通信需要经过三层路由

2.使用VLAN交换机可构建逻辑上相互独立的多个网络,下列关于VLAN协议的描述中,错误的是( )。

A.IEEE制定的VLAN标准为802.1Q B.VLAN可以依据端口号划分

C.VLAN可以隔离广播和组播帧 D.所有的计算机必须支持VLAN协议

3.VLAN在现代组网技术中占有重要地位,同一个VLAN中的两台主机( )。

A.必须连接在同一交换机上 B.可以跨越多台交换机

C.必须连接在同一集线器上 D.可以跨越多台路由器

4.有关虚拟局域网的概念,下面哪个说法不正确?( )

A.虚拟网络是建立在局域网交换机上的,以软件方式实现的逻辑分组

B.可以使用交换机的端口划分虚拟局域网,且虚拟局域网可以跨越多个交换机

C.在使用MAC地址划分的虚拟局域网中,连接到集线器上的所有节点只能被划分到一个虚拟局域网中

D.在虚拟局域网中的逻辑工作组各节点可以分布在同一物理网段上,也可以分布在不同的物理网段上

牛刀小试解析

1.B 解析 三层交换机,实现了物理层、数据链路层和网络层的功能。故而,可以工作在网络层,B项错误。事实上,即使是两层的交换机,也能够隔离冲突域。网桥和两层交换机都能够隔离冲突域,三层交换机或路由器可以隔离广播域。VLAN的出现,是为了隔离广播域。所以,VLAN之间通信需要经过三层交换路由。

2.D 解析 IEEE于1999年颁布了用于标准化VLAN实现方案的IEEE 802.1Q协议标准草案。VLAN可以根据MAC地址、IP地址及应用划分;在采用VALN的网络中,交换机和网桥若可以隔离广播域,则可以隔离冲突域。不一定所有的计算机都需要支持VLAN协议。

3.B 解析 同一个VLAN中的主机可以连接在同一个局域网交换机上,也可以连接在不同的局域网交换机上,只要这些交换机是互联的。广域网是单个的网络,它使用节点交换机连接各主机而不是用路由器连接各网络。

节点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组。

4.C 解析 本题考查虚拟局域网的相关概念。虚拟局域网(VLAN),一个VLAN就是一个网段,通过在交换机上划分VLAN(同一交换机上可划分不同的VLAN,不同的交换机上可属于同一个VLAN),可将一个大的局域网划分成若干个网段,每个网段VLAN内,广播帧不会被转发到其他网段。一个VLAN就是一个广播域, VLAN间不能直接通信,从而实现了对广播域的分割和隔离。

基于主机的MAC地址进行VLAN划分,是由管理人员指定属于同一个VLAN中的各服务器和客户机的MAC地址,该VLAN是一些MAC地址的集合。

新站点入网时可以根据需要将其划归至某一个VLAN。

基于主机的MAC地址的优点:无论该站点在网络中怎样移动,由于其MAC地址保持不变,因此用户不需要进行网络地址的重新配置,不需要重新划分VLAN。因此,用MAC地址定义的VLAN可看成基于用户的VLAN。