首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图文并茂详解,让你看一遍就理解 VLAN!

思恒科技

科学服务教育

产品服务社会

导读:今天主要向大家介绍有关VLAN的内容,因内容过长,分为上下两篇依次推出,有需要的朋友可以收藏一下!

在上一章节中在,我们先对VLAN做出简单的论述,主要介绍了VLAN的使用特性以及广播域的简单论述,在这一节中,我们将继续学习VLAN的相关知识,如想查阅上篇,请点击下方链接。

六、VLAN间路由

6.1、VLAN间路由的必要性

在计算机网络系统中,一个二层网络可被划分为多个不同的广播域,一个广播域则对应一个特定的用户组,默认情况下,这些不同的广播域是相互隔离开的。

不同的广播域之间如果想要有通信,需要通过一个或者是多个路由器。这样的一个广播域就称为VLAN。

vlan间路由的方法主要有以下三种:

1.通过路由器上多个接口实现;

2.通过路由器上一个接口即单臂路由实现;

3.通过三层交换实现。

我们看看使用路由器和三层交换机进行VLAN间路由时的情形。

6.2、使用路由器进行VLAN间路由

在传统路由器网络中,是先由路由转发、防火墙、隔离广播等作用,而在一个划分了VLAN以后的网络中,逻辑上划分的不同网段之间通信仍然要通过路由器转发。由于在局域网上,不同VLAN之间的通信数据量是很大的。

这样,如果路由器要对每一个数据包都路由一次,随着网络上数据量的不断增大,路由器将不堪重负,路由器将成为整个网络运行的瓶颈。

路由器和交换机的接线方法,大致有以下两种:

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

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

、最先想到的是“把路由器与交换机以VLAN为单位分别用网线连接”。把交换机上用于和路由器互联的每个端口设置为访问链接,然后分别用网线与路由器上的独立端口互联。

如下图所示,交换机上有2个VLAN,则需要在交换机上预留2个端口用于与路由器互联;路由器上同样需要有2个端口;两者之间用2条网线分别连接。

如果采用这个办法,应该不难想象它的扩展性很成问题。每增加一个新的VLAN,都需消耗路由器的端口和交换机上的访问链接,而且还需要重新布设一条网线。而路由器,通常不会带有太多LAN接口。

新建VLAN时,为了对应增加的VLAN所需的端口,就必须将路由器升级成带有多个VLAN接口的高端产品,这部分成本、还有重新布线所带来的开销,都使得这种接线法成为一种不受欢迎的方式。

、那么,第二种办法“不论VLAN数目多少,都只用一条网线连接路由器与交换机”呢?当使用一条网线连接路由器与交换机、进行VLAN间路由时,需要用到汇聚链接。

具体实现过程为:首先将用于连接路由器的交换机端口设为汇聚链接,而路由器上的端口也必须支持汇聚链路。

双方用于汇聚链路的协议自然也必须相同。接着在路由器上定义对应各个VLAN的“子接口(Sub Interface)”。

尽管实际与交换机连接的物理端口仅有一个,则在理论上我们可以把它分割为多个虚拟端口。

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

采用这种方法,即使之后在交换机上新建VLAN,仍只要一条网线连接交换机和路由器。用户只需要在路由器上新设一个对应新VLAN的子接口就可以了。

与前者相比,这种方法扩展性要强得多,也不用担心需要升级LAN接口数不足的路由器或是重新布线。

6.3、同一VLAN内的通信时数据的流程

我们继续学习使用汇聚链路连接交换机与路由器时,VLAN间路由是如何进行的。如下图所示,为各台计算机以及路由器的子接口设定IP地址。

红色VLAN(VLAN ID=1)的网络地址为192.168.1.0/24,蓝色VLAN(VLAN ID=2)的网络地址为192.168.2.0/24。

各计算机的MAC地址分别为A/B/C/D,路由器汇聚链接端口的MAC地址为R。交换机通过对各端口所连计算机MAC地址的学习,生成如下的MAC地址列表。

首先考虑计算机A与同一VLAN内的计算机B之间通信时的情形。

(1) 计算机A发出ARP请求信息,请求解析B的MAC地址。

(2) 交换机收到数据帧后,检索MAC地址列表中与收信端口同属一个VLAN的表项。

(3) 结果发现,计算机B连接在端口2上,于是交换机将数据帧转发给端口2,最终计算机B收到该帧。

