打印本文 打印本文  关闭窗口 关闭窗口  
路由器桥接功能在VLAN中的应用
作者:陈鹏  文章来源:eNet  点击数  更新时间:2009/9/9 21:27:17  文章录入:陈鹏  责任编辑:陈鹏

某单位在构建网络时,最初使用了一台3Com SuperStack Ⅱ Switch 1100作为主交换机和一台Cisco 2509广域网路由器。在第二次网络建设时,根据有限的预算添置了2台Cisco Catalyst 1924交换机和一台Cisco 3640路由器用于与各地分支机构的广域网互连。该单位希望可以充分利用这些的网络设备按部门划分虚拟局域网(VLAN),以便更好地进行网络安全管理。

  一、专有协议的兼容

  但是在准备实施VLAN的计划时遇到了一些问题。我们知道,虚拟局域网VLAN是可以从逻辑上划分的独立物理网络,一般可以认为等价于一个第二层广播域。在交换机中数据帧不能在2个VLAN之间转发,要实现VLAN之间的通信,需要将交换机连接到第三层设备(如路由器或第三层交换机)进行路由。一般来说,一个物理端口只属于一个VLAN,这样VLAN的数量必须与路由器以太网物理端口数量以及交换机用于级联的端口数量保持一致,这样将导致大量的端口浪费,并且极大地限制了VLAN的扩展和划分灵活性。为了解决这一问题,实现一个物理端口上传输多个VLAN数据流,可以使用“标签”(Tagging)技术,即在此端口上对每个数据帧贴上标签(Tag)用于标记该帧所属的VLAN,系统利用其VLAN标识号即VLAN ID来确定数据帧的转发,这就需要网络设备支持Tagging封装协议。

  在本实例中所遇到的技术难题是,Catalyst 1924交换机与SuperStack 1100交换机分别支持不同的VLAN tagging封装协议:Catalyst 1924可以封装Cisco专有的ISL协议,而SuperStack 1100则只能封装IEEE 802.1Q,这2种协议是互不兼容的。这样2种交换机不能够通过一个级联端口同时传输多个VLAN数据流,势必仍将造成端口浪费并限制VLAN划分的灵活性。

  所幸的是,该单位还有一台Cisco 3640路由器,而且该路由器包含2个以太网端口,同时此Cisco 3640的IOS版本支持以上2种VLAN tagging封装协议,这时候就可以利用路由器的透明桥接功能了。在介绍解决方案之前,先对Cisco路由器的透明桥接特性作简要的说明。

  二、Cisco路由器的透明桥接

  在Cisco路由器中,其IOS软件支持基于以太网、FDDI光纤网和串行链路的透明桥接。

  Cisco路由器提供集成的路由与桥接(Integrated Routing and Bridging,IRB)功能。当配置了IRB后,不可路由的协议数据流可以在配置为相同网桥组的端口上实现桥接交换,同时可以路由的协议数据流则在其他的路由端口或不同的网桥组之间实现路由。

  这里提到了一个概念,即网桥组(Bridge-Group)。要实现不同的端口之间的桥接交换,必须将这些端口归到同一个网桥组当中。从概念上说,配置为同一个网桥组中的所有端口属于同一个第二层的广播域,不管这个端口类型是广域网端口还是以太网端口,也不管这个端口是物理端口还是逻辑端口(如X.25的子口或以太网的VLAN子口)。Cisco路由器为每一个已配置的网桥组自动产生一个虚拟接口,称之为Beidge-Group Virtual Interface(BVI),在不同的BVI之间或BVI与其它的端口之间可以实现路由的能力。下面说明BVI的主要概念和IRB的配置任务。

  其中端口E0、E1、E2是桥接端口,归到了同一个网桥组Bridge-Group 1中,路由器为此自动产生一个逻辑虚拟接口BVI 1,端口E3则是路由端口。就工作原理来说,此图配置的路由器等价于这样的网络连接,即一个由E0、E1、E2及一个上联口组成的4口交换机和一个由BVI 1、E3组成的2口路由器通过BVI 1接口进行连接,显然E0、E1和E2这3个口是在同一广播域中。

  三、解决方案

  有了IRB的相关概念,就可以解决前面提到的问题了。在实际的解决方案中,首先,给Catalyst 1924和SuperStack 1100交换机划分VLAN,并在它们的上联端口上分别启用ISL和IEEE 802.1Q标签协议,然后将它们分别连接到Cisco 3640路由器的2个以太网端口上,这里使用Catalyst 1924的Bx口和SuperStack 1100的26号口作为上联口。完成物理线缆的连接后,主要的工作就是配置Cisco 3640路由器。作为例子,这里考虑有2个VLAN的情况,分别是VLAN 1和VLAN 2,假设分别对应销售部门和财务部门,网络结构如附图所示。

请添加描述


  在路由器中,要使以太网端口同时传输不同的VLAN数据流,应该将Tagging协议封装到子口中。例如在Cisco 3640与Catalyst 1924相连的端口上,对应VLAN 1应使用如下的配置命令:

以下是引用片段:
  interface fastethernet 0/0.1

  encapsulation isl 1



  同样地,与SuperStack 1100相连的端口上也要做子口配置,只是要将封装协议改为IEEE 802.1Q,命令如下:

  以下是引用片段:
  interface fastethernet 0/1.1

  encapsulation dot1q 1


  有了VLAN子口,只要将相同VLAN的子口归到同一个网桥组里,就可以实现Catalyst 1924和SuperStack 1100的VLAN互通了。在这里,如果将fastethernet 0/0.1和fastethernet 0/1.1都归到bridge-group 1中,那么Catalyst 1924的VLAN 1和SuperStack 1100的VLAN 1就从逻辑上合并为一个VLAN。

  最后,为网桥组BVI接口配置上IP地址,并辅以一定的ACL列表设置,就可以实现VLAN 1和VLAN 2之间的安全路由了。

  在配置网络上的服务器和工作站时,VLAN 1财务部门的计算机默认网关应设为路由器配置中接口BVI 1的地址,即192.168.1.254。同样,VLAN 2销售部门的计算机默认网关应设为接口BVI 2的地址,即192.168.2.254。

打印本文 打印本文  关闭窗口 关闭窗口