图文并茂讲VLAN,一遍就能理解

news2024/9/28 21:24:13

图文并茂讲VLAN,一遍就能理解

弱电行业圈2019-03-19 10:12

vlan的应用在网络项目中是非常广泛的,基本上大部分的项目都需要划分vlan,前几天我们讲到vlan的配置,有朋友就提到有没有更基础一些的内容,今天我们就从基础的vlan的知识开始,了解vlan的划分原理。

一、为什么需要VLAN

1、什么是VLAN?

VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。

简单来说,同一个VLAN中的用户间通信就和在一个局域网内一样,同一个VLAN中的广播只有VLAN中的 成员才能听到,而不会传输到其他的VLAN中去,从而控制不必要的广播风暴的产生。同时, 若没有路由,不同VLAN之间不能相互通信,从而提高了不同工作组之间的信息安全性。网络 管理员可以通过配置VLAN之间的路由来全面管理网络内部不同工作组之间的信息互访。

2、未分割VLAN时将会发生什么?

那么,为什么需要分割VLAN(广播域)呢?那是因为,如果仅有一个广播域,有可能会影响到网络整体的传输性能。具体原因,请参看附图加深理解。

图中,是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络。假设这时,计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播“ARP请求(ARP Request)信息”,来尝试获取计算机B的MAC地址。

交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,也就是泛滥了。接着,交换机2收到广播帧后也会泛滥。交换机3、4、5也还会泛滥。最终ARP请求会被转发到同一网络中的所有客户机上,这也就是网络风暴。

我们分析下,这个计算A的ARP请求原本是为了获得计算机B的MAC地址而发出的。也就是说:只要计算机B能收到就万事大吉了。可是事实上,数据帧却传遍整个网络,导致所有的计算机都收到了它。如此一来,一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗,可能会造成网络瘫痪。

二、VLAN的原理

1、实现VLAN的机制

在理解了“为什么需要VLAN”之后,接下来让我们来了解一下交换机是如何使用VLAN分割广播域的。

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

这时,如果在交换机上生成红、蓝两个VLAN;

同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN。

再从A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口——也就是同属于红色VLAN的端口2,不会再转发给属于蓝色VLAN的端口。

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

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

但是,VLAN生成的逻辑上的交换机是互不相通的。因此,在交换机上设置VLAN后,如果未做其他处理,VLAN间是无法通信的。

2、需要VLAN间通信时怎么办?

那么,当我们需要在不同的VLAN间通信时又该如何是好呢?

VLAN是广播域。而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继的。因此,VLAN间的通信也需要路由器提供中继服务,这被称作“VLAN间路由”。

VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。大家可以记住不同VLAN间互相通信时需要用到路由功能。

二、VLAN的划分方式

1、静态VALN

静态VLAN也叫做基于端口的VLAN。从意思也能理解,它是固定不变的,就是明确指定交换机各端口属于哪个VLAN的设定方法。

基于端口的vlan这种方法,主要的优点就是定议vlan的成员很简单明了,思路清楚,直接针对交换机现有的端口设置vlan,哪些端口属于同一个vlan,很清楚的理解。

那么它的缺点呢?

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

2、动态VLAN

动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。这就可以避免上述的更改设定之类的操作。动态VLAN可以大致分为3类:

● 基于MAC地址的VLAN(MAC Based VLAN)

● 基于子网的VLAN(Subnet Based VLAN)

● 基于用户的VLAN(User Based VLAN)

①、基于MAC地址的VLAN,就是通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个计算机的MAC地址为“A”被交换机设定为属于VLAN“10”,那么不论MAC地址为“A”这台计算机连在交换机哪个端口,该端口都会被划分到VLAN10中去。

例如:计算机连在端口1时,端口1属于VLAN10;而计算机连在端口2时,则是端口2属于VLAN10。

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

说白了,只要电脑ip地址不变,那么它的vlan就不变,很方便,计算机可以换交换机端口,也可以MAC地址了,都不影响。

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