收发信双方同属一个VLAN之内的通信,一切处理均在交换机内完成。

6.4、不同VLAN间通信时数据的流程

不同VLAN间的通信。让我们来考虑一下计算机A与计算机C之间通信时的情况。

(1) 计算机A从通信目标的IP地址(192.168.2.1)得出C与本机不属于同一个网段。因此会向设定的默认网关(Default Gateway,GW)转发数据帧。

在发送数据帧之前,需要先用ARP获取路由器的MAC地址。

(2) 得到路由器的MAC地址R后,接下来就是按图中所示的步骤发送往C去的数据帧。的数据帧中,目标MAC地址是路由器的地址R、但内含的目标IP地址仍是最终要通信的对象C的地址。

(3) 交换机在端口1上收到的数据帧后,检索MAC地址列表中与端口1同属一个VLAN的表项。

由于汇聚链路会被看作属于所有的VLAN,因此这时交换机的端口6也属于被参照对象。这样交换机就知道往MAC地址R发送数据帧,需要经过端口6转发。

从端口6发送数据帧时,由于它是汇聚链接,因此会被附加上VLAN识别信息。由于原先是来自红色VLAN的数据帧,因此如图中所示,会被加上红色VLAN的识别信息后进入汇聚链路。

(4) 路由器收到的数据帧后,确认其VLAN识别信息,由于它是属于红色VLAN的数据帧,因此交由负责红色VLAN的子接口接收。

接着,根据路由器内部的路由表,判断该向哪里中继。

这时,数据帧的方针MAC地址被改写成计算机C的方针地址;而且因为需要通过汇聚链路转发,因而被附加了属于蓝色VLAN的识别信息。这就是图中的数据帧。

(5) 交换机收到的数据帧后,根据VLAN标识信息从MAC地址列表中检索属于蓝色VLAN的表项。由于通信目标——计算机C连接在端口3上、且端口3为普通的访问链接,因此交换机会将数据帧除去VLAN识别信息后(数据帧)转发给端口3,最终计算机C才能成功地收到这个数据帧。

进行VLAN间通信时,即使通信双方都连接在同一台交换机上,也必须经过:“发送方——交换机——路由器——交换机——接收方”这样一个流程。

七、三层交换机

7.1、使用路由器进行VLAN间路由时的问题

众所周知,只需提供VLAN间路由,就能够使分属不同VLAN的计算机之间互相通信。

但是,如果使用路由器进行VLAN间路由的情况下,随着VLAN之间流量的不断增加,则会导致路由器成为整个网络的瓶颈。

