VLAN是什么,一个好的网络为什么要划分VLAN呢?

作者:一天,公众号:网络之路博客(ID:NetworkBlog)。让你的网络之路不在孤单,一起学习,一起成长。

前言

在上一篇中讲解了交换机的工作原理,知道了交换机处理数据的转发方式,其中有两种情况会以广播方式进行发送数据,第一种是目的MAC是全F的,以及组播MAC,第二种是未知单播帧,那这个会带来什么样的问题呢?

案例场景引入问题

某个办公楼有多个办公区域被不同团队租用,管理员给了每个办公区域一个独立的交换机进行接入,然后在统一接入到公用的核心交换机,通过路由器出去上网。

图片

上面这个属于常见的企业网架构,也是入门篇后续要学会规划跟搭建的,核心交换机以及路由器的内容暂时没学,可以忽略掉,我们主要把重点放在下面的三个办公区域。(后续大部分课程会以这个架构进行讲解知识点,另外整体的架构等知识点学完以后,会在案例部分进行整个框架解析,为什么要这样来组网)

很显然,像这样结构的网络划分,租用办公对的用户希望是自己属于一个独立的的区域,跟其他区域隔离开来,IT管理员给他们划分了多个网段,每个办公区域一个独立的网段,想用网段进行隔离,我们来看看这样的网络用什么样的问题。(地址如上,PC手动配置地址、掩码即可,实际中肯定是自动获取,由于我们还没学到DHCP的配置,所以暂时的手动)

  • 办公区域1在的PC2在访问PC1的时候,其他区域能否收该区域的数据包呢?

 这个抓包测试下就可以验证得到结果了,我们使用PC2  ping PC1,抓取任意一台其他区域的电脑。

建议在测试之前,把设备的名字改了,比如办公区一的,改成bg1,办公区二的改成bg2,办公区三的改成bg3,核心交换机改成Core,该名字的命令是sysname 

图片

从PC2去ping pc1,通的

好玩的事情出现了,虽然这个网络的办公区域用了不同的网段进行了隔离,但是在PC6开启的抓包中,还是收到了来自于192.168.255.1的ARP请求,询问谁是255.50,那么得到了一个结论

图片

虽然网段区分了,但是由于交换机默认都处于一个广播域中,在同一个局域网下面还是可以接收到的,整个流程如下

图片

  • PC2发送ARP请求PC1的MAC地址,数据包从网卡发出,办公区1的交换机收到以后,读取二层头部,源MAC学习进MAC地址表(从E0/0/2学到),发现目标MAC是全F,执行广播操作,除了接收到该接口以外的所有接口发送出去,这个时候PC1会收到进行处理,会单播回应,交换机通过查询MAC表知道PC2在E0/0/2,直接转发过去。

  • 与此同时广播包会发送到核心交换机,核心交换机也会做相同的操作,学习源MAC、广播ARP,从源接口以外的所有接口广播。(G0/0/2、G0/0/3、G0/0/4)。

  • 办公区二收到以后,同样的操作,学习MAC,广播ARP,但是PC3与PC4收到后发现请求的不是自己,丢弃。

  • 办公区三收到以后,同样的操作,学习MAC,广播ARP,但是PC5与PC6收到后发现请求的不是自己,丢弃。

  • 出口路由器收到以后,发现请求的不是自己,丢弃。 

有没有发现什么严重的问题!PC2的一个ARP请求包,就这样传遍了整个局域网,虽然IT人员用不同的网段进行了区分,但是由于本身交换机的网络就属于一个大的广播域,加上交换机的处理机制,会把该包转发给除源接口以外的所有活动接口(物理线路起来的)广播出去,所以核心交换机收到以后,会转发给出口路由器、办公区二、办公区三都会是收到,同时办公区二、与三也会执行除源接口以外的所有活动接口广播出去,下面的PC都能收到,但是这对于办公区二以及三的终端来说,该流量就属于“无意义”的流量,因为收到的PC是需要去花费时间来拆开二层头部,读取ARP的内容,结果一看发现找的不是自己,然后丢弃,这还是一个PC发的ARP广播请求包,按一个稍微大点的网络,几百台终端在这样一个大的局域网里面,每一台访问某个主机就需要ARP解析,想想看,多少这种“无意义”的流量占用着带宽、浪费网络设备以及PC的资源,因为这个解析只对于这台请求的PC来说以及被请求的终端来说是有意义,特别是其他区域的终端来说,完全是应该避免这种情况发生的。

