虚拟局域网(VLAN)最佳实践 —— 手把手教你实战VLAN
2002-08-10    安恒整理    美国福禄克网络公司
打印自: 安恒公司
地址: HTTP://honeypot.anheng.com.cn/news/article.php?articleid=366
虚拟局域网(VLAN)最佳实践 —— 手把手教你实战VLAN


什么是(虚拟局域网)VLAN?

VLAN 是一种用逻辑的定义方法,把两个或更多的连在交换网络上的终端规划在一起。这种逻辑定义方法可以延伸到多个交换机。被规划在一起的终端,可以通过几种网络设置来规划。好像任何一种网络技术一样,了解在您的网络上存在的VLAN 的特性,是有效地管理网络一个非常重要的一节。这可令您更精确的设定VLAN 并在事故发生时减少故障诊断的时间。


为什么要用VLAN 呢?

采用VLAN 的主要原因有几个:如控制广播域的范围,网络安全,第三层地址的管理,和网络资源的集中管理。


控制广播域的范围

当一个广播域内的设备增加时,在广播域内设备的广播频率便会相对增加。广播率的提高,对设备的效率会有很大的影响,因为每一个设备都必须中断其CPU 正在处理的业务,来处理收到的广播包,以决定是否需要对包内的数据作进一步处理。这种中断降低了CPU 处理正常业务的效率,增长了完成这些业务的时间。

VLAN 一个非常重要的好处是在一个VLAN 内的广播包不会跑到别的VLAN 上去。通过限制一个VLAN 上的设备数目,在一个VLAN 上的广播率便可受到控制。一个正常的广播率应该平均每秒不超过30 个广播包。虽然还没有正式的文档宣称,但通过现场性能监测,建议广播不应该超出30 个/秒。


网络安全

有很多时候,网管人员需要限制对本地网络中一个或多个特别设备的接入。如果所有的设备都在同一个广播域内,便很难执行这种限制。通过建立多个广播域,可以通过地址过滤和建立连接认可地址表来实现该限制。

数据包要跨越一个VLAN 必须通过一个3 层路由设备。这种路由设备让网管人员可以定义设备间的接入。这种接入控制功能的使用,可以控制和监视对敏感资源设备的接入。


第3层地址管理

一个很常见的设计,是把同类型的设备,规划在同一个IP 子网。例如把打印机安排在同一个IP 子网上,属于会计部的工作站和服务器却在另一个子网。在逻辑上这样好像很合理,但在一个大型企业网络上,这种构想没有VLAN 是无法实现的。


网络资源的集中管理

假定我们把所有的打印机都规划在一个子网上,而每一个打印机都必须在同一个广播域里。这样等于需要在每一个楼层上,分别安装交换机。这些交换机都需要光缆和铜缆的连接,而这些打印机子网都需要连接到自己的专用路由器端口上。.

利用VLAN, 可以让打印机和网络中的其他设备连接到同一个交换机,分享同一条互联的电缆或光纤链路、同一个路由器端口。


VLAN 的挑战

采用VLAN 的一个最大挑战就是文档备案。当您把一个设备连接到交换机时,没有一个好办法知道设备所连的交换机端口究竟是被设定到哪一个VLAN, 或是否被设定成VLAN 骨干(Trunk) 端口。在大多数的情况下,确定端口的VLAN 设置只可以通过Telnet 登录到交换机的控机台,这种过程需要用户口令并对交换机的设置管理指令有比较深刻的了解。

当您对网络作扩容、移动或改变时,以上的挑战便更加明显。例如在一个企业里,安装交换机时一般的策略是把头12 个端口设成VLAN23 ,但是实际上,网管人员可能是因为后来端口不足或是因为企业的政策推行不完善而把设定更改。无论如何,当一个设备连接到交换器的头12个端口时,无法保证他会在VLAN23 这个VLAN 上。


通过VLAN 透视来解决

VLAN 透视选件是一个附加在OptiView 集成式网络分析仪上的选件。这个选件可以帮助网管人员应对对交换机的VLAN 设定作文档备案的挑战。

VLAN 透视选件通过 SNMP 来询问交换机的每一个端口的VLAN 设置。这些讯息可以直接显示在OptiView 集成式网络分析仪的显示屏上或通过遥控界面来观看。交换机支持的每一个VLAN 号都会列在显示屏的左边,在右边显示出对应的每一个VLAN 号的交换机端口。

