资讯 > 正文

虚拟局域网介绍

发布时间:2004-08-01 George Thomas, 美国科动控制公司总裁

  引言
  局域网(LAN)是一种专用网络,通常局限于一个工厂的范围。虚拟局域网(VLAN)允许将一个物理上的单网络分割为若干个较小的逻辑LAN。VLAN限制广播域,提高安全性和改进性能,是用于从IT系统分离工业自动化系统的理想方案。
  结构化的接线
  从现场总线技术迁移到工业以太网的优点之一可从评论“我们的工厂早已接线到以太网。我不需要敷设专门的接线,因为双绞线早已存在”中找到。这就是事实,因为以太网电缆的安装遵照结构化接线的标准,如TIA/EIA-568-A Commercial Building Telecommunications Cabling Standard商业楼宇远程通信接线标准。根据这个标准将每个工作区的终端站接线到接线柜中的插座面板。这些插座面板还连接到安装在接线柜中的中继型集线器或交换型集线器(参阅图1)。终端站和集线器端口之间的交叉连接由短的跳接线实现。每个接线柜引出一根单线,它连接到位于设备室中的级联式集线器。所有接线柜馈送信号到设备室,设备室有可能不止一个, 但标准倾向于限制分层的层次数量。工厂车间级的装置以相似的方式接线,通过这种接线方式,所有车间中的站共享同一个LAN。

图1 结构化的接线建立起一…如图1
图1: 结构化的接线建立起一个集线器的分层。

  共享同一个LAN并不总是一个好的理念。LAN典型地由IT部门维护,而信息技术越来越感兴趣于网络安全而不是最大化开工时间。断开一个被用户怀疑有故障的站,典型的做法是卸除跳接线,这对用户来说是很不方便的,而且对工业控制系统来说,这样的做法会给设备带来灾难性的损坏。因此,曾建议配置两个LAN--一个用于IT部门而另一个用于工业自动化系统。毫无疑问,这可以消除IT部门关于安全问题的担心。然而分隔物理上的接线,也许是不可能,再者也不方便。
  需要分隔信息技术IT LAN 和工业自动化LAN还有另一个理由,一个LAN可认为是一个单纯的广播域。这就是说,广播报文(发送到所有站的报文)被发送到在LAN上的每一个站,对组播报文(播送到多个站但不是所有站的报文),通常这也是对的。因为,如要接收组播报文的站的确实地址为未知,则所有的站将接收该报文。为了改进实时响应,工业自动化系统经常使用producer/consumer模式。在producer/consumer模式,由某一个站生成的原始报文为若干个称为consumer的站所接收。对以太网来说,这种模式会生成许多广播和组播报文,从而消耗LAN的整个带宽,因此并不适用。有什么方法可以保持在同一个物理网络但又允许分隔LAN的功能度呢?答案是肯定的,这就是本文要介绍的虚拟局域网(VLAN)。
  VLAN的结构
  一个LAN,包括站、中继型集线器和交换式集线器,均运行在数据链路层上,如使用路由器,可将LAN连接到其他LAN,从而建立起互联运行。然后,给予每个LAN一个网络地址。互联运行的最好例子就是互联网(Internet)。有可能一个LAN是工业自动化系统而另一个LAN是信息系统,两个LAN通过路由器彼此链接。然而,在工厂内的结构化接线通常并不直接支持这样的接线。此外,配置路由器比配置VLAN,其难度要大得多。我们期望的是:信息系统和工业自动化系统在同一个LAN上,但它们在逻辑上分隔为两个LAN,这就是VLAN能在一个LAN内,所有的站连接到中继型集线器。全部站点侦听3种类型的发送--单播、组播和广播。这种情况是不可能建立起分隔的VLAN,因为没有一个限制通信量的方法。VLAN的一个基本要求是使用交换型集线器,通过观察其进入端口接收报文中出现的源MAC(Medium Access Control,媒体访问控制),一个交换机能了解站点的位置。MAC地址-端口号的关联(Association)就这样登录在其筛选数据库内。以后,所有指定到存储在交换机筛选数据库中的某一个MAC地址的发送只能导向到与该MAC地址关联的端口。如接收到一个没有关联的MAC地址,则发送将涌向所有端口(除该接收的端口外),也就是说,这时交换机的功能如同一个中继式集线器。以上对组播或广播报文均适用。由于交换机限制单播报文,只能到有关的站,因此其性能比中继式集线器有明显的改进。正是这种筛选能力用于VLAN的开发,通过建立到交换机端口的VLAN关联,一个单独的交换型集线器经过这样的配置,其作用如同若干个独立的交换型集线器。
  熟悉现场总线接线的人们经常抱怨工业以太网的一个方面,那就是它坚持TIA/EIA-586-A限定的星形拓朴结构接线。现场总线是以总线拓朴结构接线的,因此不需要使用集线器。由于所有的发送均和现场总线的通信业务有关,因此亦没有必要分隔发送。结构化接线标准只支持星形拓朴结构,所以不支持总线拓朴以太网标准如10BASE2。然而正是星形拓朴允许我们建立VLAN,由于一个,只允许一个站连接到集线器上的一个端口,通过端口的关联就可以知道站点的确实位置,因此使用交换型集线器技术能建立起VLAN。
  端口VLAN
  有多种方法可以建立VLAN,但最容易理解的是端口VLAN。交换机建立了一个MAC地址和端口号的关联,需要增加的是一个VLAN关联,这通过配置一个支持VLAN的交换机来完成。即插即用(Plug and Play Switch)交换机不可能支持VLAN--因为它不可能通过操作员的干预来改变其个性化特点。例如,在一个有16个端口的交换机中,我们需要建立编号为1到3的3个分隔的VLAN。当配置时,我们将交换机上的每个端口关联到与之相应的VLAN。然后位于每一个VLAN分配(Assignment)即分隔的VLAN中的通信业务被限制于那些关联到此VLAN分配的端口。以该3个VLAN的交换机为例,我们建立和VLAN1关联的端口为1,2,3和4,一个在端口1的广播或组播报文只能发送到端口2、3和4而不能发送到其他端口。其他2个VLAN的运作方式与此类似,一个单播报文允许转发,这和任何其他类型的交换机相同,存在一个MAC地址一端口号的关联表,但是对端口VLAN添加到这个关联表的是VLAN的约束条件,因此,对一个目标地址,如存储器中没有与之对应的MAC地址-端口关联,则过滤(flooding)只限于该VLAN的端口组。当一个端口接收到来自另一个VLAN组的发送中的目标地址时,会发生什么情况呢?这个发送应该舍弃。