3、总结

综上所述,vlan的设定手法有静态VLAN和动态VLAN两种,其中动态VLAN又可以继续细分成几个小类。

其中基于子网的VLAN和基于用户的VLAN有可能是网络设备厂商使用独有的协议实现的,不同厂商的设备之间互联有可能出现兼容性问题;因此在选择交换机时,一定要注意事先确认。

三、交换机之间的连接方式

那么,如果需要设置跨越多台交换机的VLAN时又如何呢?

1、方法一

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

如下图:

这时最关键的就是“交换机1和交换机2该如何连接才好呢?”

最简单的方法,自然是在交换机1和交换机2上各设一个红、蓝VLAN专用的接口并互联了。

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

2、方法2

为了避免上面这种低效率的连接方式,人们想办法让交换机间互联的网线集中到一根上,这时使用的就是汇聚链接(Trunk Link)。

何谓汇聚链接?

汇聚链接(Trunk Link)指的是能够转发多个不同VLAN的通信的端口。

汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。

现在再让我们回过头来考虑一下刚才那个网络如果采用汇聚链路又会如何呢?用户只需要简单地将交换机间互联的端口设定为汇聚链接就可以了。这时使用的一根网线还是普通的UTP线,而不是什么其他的特殊布线。图例中是交换机间互联,因此需要用交叉线来连接。

接下来,让我们具体看看汇聚链接是如何实现跨越交换机间的VLAN的。

A发送的数据帧从交换机1经过汇聚链路到达交换机2时,在数据帧上附加了表示属于红色VLAN的标记。

交换机2收到数据帧后,经过检查VLAN标识发现这个数据帧是属于红色VLAN的,因此去除标记后根据需要将复原的数据帧只转发给其他属于红色VLAN的端口。这时的转送,是指经过确认目标MAC地址并与MAC地址列表比对后只转发给目标MAC地址所连的端口。只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,它才会被转发到所有属于红色VLAN的端口。

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

四、VLAN间通信的原理

1、同一VLAN内的通信

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

红色VLAN(VLANID=1)的网络地址为192.168.1.0/24,蓝色VLAN(VLANID=2)的网络地址为192.168.2.0/24。各计算机的MAC地址分别为A/B/C/D,路由器汇聚链接端口的MAC地址为R。交换机通过对各端口所连计算机MAC地址的学习,生成如下的MAC地址列表。

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

计算机A发出ARP请求信息,请求解析B的MAC地址。交换机收到数据帧后,检索MAC地址列表中与收信端口同属一个VLAN的表项。结果发现,计算机B连接在端口2上,于是交换机将数据帧转发给端口2,最终计算机B收到该帧。收发信双方同属一个VLAN之内的通信,一切处理均在交换机内完成。

2、不同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转发。

过程4、从端口6发送数据帧时,由于它是汇聚链接,因此会被附加上VLAN识别信息。由于原先是来自红色VLAN的数据帧,因此如图中②所示,会被加上红色VLAN的识别信息后进入汇聚链路。路由器收到②的数据帧后,确认其VLAN识别信息,由于它是属于红色VLAN的数据帧,因此交由负责红色VLAN的子接口接收。

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

由于目标网络192.168.2.0/24是蓝色VLAN,,且该网络通过子接口与路由器直连,因此只要从负责蓝色VLAN的子接口转发就可以了。这时,数据帧的目标MAC地址被改写成计算机C的目标地址;并且由于需要经过汇聚链路转发,因此被附加了属于蓝色VLAN的识别信息。这就是图中③的数据帧。

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

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

这样一个流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1309679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode刷题】--172.阶乘后的零

172.阶乘后的零 方法&#xff1a; class Solution {public int trailingZeroes(int n) {int ans 0;for(int i 5;i<n;i5){for(int x i; x % 50; x/5){ans;}}return ans;} }进一步优化&#xff1a; class Solution {public int trailingZeroes(int n) {int ans 0;while (n…

