在交换机上,可以将access接口划入各个VLAN中,不同VLAN的流量是不被交换机转发的。
如果要让两个access接口互相通信,就必须将这两个接口划入相同的VLAN中。
当需要在交换机与交换机之间通信时,连接交换机的链路就可能需要为多个VLAN提供数据传输,这样在一条链路上提供多个VLAN数据传输的链路,就是Trunk,进入Trunk的数据包被打上标记,写上相应的VLAN号,当传输到对端时,则被去掉标记,并且根据VLAN号将数据包转发到相应的VLAN中。需要说明,在access接口上的数据包,是没有VLAN号标记的,并且也不允许VLAN标记,如果一个access接口收到一个带有VLAN标记的数据包,是要将数据包丢弃的。
在Trunk上为数据包打标记是通过协议来完成的,目前有两种协议可以完成VLAN标记工作,分别是Inter-SwitchLink(ISL)和IEEE802.1Q,其中ISL为思科私有协议。
当Trunk使用ISL封装时,将对进入Trunk的每个VLAN的数据包打上标记,当ISL收到一个没有标记的数据帧,直接丢弃。
ISL在原始以太网数据帧的基础上,额外加上26字节的标记,但最多只支持1000个VLAN,除此之外,ISL还将对整个数据帧重新计算FCS,在帧的最后插入4字节的新FCS,也就是说,ISL会在原始数据帧的基础上再加30字节