图片

这就是一个大的网络环境下,如果都处于一个大的广播域中带来的问题,回顾:路由器收到一个ARP广播报文请求后,如果发现找到不是自己,就会直接丢弃,不会转发,路由器的三层接口天生是隔离广播域的。

  • 更糟糕的情况

图片

PC2开启长ping功能,还是开启PC6的抓包

图片

假设访问的PC1(192.168.255.50)关机了,会发生什么事情呢?

图片

是不是很奇怪,单播报文,在抓包的PC6上发现了,而且是给192.168.255.50,这个又回到了之前交换机的处理数据过程的理论了,由于PC1关机,对应的交换机口物理线路关闭,交换机会把该接口的MAC地址记录清除。

图片

清除以后,这个时候当PC2在去访问192.168.255.50(PC1的时候),交换机不知道PC1的MAC在哪,所以只能采取泛洪方式的操作,除源接口以外的所有接口发送出去,这样整个局域网的的设备与终端都会收到,这只是一台出现这样的,那N台呢?是不是整个网络都被无用的流量给占用了。

上面的情况还只是设备与终端接收 不必要处理的流量,浪费了点链路带宽以及性能,但是在网络中还存在某些病毒跟攻击,某一台机器使用过程中不小心中了病毒,那整个局域网中是不是非常的危险了?加上一些攻击存在,可能整个网络面临瘫痪的情况。

VLAN的出现

基于上面的情况,主要的问题在于交换机的工作机制以及处于同一个广播域下,假设按照原本IT管理的想法是,每个办公区一个独立区域,区域之间互不影响。

实现这样的需求,想办法把每个区域的广播域限制在该区域内传播,这样就不会影响其他区域了,我们都知道局域网的简称叫做LAN,实现每个区域一个广播域的技术叫做VLAN(Virtual Local Area Network),虚拟局域网,相当于把一个大的局域网,逻辑的分成多个小的局域网,实现每个小的局域网之间是相互独立、隔离;从而实现区域独立的效果。

  • 填坑:交换机默认有vlan吗?

图片

还记得在MAC表中以及静态绑定的时候是必须输入vlan参数的,而且默认情况下这个ID是1,这样就是说明交换机所有接口默认都属于VLAN1中,一个VLAN就是一个广播域。

  • 感受下配置VLAN后的效果。

    • VLAN怎么配置呢,先了解这两个步骤

(1)创建VLAN ID,创建方法,系统视图下,vlanid,id的范围=1~4094

举例:[bg1]  vlan 10      //创建了一个VLAN 10

(2)接口加入对应 VLAN

[bg1] interface  Ethernet0/0/1  //进入需要划分的接口

[bg1-Ethernet0/0/1]port link-type access   //接口类型为access,这个第一次接触,下一篇会介绍

[bg1-Ethernet0/0/1]port default vlan 10     //将该接口加入VLAN 10中(划入)

  • 该环境如何规划呢,才能让每个区域独立出来呢?

图片

上面提到过VLAN是把一个大LAN(局域网),逻辑的划分成多个需要的虚拟LAN,来进行隔离,按照这个原理,是不是把每个区域单独划分一个VLAN 不接可以了吗?,比如上图的区域一划分进VLAN 10,区域二划分进VLAN 20,区域三划分进VLAN 30,大致的规划有了,按照上面介绍的配置中,接口是需要加入对应的VLAN的,那哪些接口需要加入呢?

目前只关注如何隔离开这个广播网络,暂时不涉及其他如何上网以互通,来分析下如何隔离。

办公区之间如果想要隔离开,简单有效的办法就是把对接终端的接口划入一个独立的VLAN,这样是不是PC就属于单独的一个LAN,进行隔离了呢?我们来验证测试下。

  • 办公区一交换机配置

[bg1]vlan 10                                                     //创建VLAN 10的ID