今日开幕!飞凌嵌入式受邀参加2023年瑞萨技术交流日全国巡回展

来源&#xff1a;飞凌嵌入式官网 2023年瑞萨技术交流日全国巡回展&#xff08;广州站&#xff09;今日开幕&#xff0c;飞凌嵌入式再次受邀参加&#xff0c;并与来自新能源、自动化、工业物联网以及人工智能等领域的精英们共同探讨前沿技术。 在今日的巡展现场&#xff0c;飞凌…

绝地求生:PGC2023胜者组D2下半场:17天霸成功晋级,TL、NH跌入最后机会组

第四场 第一名&#xff1a;LGC 第二名&#xff1a;T5 第三名&#xff1a;FaZe 17仅剩两人&#xff0c;T5踩住高点&#xff0c;sujiu前顶时被T5架枪位击倒&#xff0c;小鬼的盾牌没能挡住对方的雷遗憾第五出局。然而T5自己也进圈不易&#xff0c;仅剩两人。 LG独狼卡住T5却忽…

STM32-02-STM32基础知识

文章目录 STM32基础知识1. STM32F103系统架构2. STM32寻址范围3. 存储器映射4. 寄存器映射 STM32基础知识 1. STM32F103系统架构 STM32F103 STM32F103是ST公司基于ARM授权Cortex M3内核而设计的一款芯片&#xff0c;而Cortex M内核使用的是ARM v7-M架构&#xff0c;是为了替代…

新生儿智力检测的关键:培养潜能、关注发展

引言&#xff1a; 新生儿期是智力发展的关键时期&#xff0c;而科学的智力检测可以帮助父母更好地了解宝宝的认知水平和发展潜力。然而&#xff0c;在进行新生儿智力检测时&#xff0c;需要特别注意一些关键事项&#xff0c;以确保测试的准确性和对宝宝的尊重。本文将深入探讨…

【ECharts】从零实现echarts地图完整代码(纯前端,包含地图资源)

最终效果 标题环境搭建 这里忽略创建vue项目的操作过程&#xff0c;请自行搭建 vue2 项目、less 环境 安装下载 echarts 这里我们选择npm下载 npm install echarts安装成功后&#xff0c;在 main.js 中把echarts配置到this上 // 引入 echarts import * as Echarts from ech…

power EM与signal EM解决办法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 EM问题就是电流密度过高产生的,解决办法核心就是是分流或提高载流能力以及降低电流量。 1.面对power EM,首先检查missing via,补全via,还可以加宽,加密局部power mesh,一些power IO出pin有po…

Unity:Camera讲解之ClearFlags

Clear Flags四个选项讲解: 前三个都是常用的&#xff0c;第四个基本不会用。 skybox(天空盒&#xff09;&#xff1a; 主要是一种用于渲染游戏场景中天空的技术。它是一个包含6个纹理图片的立方体贴图&#xff0c;分别代表了从不同角度观察天空时所看到的前、后、上、下、左…

Gateway网关-路由断言工厂

目录 一、路由断言工厂Route Predicate Factory 二、Predicate工厂配置测试 2.1 After测试 2.2 Before测试 三、回顾 一、路由断言工厂Route Predicate Factory 网关路由可以配置的内容包括: 路由id:路由唯一标示uri:路由目的地&#xff0c;支持lb和http两种predicates: 路…

MySQL之创建表

创建emp表 #创建表的练习 -- 字段 属性 -- Id 整形 -- name 字符型 -- sex 字符型 -- birthday 日期型 -- entry_date 日期型 -- job 字符型 -- Salary 小数型 -- resume 文本型 CREATE TABLE emp(id INT,name VARCHAR(32),sex CHAR(1),birthday DATE,entry_date DAT…

不负春光 只争商机!2024SIA上海轴承展会助您抢起势 定胜势!

