大家在组建企业网络的时候知道,交换机是二层设备,不能分隔广播,如果交换机端口过多的话,那么这些端口都在同一个广播域中,这样网络的性能受到影响,现在我们使用VLAN技术,可以把一个大的广播域划分为多个小的广播域来提高网络的性能。

  我们先从一个图入手看一下Vlan的特点:

 

VLAN是什么


在这张图中,我们可以看到一个大楼有三层,最下面的一个交换机肯定是一个核心交换机,然后连接三个接入层交换机,每个接入层交换机又分别接入一些PC机,这些PC机有销售部,人事部,以及工程部。

  VLAN的特点就是可以实现网络分段,网络管理更加灵活,相对比较安全,我们先看第一个实现网络分段:

  网络分段就是分割网络广播,我们以前讲到交换机所有的端口都在一个VLAN里,也就是同一个广播域中,而我们使用了VLAN技术以后,VLAN 的数目增加了,广播域增加了,但每一个广播域的范围缩小了。一个交换机可以分成两个VLAN,三个VLAN,甚至更多的VLAN。那么就实现了只能是同一 个VLAN中的节点才可以通讯。那如果不同VLAN中的节点如果想通讯,就需要借助路由。

  第二个特点就是灵活,大家从图上可以看到不论哪一个部门都会跨越三个楼层,如一楼有销售部员的电脑,二楼也有,三楼还有,其他两个部门也一样, 但我们又需要实现同一个部门之间的PC机可以通讯,这使用VLAN也可以实现,那如果没有VLAN的话,就需要一个部门只能在同一个楼层,接在同一个交换 机上,但现在有了VLAN,即使大家不在同一个交换机上,但只要在同一个VLAN上也可以进行通讯。我们后面会详细介绍。

  至于第三个特点安全:就“明白人不用细说”,你把网络分段了,同一个VLAN是一个广播域,默认跟其他VLAN不能通讯,也就是说我这个部门与其他部门的PC默认是通讯不了的,相对来说就要安全许多!

  下面咱们来看一下VLAN的运行过程:

  我们已经知道了在同一个交换机里所有的端口默认属于VLAN1,但我们可以分成若干个VLAN,每一个VLAN都相当于是一个物理的交换机,也就是说只能是同一个VLAN中的节点可以通讯,并且同一个VLAN可以跨越多个交换机,怎么理解,我们来看一个图:

 

VLAN运行过程


大家可以看到这个图中,有两个交换机,每个交换机中又为了三个VLAN,一个是红色VLAN,一个是黑色VLAN,一个是绿色VLAN,每个交换机中只 能是同一个VLAN中的节点可以通讯,但是只要中间加了一个“道路”,我们就可以实现A交换机的红色VLAN和B交换机的红色VLAN通讯,黑色和绿色也 同理,相当于红色VLAN跨了两个交换机。在这里需要引入两个术语:

  Access-link:接入端口,普通的交换机端口用于连接终端设备,连接到这个端口上的设备完全不知道存在着一个VLAN,它不需要知道VLAN的信息,它就认为只存在它一个VLAN即可!

  Trunk-link:称为干道链路,只有快速以太网口(或更高)才可以配置成干道链路,承载的是多个VLAN之间的信息,即一个交换机的一个 VLAN如果想与另一个交换机的相同VLAN之间进行通讯就必须要经过这个Trunk-link.任何一个VLAN都是一样,我们这张图中有三个 VLAN,那么这三个VLAN就可以通过这个trunk-link链路与另一个交换机中的相同VLAN进行通讯。这样的话,不论有多少VLAN,在两个交 换机中只要有一条干道链路就可以进行通讯。那肯定有人要问了,我这个交换机中的红色VLAN传一个数据到对方去,对方怎么知道就是和对方的红色VLAN进 行通讯呢。在这里,主干会使用一种特殊的封装模式来对不同的VLAN进行封装,也就是对不同的VLAN打上一个标记。

  注: 一个交换机的任何端口都必须属于且只能属于一个VLAN,但如果某个端口被配置成TRUNK后,该端口就失去了它原来的VLAN标识,不属于任何VLAN,只是起到为所有的VLAN传输数据。

  交换机对不同的VLAN进行标记只有两种不同的方法:

  ISL:思科私有的标记方法,只适合于思科交换机

  IEEE802.1Q:一种IEEE标准方法,可以连接不同厂家的交换机

  我们首先来看一下ISL标记

  ISL:Inter Switch Link ,属于Cisco私有,即指两设备间的一条点对点的连接线路,与8021.Q一样作用于第2层,所不同的是,ISL协议头和协议尾封装了整个第2层的以太 帧。正因为此,ISL被认为是一种能在交换机间传递第2层任何类型的帧或上层协议的独立协议。ISL所封装的帧可以是令牌环或快速以太网,在原数据帧的基 础上加入了26字节的头和一个4字节的尾。这样总共是加入了30字节,如果是一个不认识ISL的设备(非思科)那么就认为这是一个巨帧,所以如果不是思科 的设备不能使用ISL。ISL封装如下图所示:

 

ISL封装格式


这里大家可以看的很清楚,20个字节中包含了很多东西,但别的大家没有必要知道,我也没有细研究过,但是最主要的两个大家要知道,一个就是VLAN,另一个就是BPDU。

  VLAN:表明属于VLAN在通讯,不同VLAN有相应的VLAN号,是一个数字,多达1024

  BPDU:如果是STP数据帧,则此位为1

  或者比较形象的可以表示为下图:一个标准的二层数据帧加下ISL标记后就多了30个字节。

 

我们来针对下面这个图看一下同一个VLAN是如何跨之外交换机工作的。

 


一个PC机发出的数据在传给交换机时在进入trunk干道之间会加上ISL的标记,然后就可以在干道上传输,到在对方的交换机后,交换机通过查看数据帧知道这个数据包是传给哪个VLAN的于是去掉相应的VLAN标识,再传给相应的VLAN内的PC。

  另一种封装标记是:IEEE标准委员会制定的802.1Q:主要用于不同厂家的交换机来建立多个VLAN,操作原理和ISL一样,也是在进入 TRUNK之前打上一个标记,到达对方的交换机后再去掉这个标记。但这个标记,就不是在两边加,而是在中间加上一个标记,我们来看一下:

 


IEEE802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(Type Field)”之间。具体内容为2字节的TPID和2字节的TCI,共计4字节。在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化。这时数据 帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。

  其中TPID是IEEE定义的新类型,表明这是一个加了802.1Q标签的帧。

  TCI:tag control information 标签控制信息,共有两个字节,其中12位是VLANID,取值从0-4095,共4096个,3位为优先级,规定了8种优先级,还有1位是cfi,在总线型以太网,FDDI,令牌环网等网络交换数据时使用。

  而当数据帧离开trunk链路时,TPID和TCI会被去除,这时还会进行一次CRC的重新计算。

  以上就是两种标记的分析!下面咱们来看一下VLAN的具体配置:

  对于VLAN进行配置,思科使用两种方法:第一种config-vlan 第二种 vlan database

  但思科所推荐的是第一种config-vlan方式,vlan database有点老了,使用vlan database的配置方式,所以的配置信息是存放在vlan.dat文件中,所以有时你删除一个配置文件后重启发现VLAN的信息还在,这就是因为 VLAN的配置信息不是存放在NVRAM中的,必须去手动删除vlan.dat文件才可以。而config-vlan不会有此问题。下表中我给出两种方法 的相关配置语句。

 
相关配置命令