802.1Q在数据包在干线上传输之前打标签,在到达接收端时清楚标记。
ISL封装,MTU是1548字节,802.1Q封装,MTU是1522字节。
如果感到端口的接受帧没有被封装,那么ISL将丢弃这些帧,ISL对所有帧都进行封装,包括Native vlan,802.1Q不对native vlan的帧进行封装。对于两台设备之间的802.1Q干道端口,要求两侧配置相同的native vlan,否则可能导致二层环路。switchport trunk native vlan xx可以修改native vlan。
ISL支持vlan编号范围是1~1005,而802.1Q支持编号范围1~4094
Native vlan不被标记处理,所以native vlan不包含可用于Qos的802.1p字段。在ios12.1.13以及更新版本的ios中,增加了用于标记干道端口上native vlan的配置选项,通过该选项,native vlan流量仅被相关的vlan id(默认情况下为vlan 1)标记,如果从干道中清除vlan 1,那么将只清除vlan 1中的数据流量,而cdp、dtp和PAgP等流量仍然能够通过vlan1进行传送。(使用Native vlan)
交换机上的每个物理端口都拥有一个被称为PVID(端口vlan id)的参数,实际上native vlan=pvid,native vlan只是针对untagged帧的:如果交换机的端口收到了不带tagged的数据报,就会根据端口的native vlan的值讲数据包转发到native vlan所在的vlan,如果收到的是tagged的数据包,就会根据包里tag里面的vid转发到相应的vlan。
pvid是802.1Q的标准,cisco不是按照802.1q标准的,就像cisco的pvst和isl都是它自己的标准,cisco的做法是你加如某个vlan,这个port就会以untagged的方式加入,并且pvid值也会随之变成其vlan号,也就是所谓的native vlan变成了你所加入的vlan
CDP/VTP/DTP/PAgP/UDLD协议实际传输时需要Native Vlan,如下例所示为wireshark抓包结果,交换机g0/2连接本PC,该交换机从g0/2发出CDP包,g0/2属于vlan9
Cisco_b9:75:82 CDP/VTP/DTP/PAgP/UDLD CDP Device ID: f9-01 Port ID: GigabitEthernet0/2
Address: CDP/VTP/DTP/PAgP/UDLD (01:00:0c:cc:cc:cc)
Native VLAN: 9
vid是在数据包包中tag中代表数据包所属vlan的值,而pvid是在端口是表明端口所在native vlan的值,再次申明,pvid也就是native vlan,是只针对不带tag的数据包的,也就是说数据包中不带vid,如果带了tag也就是说带了vid的数据包,那么pvid就不起作用了
该文章转载自:http://blog.163.com/s_u/blog/static/13308367201052533224402/
转载于:https://blog.51cto.com/mypan/536727