众所周知,VLAN链路分为ACCESS和TRUNK两种模式(还有一种混合模式),如为ACCESS模式,一条链路上只能传输一条VLAN链路的数据,如为TRUNK模式,则可传输多条链路数据。TRUNK封装可分为IEEE802.1Q(doltq)和CISCO私有的ISL封装。 ISL封装为真正意义上的封装,其在数据头封装了26个字节,尾加了4个字节的CRC,而doltq则是在数据镇内插入4个字节,其位于目的地址和源地址之后。 在CISCO设备上,有条命令SWITCHPORT TRUNK NATIVE VLAN (VLAN ID),来配置本地VLAN,因为doltq封装对于TRUNK传输的本地的那条链路是不在封装信息里写入VLAN id的,换句话说,在doltq封装下TRUNK链路的两端本地VLAN必须是一致的,如果不一致,就会出现可能通信,可能不通信的情况。而ISL封装由于不支持没有标记的VLAN,换句话说,他会在任何数据上写入VLAN id。
你可以这么理解,etherchannel 是同一个交换机 2个端口的 汇聚。这两个端口是物理上的2个端口。比如fa0/1 fa0/2 由这两个端口虚拟出一个 channel的端口。这个端口是逻辑上的端口。但是对外只被看做一个口。所有的端口默认vlan 都是vlan1。如果2层设备上,两个端口不在同一vlan上,比如 一个在vlan1 一个在你自己建立的vlan2上,你想想他还能通信么?都不能通信了如何做负载均衡? 你做channel 对端也要是 channel。当然 channel的端口数量不限定于2个。希望我的回答可以帮助到你,不对的地方请指出。