VLAN 划分案例详解

vlan 的应用在网络项目中是非常广泛的,基本上大部分的项目都需要划分 vlan,这里从基础的 vlan 的知识开始,了解 vlan 的划分原理。

为什么需要 vlan:

1、什么是 VLAN?

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

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

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

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

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

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

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

vlan 的原理

1、实现 VLAN 的机制

在理解了 “为什么需要 VLAN” 之后,接下来让我们来了解一下交换机是如何使用 VLAN 分割广播域的。
首先,在一台未设置任何 VLAN 的二层交换机上,任何广播帧都会被转发给除接收端口外的所有其他端口上泛滥。例如,计算机 A 发送广播信息后,会被转发给端口 2、3、4。
img

这时,如果在交换机上生成红、蓝两个 VLAN;
同时设置端口 1、2 属于红色 VLAN、端口 3、4 属于蓝色 VLAN。
再从 A 发出广播帧的话,交换机就只会把它转发给同属于一个 VLAN 的其他端口 —— 也就是同属于红色 VLAN 的端口 2,不会再转发给属于蓝色 VLAN 的端口。
同样,C 发送广播信息时,只会被转发给其他属于蓝色 VLAN 的端口,不会被转发给属于红色 VLAN 的端口。
img
就这样,VLAN 通过限制广播帧转发的范围分割了广播域。上图中为了便于说明,以红、蓝两色识别不同的 VLAN,在实际使用中则是用 “VLAN 的 ID” 来区分的。

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

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

那么,当我们需要在不同的 VLAN 间通信时又该如何是好呢?
VLAN 是广播域。而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继的。因此,VLAN 间的通信也需要路由器提供中继服务,这被称作 “VLAN 间路由”。
VLAN 间路由,可以使用普通的路由器,也可以使用三层交换机。大家可以记住不同 VLAN 间互相通信时需要用到路由功能。

2.1 静态 VALN

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

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

那么它的缺点呢?

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

2.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 中去。
img

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

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

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

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

3、总结

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

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

交换机之间的连接方式

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

1、方法 一

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

如下图:
img

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

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

2、方法 二

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

何谓汇聚链接?

汇聚链接(Trunk Link)指的是能够转发多个不同 VLAN 的通信的端口。
汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个 VLAN 的特殊信息。
现在再让我们回过头来考虑一下刚才那个网络如果采用汇聚链路又会如何呢?用户只需要简单地将交换机间互联的端口设定为汇聚链接就可以了。这时使用的一根网线还是普通的 UTP 线,而不是什么其他的特殊布线。图例中是交换机间互联,因此需要用交叉线来连接。

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

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


via:

  • 网络 - 图文并茂讲 VLAN,让你看一遍就理解 VLAN - SegmentFault 思否 XCIE 闫辉 2022-05-13

    https://segmentfault.com/a/1190000041840490

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

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

相关文章

Python数据分析实战:利用ARIMA模型洞察股市规律

在股市中,数据的波动与变化风云莫测,难以捉摸。然而,借助科学的分析方法和工具,我们或许能够找到一些数据规律。今天,我们聊聊如何使用Python编程语言,结合ARIMA模型来洞察股市的变幻,为我们的投…

【TCP通信】

7.18学习记录 NetAssist.exeTCP/IP协议准备工作做好之后开始创建方案 通信架构设备管理接收事件发送事件心跳管理响应配置 VM4.0二次开发 NetAssist.exe 网络协议调试助手文件,支持UDP和TCP协议。只需要输入主机的地址和端口就能获取数据解析。要用到的协议是 TCP/…

wps office 2019 Pro Plus 集成序列号Vba安装版教程

前言 wps office 2019专业增强版含无云版是一款非常方便的办公软件,我们在日常的工作中总会碰到需要使用WPS的时候,它能为我们提供更好的文档编写帮助我们更好的去阅读PDF等多种格式的文档,使用起来非常的快捷方便。使用某银行专业增强版制作…

生活中生智慧

【 圣人多过 小人无过 】 觉得自己做得不够才能做得更好,互相成全;反求诸己是致良知的第一步;有苦难才能超越自己,开胸怀和智慧;不浪费任何一次困苦,危机中寻找智慧,成长自己。 把困苦当作当下…

Linux——awk操作符

[rootlocalhost ~] # awk BEGIN{x2;y3;print x**y,x^y,x*y,x/y,xy,x-y,x%y} 8 8 6 0 .666667 5 -1 2 赋值运算符 条件运算符 awk 中的条件运算符只有一个,其语法如下: expression?value1:value2 这是一个三目运算符,当表达式 expre…

MySQL索引特性(上)

目录 索引的重要 案例 认识磁盘 MySQL与存储 先来研究一下磁盘 扇区 定位扇区 结论 磁盘随机访问与连续访问 MySQL与磁盘交互基本单位 建立共识 索引的理解 建立测试表 插入多条记录 局部性原理 所有的MySQL的操作(增删查改)全部都是在MySQL当中的内存中进行的&am…