图2在这个Port VLAN的应用…如图2
图2:在这个Port VLAN的应用,位于中间的服务器是逻辑地连接到所有3个VLAN。

  图2描述的是包括3个VLAN的端口VLAN应用示例,虽然能增加更多的VLAN,但只有一个VLAN-aware交换机位于LAN的中部。其他不是VLAN-aware的交换机则作为有关VLAN的部件。在VLAN-aware交换机的每个端口,均和一个公共端口相关联,它驻留一个服务器。这个VLAN的重叠(overlapping)允许VLAN中的任何工作站访问该服务器。但是位于分隔的VLAN中的各个工作站相互并不知晓。
  Port VLAN的一个主要优点是易于理解和方便作用。插座面板的端口可标志其有关的VLAN,连接特定的站到特定的VLAN很简单,只是移动软线就近连接。一个更简单的方法是使用软件来完成这些工作。通过重新配置VLAN-aware交换机可将物理端口重新分配到不同的VLAN。如你希望添加若干个交换机以扩展VLAN,你应该做什么呢?这是可能的,但需要对每个VALN的专用接线,这明显地限制了实现。因此,使用一个单独的VLAN-aware交换机的Port VLAN是一个最好的解决方案。注意,分隔的Port VLAN并没有改变以太网的帧、终端站并没有意识到这个VLAN结构,如能从以太网帧的内容了解到VLAN关联则可以获得更大的灵活性。这种性能称为隐含的标签(隐含于以太网帧内),它允许VLAN使用相同的电缆结构来跨接多个交换机。
  帧编码的VLAN方案(Frame Encoded VLAN Schemes)
  对Port VLAN来说,它不改变以太网帧式或任何在以太网帧中隐含的标签,站点并不了解VLAN的结构,有一个建立VLAN的替代方案,如所使用的交换机支持多种不同方案的话。你只需简单地将特定的MAC地址关联到一个VLAN。通过这个方法,分配到该VLAN这个站可位于任何交换机的端口上,但仍然保持为连接到一个特定的VLAN。显然,更换该站时,所有的交换机需要对这个新的MAC地址重新进行配置。另一个建立VLAN的方法是根据支持的网络操作系统来分隔站点,通过考察某些协议字段,报文帧只导向支持该操作系统的站点。当存在多个竞争的网络操作系统时,这些网络操作系统具有很不相同的以太网帧定义,因此这是一个普遍采用的建立VLAN的方案。目前倾向于接受通用TCP/IP协议的潮流已限制对帧结构的选择。还有一个方案是通过带VLAN信息编码的以太网帧来定义一个专用的协议。专用协议方案的问题是没有广泛的工业支持。为了获得广泛的工业支持,你需要有一个IEEE标准。
  显性VLAN标签(Explicit VLAN Tagging)
  自20世纪70年代中期以来,以太网已广泛使用。其最大帧长度(不包括前同步字段)总是1518个字节。对于工业自动化应用,这个帧的长度是相当大的,因为大多数携带I/O信息的报文比较短。但是,在经历这些年后,看起来1518个字节似乎仍然不够。为了定义一个普遍能接受的VLAN标签,IEEE 802.1Q委员会决定需增加4个字节,要考虑到站点和中继器能否处理超长帧的问题和这个新标准需求对IEEE 802.3进行修订。至此,我们以前有关帧的最大长度的说法已不再正确,当增加VLAN标签后,帧的最大长度应是1522个字节而不是1518个字节。
