VLAN之access,trunk,hybrid三种模式区别

VLAN之access,trunk,hybrid三种模式区别

(转载自https://wenku.baidu.com/view/dcfa628e4431b90d6d85c785.html)

1. tag报文结构是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,普通的PC网卡是不能识别 的。

2. Access端口只属于1个VLAN,一般用于连接计算机端口。

3. Trunk类型的端口可用于多VLAN通信。

4. Hybrid类型的端口允许多VLAN通过,可以接收发送多VLAN报文,可用于交换机与交换机的连接,也可用于交换机和计算机的连接。

5. Hybrid类型的端口和trunk端口在处理数据包时,方法是一样的。唯一不同之处在于发送数据包时,hybrid端口可以允许多个VLAN的数据包发送时不打标签,而truck端口只允许缺省vlan(native vlan或者default vlan)的数据包发送时不打标签。

6. Access端口只属于一个vlan, 所以它的缺省VLAN就是它所在的VLAN, 不用设置。hybrid 端口 和trunk端口属于多个VLAN, 所以需要设置缺省VLAN, 默认情况下,它们的缺省VLAN是VLAN 1.

7. 如果设置了端口的缺省VLAN ID, 当端口接收到不带VLAN tag的数据包之后,则将数据包转发到缺省VLAN 所在的交换机端口;当端口发送带有VLAN tag的数据包时,如果该数据包的VLAN ID与端口缺省VLAN相同,则交换机将去掉数据包携带的VLAN tag, 然后转发到该端口。

8. 华为交换机的缺省VLAN 被称为PVID, 思科交换机则称为Native VLAN.

9. 交换机端口处理进出数据包过程如下:  Access 端口接收数据包: 收到一个数据包,判断是否有VLAN信息,如果没有则打上端口的Native VLAN ID, 并进行交换转发。 有人问了:如果有VLAN信息呢?一般情况下不应该将access端口与带有vlan的另一端口相连,因为access本来就是为接入普通计算机而设计的,而普通计算机的网卡发送数据包是不带vlan的。如果由于配置错误将其连到了对端trunk端口,或者现在有些计算机的网卡已经可以收发带有VLAN tag数据包,在这两种情况下,我的理解是,如果trunk端口发来的数据的VLAN ID与Access端口的native vlan相同,则交换机转发该数据包。如果trunk端口发来的数据包的VLAN ID与access端口的native vlan不同,则交换机丢弃该数据包。

 Access 端口发送数据包: 将数据包的VLAN信息剥离,直接发送出去。

 Trunk端口接收数据包: 收到一个数据包,判断是否有VLAN信息,如果没有则打上端口的Native VLAN ID,并进行交换转发。 如果有VLAN信息,则判断该trunk端口是否允许该VLAN的数据包进入,如果允许则转发,否则丢弃。

 Trunk端口发送数据包: 比较端口的Native VLAN和发送数据包的VLAN信息,如果两者相等则剥离VLAN信息,然后发送。如果不相等,则直接发送。

 Hybrid端口接收数据包: 收到一个数据包,判断是否有VLAN信息, 如果没有则打上端口的Native VLAN ID, 并进行交换转发。 如果有VLAN信息,则判断该hybrid端口是否允许该VLAN的数据包进入,如果允许则转发,否则丢弃。

 Hybrid端口发送数据包: 判断该VLAN在本端口配置的属性,如果属性是untag, 则剥离VLAN tag再进行转发。如果属性是tag, 则直接发送。 有一点必须清楚,就是交换机内部在处理数据包时,所有的数据包一定是打上VLAN tag的,知道了这一点,那么交换机处理VLAN的具体过程就很容易理解了。

举例1:

        两台交换机,一台端口配置trunk, native vlan为100, 另一台端口配置access, native vlan 为默认的1.

问: 连接到两台交换机的PC, 能互通吗?

你可能感兴趣的:(VLAN之access,trunk,hybrid三种模式区别)