除了显示VLAN 和端口的相关性,VLAN 透视选件还会显示每个端口的VLAN 配置。这对确定哪些端口被配置成骨干端口、哪些端口被配置成接入端口是非常有用的。对骨干端口,VLAN 协议标记那些显示的帧。这对解决两台交换机通过VLAN 骨干连接产生的连通问题是非常有帮助的。

显示VLAN 配置信息的能力,不仅仅对分析仪所在广播域的VLAN 有效,只要是综合分析仪通过IP 可达的任何交换机都有效。这表明VLAN 透视可以显示综合分析仪经过很多路由器跳数以后达到的交换机VLAN 配置信息。除了可以显示VLAN 配置,VLAN 透视可以生成基于每一个交换机的HTML (浏览器格式)报告。该报告描叙交换机的现有VALN 和每个VLAN 的包含的交换机端口。除了显示信息,还可以生成远端IP 子网的交换机报告。


最初的配置


              VLAN23

图1.(安恒注)

 

1 年后的配置


       VLAN23       VLAN23
           VLAN14          VLAN9

图2.(安恒注)

 


VLAN 的其中一个优点是交换机端口很容易便可以从一个VLAN 改变到另一个VLAN 。由于改变太容易,大部分的改变都没有立刻记录下来。这也是对维护VLAN 网络、做文档备案的最大挑战。很多企业都需要一个简单的方法来找出当前自己VLAN 的设定情况。


VLAN 最佳实践

拥有一个健康的VLAN 不能依靠侥幸。需要在脑海中有最优化性能的目标,仔细地设计和维护。如果在VLAN 设计的时候就不注意,结果就是网络会非常复杂,在故障查找和维护时都会非常困难。


确定使用VLAN 的原因

使用VLAN 的4 个可能原因在文档的开始已经大概做了描述:控制广播域的范围、网络安全、第3 层地址管理、网络资源集中管理。当设计一个VLAN 的时候,这些原因都需要仔细地研究。举例来说,如果在您的环境中,所有的用户都需要接入所有服务器和网络设备,安全性就不再是应用VLAN 的原因。

然而,如果您有语音在IP 上传送(VoIP)的应用,语音在一个VLAN 上传送,数据在另一个VLAN 传送,就是应用VLAN 的一个很好的原因。通过分离这两种类型的业务,对语音流量提供服务质量保证,减少了抖动和丢包。


使用VLAN 减少路由跳数

为了把帧从一个VLAN 传递到另一个,必须用一个3 层设备进行路由。这个设备可以是一个传统的路由器,或者是一个3 层交换机。从发送者到接收者,路由器每增加一跳都会增加帧的延迟时间,这有可能造成一个性能瓶颈。

设计VLAN 网络的目的应该是把某个设备所需要的所有资源放到与该设备相同的VLAN 。使用VLAN 允许在保证物理层上的硬件集中的同时、保证服务器逻辑上更靠近用户。这允许客户设备直接通过交换网络接入资源,而不需要通过路由器。在这种方式下,一个单独的VLAN 可以出现在一个校园网的多个交换机上,计算机室的一个服务器可以和相隔几个建筑物远的客户服务器是同一个VLAN 。一个通常的设计是把所有服务器放在同一个VLAN。不幸的是,这要求所有的客户至少要经过一个路由器才能接入这些服务器。在把IP 地址管理变的更容易的同时,引入了额外的延迟和潜在的性能瓶颈。


保持最小的VLAN 数目

有一个创建过多的不需要的VLAN 的倾向。当交换机本身可以支持上千个VLAN 的时候,每增加一个VLAN 就会给路由器和网络其他设备带来额外的开销。

这方面的一个例子是有一个42 层大楼的网络。除了用于管理的VLAN 和服务器中心的VLAN, 每层都有一个自己的VLAN 。该网络运行IP 和IPX 协议。总共有超过2000 台IPX 设备在整个本地网络,包括打印机、存储器、时钟服务器。

每60 秒,路由器会对每个VLAN 发出服务广告协议(SAP) 包。每个包包含7 种服务。这导致每60 秒,每个广播域内发出286 个SAP 包。由于总共有46 个VLAN,路由器每分钟不得不发出超过13,000 个SAP 包。人们发现当路由器每分钟发出的帧超过2000 的时候,已经会给CPU 带来问题。当交换机可以支持46 个VLAN 的时候,我们发现路由器支持不了这么多VLAN。


VLAN 类型

把一个设备分配到一个VLAN 有3 钟通常的方法:

  1. 基于端口的VLAN
  2. 基于协议的VLAN
  3. 基于MAC 的VLAN


基于端口的VLAN