【删除链表的倒数第N个节点】python刷题记录

目录 哑结点 为什么设置哑节点? 方法1(先遍历统计长度,再查找具体位置): 方法2(双指针): 链表基本用法 哑结点 在链表前面添加哑节点,指向头节点 为什么设置哑节点…

系统架构师考点--统一建模语言UML

大家好。今天我来总结一下面向对象的第二个考点–统一建模语言UML。 UML(统一建模语言)是一种可视化的建模语言,而非程序设计语言,支持从需求分析开始的软件开发的全过程。UML的结构包括构造块、规则和公共机制三个部分。其中考点主要集中在构造块部分&…

一建备考,五步形成闭环学习!

一建备考从7月份到考前是大部分人焦虑的时候,因为基础阶段结束,开始成套做真题了,第一遍做真题很多人分数都不太理想,很多同学直接失去信心,开始emo,这都是只听课不做题的结果。 现在很多同学都是这种情况…

ABAP group by 语句学习

第一个案例:原文链接:https://blog.csdn.net/lmf496891416/article/details/111317377 第一步:定义结构,此处定义了三个字段 key1 ,key2 ,col ,然后定义表 itab 参照结构 struct TYPES: BEGIN OF ty_employee,name TYPE char30,…

ASUS/华硕幻13 2022 GV301R系列 原厂win11系统 工厂文件 带F12 ASUS Recovery恢复

华硕工厂文件恢复系统 ,安装结束后带隐藏分区,一键恢复,以及机器所有驱动软件。 系统版本:windows11 原厂系统下载网址:http://www.bioxt.cn 需准备一个20G以上u盘进行恢复 请注意:仅支持以上型号专用…

平凯星辰黄东旭出席 2024 全球数字经济大会 · 开放原子开源数据库生态论坛

7 月 5 日,以“开源生态筑基础,数字经济铸未来”为主题的 2024 全球数字经济大会——开放原子开源数据库生态论坛在北京成功举办。平凯星辰(北京)科技有限公司联合创始人黄东旭发表了题为《TiDB 助力金融行业关键业务系统实践》的…

校验el-table中表单项

需求: 表格中每一行都有几个必填项,如用户提交时有未填的选项,将该选项标红且给出提示,类似el-form 的那种校验 el-table本身并没有校验的方法,而且每一行的输入框也是通过插槽来实现的,因此我们要自己跟…

信息安全工程师题

物理隔离技术要求两台物理机物理上并不直连,只能进行间接的信息交换。所以防火墙不能实现网络的物理隔离Web应用防火墙可以防止SQL注入、xss攻击、恶意文件上传、远程命令执行、文件包含、恶意扫描拦截等;可以发现并拦截恶意的Web代码;可防止…

基于单片机的智能医疗监护系统设计

1.简介 随着社会的发展,智能化电子设备成为了人们生活中不可或缺的一部分,尤其是在人们对于身心健康更加注重的今天,智能医疗监护系统应运而生。本套电子监护设备集体温测量、心电采集、心率监测、血氧监测于一体,带有语音播报模块…

【Java】用队列实现栈 力扣

文章目录 题目链接题目描述思路代码 题目链接 225.用队列实现栈 题目描述 思路 一个队列在模拟栈弹出元素的时候只要将队列头部的元素(除了最后一个元素外) 重新添加到队列尾部,此时再去弹出元素就是栈的顺序了。 代码 class MyStack {Q…

Django 请求和响应

1、请求 &#xff08;1&#xff09;get请求 用户直接在浏览器输入网址&#xff0c;参数直接在url中携带 http://127.0.0.1:8000/login/?a1&b%221243%22 &#xff08;2&#xff09;post请求 在html使用post,login.html <!DOCTYPE html> <html lang"en&…

防御综合实验作业2

办公区设备可以通过电信链路和移动链路上网(多对多的NAT&#xff0c;并且需要保留一个公网IP NAT策略&#xff1a; 安全策略&#xff1a; 测试&#xff1a; 分公司设备可以通过总公司的移动链路和电信链路访问到Dmz区的http服务器 是怎么转换的&#xff0c;首先分公司的用户需…

数据结构(Java):力扣牛客 二叉树面试OJ题(一)

&#x1f449; ​​​​​​目录 &#x1f448; 1、题一&#xff1a;检查两棵树是否相同 1.1 思路分析 1.2 代码 2、题二&#xff1a;另一棵树的子树 2.1 思路分析 2.2 代码 3、题三&#xff1a;翻转二叉树 3.1 思路分析 3.2 代码 4、题四&#xff1a;判断树是否对称 …

C++中的new和模版

前言 随着C的学习&#xff0c;讲了C的发展过程、流插入、流提取、函数缺省值、类与构造等等。接下来学习C很方便的 玩意&#xff0c;函数模版。函数模版就像是模具一样&#xff0c;C会自动用模版编译出合适的函数供程序员使用。以前不同类型相同操作的函数都能通过函数模版&…