〓 2024第十届中国国际轴承工业&#xff08;上海&#xff09;展览会〓 The 10th China International Bearing Industry (Shanghai) Exhibition 2024 展会时间&#xff1a;2024年7月24日-26日 展会地点&#xff1a;上海国家会展中心•虹桥&#xff08;上海市青浦区崧泽大道33…

word图片点击放大,word图片双击放大

网上自己搜了半天&#xff0c;都是顾左右而言他&#xff0c;直接实践一下。 干货就是&#xff1a;调整word视图为阅读模式&#xff0c;双机图片 就能放大查看&#xff0c;然后还会有一个 放大镜供点击放大到整个屏幕。 其实挺好理解的&#xff0c;word跟wps不同&#xff0c;w…

《拥抱变化:解析极限编程》读书笔记

文章目录 一、书名和作者二、书籍概览2.1 主要论点和结构2.2 目标读者和应用场景 三、核心观点与主题3.1开发问题3.2 极限编程实践3.3 极限编程计划与设计3.4 极限编程的实现 四、亮点与启发4.1 最有影响的观点4.2 对个人专业发展的启示 五、批评与局限性5.1 可能存在的争议和过…

常见系统认证实现流程

文章目录 账密登录短信验证码登录扫码登录平台间认证微信一键登录&#xff08;APP&#xff09;微信小程序登录三方账号登录手机号一键登录生物识别登录 账密登录 参数&#xff08;账号、密码、登录终端编号&#xff09;校验&#xff0c;密码正则校验获取请求头看请求是否携带该…

Python编程基础:IDE编译直接报错了,即使不明白也要去参考系统给的提示

文章目录 1、错误信息2、解决过程2.1、结论2.2、正解 3、不要盲目相信自己百度的能力 1、错误信息 SyntaxError: Non-UTF-8 code starting with ‘\xe8’ in file D:\xxxx\scripts\testjson.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/…

css未来:使用light-dark()切换主题色

css未来&#xff1a;使用light-dark()切换主题色 要根据使用的是浅色模式还是深色模式来更改颜色&#xff0c;我们通常会使用 prefers-color-scheme 媒体查询。为了让代码实现变得更容易&#xff0c;CSS 现在附带了一个名为 light-dark() 的实用函数。该函数接受两个颜色值作为…

国密SSL证书有哪些?一起来看国密SSL证书品牌大合集

早在2011年&#xff0c;我国国家密码管理局就已经对网络安全高度重视&#xff0c;在《关于做好公钥密码算法升级工作的通知》中&#xff0c;明确提出在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用国密算法。并随之陆续颁布了《网络安全法》、《密码法》、《关键…

【数据结构(十·树结构的实际应用)】平衡二叉树(5)

文章目录 前言1. 基本概念2. 应用案例2.1. 左旋转(单旋转)2.1.1. 思路分析2.1.2. 代码实现 2.2. 右旋转(单旋转)2.2.1. 思路分析2.2.2. 代码实现 2.3. 双旋转2.3.1. 问题情景2.3.2. 思路分析2.3.3. 代码实现 前言 二叉排序树可能存在的问题&#xff1a; 看一个案例(说明二叉排…

Amazon Connect ,全渠道云联络中心

Amazon Connect &#xff0c;全渠道云联络中心 前言一. Amazon Connect 介绍 &#x1f5fa;️二. Amazon Connect 使用教程 &#x1f5fa;️1.我们打开URl链接找到对应服务2.输入Amazon Connect选中第一个点击进入即可&#xff1b;3.在进入之后我们就开始创建实例&#xff0c;点…

【方法】如何给Word文档添加水印?

想要保护文档内容的原创性&#xff0c;我们可以给文档添加上水印来做个防伪标记&#xff0c;防范文件内容被盗用。 有些小伙伴还不知道Word在哪里设置添加水印&#xff0c;接下来分享一个添加水印的教程&#xff0c;一起学习一下吧。 1. 打开需要添加水印的Word文档&#xff…