VLAN简称虚拟局域网,英文名称是Virtual Local Area Network。在日常工作中经常会使用到,因此掌握和熟悉VLAN配置是作为网络工程师的必备技能。下面通过VLAN的原理和配置带大家熟悉。
VLAN的定义
VLAN是英文Virtual Local Area Network的简称,又叫虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的技术。要想划分VLAN,必须购买支持VLAN功能的网络设备。
划分VLAN的作用
VLAN是为解决以太网的广播问题和安全性而提出的,一个VLAN内部的广播和单播流量都不会转发到其他VLAN中。即使是处在同一网段的两台计算机,如果不在同一VLAN中,它们各自的广播流也不会相互转发。
划分VLAN有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。由于VLAN隔离了广播风暴,也隔离了不同VLAN之间的通讯,因此,不同VLAN之间的通讯必须依靠路由器或者三层交换机来实现。
VLAN的划分方法
- 根据端口的划分VLAN
- 根据MAC地址划分VLAN
- 根据网络层划分VLAN
- 根据IP组播划分VLAN
每一中划分方法都有它的优势,但是使用的功能都是一样的。工作中最常使用的是根据端口划分VLAN,也是最简单的一种,也是必须要掌握的。
二层端口类型
在划分VLAN前需要先了解一下,这三种端口类型,Aceess端口、Trunk端口和Hybrid端口。
Access端口是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。
Trunk端口是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过。
Hybrid端口是交换机上既可以连接用户主机,又可以连接其他交换机的端口。Hybrid端口既可以连接接入链路又可以连接干道链路。Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉。
关于这种端口详细介绍可以阅读交换机三种端口模式Access、Hybrid和Trunk对数据包Tag的处理过程
下面通过一个简单的小案例介绍如何配置VLAN
拓扑图
采用华为的S5700系列交换机作为演示,其中PC1和PC1为同一个vlan组,PC3为不同的vlan组。关键配置如何下:
[SW1]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/2
[SW1-port-group]port link-type access
[SW1-port-group]port default vlan 10
[SW1]interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 20
通过执行display vlan检查是否添加成功。
以上就是关于VLAN的一些检查配置,那么如何才能让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-5A
PC2>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
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列表时,丢弃该报文。
trunk端口对带Tag的报文处理:
- 当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文;
- 当VLAN ID不在接口允许通过的VLAN ID列表时,丢弃报文。
发送帧处理过程:
- 当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文;
- 当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。
从以上Trunk端口收发数据包的处理过程,大致可以推测出PC1和PC3的过程如下:
- 当PC1发送数据包到SW1端口(数据包不带Tag标签),进入SW1交换机的GE0/0/1端口后,被加上该端口VLAN ID 20进行转发。
- 进行ARP广播请求PC3端MAC地址,数据包进入SW1的GE0/0/24端口,由于SW1的GE0/0/24端口为trunk模式,允许VLAN 10 和20通过,并根据trunk端口发送帧处理过程。数据包顺利到达SW2的G0/0/24端口。
- 由于ARP广播包携带了Tag标签,只有对应的端口对此广播进行处理,并相应。
- PC1得到PC3的MAC地址,进行数据包封装转发,进行通信。
- 本文分类:知识大全
- 本文标签:无
- 浏览次数:66 次浏览
- 发布日期:2024-02-02 20:04:36
- 本文链接:http://www.liekang.com/287131.html
- 上一篇 > 花茶有哪些品种?多少钱一斤?花茶的功效与作用
- 下一篇 > 藕粉怎么吃?别直接泡水,放入粥里拌一拌,浓稠香滑营养翻倍,太香了