1.VLAN基本概念
如下图,一台未配置的交换机,所有接口属于同一个广播域。那么这四台PC只要属于同一个IP子网,那么PC间可互相访问。同广播域中任一PC只要发送一个广播数据帧,那么其他三个PC都会收到,并且耗费资源来处理(即使它可能并不需要这个数据帧)。当这个广播域变得特别大(交换机上连接的用户数量特别多)时网络就非常有可能被大量的广播消耗掉大量资源。
另一方面,实际组网连交换机上的用户有可能是不同部门的,管理员希望对它们进行隔离。所以引入了VLAN的概念,所谓VLAN,也即Virtual LAN,是一个虚拟的、逻辑的LAN,通过VLAN技术,可以在交换机上,根据接口等信息进行VLAN的划分,从而实现设备的隔离。
图中,管理员在交换机上创建了2个VLAN,将接口1、2添加到了VLAN10,将接口3、4添加到了VLAN20。同一个广播域内,这些PC只要配置同一个网段的IP地址,就能够直接进行互访了(我们将这种通信称为二层互通)。接口3、4同理。不同的VLAN之间,用户是被隔离的(需借助路由设备,这种这种通信行为是三层通信)。
2.Access 类型的接口
2.1Access接口简介
Access接口常用于连接PC、服务器或其他终端,或路由器等设备。Access接口只能配置加入一个VLAN,配置后该接口下挂的设备属于该VLAN。
2.2Access收发数据帧时特点:
(1)access接口收数据帧时
如果该帧是Untagged帧,则接收帧并打上接口的PVID(也就是该Access接口的default vlan或缺省VLAN);
如果该帧是Tagged帧,则进行判断。当其VLAN-ID与接口PVID相同时,接收该帧,否则丢弃。
(2)access接口发送帧时,都不带tag。
3.Trunk 类型的接口
3.1.Trunk接口简介
Trunk常配置在交换机间互联口,允许多个VLAN通过(即Tagged帧)。当交换机的接口连接的对端设备(例如路由器或防火墙)的接口改成了以太网子接口,那么在这种场景下,交换机的接口也需配置为trunk类型(或者Hybrid类型)。
3.2Trunk接口收发数据帧时特点
#例如配置如下:
interface GigabitEthernet0/0/6
①port link-type trunk //配置成trunk
②port trunk pvid vlan 20 //打标签pvid 20
③undo port trunk allow-pass vlan 1 //不允许vlan 1通过
④port trunk allow-pass vlan 20 30 //允许vlan 20 30 通过
#
3.2.1Trunk接口收帧时
(1)如果收到带tag帧,则进行判定。比如收帧为PVID 40,那么命中④判定丢弃。
(2)如果收到Untagged帧,则先打标签再判断。
(注意缺省时,Trunk接口的PVID为1,而且VLAN1缺省已经在允许通行的VLAN列表中。
如果不进行任何配置,则Untagged帧进入后打上PVID 1,然后判断)
比如收到untag帧,则命中②打上了PVID 20。然后判断,因命中④所以判定放行,否则丢弃。
3.2.2Trunk接口发送帧时
(1)若该帧的VLAN-ID与接口PVID相同,且该VLAN在允许通行的VLAN列表中,则去掉Tag,发送数据帧。例如收到了VLAN-20,命中②和④,所以发出帧为untag帧。
(2)若该帧的VLAN-ID与接口PVID不同,且该VLAN在允许通行的VLAN列表中,则保持原有Tag,发送该Tagged帧。例如收帧为VLAN-30,命中④所以发出帧时带有tag的VLAN-30。而如果数据帧的VLAN-ID不在允许通行的VLAN列表中,则禁止从该接口发出。
4.hybrid类型的接口
4.1hybrid简介
既可以当access又可以当trunk口。可根据需求灵活设置特定VLAN的数据帧在发送时是否打标记(Trunk接口只能设置一个VLAN在发送数据帧时不打标记,而hybrid接口则可设置多个VLAN在发送数据帧时不打标记)
4.2hybrid接口收发数据帧时特点
4.2.1hybrid接收帧
- 若数据帧是Tagged帧,则直接判断是否允许通过。
- 若数据帧是Untagged帧,则先打tag再判定是否允许通过。
4.2.2hybrid发送帧
直接判断是否允许通过
5实验
5.1 access和trunk场景
配置思路:
#创建VLAN10及VLAN20:
#将GE0/0/1配置为access类型,并加入VLAN10:
#将GE0/0/2配置为access类型,并加入VLAN20:
#将GE0/0/24口配置为trunk类型,并且放行VLAN10及VLAN20:
开始配置:
SW1和SW2配置相同如下:
vlan batch 10 20
interface gigabitEthernet0/0/1
port link-type access
port default vlan 10
interface gigabitEthernet0/0/2
port link-type access
port default vlan 20
interface gigabitEthernet0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
完成上述配置后,同一个VLAN内的用户就能够互相通信了,例如PC1可以ping通PC3,而PC2也能够ping通PC4。但是不同的VLAN之间是无法互访的。
5.2Hybrid 场景
5.2.1 Hybrid接口用于连接终端PC
交换机接口默认接口类型为hybrid。默认接口属于VLAN 1 并且接口已经放通VLAN1(缺省就配置了port hybrid untaggedvlan 1)。因此在这个场景中,如果为SW1的Vlanif1配置一个192.168.10.0/24网段的IP地址,则PC1与SW1即可实现互通。此时PC1被认为属于VLAN1。
现在将PC1规划在VLAN10中,那么配置修改如下:
port hybrid pvid vlan 10设置接口类型为tag vlan 10.允许vlan 10通过。
port hybrid untagged vlan 10有两层意思:
- 以Untagged形式将Hybrid类型接口加入VLAN10后
- 接口在发送帧时将帧中的VLAN 10 Tag去掉。
因此完成上述配置后,PC1被认为属于VLAN10,并且能够ping通SW1的vlanif10接口IP地址:192.168.10.3。
5.2.2 Hybrid接口用于连接交换机
S1的g0/0/24口以带tagged形式发出VLAN10,SW2以带tagged的方式接受,接口加入了vlan 10并且允许tag vlan 10通过。
5.2.3交换机互联使用trunk和hybrid
SW1在通过GE0/0/24往外发送数据帧时,对于VLAN10及VLAN20采用tagged帧的方式发送,而对于VLAN1000则采用untagged帧的方式发送,那么如果SW2采用hybrid接口与其对接,此时该接口的配置应该如下: