VLAN是一个怎样的工作过程呢?它是如何做到隔离的功能,带着这些疑问,今天一起来看看吧
VLAN基本通信原理为了提高处理效率,交换机内部的数据帧一律都带有VLAN Tag,已统一方式处理 。当一个数据进入交换机接口时,如果没有带VLAN Tag标签,且该接口上配置了PVID,那么,该数据帧就会被标记上接口的PVID 。如果数据帧已经带有VLAN Tag,那么,即使接口已经配置了PVID,交换机不会再给数据帧标记VLAN Tag 。
由于接口类型不同,交换机对数据帧的处理过程也不同,具体的请查阅《交换机三种端口模式Access、Hybrid和Trunk对数据包Tag的处理过程》
下面通过两个案例来说明一下VLAN的工作原理:
同一交换机不同VLAN情况
文章插图
上图交换机分别配置了VLAN 10 20,同时把相应的PC加入不同的VLAN中,通过在交换机上GE0/01和GE0/0/3抓包,发现GE0/0/1能抓取数据包,而GE0/0/3没有数据包经过 。这也证实了VLAN的一个特性,隔离广播风暴 。
文章插图
正常的情况先,PC1在和PC2的第一次通信,先广播一个ARP请求,在交换机的所有端口,除了自己发送数据端口之外,其他端口都能正常收到的 。但是上述拓扑由于划分了VLAN,所以ARP广播被GE0/0/3端口丢弃 。所以导致PC1不能获取PC2的mac地址,导致无法通信 。
小伙伴们看到这里,可能会说,我们能不能提前把PC2的MAC地址告诉PC1,这样PC1就不用再发ARP广播包去请求MAC地址啦 。
通过在PC1和PC2中相互把对方的MAC地址进行添加,执行如下命令
PC1>arp -s 192.168.1.3 54-89-98-C1-58-5APC2>arp -s 192.168.1.2 54-89-98-05-20-B9添加完之后,重新在交换机GE0/0/1和GE0/0/3端口进行抓包,如下图,GE0/0/3还是没有数据抓取到,这次GE0/0/1端口到ICMP包的请求超时 。
文章插图
通过提前绑定MAC地址信息,但是,依然PC1和PC2不能相互访问 。那么VLAN数据包是如何工作的呢?先来看Access端口在接收和发送数据包的是都做了什么操作 。
Access接口对接收不带Tag的报文处理:接收该报文,并打上缺省的VLAN ID
【深入了解VLAN工作原理,不能错过干货】Access接口对接收带Tag的报文处理:当VLAN ID 与缺省VLAN ID相同时,接收该报文;当VLAN ID与缺省VLAN ID不同时,丢弃该报文;
发送帧处理过程:先剥离帧的PVID Tag,然后再转发 。
注意:如果端口为access类型,并加入了一个vlan,那么这端口的PVID属性值变成和VID值一样;缺省VLAN ID 就是当前加入的VLAN ID从以上access端口接收发送数据包,可以大致推测出PC1和PC2的通信过程如下:
1、当PC1发送数据包时,数据包是不带Tag标签的 。进入交换机GE0/0/1端口后,则被带上VLAN 10 的标签 。
2、当交换机GE0/0/3端口接收到GE0/0/1端口发来的数据包,然后检查发现是带上Tag标签的,进一步比较与自己的缺省VLAN是否一致,结果发现不一致,直接发数据包丢弃了 。
同一交换机相同VLAN情况
文章插图
上图两台交换机通过GE0/0/24端口互联,并把GE0/0/24配置成trunk口模式,允许VLAN 10、20通过 。那么垮交换机的VLAN又是怎么一个流程呢?
先分别在SW1和SW2的GE0/0/24端口抓包,看看什么样的数据包经过GE0/0/24 。
文章插图
从上图看到通过SW1和SW2的G0/0/24端口数据包都是一样的,携带了Tag标签 。再来看看trunk收发数包的流程 。
trunk端口对不带Tag的报文处理:
- 打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表时,接收该报文 。
- 当缺省VLAN ID不在允许通过的VLAN ID列表时,丢弃该报文 。
- 当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文;
- 当VLAN ID不在接口允许通过的VLAN ID列表时,丢弃报文 。
- 当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文;
- 当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文 。
推荐阅读
- 时间线桌游具体规则
- 白玉兰花,小南带您了解正宗黄山毛峰茶叶有哪些品种
- 了解 FreeDOS 中的文件名和目录
- 三种实现VLAN间通信的方式,实现VLAN间通信
- OPPO|天玑8000性价王者!一图了解OPPO K10:1999元起
- 金丝皇菊种植技术,金丝皇菊什么样的好金丝皇菊和胎菊哪个好你了解吗
- 你真的了解颜色吗?颜色对于photoshop有多重要?看完就明白
- 深入底层探究并发编程Bug罪魁祸首——可见性、原子性、有序性
- 深入剖析 rabbitMQ
- 了解鲁迅先生?《鲁迅先生》