Access、Hybrid和Trunk三种模式的理解 .

Untag 就是普通的 ethernet 报文,普通 PC 机的网卡是能够识别这样的报文进行通信。 Tag 报文结构的变化是在源 mac 地址和目的 mac 地址以后,加上了 4bytes vlan 信息,也就是 vlan tag 头,通常来讲这样的报文普通 PC 机的网卡是不能识别的。 ide

802.1Q 的帧是在标准以太网帧上插入了 4 个字节的标识,其中包含: spa

1)        2 个字节的协议标示符( TPID ),当前置 0X8100 的固定值,代表该帧带有 802.1Q 的标记信息。 接口

2)        2 个字节的标记控制信息( TCI ),包含了三个域: it

l         priority 域,占 3bits ,表示报文的优先级,取值 0 7 7 为最高优先级, 0 为最低优先级,该域被 802.1Q 采用; io

l         规范格式指示符域( CFI ),占 1bits 0 表示规范格式,应用于以太网, 1 表示非规范格式,应用于 Token Ring class

l         VLAN ID 域,占 12bits ,用于标识 VLAN 的归属。 方法

   

以太网端口的三种链路类型: access, trunk, hybridim

Access 类型的端口只能属于 1 VLAN ,通常用于链接计算机的端口; 数据

Trunk 类型的端口能够容许多个 VLAN 经过,能够接收和发送多个 VLAN 的报文,通常用于交换机之间链接的端口; 协议

Hybrid 类型的端口能够容许多个 VLAN 经过,能够接收的发送多个 VLAN 的报文,能够用于交换机之间链接,也能够用于链接用户的计算机。

Hybrid 端口能够容许多个 VLAN 的数据不带 tag ,而 802.1Q trunk 只能是 native vlan (即 pvid )对应的 vlan 的数据不带 tag ,应该说 hybrid 能够实现 trunk 端口的特性。实际使用时均可以用 hybrid 端口,而不用 trunk

Hybrid 端口和 Trunk 端口在接收数据时,处理方法是同样的,惟一的不一样之处在于发送数据时, hybrid 端口能够容许多个 VLAN 的报文发送时不打标签,而 trunk 端口只容许缺省 VLAN 的报文发送时不打标签。

 

交换机接口出入数据处理过程:

接收:

1.         Access 端口

1)        收到一个二层帧

2)        判断是否有 VLAN 标签,没有转到第 3 步,有则转到第 4

3)        打上端口的 PVID ,并进行交换转发

4)        VLAN 标签和 PVID 一致,转发 VLAN 帧,不然直接丢弃

2.         Trunk 端口

1)        收到一个二层帧

2)        判断是否有 VLAN 标签,没有转到第 3 步,有则转到第 4

3)        打上端口的 PVID ,并进行交换转发

4)        判断该 trunk 端口是否容许该 VLAN 帧进入,容许则转发,不然直接丢弃

注意: trunk 口容许或不容许 VLAN 帧,是对进入的帧而言的,对出去的帧没有限制

3.         hybrid 端口

1)        收到一个二层帧

2)        判断是否有 VLAN 标签,没有转到第 3 步,有则转到第 4

3)        打上端口的 PVID ,并进行交换转发

4)        判断该 hybrid 端口是否容许该 VLAN 帧进入,容许则转发,不然直接丢弃。

能够看到, trunk hybrid 口对接收到得数据帧的处理规则是同样的。

发送:

1.         Access 端口

将报文的 VLAN 信息剥离,直接发送出去

2.         Trunk 端口

比较端口的 PVID 和将要发送报文的 VLAN 信息,若是二者相等则剥离 VLAN 信息,再发送;若是不相等则直接发送

3.         Hybrid 端口

判断该 VLAN 在本端口的属性( disp interface 便可看到该端口对哪些 VLAN untag ,哪些 VLAN tag ),若是是 untag 则剥离 VLAN 信息,再发送;若是是 tag 则直接发送。