图3 8021Q VLAN标准插入一…如图3
图3: 802.1Q VLAN标准,插入一个4字节的标志到标准以太网帧内。

  IEEE 802.1Q VLAN标签方案称为显性VLAN方案,这与VLAN标签隐含于帧内容是不同的,显性VLAN标签是添加到帧的。4个字节的标签紧接在源地址字段之后和在类型/长度(Type/Length)字段之前(参阅图3)。首先的2个字节称为Tag Protocol Identifier(标签协议标识符),其功能和类型/长度字段很相似。这2个字节的内容为0×1800,它可以被识别为一个VLAN标签,其后的2个字节是Tag Control Information(标签控制信息)。由于帧长度的增加,需要重新计算帧校验序列(FCS),其余的以太网帧则保持不变。除以上变动外,可增加或删去一个VLAN标签而不影响报文的内容和实质,2字节的标签控制信息包括用于IEEE 802.1P优先级的高低(对VLAN来说,没有什么意义)的3个位,称为Canonical Format Indicator(CFI,规则格式指示符)的1个位和用于标识VLAN的12个位,由于使用12位的标识符,因此可允许直到4096个VLAN。所有位均为“1”是保留的,所有位为“0”则指示不存在VLAN关联,其含义是标签只用于指示优先级的高低。除此之外,所有其他的标识符可用来指示一个特定的VLAN以及802.1P报文优先级的高低。
  CFI用于指示帧内的位排列次序,这是与非以太网LAN通信时所面临的问题。由于我们只对以太网LAN感兴趣,因此将CFI位设定为“0”。
  VLAN-unaware终点站和交换机(VLAN-unaware End Station and Switches)因为802.1Q是在发表以太网以后20多年以后才问世的,在这以前,已有相当多的VLAN-unaware设备运行于现场。虽然一个终端站可能会接收到加长的以太帧,但软件驱动器是否会“阻塞,Choke”接收到的一个0×8100以太网协议的标识符,因为它过去从未遇到过?对终端站来说,最好的实施方法是它不会见到VLAN标签,除非它经过改进后能这样做。可以肯定现场已安装的大量传统装置,其终端站是VLAN-unaware,一个VLAN-aware终端站是它能接收和使用802.1Q VLAN标签。因此可将这个终端站称为tag-aware。然而,对交换机来说并不总是对的,一个VLAN-aware交换机能建立起VLAN-port关联,但未必能理解802.1Q标签,Port VLAN交换机就是一个很好的例子,tag-aware交换机不但能理解802.1Q标签,也能建立起VLAN-port关联。
  VLAN边缘交换机(VLAN Edge Switches)
  如在VLAN-aware交换机上的一个端口接收到一个由VLAN-aware站启动的发送,它只是简单地读取VLAN分配的值,并将帧原封不动地转发给其筛选数据库中有关该特定VLAN分配的那些端口。然而,如果接收到的一个发送来自VLAN-unaware站,则tag-aware交换机必须添加一个VLAN标签到接收的帧,这个标签应等同于原先为这个接收的帧而建立的VLAN关联,该关联基于以前所描述的MAC地址,协议ID或端口位置。
  不论应用于VLAN的关联规则是什么,用于该VLAN的标识符必须和用于VLAN标签的标识符相同,新的帧(添加VLAN标签后的帧)转发到输出端口或转发到交换机筛选数据库中的端口。
  为了限制将VLAN传送到VLAN-unaware终端站,tag-aware交换机应具有在输出端口删除VLAN标签的能力,一个边缘交换机就有这种功能。边缘交换机驻留于VLAN-aware和VLAN-unaware域的分界。一个边缘交换机能从一个VLAN-aware站读取一个VLAN标签或从一个VLAN-unaware站添加VLAN标签到一个帧以及采用适当的转发操作。在边缘交换机将帧转发到其输出端口之一时,它观察其自身的表格以确定是否驻留VLAN标签或除去VLAN标签。如报文发送到VLAN-unaware站,则必须剥离VLAN标签,如报文发送到核心VLAN交换机,则必须保留VLAN标签。
  VLAN核心交换机(VLAN Core Switches)
  核心交换机理解VLAN标签,它驻留在VLAN的主干,通常只连接到边缘交换机,因此它的转发规则更为简单和可以更快地实现。所有进入的帧具有VLAN标签,所有离开边界的帧则保持这些标签,筛选数据表只包括4094个可能的VLAN和输出端口分配,不需要知道源地址。实际上,可以将边缘交换机配置为核心交换机。为了避免导致混淆,因此在一个设备中不能有两种类型的VLAN-aware交换机。对此,限制只使用边缘交换机是一个答案。即使根据802.1Q标准,允许有4094个VLAN,但不是所有的交换机能同时支持如此众多的VLAN,你能想象得出,配置和维护这么多的VLAN将是何等的复杂吗?
  移动性(Mobility)
  如便携式计算机能连接到LAN内某一交换机上的任何可提供的空闲端口和能在一个特定的VLAN上观察工业自动化系统的运行,这将带来莫大的方便,为了有效地实现这样的功能,便携式计算机必须是VLAN-aware设备,并且必须编程所连接的交换机,从而允许访问该特定的VLAN。这通过能到达此VLAN的一个生效的VLAN-port关联实现,使用一个带隐性标签的VLAN-unaware便携式计算机来完成上述任务则要困难得多,但不是不可能。为了使连接到便携式计算机的端口开放,需要重新配置在VLAN路径上不同的交换机,使用Port VLAN方案是不实际的。
图4通过使用8021Q标签可…如图4
图4:通过使用802.1Q标签可达到最灵活的VLAN布局,边缘交换机允许使用VLAN-aware站和VLAN-unaware终端站两者。

  图4表明结合IEEE 802.1Q标签和边缘交换机的一个典型的VLAN,每个边缘交换机使用一个单电缆,连接到一个核心交换机。在VLAN-aware域内,边缘交换机必须发送有VLAN标签的帧以识别帧-VLAN关联。为了任何边缘交换机能访问所有可能的VLAN(保证移动性),连接到核心交换机的端口必须和所有可能的VLAN相关联。
  结论
  VLAN是将一个较大的LAN分割为可管理的子网络的有效手段。VLAN限制广播域,改进性能和提高安全性,并且是隔离工业自动化系统和IT系统,但同时又保持设备原有的结构化接线的理想方案。实现VLAN的最简单方案是Port VLAN,然而最有效的VLAN设计方案是IEEE 802.1Q VLAN标签的标准,它允许用户能够从LAN上的任何点访问任何VLAN,从而显著地提高移动性。

标签:

相关文章