对于交换机的端口所连接的对象来说,包括不处理VLAN标签的主机,也包括可以处理VLAN标签的交换机、路由器等,这就决定了交换机的端口所转发的数据帧可以包含VLAN ID(转发给其他的交换机、路由器,因为交换机、路由器可以处理VLAN;也可以转发不包含VLAN ID的数据帧,比如转发给PC、PLC等主机,因为PC、PLC等主机无法识别VLAN ID,对于接收到的VLAN ID的数据帧直接丢弃。
根据转发数据帧的特性,在基于端口配置VLAN的前提下,我们可以将交换机的端口分为Access、Trunk、Hhybrid这三种类型。其中Access、Trunk使用较多,Hybrid在一些特殊要求的场合使用。对于交换机的端口类型配置遵循如下原则:
Ø
如果交换机端口是与PC、PLC、网络摄像机等主机相连,此端口配置类型为Access;
Ø
如果交换机的端口是与其他交换机、路由器相连,此端口配置为Trunk。
1 Access端口
交换机与主机相连接的端口为Access,在很多的交换机配置中,属性一般有Access、untag等。Access端口的***大特点就是交换机端口与主机交换的数据帧中不包含VLAN tag,也就是我们常说的untag。Access会包含一个默认VLAN,又称为PVID。
数据转发规则为:
Ø
主机→交换机:主机将不包含VLAN ID的数据帧,交换机将此数据帧打上PVID后,在交换机内部转发到相应的端口。
Ø
交换机→主机:交换机收到内部转发到该Access端口的数据帧后,做VLAN 匹配,如果数据帧的VLAN ID等于此端口的PVID,则将此VLAN ID剥掉,将不带任何VLAN信息的数据帧转发给主机。如果VLAN ID与PVID不同,则丢弃。
Ø
总结:如果端口为Access,以此端口为区分交换机和主机的物理连接界面的话,界面与主机相连的数据帧不包含VLAN ID,而到数据帧越过此界面到达交换机的内部,则有VLAN ID。
2 Trunk端口VLAN技术很重要的功能是在网络中构建虚拟工作组,划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,也就是需要通过在网络中实施跨交换机划分VLAN。
VLAN跨越交换机时,一般采用Trunk端口类型来进行数据帧的交换,也就是数据帧携带符合802.1Q标准的VLAN Tag。
当然,跨越交换机进行数据交换时,交换机之间的连接端口也可以采用Access端口。但是往往跨越交换机时,会有多组VLAN信息进行交互,如果交换机之间的连接采用Access端口,由于其转发出来的数据帧不带VLAN Tag,那么将会无法分辨出数据帧处于那个VLAN。
Trunk端口可以接收和发送多个VLAN的数据帧,且在接收和发送过程中不对帧中的标签进行任何操作。
不过,其默认的VLAN(PVID)帧是个例外。在发送帧时,Trunk端口要剥离默认VLAN(PVID)帧中的标签;同样交换机从Trunk端口接收到不带标签的帧时,要打上默认VLAN标签。
也就是说,Trunk针对带符合802.13Q标准VLAN Tag的数据帧,以及针对不带VLAN Tag的数据帧有不同的处理方式。
对于Access、Trunk掌握的重点是标签在那里添加、剥离,不同的端口类型对于不同数据帧的标签处理方式。
上图中,与主机相连的交换机采用Access端口,两台交换机之间采用Trunk端口相连。Access端口的PVID有10、20两种。Trunk端口的PVID为20。Trunk端口允许所有VLAN通过。数据传输如下:
(1):PCA与PCC之间数据交换
Ø
PCA发出的数据帧不包含VLAN Tag,左侧交换机的E1/0/1端口将此数据帧加上端口的PVID 10,然后在交换机内部转发;
Ø
VLAN ID=10的数据帧被转发到Trunk端口E1/0/24,此Trunk允许所有VLAN通过,则VLAN ID=10的数据帧被转发给右侧交换机;
Ø
右侧交换机接收到VLAN ID=10的数据帧,进行内部转发。
Ø
在右侧交换机的E/1/0/1端口,VLAN ID =10与此端口的PVID相同,则将VLAN Tag剥离,转发给PCC的为不包含VLAN信息的数据帧。
(2):PCB与PCD之间的数据交换
Ø
PCB发出的不包含VLAN Tag的数据帧到达左侧交换机的E1/0/2端口;
Ø
左侧交换机将此数据帧添加PVID 20,然后转发到E1/0/24端口;
Ø
E1/0/24发现此VLAN ID=20,与其PVID相等,则剥离VLAN Tag转发到右侧交换机;
Ø
右侧交换机将收到的不包含VLAN信息的数据帧添加其PVID,转发到E1/0/2端口;
Ø
转发到E/1/0/2的数据帧包含VLAN ID=20,与E1/0/2的PVID相同。交换机将此VLAN Tag剥离,从E1/0/2端口转发给PCD。
上面介绍了两种基本的数据帧的转发方式,理解清楚Access、Trunk对于标签的处理,对于网络设计的方案、实际故障的处理至关重要,一定要理解清楚。
3 Hybrid端口Hybrid端口为一类
特殊的端口,在特定的场合使用。Hybrid端口能对多个VLAN帧进行剥离,这是Hybrid与Trunk的本质区别。
当网络中大部分主机之间需要隔离,但这些隔离的主机又需要与另一台主机互通时,可以使用Hybrid端口。
我们可以分析上图中,PCA、PCB同时与PCC通信,而且PCA、PCB之间不能通信的情况。
(1)
PCA发出的数据帧在交换机中被添加VLAN ID 10,到PCC时剥离;
(2)
PCB法术的数据帧在交换机中被添加VLAN ID 20,到PCC时剥离;
(3)
PCC向PCA、PCB发出的数据帧通过VLAN ID30传递。