如何把几个不同公司的网络设备集成到一个方案里呢?比如我的网络里既有3Com SuperStack 3000交换机,又有Cisco 2924交换机 和 INTEL 500 交换机,如何让它们相互交换VLAN 信息,实现整体网络管理呢? 这是足以让任何一个网管都感到头疼的问题。因为随着科技的进步和用户需求的日益增长,新的网络技术往往优先于标准被开发出来。以VLAN 的实现为例,不同的公司采用不同的技术,彼此之间存在严重的兼容问题。那么,如何才能为混合部署在网络中的不同交换机实现VLAN 的互联和互通呢。我想通过工作中遇到的实际问题来分析一下。
我公司在1998年建立了以 INTEL 550T 、550FX 、510T 为主体交换机的,基于 VLAN 的路由交换式网络,并根据用户需求划分了横向和纵向虚拟网,网络拓扑示意图如下:
其中既有横向按分公司划分的VLAN ,也有纵向按业务划分的VLAN 。
由于1998年时,IEEE 关于 VLAN标准尚未制订完成,所以,在我公司的网络体系中,采用的VLAN 标记方式为INTEL 公司私有VLAN 标记方式。INTEL 500 系列交换机通过在进入的数据包中添加部分自定义标记,从而确定该数据包来自于哪个VLAN, 应进行何种处理或转发至何处。因为该标记方式为INTEL 公司所有,所以此种VLAN的互联和互通只能在INTEL 交换机中实现。 而且按照INTEL 公司的标准,此种VLAN 不能跨越其他厂商的三层交换机或路由器,因为它们不能理解这种格式的数据包。有鉴于此,我公司98年系统集成项目中,全线采用了INTEL公司的网络产品,网络建成后一直运行稳定可靠。
转眼到了2001年,上级公司配发了一台 FOUNDRY NET 公司的千兆网络交换机 BIGIRON 4000 ,并要求作为我公司的核心交换机进行部署。
通过查阅资料我们了解到,BIGIRON 4000 交换机的VLAN 标记方式完全不同于 INTEL 500 系列交换机,它遵循 IEEE 802.1Q VLAN标准 ,其具体方式是:
将数据包分为TAGGED 和 UNTAGGED 两种,UNTAGGED 型包为未加入 802.1Q VLAN 标记的包,TAGGED 为已加入4字节长 802.1Q VLAN 标记的包 。在这4 字节中,16位为 TAG 值,缺省为 8100 ,3位为 QOS 优先级标志 ,12位为 VLAN ID, 所以一共可以标识4096个VLAN 。

TAG 值相同且 VLAN ID 相同的数据包,就可以认为是来自同一个VLAN 。所有采用这种标准VLAN 标记的交换机都可以进行VLAN的互通和互联数据包的格式见下图:
可以看到 , 添加 802.1Q VLAN 标记的数据包 比普通数据包 在6字节长的源地址标识后面多了4字节长 VLAN 标记。
将核心交换机替换为BIGIRON 4000 后,网络拓扑示意图变更如下图:

可以看到,原有的INTEL交换机继续在一部分网络里充当主干,但是它们彼此之间的连接都需要通过BIG IRON 4000 交换机实现。这时问题出现了,如果BIGIRON 4000与INTEL 500 交换机不能识别彼此的VLAN标记,就不能为财务系统建立垂直VLAN ,因为它要跨越两种不同类型交换机。
所以,如果要继续满足用户需求,必须实现不同交换机间的VLAN 互联和互通。目前的情况是,遵循 IEEE 802.1Q VLAN标准的BIGIRON 4000 肯定不能识别 INTEL 500 交换机的私有VLAN 标记,只能考虑 INTEL 交换机能否通过软件升级达到兼容 IEEE 802.1Q VLAN标准 。
我首先将 INTEL 交换机的固件(FIRMWARE)升级到 2.70 ,又将网络设备管理软件DEVICE VIEW 升级到 2.1.17 ,发现 DEVICE VIEW 中的 VLAN /ROUTING SETUP 设置对话框中出现了 802.1q map的选项,如图:

但是进入后才发现,只能设置一个 INTEL 私有 VLAN 名称 与 802.1Q VLAN 号的对照表,并不能实现两者之间的互联和互通。再到INTEL 公司的网站上查询 INTEL 500 交换机的支持属性,结果找到一个让我非常失望的消息:

根据INTEL 公司提供的这个表格, 早期550T 、550FX 、510T 仅支持128个基于策略的(Policy-based)VLAN ,只有最新的 460T、470T、530T 才支持 802.1Q 标准。看来单纯从软件升级实现兼容 IEEE 802.1Q VLAN标准 的路是彻底堵死了。
但是我考虑,既然INTEL 公司提供私有 VLAN 名称 与 802.1Q VLAN 号的对照,那么肯定可以采用某种方法实现两者的转换。
经过一番搜索,终于在500系列交换机的配套模块中找到了答案。
INTEL 为500系列交换机提供一种模块 1000SX Advanced Module
Provides a Gigabit Ethernet uplink to individual switches or stacks of switches. It can also be used to link directly to a Gigabit Ethernet Server. Delivers a VLAN migration from Intel proprietary VLAN to IEEE 802.1Q VLAN.
(原文说明如下)

“提供一个1000M以太网端口上联到独立的交换机或堆叠的交换机,它也可以用于直连一台具有1000M 以太网接口的服务器。提供 INTEL 私有VLAN 到IEEE 802.1Q VLAN 的转换!”
我分析,应该是由于INTEL 500系列交换机基于硬件实现VLAN标记的添加和识别,当新标准出现后,单纯依靠修改软件不能达到标准要求,所以就把符合新标准的电路做到扩充模块上解决这个问题。
果不其然,安装1000SX Advanced Module 后,在其提供的1000M SX 端口属性中多了一个选项。
如红圈所示,允许该端口为通过数据包添加IEEE 802.1Q VLAN标记。
选中该框后,我将INTEL 交换机 中一个包括 1、2、3 号端口的VLAN HKSQTV 在802.1q map选项 中设置 对应802.1q VLAN ID 为 322 ,然后在 BIGIRON 4000 交换机中也创建 一个 VLAN ,编号为 322 ,添加与INTEL 交换机连接的端口 E 1/3 ,设置为tagged ,再添加一个 untagged 端口 E 3/6 。
BIGIRON 4000 交换机 上的配置过程如下:
# vlan 322 创建 vlan 322
# tagged e 1/3 添加 tag 端口 E 1/3
# untagged e 3/6 添加 untag 端口 E 3/6
# router-interface ve 322 添加网关 ve 322
# interface ve 322 转入 ve 322 设置界面
# ip address 10.67.153.125/25
为 ve 322 设定 ip 地址和子网掩码
# write memory
将修改后的配置文件写入 NVRAM
然后我测试了一下, INTEL 交换机的 1、2、3 号端口已经与 BIGIRON 4000 中的E 3/6 端口 在同一个 VLAN里了, 证明是,这四个端口都属于 在BIGIRON 4000 交换机中的网关 ve 322 设定的网段里了。到此跨越不同交换机的 VLAN 调试成功。
文章转载地址:http://www.365master.com/kt_article_show.php?article_id=879&categ_code=10071007