我们都知道,pvlan中的隔离端口只能和混杂端口进行通信,那么隔离端口通过混杂端口与外界通信时,是否还带着本身的VLAN tag呢?这个问题让我突发了好奇!

      通过具体的实验抓包分析,本人发现隔离端口或者团体端口将报文发送至混杂端口,混杂端口再将其发出去时并不带上vlan tag。这又是为什么呢?经过思考,本人认为这是因为PVLAN中对外只是primary vlan ,隔离vlan和团体vlan只有在primary vlan存在 的范围内才起作用。与混杂端口互联的设备只认识primary vlan,并不认识隔离vlan和团体vlan,所以根本就不需要加上vlan tag。

     同时,这个问题又引出了另外一个问题,那就是混杂端口的对端端口应该设置为trunk口还是access口。如果是access口,那么只能是primary vlan的access口了。那能不能是trunk口呢?答案是可以的,但是必须修改trunk口的缺省vlan(native vlan),使native vlan 和primary vlan 相同即可。为什么要这样呢?这是因为当一个trunk口收到一个不带tag的报文时,它会先将该报文发送缺省vlan的端口。由于当交换机不做修改时,缺省vlan是vlan 1,而与混杂端口互联对端设备的primary vlan (实际上这样叫不合适,因为primary vlan只有在isolated vlan 和community vlan 在时才有意义)一般不会是缺省vlan 1,所以造成报文无法顺利发送到primary vlan ,这样通信就是失败了。锐捷的部分交换机不支持混杂端口与trunk端口通信,但新的版本都已经可以了。