1. 引言
以太网从10M 开始发展,经历二十多年,已经发展到千兆以太网,它以高效、高速、高性能而着称,广泛应用在金融、商业、教育、政府机关及厂矿企业等各行各业。千兆到桌面已经开始普及,主要用于骨干网的10G 以太网也已经成熟,IEEE 已经开始讨论为10 万兆以太网制订标准的可能性。
90 年代中期二层交换机的引入使网络各站点之间可独享带宽,消除了无谓的冲突检测和出错重发,提高了传输效率,并且还提供网络管理能力以及基于网络拓扑结构的交换功能。
目前二层交换机因为其具有硬件加强、配置和管理简单、价格便宜、吞吐量相对较大以及吞吐量变化相对较小等特点而被广泛接受和持续部署,通过这种低成本、易于实现的技术来改善网络性能。
本文介绍一种我们开发的可管理千兆以太网二层交换机的设计方案,该交换机主要应用于核心层交换,可连接多个局域网,大大提高网络核心层的交换能力,满足中小企业对带宽和网络管理的需求。(更多网络通信方案,请查看维库技术资料网http://www.dzsc.com/data)
2. 系统介绍
该二层交换机采用SoC(Swith on a Chip)加物理层芯片(PHY)分离的结构,实现可管理的二层交换功能,其中采用的芯片是Vitesse公司的VSC7407(交换芯片)、VSC8538或VSC8558(8 口千兆PHY)。交换机有24 个10/100/1000—BaseTX 自适应端口,也可以设计为光电复用口, 有 4 个最高速为2.5Gbps 的堆叠口。
交换机采用共享内存的结构,由中心交换引擎检查每一个包并决定其发送的目标端口。
在功能设计方面有以下特点:
支持QoS,能够基于每个端口设定优先级,也可以针对不同协议制定优先级(IEEE802.1p),确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。
支持对输入输出流量进行设置。
支持虚拟局域网(VLAN,IEEE802.1Q),最多支持4096个VLAN,允许网络管理员对用户进行逻辑分组而无需关心用户与网络的物理连接位置。这一功能的潜在好处是降低搬迁、增加和改变网络节点时的管理负担,以及将网络广播业务流限制在VLAN内,有效地控制广播风暴的产生。
支持生成树协议,这使得交换机能够与传统的路由器和其他类型的路由器协同工作并防止网络中循环的出现。
支持堆叠功能,能够扩展端口,使其能够更灵活地构建网络。
支持网管SNMP,并可通过WEB进行管理,大大简化了网络管理的工作量。
可提供端口镜像功能,为网络传输提供了备份通道,还可以用于进行数据流量监测。
同时支持IPv4和IPv6,可以让用户从IPv4平滑过渡到IPv6,节约用户成本。
3. 系统硬件设计
系统硬件主要分为交换模块和PHY 模块,如图1 所示。
图1 硬件设计框图
3.1 交换模块和CPU模块
系统核心芯片是Vitesse 的VSC7407。该芯片引入了SoC(Systemon Chip)的设计概念,集成了以太网交换模块和CPU(ARM926EJ-S)。交换模块和CPU 在芯片内部连接,这样可以大大简化外围电路,降低功耗。CPU 的作用是配置交换模块,处理用户的交互信息;交换模块则根据配置处理以太网数据报。交换模块还集成了MAC模块,作为交换模块与PHY芯片的接口。
CPU外围电路包括存储模块、上电复位电路和URAT接口等。其中存储模块包括DDR和FLASH:DDR提供CPU高速运行的存储空间,FLASH用于在断电的情况下对程序和配置信息进行保存。由于FLASH有启动块,可以存储初始化程序,使CPU上电时直接读取,这样就无须再接EEPROM,简化了电路。另两个部分上电复位电路在上电后复位芯片,URAT接口提供配置系统的接口。
3.2 PHY 模块
PHY模块原则上可以根据需求选择不同的PHY芯片,我们使用的是VSC8558(也可以用VSC8538)。芯片上包括与MAC的接口模块、物理编码子层(PCS Physical Coding Sublayer)、物理接入子层(PMA Physical Medium Attachment)、介质有关子层(MDI, MediumDependentInterface)。其中VSC8558共有8个接口,并提供Combo功能,即光电复用:一个口既可以接光口,也可以接电口。每个口可以接电口RJ45 with Maganetic,接CAT5线,同时可以接光口SFP,即Combo,也可以不通过PHY芯片而直接接SFP,不过这样会影响性能。
VSC8558芯片可以自动检测该接口所接的是电口还是光口。VSC8538只提供电口。
4. 系统软件设计
系统软件主要完成对交换模块的配置管理包括PHY 的配置管理。通过UART接口模块提供CLI 接口可对系统进行最初的配置,另外还可以通过Web 随时进行配置管理。系统软件采用模块化分层的设计方法,如图2 所示。
图2 软件设计框图
交换机的操作系统用嵌入式可配置操作系统eCos(embedded Configurable operatingsystem)实现,它是RedHat 的产品, 是一个源码开放的可配置、可移植、无版税、面向嵌入式应用的实时操作系统,还包括了FreeBSD 的TCP/IP 协议。
API 层提供许多编程接口,便于第三方开发软件,API 还提供了与交换芯片、PHY 芯片等的接口。
Support Modules 提供各种系统服务。
Control Modules 为管理模块提供管理接口,控制交换芯片的工作,保存配置信息等。
Managment Modules 提供用户接口,用户通过该模块管理交换机,可以用CLI 和WEB两种方式管理交换机。
5. 交换流程
二层交换机属数据链路层设备,主功能是识别数据包中的MAC 地址信息进行相应的转发,这一功能的实现依赖于能够将各个MAC 地址与对应的端口记录在内部的地址表中并进行维护。
具体而言。交换机的工作流程如下:
(1) 当交换机从某个端口收到一个数据包时,首先读取包头中的源MAC 地址,从而知道源MAC 地址的机器是连在哪个端口上的,如果地址表中没有则加入该地址;
(2) 再去读取包头中的目的MAC 地址,并在地址表中查找相应的端口;
(3) 如果表中有与这个目的MAC 地址对应的端口,把数据包直接复制到这端口上;
(4) 如果表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机就可以又学习到一个MAC 地址与端口的对应关系,将其记录到地址表中,在下次传送数据时就不再需要对所有端口进行广播了。
不断地循环上述过程,二层交换机就可以逐步建立和维护它自己的地址表了,但其转发和建立的地址表限定在同一VLAN 中,不同VLAN 之间不能通信。
6. 结论
二层交换技术的发展目前已比较成熟,但性价比适宜的产品仍然有较大的市场空间。本文详细描述了一款千兆以太网二层交换机的设计方法,该交换机使用Vittesse 公司的交换芯片和PHY 芯片,实现了可管理二层交换机,可广泛满足用户对带宽和网络管理的需求。