1.产生背景
在传统以太网中,根据交换机的工作原理,当交换机收到未知单播帧或者广播帧,就会执行泛洪操作,导致大量广播报文在局域网内传播,造成带宽资源的浪费,影响其他设备的性能。为了解决这一问题,虚拟局域网——vlan产生。
交换机可以隔离冲突域,但是无法隔离广播域。vlan可以实现这个功能,每个vlan都是一个广播域,只有在同一vlan下的主机,才能传播广播报文,不同vlan之间互相隔离。
2.vlan数据帧格式
相比于传统以太网数据帧,带有vlan标签的数据帧称为802.1q帧,在原始以太帧的源MAC地址和type字段中间插入了vlan标签,也成为带有tag的帧,原始数据帧称为untagged帧。
2.vlan的划分方式
1.基于端口划分vlan
2.基于MAC地址划分vlan
3.基于IP子网划分vlan
4.基于协议划分vlan
5.基于策略划分vlan
3.vlan的三种接口类型
vlan有三种接口类型,分别是access接口,trunk接口和hybrid接口。交换机每个接口只能有一个PVID,但是可能属于多个vlan。
access接口一般用于连接终端等不能是被vlan标签的设备。它的特点是端口只能属于一个vlan,当收到不带vlan标签的数据帧时,打上PVID标签,当收到带有标签的数据帧时,只接受和PVID相同的vlan标签;发送数据时,只发送和PVID相同的数据帧,并剥离标签通过。
trunk接口一般用于连接交换机之间的端口。它的特点是端口可以属于多个vlan,可以允许多个带有vlan标签的数据转发,但是只能有一个vlan可以剥离标签转发。当收到不带vlan标签的数据帧时,先打上PVID标签,查看是否在允许通过的vlan列表中,在,就接收,不在就丢弃;当收到带有标签的数据帧时,查看是否在允许通过的vlan列表中,在,就接收,不在就丢弃;发送数据时,只发送在允许通过的vlan列表中的数据帧,当vlan标签和PVID相同时,剥离标签通过,不相同时,带标签通过。
hybrid接口相当于是access接口和trunk接口的结合体,它的特点是端口可以属于多个vlan,既可以允许多个带有vlan标签的数据转发,也可以有多个vlan剥离标签转发。当收到不带vlan标签的数据帧时,先打上PVID标签,查看是否在允许通过的vlan列表中,在,就接收,不在就丢弃;当收到带有标签的数据帧时,查看是否在允许通过的vlan列表中,在,就接收,不在就丢弃;发送数据时,只发送在允许通过的vlan列表中的数据帧,列表中是tag的就带tag转发,列表中是untag的就剥离标签转发。
总结:
端口类型 | 接收数据 | 发送数据 |
access | 1.无标签,接收,打上PVID 2.有标签,只接收和PVID一样的数据 | 只发送和PVID相同的数据并剥离标签转发 |
trunk | 1.无标签,打上PVID,查看允许vlan列表,在,就收,不在,丢弃。 2.有标签,只接收在允许vlan列表中的数据。 | 1.vlan标签和PVID相同,剥离标签转发 2.vlan标签和PVID不相同,查看允许vlan列表,在,带标签转发,不在,不转发 |
hybrid | 1.无标签,打上PVID,查看允许vlan列表,在,就收,不在,丢弃。 2.有标签,只接收在允许vlan列表中的数据。 | 1.查看允许vlan列表,只转发在允许vlan列表中的数据。 2.允许vlan列表中是tag的就带标签转发,是untagged的就剥离标签转发 |
access和trunk区别:
access接口只能属于一个vlan,从access接口出去的数据都是不带vlan标签的原始数据帧,trunk接口可以属于多个vlan,可以允许多个vlan带标签通过,但是只能允许和PVID相同的vlan不带标签通过。
trunk和hybrid区别:
trunk接口只能允许和PVID相同的vlan不带标签通过,但是hybrid接口可以允许多个vlan不带标签通过。
4.vlan的配置
access和trunk配置
PC1和PC3属于vlan10, PC2和PC4属于vlan20,相同vlan之间可以通信,不同vlan之间不能通信。
SW1配置
[sw1]vlan batch 10 20---创建vlan10和20
[sw1-GigabitEthernet0/0/1]port link-type access-----端口类型是access
[sw1-GigabitEthernet0/0/1]port default vlan 10----设置默认vlan是10
[sw1-GigabitEthernet0/0/2]port link-type access-----端口类型是access
[sw1-GigabitEthernet0/0/2]port default vlan 20----设置默认vlan是20
[sw1-GigabitEthernet0/0/3]port link-type trunk-----端口类型是trunk
[sw1-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20----设置允许通过vlan10和20
查看SW1端口vlan
[sw1]display vlan
SW2配置
[sw2]vlan batch 10 20---创建vlan10和20
[sw2-GigabitEthernet0/0/1]port link-type trunk-----端口类型是trunk
[sw2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20----设置允许通过vlan10和20
[sw2-GigabitEthernet0/0/2]port link-type access-----端口类型是access
[sw2-GigabitEthernet0/0/2]port default vlan 10----设置默认vlan是10
[sw2-GigabitEthernet0/0/3]port link-type access-----端口类型是access
[sw2-GigabitEthernet0/0/3]port default vlan 20----设置默认vlan是20
查看SW2端口vlan
[sw2]display vlan
ping测试
在SW1和SW2之间抓包查看802.1Q数据帧
hybrid配置
需求:PC1、PC2 、PC3、PC4分别属于vlan10、vlan20、vlan30、vlan40,要求vlan10可以和vlan30和vlan40通信,其他vlan之间互相隔离。
SW1配置
[sw1]vlan batch 10 20 30 40---创建4个vlan
[sw1-GigabitEthernet0/0/1]port hybrid pvid vlan 10----设置hybrid端口PVID是10
[sw1-GigabitEthernet0/0/1]port hybrid untagged vlan 10 30 40----对于vlan10、30、40不带标签通过
[sw1-GigabitEthernet0/0/2]port hybrid pvid vlan 20----设置hybrid端口PVID是20
[sw1-GigabitEthernet0/0/2]port hybrid untagged vlan 20----设置vlan20不带标签通过
[sw1-GigabitEthernet0/0/3]port hybrid tagged vlan 10 20 30 40-----设置4个vlan都标签通过
查看SW1端口vlan
[sw1]display vlan
SW2配置
[sw2]vlan batch 10 20 30 40---创建4个vlan
[sw2-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 30 40-----设置4个vlan都标签通过
[sw2-GigabitEthernet0/0/2]port hybrid pvid vlan 30----设置hybrid端口PVID是30
[sw2-GigabitEthernet0/0/2]port hybrid untagged vlan 10 30----对于vlan10、30不带标签通过
[sw2-GigabitEthernet0/0/3]port hybrid pvid vlan 40----设置hybrid端口PVID是40
[sw2-GigabitEthernet0/0/3]port hybrid untagged vlan 10 40----设置vlan10、40不带标签通过
查看SW2端口vlan
[sw1]display vlan
PC1 ping测试