【测试目的】
1、了解trunk和access模式,tag,untag,native Vlan
【知识点】
实验的过程原理基于以下两方面:
一、交换机主要功能
交换机的主要功能是MAC表学习和数据帧转发。
1、当端口接收到数据帧时,第一步就是学习MAC地址。
a)根据数据帧中的源mac地址,查找mac地址表,没有则添加一条新的mac地址表项,有则忽略。
2、第二步是转发数据帧。
a)查看数据帧中的目的mac地址,如果是单播地址,则查找mac地址表,找到目的mac对应的端口,将数据从该端口发出去;如果是广播地址,则查找mac地址表,找到与数据帧接收端口所在的vlan。将数据从该vlan中的所有端口(除帧的接收端口)转发出去。
二、native vlan
native vlan和其他vlan的另外一个区别在于:非native vlan在trunk中传输数据时要被添加vlan标记的(如dot1q或者isl,其中isl是思科的标准),但是native vlan在trunk中传输数据时是不进行标记的。
在trunk链路上,如果switchport trunk allowed vlan all,那么所有带有vlan信息的帧都允许通过,如果不加switchport trunk allowed vlan all,那么只有native vlan 这个vlan的帧才能通过,默认native vlan 是vlan 1,有些情况下trunk出问题了,只能vlan 1的信息才能通过,vlan 1是管理vlan, 当然你也可以通过命令修改native vlan为vlan 2或者vlan 3,命令:switchport trunk native vlan vlanID。
【测试内容】
注:图中access和trunk表示端口的链路模式mode。②、③、④、⑥参考前面实验笔记。
第⑤种情况,tagged frame经过trunk端口时,tag不变。
【实验一】①
1、了解access接口接收tagged帧后的处理方法;
2、access端口不能同时位于多个vlan中。
拓扑图:
Switch0配置:
switchport trunk allowed vlan 2-3
switchport mode trunk //配成trunk模式
!
interface FastEthernet0/2
switchport access vlan 2
!
interface FastEthernet0/3
switchport access vlan 3
!
switchport trunk allowed vlan 2-3
switchport mode access //配成access模式
!
interface FastEthernet0/2
switchport access vlan 2
!
interface FastEthernet0/3
switchport access vlan 3
!
测试一:PC2 ----ping----> PC3
主要过程:
测试二:PC3 ----ping----> PC2
主要过程:
【实验二】⑦
处理方法:
- 如果该接收端口在数据帧所携带的vlan中,则在该vlan中交换该数据包(可参考实验笔记5)
- 如果该接收端口不在数据帧所携带的vlan中,丢弃该数据包(示例如下)
拓扑图:
交换机Switch0配置:
switchport trunk allowed vlan 2-3
switchport mode trunk
!
interface FastEthernet0/2
switchport access vlan 2
!
interface FastEthernet0/3
switchport access vlan 3
!
交换机Switch1配置:
switchport trunk allowed vlan 2
switchport mode trunk
!
interface FastEthernet0/2
switchport access vlan 2
!
interface FastEthernet0/3
switchport access vlan 2
!
测试方法:PC0 ----ping----> PC1
主要过程:
【实验三】⑧
问题:
解决办法:
在该接收端口(in port)所在的所有vlan中,选出一个vlan作为该untagged帧的转发目的vlan。选出的这个vlan叫native VLAN或PVID。
配置命令一般为: Switch(config-if)#switchport trunk native vlan 30。另外,native vlan是与trunk相关的一个概念。
处理方法:
- 如果该接收端口在某个vlan中的属性是untag的,则在该vlan中交换该数据包(示例如拓扑图2和过程跟踪2)
- 如果该接收端口在任何vlan中的属性都不是untag的,丢弃该数据包(示例如拓扑图1和过程跟踪1)
拓扑图1:
交换机Switch3的配置结果:
switchport trunk allowed vlan 20,30 //将接口fa0/1划入vlan 20和vlan 30
switchport mode trunk //trunk模式可以承载多个vlan数据
!
interface FastEthernet0/2
switchport access vlan 20
!
interface FastEthernet0/3
switchport access vlan 20
!
interface FastEthernet0/4
switchport access vlan 30
!
interface FastEthernet0/5
switchport access vlan 30
测试方法:PC8 ----ping----> PC7
过程跟踪1:
拓扑图2:
交换机Switch3的配置结果:
switchport trunk native vlan 30 //配置trunk上的native vlan
switchport trunk allowed vlan 20,30
switchport mode trunk
!
interface FastEthernet0/2
switchport access vlan 20
!
interface FastEthernet0/3
switchport access vlan 20
!
interface FastEthernet0/4
switchport access vlan 30
!
interface FastEthernet0/5
switchport access vlan 30
测试方法:PC8 ----ping----> PC7
过程跟踪2:
说明:从上图可知,交换机没有丢弃数据帧。
说明:(1)出交换机的帧,不是802.1Q帧,而是普通帧(untagged的帧)
(2)出端口为native vlan(vlan 30)中所有的端口(收帧端口除外)
PC8 ----ping----> PC5,交换机生成的MAC地址表如下:
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
30 0010.11ca.6a8a DYNAMIC Fa0/4
30 00d0.970e.3b64 DYNAMIC Fa0/1
Switch#
【测试题】
下面两张图来自网络,问PC2能否ping通PC3?
图一:
图二: