前几天写了一篇关于单臂路由的文章,后面有一些关于acesstrunk转发机制的分析

,今天就在其基础上做一个分析。
   同一台交换机的不同vlan 如何通信
   我想大家都明白,一个vlan 就是一个广播域。如果想让两个vlan 通信就必须使用,单臂路由和三层交换。但如果只有一台2 层交换机如何实现两个vlan 的通信呢?
   大家看一下面这个实验
交换机1 的接口配置如下
Fa0/1               acess                  vlan2
Fa0/2               acess                  vlan3
Fa0/3               acess                  vlan2
Fa0/4               acess                  vlan3

我们让Fa0/1 Fa0/2各接一台PC机,利用交叉线将Fa0/3 Fa0/4互连

拓扑如下:(由于模拟器中无法把Fa0/3 Fa0/4互连,我们利用一个Hub来实现这个功能)

配置如下
version 12.1

no service timestamps log datetime msec

no service timestamps debug datetime msec

no service password-encryption

!
hostname Switch
!
!
!
interface FastEthernet0/1
 switchport access vlan 2
!
interface FastEthernet0/2
 switchport access vlan 3
!
interface FastEthernet0/3
 switchport access vlan 2
!
interface FastEthernet0/4
 switchport access vlan 3
!
测试我们利用PC0  ping  PC1

我们发现是可以互通的!

分析:

数据流分析

PC0 ping PC1首先把对方的IP地址和自己的子网掩码相与发现在同一网段。封装数据包发出。数据包通过Fa0/1进入交换机1,由于Fa0/1access口,进站打上TAG标记。SW1会在vlan2的广播域内进行洪泛。即数据包会从Fa0/3发出由于Fa0/3access口。即出站时会拆掉Tag标记。之后数据包又会通过Fa0/4再次进入交换机由于Fa0/4access口,进站打上TAG标记。SW1会在vlan3的广播域内进行洪泛。即数据包会从Fa0/2发出由于Fa0/2access口。即出站时会拆掉Tag标记,后PC2即可收到(返程数据流同理)

2.accress dot1q Trunk 的转发方式区别。

 Access的转发机制

1.       数据包通过access口离开交换机是,拆除TAG标记。

2.       交换机的access口收到不带有TAG标记的数据包时,查找接口所在vlan若交换机有该vlan则在该vlan内洪泛。

3.       交换机若在access口收到带有TAG标记的数据包则直接丢弃。

 

Dot1qTrunk的转发机制

1数据包通过Trunk离开交换机时,除Native vlan不带TAG标记,其他所有数据包均带对应的TAG标记

2如果交换机从Trunk收到带有tag标记的数据包,若该接口允许TAG标记所对应的vlan通过并且交换机上存在该vlan,则允许数据包通过,其他情况均丢弃。

3. 如果交换机从Trunk收到不带有tag标记的数据包,若该接口允许Native vlanvlan通过并且交换机上存在Native vlan,则允许数据包通过,其他情况均丢弃。