[bg1]interface   Ethernet0/0/2                         //进入2号口,对接PC2

[bg1-Ethernet0/0/2]port link-type access     //接口链路类型为access

[bg1-Ethernet0/0/2]port default vlan 10      //接口默认VLAN为10,划入进10

[bg1-Ethernet0/0/2]q                                  //退出

[bg1]interface   Ethernet0/0/3

[bg1-Ethernet0/0/3]port  link-type access

[bg1-Ethernet0/0/3]port  default vlan  10

[bg1-Ethernet0/0/3]q

[bg1]interface  Ethernet0/0/1

[bg1-Ethernet0/0/1]undo port default vlan         //去掉该接口加入vlan10

  • 办公区二交换机配置

[bg2]vlan  20

[bg2-vlan20]q

[bg2]interface  Ethernet0/0/2

[bg2-Ethernet0/0/2]  port link-type access

[bg2-Ethernet0/0/2]  port default vlan 20

[bg2-Ethernet0/0/2]q

[bg2]interface  Ethernet0/0/3

[bg2-Ethernet0/0/3]  port link-type access

[bg2-Ethernet0/0/3]  port default vlan 20

[bg2-Ethernet0/0/3]q

  • 办公区三交换机配置

 不给出配置,能自己独立把办公区三的配置完成吗?

  • 在测试下

图片

这里直接开启抓核心交换机G0/0/1的包,看下还能否收到来自于PC2的ARP包请求。

图片

PC2访问PC1通了,但是核心交换机没有收到任何的数据包,说明这个广播包没有被发送到核心这边来,因为我们通过VLAN已经把它隔离了。

查看MAC地址一个明显的特征可以发现,VLAN 参数那变成了10了,这里就要介绍一个重要的概念了,之前没有学到VLAN,所以没有提及。

当交换机从某个接口收到一个数据包时,读取包的二层头部,将源MAC记录在MAC表中,记录内容:MAC地址、VLAN ID、源接口,VLAN ID与源接口获取的方式通过从哪个口收到该数据包,从而知道该接口是哪个,这个接口对应的VLAN ID是哪个,所以最终MAC表中记录 PC2(5489-98ae-62b8)对应接口ETH0/0/2,所属VLAN  10

图片

当交换机读取到目的MAC是ARP的请求(全F),之前我们说的原理是从除了原接口以外的所有接口进行广播,这里呢多了一个参数,从除了原接口以外的所有属于VLAN 10的接口进行发送,这里就E0/0/3(PC1)所在的接口属于VLAN10,所以交换机只会发给E0/0/3,而E0/0/1没有任何配置,默认属于VLAN1,所以呢,不会进行发送。相当于把一台交换机逻辑的分成了两台交换机一样了,甚至可以多台。

其实之前讲解的原理,除了从源接口以外所有接口进行广播,其实也是会看VLAN的,只是默认情况下交换机所有接口都属于VLAN1,那会也没学VLAN的概念,就没有提及。

同样的,PC1关机或者出现问题后,PC2发送的数据包,交换机收到一个未知单播帧后,只会在该VLAN内除源接口以外的其他属于对应VLAN的接口进行发送,同样有某个机子中毒或者出现攻击,影响的只是该VLAN内的主机,其他区域并不影响。

所以呢,一个好的网络为什么要划分VLAN就是这个原因。 

留一个小疑问

从VLAN隔离的角度,如果直接在核心上面划分VLAN是不是更加方便快捷,只需要配置一台设备即可,这样做有什么坏处吗?

  

”承上启下”

对于VLAN的用途已经有了一个很好的认知,其中一些细节的地方一直没提到,比如接口的类型,那它是用于干什么的?接口处于access vlan 的时候,一个数据包过来它是如何把处理的呢?同一个VLAN内它是如何实现通信的,除了access以外,还有其他的类型吗?下一篇来了解这些内容。

介绍
《华为华三企业网路由交换实战系列(基础+入门版)》是博主原创的针对华为华三组网系列应用部署为主的系列课程,结合实际环境出发,加上了博主部署经验以及会遇到哪些问题等进行综合,做到学以致用,给各位看官朋友一个不一样的学习体验。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值