交换机使用被称为ASIC(Application Specified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在大多机型上都能实现以缆线速度(Wired Speed)交换。而路由器,则基于软件处理。

就VLAN间路由而言,流量会会集到路由器和交换机互联的汇聚链路部分,这一部分特别,特别简单成为速度瓶颈。

并且从硬件上看,由于需要分别设置路由器和交换机,在一些空间狭小的环境里,可能连设置的场所都成为问题。

7.2、三层交换机(Layer 3 Switch)

为了更好的解决上述问题,三层交换机应运而生。三层交换机,本质上就是“带有路由功能的(二层)交换机”。路由属于OSI参照模型中第三层网络层的功能,因此带有第三层路由功能的交换机才被称为“三层交换机”。

对于三层交换机的内部结构,可以对照下面的简图。

在一台本体内,分别设置了交换机模块和路由器模块;而内置的路由模块与交换模块相同,使用ASIC硬件处理路由。因此,与传统的路由器相比,可以实现高速路由。并且,路由与交换模块是汇聚链接的,由于是内部连接,可以确保相当大的带宽。

7.3、使用三层交换机进行VLAN间路由(VLAN内通信)

在三层交换机内部,数据是如何进行传播?基本上,它和使用汇聚链路连接路由器与交换机时的情形相同。

假设有如下图所示的4台计算机与三层交换机互联。当使用路由器连接时,一般需要在LAN接口上设置对应各VLAN的子接口;而三层交换机则是在内部生成“VLAN接口(VLAN Interface)”。VLAN接口,是用于各VLAN收发数据的接口。

为了与使用路由器进行VLAN间路由对比,让我们同样来考虑一下计算机A与计算机B之间通信时的情况。

首先是目标地址为B的数据帧被发到交换机;通过检索同一VLAN的MAC地址列表发现计算机B连在交换机的端口2上;因此将数据帧转发给端口2。

7.4、使用三层交换机进行VLAN间路由(VLAN间通信)

针对目标IP地址,计算机A可以判别出通信目标不属于同一个网络,因此向默认网关发送数据(Frame 1)。

在经过内部汇聚链路时,数据帧被附加了属于红色VLAN的VLAN辨认信息(Frame 2)。

路由模块在收到数据帧时,先由数据帧附加的VLAN识别信息分辨出它属于红色VLAN,据此判断由红色VLAN接口负责接收并进行路由处理。因为目标网络192.168.2.0/24是直连路由器的网络、且对应蓝色VLAN;

因此,接下来就会从蓝色VLAN接口经由内部汇聚链路转发回交换模块。在通过汇聚链路时,这次数据帧被附加上属于蓝色VLAN的识别信息(Frame 3)。

交换机收到这个帧后,检索蓝色VLAN的MAC地址列表,确认需要将它转发给端口3。由于端口3是通常的访问链接,因此转发前会先将VLAN识别信息除去(Frame 4)。最终,计算机C成功地收到交换机转发来的数据帧。

整体的流程,与使用外部路由器时的情况十分相似——都需要经过“发送方交换模块路由模块交换模块接收方”这样的流程。

八、加速VLAN间通信的手段

8.1、流(Flow)

目前,我们已经知道VLAN间路由,须经过外部的路由器或是三层交换机的内置路由模块。但是,并不是所有的数据都需要经过路由器(或路由模块)。

8.2、加速VLAN间路由的机制

接下来,让我们具体考虑一下该如何使用三层交换机进行高速VLAN间路由。

首先,整个流的第一块数据,照常由交换机转发路由器路由再次由交换机转发到目标所连端口。这时,将第一块数据路由的结果记录到缓存里保存下来。需要记录的信息有:

目标IP地址

源IP地址

目标TCP/UDP端口号

源TCP/UDP端口号

接收端口号(交换机)

转发端口号(交换机)

转发目标MAC地址……

同一个流的第二块以后的数据到达交换机后,直接通过查询先前保存在缓存中的信息查出“转发端口号”后就可以转发给目标所连端口了。

这样,不需要再一次次经由内部路由模块中继,而仅凭交换机内部的缓存信息就足以判断应该转发的端口。

这时,交换机会对数据帧进行由路由器中继时相似的处理,例如改写MAC地址、IP包头中的TTL和Check Sum校验码信息等。

通过在交换机上缓存路由结果,实现了以缆线速度(Wired Speed)接收发送方传输来数据的数据、并且能够全速路由、转发给接收方。

需注意,类似的加速VLAN间,路由的手法多由各厂商独有的技术所实现,并且该功能的称谓也因厂商而异。另外,除了三层交换机的内部路由模块,外部路由器中的某些机型也支持类似的高速VLAN间路由机制。

总结

使用VLAN具有以下优点:

1、控制广播风暴

一个VLAN就是一个逻辑广播域,通过对VLAN的创建,隔离了广播,缩小了广播范围,可以控制广播风暴的产生。

2、提高网络整体安全性

通过路由访问列表和MAC地址分配等VLAN划分原则,可以控制用户访问权限和逻辑网段大小,将不同用户群划分在不同VLAN,从而提高交换式网络的整体性能和安全性。

3、网络管理简单、直观

对于交换式以太网,如果对某些用户重新进行网段分配,需要网络管理员对网络系统的物理结构重新进行调整,甚至需要追加网络设备,增大网络管理的工作量。

而对于采用VLAN技术的网络来说,一个VLAN可以根据部门职能、对象组或者应用将不同地理位置的网络用户划分为一个逻辑网段。

在不改动网络物理连接的情况下可以任意地将工作站在工作组或子网之间移动。利用虚拟网络技术,大大减轻了网络管理和维护工作的负担,降低了网络维护费用。在一个交换网络中,VLAN提供了网段和机构的弹性组合机制。

以上就是关于VLAN的详细情况说明,如果大家感兴趣的话,积极分享出去哦。

构建全方位新型教育生态链,做数字智能教育综合管理平台

打造专业数字智能个性化教育平台,做教育全产业链综合运营商

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191121A0HCOU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券