<p>众所周知,VLAN链路分为ACCESS和TRUNK两种模式(还有一种混合模式),如为ACCESS模式,一条链路上只能传输一条VLAN链路的数据,如为TRUNK模式,则可传输多条链路数据。TRUNK封装可分为IEEE802.1Q(doltq)和CISCO私有的ISL封装。</p><p> ISL封装为真正意义上的封装,其在数据头封装了26个字节,尾加了4个字节的CRC,而doltq则是在数据镇内插入4个字节,其位于目的地址和源地址之后。</p><p> 在CISCO设备上,有条命令SWITCHPORT TRUNK NATIVE VLAN (VLAN ID),来配置本地VLAN,因为doltq封装对于TRUNK传输的本地的那条链路是不在封装信息里写入VLAN id的,换句话说,在doltq封装下TRUNK链路的两端本地VLAN必须是一致的,如果不一致,就会出现可能通信,可能不通信的情况。而ISL封装由于不支持没有标记的VLAN,换句话说,他会在任何数据上写入VLAN id。</p><p> 举个例子,假设两台交换机,以下简称SW1,SW2,各有3个端口,分别是S1E1,S1E2,S1E3,S2E1,S2E2,S2E3,分别属于VLAN1,2,3,TRUNK是做在S1E3和S2E1,上的,如果这个时候使用doltq封装,那么,只有S1E2和S2E2可以正常通信,而从S1E1和S2E1通信,数据从S1E1可以到达S2E1,但是从S2E1往回的时候,数据将在S1E3处被丢弃。</p><p> 不知道现在说明白没有??</p>
[此贴子已经被作者于2006-3-1 21:34:04编辑过]
|