传统的局域网使用的是HUB,HUB只有一根总线,一根总线就是一个冲突域。所以传统的局域网是一个扁平的网络,一个局域网属于同一个冲突域。任何一台主机发出的报文都会被同一冲突域中的所有其它机器接收到。后来,组网时使用网桥(二层交换机)代替集线器(HUB),每个端口可以看成是一根单独的总线,冲突域缩小到每个端口,使得网络发送单播报文的效率大大提高,极大地提高了二层网络的性能。假如一台主机发出广播报文,设备仍然可以接收到该广播信息,我们通常把广播报文所能传输的范围称之为广播域,网桥在传递广播报文的时候依然要将广播报文复制多份,发送到网络的各个角落。随着网络规模的扩大,网络中的广播报文越来越多,广播报文占用的网络资源越来越多,严重影响网络性能,这就是所谓的广播风暴的问题。
由于网桥二层网络工作原理的限制,网桥对广播风暴的问题无能为力。为了提高网络的效率,一般需要将网络进行分段:把一个大的广播域划分成几个小的广播域。
过去往往通过路由器对LAN进行分段。图中用路由器替换上一图中的中心节点交换机,使得广播报文的发送范围大大减小。这种方案解决了广播风暴的问题,但是用路由器是在网络层上分段将网络隔离,网络规划复杂,组网方式不灵活,并且大大增加了管理维护的难度。作为替代的LAN分段方法,虚拟局域网被引入到网络解决方案中来,用于解决大型的二层网络环境面临的问题。
虚拟局域网(VLAN——Virtual Local Area Network)逻辑上把网络资源和网络用户按照一定的原则进行划分,把一个物理上实际的网络划分成多个小的逻辑的网络。这些小的逻辑的网络形成各自的广播域,也就是虚拟局域网VLAN。图中都使用一个中心交换机,但是左右各属于不同的VLAN,形成各自的广播域,广播报文不能跨越这些广播域传送。
虚拟局域网将一组位于不同物理网段上的用户在逻辑上划分成一个局域网内,在功能和操作上与传统LAN基本相同,可以提供一定范围内终端系统的互联。
VLAN与传统的LAN相比,具有以下优势:
限制广播包,提高带宽的利用率:
有效地解决了广播风暴带来的性能下降问题。一个VLAN形成一个小的广播域,同一个VLAN成员都在由所属VLAN确定的广播域内,那么,当一个数据包没有路由时,交换机只会将此数据包发送到所有属于该VLAN的其他端口,而不是所有的交换机的端口,这样,就将数据包限制到了一个VLAN内。在一定程度上可以节省带宽;
减少移动和改变的代价:
即所说的动态管理网络,也就是当一个用户从一个位置移动到另一个位置时,他的网络属性不需要重新配置,而是动态的完成,这种动态管理网络给网络管理者和使用者都带来了极大的好处,一个用户,无论他到哪里,他都能不做任何修改地接入网络,这种前景是非常美好的。 当然,并不是所有的VLAN定义方法都能做到这一点;
创建虚拟工作组:
使用VLAN的最终目标就是建立虚拟工作组模型,例如,在企业网中,同一个部门的就好像在同一个LAN上一样,很容易的互相访问,交流信息,同时,所有的广播包也都限制在该虚拟LAN上,而不影响其他VLAN的人。一个人如果从一个办公地点换到另外一个地点,而他仍然在该部门,那么,该用户的配置无须改变;同时,如果一个人虽然办公地点没有变,但他更换了部门,那么,只需网络管理员更改一下该用户的配置即可。这个功能的目标就是建立一个动态的组织环境,当然,这只是一个理想的目标,要实现它,还需要一些其他方面的支持。用户不受到物理设备的限制,VLAN用户可以处于网络中的任何地方,VLAN对用户的应用不产生影响;
增强通讯的安全性:
一个VLAN的数据包不会发送到另一个VLAN,这样,其他VLAN用户的网络上是收不到任何该VLAN的数据包,确保了该VLAN的信息不会被其他VLAN的人窃听,从而实现了信息的保密;
增强网络的健壮性:
当网络规模增大时,部分网络出现问题往往会影响整个网络,引入VLAN之后,可以将一些网络故障限制在一个VLAN之内。由于VLAN是逻辑上对网络进行划分,组网方案灵活,配置管理简单,降低了管理维护的成本。
基于端口的VLAN
这种划分VLAN的方法是根据以太网交换机的端口来划分,比如交换机的1~4端口为VLAN A,5~17为VLAN B,18~24为VLAN C。当然,这些属于同一VLAN的端口可以不连续,如何配置,由管理员决定。
图中端口1和端口7被指定属于VLAN 5,端口2和端口10被指定属于VLAN10。主机A和主机C连接在端口1、7上,因此它们就属于VLAN5;同理,主机B和主机D属于VLAN10。
如果有多个交换机的话,例如,可以指定交换机 1 的1~6端口和交换机 2 的1~4端口为同一VLAN,即同一VLAN可以跨越数个以太网交换机,根据端口划分是目前定义VLAN的最常用的方法。这种划分的方法的优点是定义VLAN成员时非常简单,只要将所有的端口都指定一下就可以了。它的缺点是如果VLAN A的用户离开了原来的端口,到了一个新的交换机的某个端口,那么就必须重新定义。
接入链路指的是用于连接主机和交换机的链路。通常情况下主机并不需要知道自己属于哪些VLAN,主机的硬件也不一定支持带有VLAN标记的帧。主机要求发送和接收的帧都是没有打上标记的帧。
接入链路属于某一个特定的端口,这个端口属于一个并且只能是一个VLAN。这个端口不能直接接收其它VLAN的信息,也不能直接向其它VLAN发送信息。不同VLAN的信息必须通过三层路由处理才能转发到这个端口上。
干道链路是可以承载多个不同VLAN数据的链路。干道链路通常用于交换机间的互连,或者用于交换机和路由器之间的连接。干道链路的英文叫做“trunk link”。
数据帧在干道链路上传输的时候,交换机必须用一种方法来识别数据帧是属于哪个VLAN的。IEEE 802.1Q定义了VLAN帧格式,所有在干道链路上传输的帧都是打上标记的帧(tagged frame)。通过这些标记,交换机就可以确定哪些帧分别属于哪个VLAN。
和接入链路不同,干道链路是用来在不同的设备之间(如交换机和路由器之间、交换机和交换机之间)承载VLAN数据的,因此干道链路是不属于任何一个具体的VLAN的。通过配置,干道链路可以承载所有的VLAN数据,也可以配置为只能传输指定的VLAN的数据。
干道链路虽然不属于任何一个具体的VLAN,但是可以给干道链路配置一个pvid(port VLAN ID)。当干道链路不论因为什么原因,trunk链路上出现了没有带标记的帧,交换机就给这个帧增加带有pvid的VLAN标记,然后进行处理。
当Access端口收到帧时
如果该帧不包含802.1Q tag header,将打上端口的PVID;如果该帧包含802.1Q tag header,交换机不作处理,直接丢弃。
当Access端口发送帧时
剥离802.1Q tag header,发出的帧为普通以太网帧
当Trunk端口收到帧时
如果该帧不包含802.1Q tag header,将打上端口的PVID;如果该帧包含802.1Q tag header,则不改变。
当Trunk端口发送帧时
当该帧的VLAN ID与端口的PVID不同时,直接透传;当该帧的VLAN ID与端口的PVID相同时,则剥离802.1Q tag header
图中表示一个局域网环境,网络中有两台交换机,并且配置了两个VLAN。主机和交换机之间的链路是接入链路,交换机之间通过干道链路互相连接。
对于主机来说,它是不需要知道VLAN的存在的。主机发出的报文都是untagged的报文;交换机接收到这样的报文之后,根据配置规则(如端口信息)判断出报文所属VLAN进行处理。如果报文需要通过另外一台交换机发送,则该报文必须通过干道链路传输到另外一台交换机上。为了保证其它交换机正确处理报文的VLAN信息,在干道链路上发送的报文都带上了VLAN标记。
当交换机最终确定报文发送端口后,将报文发送给主机之前,将VLAN的标记从以太网帧中删除,这样主机接收到的报文都是不带VLAN的标记的以太网帧。
所以,一般情况下,干道链路上传送的都是Tagged Frame,接入链路上传送的都是Untagged Frame。这样做的最终结果是:网络中配置的VLAN可以被所有的交换机正确处理,而主机不需要了解VLAN信息。
* 带VLAN的以太网帧格式
IEEE 802.1Q(俗称Dot One Q)标准在以太网数据帧中“发送源MAC地址”与“类别域(Type Field)”之间附加4字节的Vlan识别信息(标签),如图7所示:
插入Vlan后的以太网帧格式
TPID(Tag Protocol Identifier,标签协议标识)值规定为0x8100。设备缺省采用协议规定的TPID值,交换机通过TPID来确定数据帧是否附加基于IEEE802.1Q的VLAN信息。
VLAN的802.1p优先级,取值范围为0~7的整数,值越大优先级 越高。缺省值是0 .
TCI(Tag Control Information,标签控制信息)字段分为Pri、CFI和VLAN三部分。Pri表示报文优先级(也称1p优先级、COS或1q优先级),CFI(Canonical Format Indicator)标识MAC地址在不同传输介质中是否以标准格式进行封装,通常为0(标准格式)。Vlan ID标识该报文所属的VLAN编号,取值范围为 0~4095,一般0和4095保留(中兴设备Vid=0表示priority-tagged帧)。
在交换网络环境中,以太网帧有两种格式:有些帧未附加四字节标签,称为未标记帧(ungtagged frame),有些帧附加四字节标签,称为带标记帧(tagged frame)。
在基于端口划分的Vlan中,每个802.1Q端口都会分配一个默认的Vlan ID,称为PVID(Port Vlan ID)或端口默认Vlan ID(default Vid),CISCO称之为native Vlan。端口接收到的所有untagged帧都认为属于端口默认Vlan ID,并在端口默认Vlan ID内转发。
步骤 | 命令及注释 | 说明 |
1、设置vtp domain | vlan database 进入vlan配置模式 vtp domain com 设置vtp管理域名称 com vtp server 设置交换机为服务器模式 vtp client 设置交换机为客户端模式 | vtp domain 称为管理域,交换vtp更新信息的所有交换机必须配置为相同的管理域。核心交换机和分支交换机都要配置 |
2、配置中继 | interface fa0/1 进入端口配置模式 switchport switchport trunk encapsulation isl 配置中继协议 switchport mode trunk | 核心交换机上以上都要配置,不过在分支交换机进入端口模式只配置这个命令就可以了 |
3、创建vlan | vlan 10 name counter 创建了一个编号为10 名字为counter的 vlan。 | 创建vlan一旦建立了管理域,就可以创建vlan了。在核心交换机上配置 |
4、将交换机端口划入vlan | switchport access vlan 10 归属counter vlan | 在分支交换机的端口配置模式下配置。 |
5、配置三层交换 | interface vlan 10 ip address 172.16.58.1 255.255.255.0 给vlan10配置ip | 在核心交换机上配置 |