基于端口的VLAN,一个交换机端口可以手工地配置到某个指定的VLAN。任何连接到这个端口的设备就和该VLAN 中的所有其他的交换端口处于同一个广播域。

基于端口的VLAN 的挑战是每个VLAN 中有哪些端口的文档备案。VLAN 的成员信息并没有显示在交换机端口的外面。确定VLAN 成员不能够仅仅通过查看交换机物理端口。只有通过查看配置信息采可以确定成员。


基于协议的VLAN

基于协议的VLAN,是通过区分承载数据所用的3 层协议来确定VLAN 的成员。然而这需要工作在一个多类型协议的环境下,在一个主要以IP 为基础网络,这种方法不是特别实用。


基于MAC 的VLAN

基于端口的VLAN 的一个问题是,当一个设备从交换机某个端口移走后,该交换机端口又接入了一个新的设备,新设备会进入原来的那个VLAN。在前面打印机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

目的地址:包括一个广播地址0x01-00-0C-00-00 或者是0x03-00-0c-00-00

TYPE

类型:指明承载封装帧所用的技术

USER

用户:4 比特域,指明用户帧被分配的优先级

SA

源地址:正在传送这个ISL 帧的交换机端口的MAC 地址

LEN

封装帧的长度。该长度不包括ISL 头和ISL FCS 的长度

AAA03

恒定值域

HSA

源地址的高位比特-必须是0x00-00-0c

VLAN

15 比特域,用来指示VLAN 成员

BPDU

1比特域。如果封装的帧是802.1D Spanning Tree桥接协议数据单元的话,就置1

INDEX

包含传送数据包的交换机的端口索引

RES

为令牌环和FDDI 封装帧保留的域

ENCAP Frame

交换机接入口接收到的完全未更改的原始数据帧

FCS

ISL 帧的帧校验


表1.(安恒注)

 

基于802.1Q 标准的标签

ISL 是思科公司的私有格式,而802.1Q 是IEEE 的标准格式。802.1Q 标准允许VLAN 标记帧可以在不同厂家的交换机之间传递。802.1Q 标签比ISL 标签包含更少的域,是插入帧而不是放入帧头。


图6.(安恒注)

DA

帧的目的地址。这个地址在帧被打上标签或者未被打上标签的时候是一样的。

SA

帧的源地址。这个地址在帧被打上标签或者未被打上标签的时候是一样的。

8100

恒定值域,指明这个帧包含一个802.1QVLAN 标签

Priority

3 比特域,用户优先级定义

CFI

规范格式指示——1 比特的域用来指示是否包含VLAN 标签。最初用在令牌环网络

VLAN

12 比特的域用来识别标记帧属于哪一个VLAN。

Ethertype

标签帧的3 层协议

Data

标记帧的数据部分

FCS

用来确认帧的完整性的帧校验


表2.(安恒注)

 

维护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) 帧。

摘要帧格式如下所示:


图7.(安恒注)

Version

VTP 版本号

Code

消息类型

Followers

在这个摘要帧后面跟随的子集帧(subset)数目

Management domain

length

管理域名字的长度

Management domain name

VTP 域的名字

Configuration

现在的VTP 配置的修改号码。该号码从0 开始, 当VTP 配置每次

revision number

有改变的时候加1 递增

Update identity

促使最近一次配置修改号码更新设备的IP 地址

Update timestamp

收到最近一次配置修改号码更新的时间

MD5 digest

所有VLAN 信息和密钥的MD5 域


表3.(安恒注)

 

子集帧(Subset)

子集帧用来提供VTP 域内每个VLAN 的详细信息。子集帧可以是对VTP 请求帧的响应,或者当配置改变时发出(和摘要帧一起发出)。


图8.(安恒注)

Version

VTP版本号

Code

指出消息类型

Sequence Number

指出在这个摘要帧后面跟随的子集帧(subset)数值

Management domain

length

管理域名字的长度

Management domain name

VTP 域的名字

Configuration

现在的VTP 配置的修订号码。该号码从0 开始, 当VTP 配置每次

revision number

有改变的时候加1 递增

VLAN info

每个VLAN的消息域,包含VLAN ID(标识符)的详细信息


表4.(安恒注)


请求帧(Request)

当以下的情况之一发生时,VTP 客户机发送请求帧(Request)到VTP 服务器:

  • VTP 域名字改变
  • VTP 客户交换机收到一个配置修改号码更高的摘要广播消息
  • 丢失了一条子集帧
  • 交换机重启

    VTP 服务器将用一条摘要帧和能够满足请求的若干条子集帧的进行响应。

 


图9.(安恒注)

Version <

责任编辑: admin