前几天写了一篇关于单臂路由的文章,后面有一些关于acess和trunk转发机制的分析
我们让Fa0/1和 Fa0/2各接一台PC机,利用交叉线将Fa0/3和 Fa0/4互连
拓扑如下:(由于模拟器中无法把Fa0/3和 Fa0/4互连,我们利用一个Hub来实现这个功能)
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
分析:
数据流分析
PC0 ping PC1首先把对方的IP地址和自己的子网掩码相与发现在同一网段。封装数据包发出。数据包通过Fa0/1进入交换机1,由于Fa0/1为access口,进站打上TAG标记。SW1会在vlan2的广播域内进行洪泛。即数据包会从Fa0/3发出由于Fa0/3为access口。即出站时会拆掉Tag标记。之后数据包又会通过Fa0/4再次进入交换机由于Fa0/4为access口,进站打上TAG标记。SW1会在vlan3的广播域内进行洪泛。即数据包会从Fa0/2发出由于Fa0/2为access口。即出站时会拆掉Tag标记,后PC2即可收到(返程数据流同理)
Access的转发机制
1. 数据包通过access口离开交换机是,拆除TAG标记。
2. 交换机的access口收到不带有TAG标记的数据包时,查找接口所在vlan若交换机有该vlan则在该vlan内洪泛。
3. 交换机若在access口收到带有TAG标记的数据包则直接丢弃。
Dot1q和Trunk的转发机制
1数据包通过Trunk离开交换机时,除Native vlan不带TAG标记,其他所有数据包均带对应的TAG标记
2如果交换机从Trunk收到带有tag标记的数据包,若该接口允许TAG标记所对应的vlan通过并且交换机上存在该vlan,则允许数据包通过,其他情况均丢弃。
3. 如果交换机从Trunk收到不带有tag标记的数据包,若该接口允许Native vlanvlan通过并且交换机上存在Native vlan,则允许数据包通过,其他情况均丢弃。
转载于:https://blog.51cto.com/sunpeng51/817309