在前面打印机VLAN 的例子里,如果一台打印机从该端口移走了,该端口又接入了一台财务服务器。财务服务器就和打印机服务器进入同一个VLAN 了。这将会限制对财务服务器的接入,不得不重新分配网络资源。
基于MAC 的VLAN 可以解决上面的这个问题,VLAN 的成员是基于设备的MAC 地址,而不是交换机的物理端口。如果一个设备从交换机的一个端口移到另外一个,该设备属于哪一个VLAN,还是由设备来决定的。
不幸的是,用MAC 地址来确定VLAN 耗费时间,而且现在使用的很少。
VLAN 标签
VLAN 标签用来指示VLAN 的成员,它封装在能够穿越局域网的帧里。这些标签在数据包进入VLAN 的某一个交换机端口的时候被加上,在从VLAN 的另一个端口出去的时候被去除。根据VLAN 的端口类型会决定是给帧加入还是去除标签。VLAN 中的两类接口类型是指接入端口和骨干端口。
接入端口
接入端口用在帧接入或者离开VLAN 时。当接入端口收到一个帧的时候,帧并没有包含一个VLAN 标签。一旦帧进入接入端口,会给帧加入VLAN 标签。
图3.(安恒注)
当帧在交换机里面的时候,附着进入接入端口时被附上的VLAN 标签。当帧通过目的接入端口离开交换机的时候,VLAN 标签就被去除了。传输设备和接收设备并不知道收到的帧曾经被加过VLAN 标签。
骨干端口
网络中包含多于一个交换机的时候,必须把VLAN 标签的帧从一个交换机传到另一个交换机。骨干端口和接入端口的区别是骨干端口在传出帧之前,不会去除VLAN 的标签。保留了VLAN 标签,接收交换机就能知道传输帧属于哪一个VLAN。帧就可以传送到接收交换机的合适端口。
图4.(安恒注) VLAN 标签技术 每一个VLAN 标记帧包含指明自身所属VLAN 的字段。有两种种主要的VLAN 标签格式,思科公司的Inter-Swith Link(ISL)格式和标准的802.1Q 格式。 思科ISL Inter-Swith Link(ISL) 格式是思科私有VLAN 标签格式。在使用的时候,VLAN 标签在每个帧的头部增加26 字节信息,在帧尾部附加4 字节CRC。标签的格式如下: 图5.(安恒注) DA TYPE USER SA LEN AAA03 HSA VLAN BPDU INDEX RES 目的地址:包括一个广播地址0x01-00-0C-00-00 或者是0x03-00-0c-00-00 类型:指明承载封装帧所用的技术 用户:4 比特域,指明用户帧被分配的优先级 源地址:正在传送这个ISL 帧的交换机端口的MAC 地址 封装帧的长度。该长度不包括ISL 头和ISL FCS 的长度 恒定值域 源地址的高位比特-必须是0x00-00-0c 15 比特域,用来指示VLAN 成员 1比特域。如果封装的帧是802.1D Spanning Tree桥接协议数据单元的话,就置1 包含传送数据包的交换机的端口索引 为令牌环和FDDI 封装帧保留的域 ENCAP Frame FCS 表1.(安恒注) 交换机接入口接收到的完全未更改的原始数据帧 ISL 帧的帧校验 基于802.1Q 标准的标签 ISL 是思科公司的私有格式,而802.1Q 是IEEE 的标准格式。802.1Q 标准允许VLAN 标记帧可以在不同厂家的交换机之间传递。802.1Q 标签比ISL 标签包含更少的域,是插入帧而不是放入帧头。 图6.(安恒注) DA SA 8100 帧的目的地址。这个地址在帧被打上标签或者未被打上标签的时候是一样的。 帧的源地址。这个地址在帧被打上标签或者未被打上标签的时候是一样的。 恒定值域,指明这个帧包含一个802.1QVLAN 标签 规范格式指示——1 比特的域用来指示是否包含VLAN 标签。最初用在令牌环网络 12 比特的域用来识别标记帧属于哪一个VLAN。 标记帧的数据部分 用来确认帧的完整性的帧校验 Priority 3 比特域,用户优先级定义 CFI VLAN Data FCS 表2.(安恒注) Ethertype 标签帧的3 层协议
维护VLAN
一个网络使用VLAN 后一个最大的挑战就是对穿过多个交换机的VLAN 的配置维护。没有一个集中的方法配置和维护VLAN 信息,网络管理员必须对每一个交换机进行独立的VLAN 配置。思科公司开发了一种VLAN Trunk 协议来帮助克服这些缺点。
VTP——VLAN Trunk 协议
VLAN Truank 协议允许在一个单独的设备(VTP 服务器)上配置VLAN,并把配置信息通过交换网络传递出去。这减少了管理VLAN 需要的总时间。
在一个VTP 环境里,一台交换机可以是以下3 种不同的角色之一。可以是一台VTP 服务器、一台VTP 客户机、或者工作在透明模式。角色决定了交换机在VLAN 网络中被如何配置。
VLAN Trunk 协议有支持多个VTP 域的能力。每个VTP 域的客户交换机从该域的VTP 服务器接收自身的配置信息。在同一个本地网络可以有多个VTP 域。
VTP 服务器
VTP 服务器是每个VTP 域的根本。服务器是VTP 域内唯一的可以增加、删除、重命名VLAN 的交换机。当一台未经配置的思科交换机第一次上电开机的时候,它的默认模式是服务器模式。我们必须把它该成客户机或者透明模式。
VTP 服务器周期性地广播VTP 域名、VLAN 配置,提供现行的配置修改号。这个修改号是VTP 域的一部分,它确保VTP 域内的所有交换机有现行的、正确的VLAN 配置信息。
当VLAN 在VTP 服务器上被创建的时候,和其他VLAN 配置信息一起存储在服务器的NVRAM (存储单元)。当交换机重启的时候,配置信息还是被保留。
VTP 客户模式
VTP 客户交换机从VTP 服务器接收所有客户交换机的配置信息。客户交换机不能删除、添加、重命名VLAN 。当客户交换机加入一个新的VLAN,
VLAN 必须被添加到VTP 服务器上面去。这样新的VLAN 才能传递到所有的客户交换机。当新的VLAN 增加后,客户交换机上的端口会关联到新的VLAN。
类似VTP 服务器,客户交换机在NVRAM (存储单元)存储VLAN 配置。然而, 不像VTP 服务器,当客户交换机重启的时候,所有的VLAN 配置信息丢失了。交换机启动完成后,需要发送一条VTP 请求消息给VTP服务器,来获取现行的VLAN 配置。
VTP 透明模式
VTP 透明交换机和VTP 客户交换机不同,VLAN 可以在这些交换机上手工配置。如果配置为VTP 域的一部分,他们可以从VTP 服务器接收VLAN 配置信息。然而,他们不会通知VTP 域本地配置的VLAN。
配置成透明模式的交换机还是会收到VTP 配置帧并传递这些帧到所有的骨干端口。这允许VTP 客户交换机可以连接到一个VTP 透明交换机。客户交换机透过透明交换机还是可以和VTP 服务器交换VLAN 配置信息。
VTP数据帧
用来配置和维持VTP域的数据帧可以封装成802.1Q或者ISL帧格式。VTP使用一个保留的广播地址做为所有帧的目的地。这个广播地址0x01-00-00-0C-CC-CC-CC 伴随着一个子网接入协议(SNAP) 的逻辑链路控制(LLC)码,和一个在SNAP头的2003类型码。每个数据帧包含一个VTP头和VTP消息类型。(注意在下面的描述中,只是显示了VTP消息格式,而不是整个以太网帧的格式。)
有3种类型的VTP消息:
1. summary(摘要) 2. Subset(子集) 3. Request(请求)
Summary(摘要)帧
摘要帧可以是VTP 服务器或者VTP 客户机发出的,每5分钟一次或者当VTP 域发生改变后立即发出。摘要广播包括VTP 域的基本信息和配置的修改情况。摘要帧可能跟随着许多的详细的描述帧——子集(Subset) 帧。
摘要帧格式如下所示: