VLAN基础知识

VLAN简介
定义:
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。

目的:
以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通讯介质的数据网络通讯技术。当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。通过交换机实现LAN互连虽然可以解决冲突严重的问题,但仍然不能隔离广播报文和提升网络质量。

在这种情况下出现了VLAN技术,这种技术可以把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文就被限制在一个VLAN内。

作用:
限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
VLAN的基本概念
VLAN标签:
要使设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。

VLAN帧格式:

—————————在这里插入图片描述
图:VLAN数据帧格式
字段解释:
在这里插入图片描述
常用设备收发数据帧的VLAN标签情况:
在一个VLAN交换网络中,以太网帧主要有以下两种格式:

有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。
常用设备中:

用户主机、服务器、Hub只能收发Untagged帧。
交换机、路由器和AC既能收发Tagged帧,也能收发Untagged帧。
语音终端、AP等设备可以同时收发一个Tagged帧和一个Untagged帧。
为了提高处理效率,设备内部处理的数据帧一律都是Tagged帧。

链路类型和接口类型:
设备内部处理的数据帧一律都带有VLAN标签,而现网中的设备有些只会收发Untagged帧,要与这些设备交互,就需要接口能够识别Untagged帧并在收发时给帧添加、剥除VLAN标签。同时,现网中属于同一个VLAN的用户可能会被连接在不同的设备上,且跨越设备的VLAN可能不止一个,如果需要用户间的互通,就需要设备间的接口能够同时识别和发送多个VLAN的数据帧。

为了适应不同的连接和组网,设备定义了Access接口、Trunk接口和Hybrid接口3种接口类型,以及接入链路(Access Link)和干道链路(Trunk Link)两种链路类型。

链路类型:
根据链路中需要承载的VLAN数目的不同,以太网链路分为:

接入链路

接入链路只可以承载1个VLAN的数据帧,用于连接设备和用户终端(如用户主机、服务器等)。通常情况下,用户终端并不需要知道自己属于哪个VLAN,也不能识别带有Tag的帧,所以在接入链路上传输的帧都是Untagged帧。

干道链路

干道链路可以承载多个不同VLAN的数据帧,用于设备间互连。为了保证其它网络设备能够正确识别数据帧中的VLAN信息,在干道链路上传输的数据帧必须都打上Tag。

接口类型:
根据接口连接对象以及对收发数据帧处理的不同,以太网接口分为:

Access接口

Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。它只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。

Trunk接口

Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。

Hybrid接口

Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。

Hybrid接口和Trunk接口在很多应用场景下可以通用,但在某些应用场景下,必须使用Hybrid接口。比如一个接口连接不同VLAN网段的场景中,因为一个接口需要给多个Untagged报文添加Tag,所以必须使用Hybrid接口。

缺省VLAN:
缺省VLAN又称PVID(Port Default VLAN ID)。前面提到,设备处理的数据帧都带Tag,当设备收到Untagged帧时,就需要给该帧添加Tag,添加什么Tag,就由接口上的缺省VLAN决定。

接口收发数据帧时,对Tag的添加或剥除过程。

对于Access接口,缺省VLAN就是它允许通过的VLAN,修改缺省VLAN即可更改接口允许通过的VLAN。
对于Trunk接口和Hybrid接口,一个接口可以允许多个VLAN通过,但是只能有一个缺省VLAN。接口的缺省VLAN和允许通过的VLAN需要分别配置,互不影响。
同类型接口添加或剥除VLAN标签的比较:
在这里插入图片描述

当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。

当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。

当发送数据帧时:

Access接口直接剥离数据帧中的VLAN标签。
Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。
Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。
因此,Access接口发出的数据帧肯定不带Tag,Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签,Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。

VLAN通信

VLAN内互访:**
同一VLAN内用户互访(简称VLAN内互访)会经过如下三个环节。

用户主机的报文转发

   源主机在发起通信之前,会将自己的IP与目的主机的IP进行比较,如果两者位于同一网段,会获取目的主机的MAC地址,并将其作为目的MAC地址封装进报文;如果两者位于不同网段,源主机会将报文递交给网关,获取网关的MAC地址,并将其作为目的MAC地址封装进报文。

设备内部的以太网交换

设备

    如果目的MAC地址+VID匹配自己的MAC表且三层转发标志置位,则进行三层交换,会根据报文的目的IP地址查找三层转发表项,如果没有找到会将报文上送CPU,由CPU查找路由表实现三层转发。
    如果目的MAC地址+VID匹配自己的MAC表但三层转发标志未置位,则进行二层交换,会直接将报文根据MAC表的出接口发出去。
    如果目的MAC地址+VID没有匹配自己的MAC表,则进行二层交换,此时会向所有允许VID通过的接口广播该报文,以获取目的主机的MAC地址。

设备之间交互时,VLAN标签的添加和剥离

   设备内部的以太网交换都是带Tag的,为了与不同设备进行成功交互,设备需要根据接口的设置添加或剥除Tag。不同接口VLAN标签添加和剥离情况不同。

从以太网交换原理可以看出,划分VLAN后,广播报文只在同一VLAN内二层转发,因此同一VLAN内的用户可以直接二层互访。根据属于同一VLAN的主机是否连接在不同的设备,VLAN内互访有两种场景:同设备VLAN内互访和跨设备VLAN内互访。

**

同设备VLAN内互访:

**
如下图所示,用户主机Host_1和Host_2连接在同台设备上,属于同一VLAN2,且位于相同网段,连接接口均设置为Access接口。
(假设Router上还未建立任何转发表项)。
在这里插入图片描述
1、Host_1判断目的IP地址跟自己的IP地址在同一网段,于是发送ARP广播请求报文获取目的主机Host_2的MAC地址,报文目的MAC填写全F,目的IP为Host_2的IP地址10.1.1.3。
2、报文到达Router的接口IF_1,发现是Untagged帧,给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后根据报文的源MAC地址、VID和报文入接口(1-1-1, 2, IF_1)生成MAC表。
3、根据报文目的MAC地址+VID查找Router的MAC表,没有找到,于是在所有允许VLAN2通过的接口(本例中接口为IF_2)广播该报文。
4、Router的接口IF_2在发出ARP请求报文前,根据接口配置,剥离VID=2的Tag。
5、Host_2收到该ARP请求报文,将Host_1的MAC地址和IP地址对应关系记录ARP表。然后比较目的IP与自己的IP,发现跟自己的相同,就发送ARP响应报文,报文中封装自己的MAC地址2-2-2,目的IP为Host_1的IP地址10.1.1.2。
Router的接口IF_2收到ARP响应报文后,同样给报文添加VID=2的Tag。
6、Router根据报文的源MAC地址、VID和报文入接口(2-2-2, 2, IF_2)生成MAC表,然后根据报文的目的MAC地址+VID(1-1-1, 2)查找MAC地址表,由于前面已记录,查找成功,向出接口IF_1转发该ARP响应报文。
7、Router向出接口IF_1转发前,同样根据接口配置剥离VID=2的Tag。
8、Host_1收到Host_2的ARP响应报文,将Host_2的MAC地址和IP地址对应关系记录ARP表。
9、后续Host_1与Host_2的互访,由于彼此已学习到对方的MAC地址,报文中的目的MAC地址直接填写对方的MAC地址。

此组网场景下,当同一VLAN的用户处于不同网段时,主机将在报文中封装网关的MAC地址,可借助VLANIF技术(需配置主从IP地址)实现互访。

———————
版权声明:本文为CSDN博主「曹世宏的博客」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38265137/article/details/80390759

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值