附加VLAN信息的方法,最具有代表性的有:
- IEEE802.1Q
- ISL
5.2、IEEE802.1Q
在此,请大家先回忆一下以太网数据帧的标准格式 。
在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化 。这时数据帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值 。

文章插图
而当数据帧离开汇聚链路时,TPID和TCI会被去除,这时还会进行一次CRC的重新计算 。
基于IEEE802.1Q附加的VLAN信息,就像在传递物品时附加的标签 。因此,它也被称作“标签型VLAN(Tagging VLAN)” 。
5.3、ISL(Inter Switch Link)
ISL,是Cisco产品支持的一种与IEEE802.1Q类似的、用于在汇聚链路上附加VLAN信息的协议 。
使用ISL后,每个数据帧头部都会被附加26字节的“ISL包头(ISL Header)”,并且在帧尾带上通过对包括ISL包头在内的整个数据帧进行计算后得到的4字节CRC值 。换而言之,就是总共增加了30字节的信息 。
在使用ISL的环境下,当数据帧离开汇聚链路时,只要简单地去除ISL包头和新CRC就可以了 。由于原先的数据帧及其CRC都被完整保留,因此无需重新计算CRC 。

文章插图
ISL有如用ISL包头和新CRC将原数据帧整个包裹起来,因此也被称为“封装型VLAN(Encapsulated VLAN)” 。
需要注意的是,不论是IEEE802.1Q的“Tagging VLAN”,还是ISL的“Encapsulated VLAN”,都不是很严密的称谓 。不同的书籍与参考资料中,上述词语有可能被混合使用,因此需要大家在学习时格外注意 。
并且由于ISL是Cisco独有的协议,因此只能用于Cisco网络设备之间的互联 。
六、VLAN间路由
6.1、VLAN间路由的必要性
根据目前为止学习的知识,我们已经知道两台计算机即使连接在同一台交换机上,只要所属的VLAN不同就无法直接通信 。
接下来我们将要学习的就是如何在不同的VLAN间进行路由,使分属不同VLAN的主机能够互相通信 。
首先,先来复习一下为什么不同VLAN间不通过路由就无法通信 。在LAN内的通信,必须在数据帧头中指定通信目标的MAC地址 。而为了获取MAC地址,TCP/IP协议下使用的是ARP 。ARP解析MAC地址的方法,则是通过广播 。也就是说,如果广播报文无法到达,那么就无从解析MAC地址,亦即无法直接通信 。
计算机分属不同的VLAN,也就意味着分属不同的广播域,自然收不到彼此的广播报文 。因此,属于不同VLAN的计算机之间无法直接互相通信 。为了能够在VLAN间通信,需要利用OSI参照模型中更高一层——网络层的信息(IP地址)来进行路由 。关于路由的具体内容,以后有机会再详细解说吧 。
路由功能,一般主要由路由器提供 。但在今天的局域网里,我们也经常利用带有路由功能的交换机——三层交换机(Layer 3 Switch)来实现 。接下来就让我们分别看看使用路由器和三层交换机进行VLAN间路由时的情况 。
6.2、使用路由器进行VLAN间路由
在使用路由器进行VLAN间路由时,与构建横跨多台交换机的VLAN时的情况类似,我们还是会遇到“该如何连接路由器与交换机”这个问题 。路由器和交换机的接线方式,大致有以下两种:
- 将路由器与交换机上的每个VLAN分别连接
- 不论VLAN有多少个,路由器与交换机都只用一条网线连接

文章插图
如果采用这个办法,大家应该不难想象它的扩展性很成问题 。每增加一个新的VLAN,都需要消耗路由器的端口和交换机上的访问链接,而且还需要重新布设一条网线 。而路由器,通常不会带有太多LAN接口的 。新建VLAN时,为了对应增加的VLAN所需的端口,就必须将路由器升级成带有多个LAN接口的高端产品,这部分成本、还有重新布线所带来的开销,都使得这种接线法成为一种不受欢迎的办法 。
推荐阅读
- win10字体怎么安装图文详解
- centos系统etc下目录详解
- Tomcat 配置详解和调优
- Linux的/etc/init.d详解
- 利用什么可以制作小程序?微信小程序详解
- Nginx服务器的六种负载均衡策略详解
- 现代家装风水禁忌详解
- 中国茶典藏绿茶品鉴,图文并茂 展现丰富茶世界
- 金三银四网络面经之 DNS 详解
- 我仅用10步,就写出了全网最全的微服务架构详解
