杨素萍, 张远峰
(北京工商大学 计算机与信息工程学院, 北京 100048)
摘 要 : 在高等教育学校中,为了更好地培养IT专业学生的理论结合实际的能力,大多数学校都在寻找适合自身实验室条件和师资力量的实验设备,而以太网交换机实践教学作为计算机网络教学中的重要组成部分,也存在着这种需求. 为了满足某高校计算机网络实验室对以太网交换机的市场需求,设计了一款多种以太网交换机仿真教学系统. 综合考虑以太网交换机的发展现状和趋势,分析系统的功能需求和可行性后,采用了硬件层、驱动层和软件应用层三级体系结构,使用软硬件结合的方法进行实现. 使用Realtek公司的以太网控制器RTL8309SC和德州仪器TI公司的MSP430F149单片机成功搭建了一个具有标准接口的硬件支持平台,实现了系统的硬件层和驱动层. 该硬件支持平台可以为使用者搭建一个性价比较高的真实网络环境,由于是自主研发,所以可以更灵活地实现以太网交换机硬件相关实验,具有较强的实用价值.
关键词 : 计算机网络; 以太网交换机; 教学系统; RTL8309SC; MSP430F149
计算机网络课程紧随时代脉搏跳动而不断演进,具有实践性、交叉性、复杂性强等特点,目前已经成为国内外高等院校IT专业的本科生和研究生广泛开设的课程 [1] .
从教学目的来说,可将计算机网络实验分为三类:验证性实验、实践性实验和探索性实验 [1] . 其中实践性实验主要目的是帮助学生提高计算机网络应用和维护的技能,同时有助于他们深入理解网络原理,为服务社会做好准备. 这类实验最好在真实网络环境下由学生实际操作完成,如配置和维护各种网络设备和应用服务器 [1] . 为培养专业型技术和管理人才,针对某高校的以太网交换机这一网络设备的教学需求设计了一款多种交换机仿真教学系统,下面简称为教学系统. 该教学系统采用软硬件结合的形式,软件应用层实现教学系统的人机界面并提供灵活的教学实验,而硬件支持平台则为软件应用层提供物理层支持、硬件相关实验及必需的通信接口.
该教学系统是一款自主设计的八口自适应交换机设备(10 M/100 MHz),其特点及创新意义如下:
1) 该教学系统最大的特点之一是能仿真若干典型品牌交换机的配置命令和配置方法,如选取思科、H3C、华为等品牌的若干型号产品为仿真对象,这是目前市面上的交换机所不具有的功能 [2-4] ,也是交换机仿真教学系统的设计出发点所在,具有一定的创新意义.
2) 自主研发,可以设计尽可能多的教学实验,且可以自如安排实验内容,如可以灵活地设置入口/出口流量控制,让使用者更深刻地了解交换机的工作原理.
3) 该教学系统可以提供命令行方式及Web方式配置,远程网管,设置端口的工作模式,QoS(quality of service,服务质量),定义VLAN(virtual local access network,虚拟局域网)等功能 [5] ,其创新意义还在于可以自由地摘除和重装特定功能. 如启用或禁止广播风暴控制,启用或禁用某些端口的发送或接收数据包功能等,具有很高的灵活性.
4) 能提供交换机的配置界面和实际硬件连接,即能构建真实的网络环境,提供若干网口资源,具备标准快速以太网交换机所拥有的功能,如设置端口工作模式、VLAN划分等 [5] .
图2 RTL8309SC的结构示意
Fig.2 Block diagram of RTL8309SC
该教学系统的软件应用层在亿阳网警的SJW13网络密码机上运行,这是考虑到路由器和防火墙实验的开发需求而特意选择的一款设备,在该教学系统中仅作一台专用小型计算机使用. 研究主要对硬件支持平台的设计和实现进行论述.
经过分析比较几种主流交换机硬件体系结构,研究决定采用MCU+ASIC作为教学系统硬件支持平台的体系结构. 使用ASIC(application specific intergrated circuits,专用集成电路)专用芯片高速处理各种传统的业务,满足对交换机处理性能和教学系统硬件实验的需求;而使用MCU(micro controller unit,微处理器单元)可实现对教学系统的管理和与软件层的通信等功能. 因此,这是一种开发周期适中、开发成本符合项目预算且便捷的方式.
根据确定的硬件体系结构,设计的教学系统硬件结构示意如图1.
图1 教学系统总体硬件结构示意
Fig.1 Hardware structure diagram of the whole teaching system
经过调研,综合考虑以太网交换机教学系统对背板带宽、网口资源及交换机的若干特性要求,同时考虑了芯片市场供需条件和成本因素,最后选择了Realtek公司的一款集MAC(media access control,介质访问控制)和PHY(physical layer,物理层)于一体、低功耗的ASIC RTL8309SC作为该教学系统的交换核心,选择了MSP430F149单片机为MCU.
根据RTL8309SC和 MSP430F149的特点,下面对各个模块间的接口进行设计.
在进行接口设计之前,有必要介绍一下交换机工作原理.
1)交换机工作原理
RTL8309SC的内部结构示意如图2. 网路上的以太网数据帧从RJ45进来后,帧进来的端口被称为源端口,经过物理通道(包括A/D转换电路,编码/解码器,加扰/解扰器等)的处理,以并行bit形式进入MAC,在进行地址查表搜寻、优先级队列机制等控制操作后,该数据帧被转发至其对应目的端口,经过该端口的物理通道的反向处理后传送到RJ45,最后以符合一定标准的模拟信号形式在网络上传输.
2)I 2 C接口、SMI接口及串行接口的设计
在本设计中,采取了EEPROM和Strapping Pins结合的初始化配置方式. 通过跳线组对Strapping Pins配置的方式可以方便地通过一个或多个管脚组合的不同设置来达到直观的教学效果.
EEPROM AT24C02B用以存储教学系统的出厂配置数据,在上电复位后,RTL8309SC自动搜索AT24C02B并从其下载配置数据,完成初始化操作. 另外添加一片EEPROM AT24C02A,这是为了在学生进行不同的实验内容时,不仅可以实时地改变教学系统的功能配置(通过SMI接口来实现,SMI:串行管理接口,serial management interface),还可以通过“是否恢复为上次保存的配置”命令使教学系统的初始化配置修改为用户最后一次保存过的配置. 对AT24C02A的读写是使用MSP430F149实现的,但该单片机不支持I 2 C接口,因此使用单片机的普通I/O P4.1和P4.0与SCL/SDA连接,见图3,再编写一个驱动文件就实现了与AT24C02A的通信.
由于MSP430单片机不支持SMI接口,本设计使用P 5.3和P 5.4与SMI接口的MDC/MDIO这两根信号线连接,编写一个驱动文件,使用时调用该文件里定义的功能函数来实现读写RTL8309SC的PHY内部寄存器.
硬件支持平台与软件层之间的通信接口采用标准的RS232串行通信接口. RS232串行口为9针异步串行通信接口,用于接收来自软件层的指令(用户在人机界面输入的命令经过了软件层的解析和转换),并把单片机执行的结果发送给软件层.
1)10 M/100 Mbps网口的实现
选用的RTL8309SC支持8个10 M/100 Mbps网口,由产品直观性和设计易行性考虑,定制四组内置网络隔离变压器带LED的双层RJ45 71F-1201GYD2NL作为本系统的网络接口. 该RJ45座符合RTL8309SC的阻抗匹配要求. 经笔者的多次实验证明,该产品能良好代替RTL8309SC的分立网络隔离变压器设计方式,相比之下减少了PCB布线,降低了出错率,提高了系统的抗干扰性和可靠性.
为了让学生实时掌握每个网口的工作状态,设计三组LED以显示端口的速度、Duplex/Collision(双工/冲突)、Link/ACT(链接/通信)多组合的状态.
2)JTAG接口
JTAG接口(joint test action group,一种国际标准测试协议)用以下载在IAR Embedded Workbench软件开发集成环境里编译好的驱动代码,还可用以升级固件.
以上各个接口之间的连接关系见图3.
图3 教学系统的硬件设计示意
Fig.3 Hardware design sketch map of the teaching system
以太网交换机教学系统的电源供给有三组:数字1.8 V(D1V8),模拟1.8 V(A1V8)和数字3.3 V(D3V3). 其中,D1V8提供RTL8309SC的核电压,A1V8提供网口部分的电源供给,而I 2 C总线接口及SMI接口加上控制模块,均由D3V3提供. 设计采取3组电源独立供电设计,每组电源均达到了电平匹配、驱动负载能力、稳定性和可靠性等性能指标的要求.
交换模块的时钟信号由25 M晶振组成的时钟电路提供. MSP430F149的时钟信号使用8 M晶振信号来提供更高的波特率. 复位信号为低电平有效,参考设计电路不再详述.
系统的硬件原理图和PCB图的设计在Protel DXP2004上进行.
分析功能需求及硬件的特点后,采用结构化程序设计思想对驱动程序进行设计,开发语言使用C语言. 主程序的流程图如图4,LPM0为低功耗模式0 [7] ,在进入中断后自动退出,详见芯片文档.
图4 主程序流程图设计
Fig.4 Design of main program flow chart
串口通信采取接收中断方式,中断处理程序的流程图见图5.
图5 中断处理程序流程图设计
Fig.5 Design of interrupt service routine flow chart
命令处理程序的主体结构为一个Switch语句,当满足某个条件时即调用对应的功能函数,从而实现该功能函数所定义的功能. 每个功能函数对若干16位内部寄存器进行设置以实现所需功能,并且及时保存修改后的配置,在程序结束前均返回执行结果给软件层.
功能函数主要有:
1) 函数原型:void CallLastS(void),功能是恢复为最后一次保存的配置.
2) 函数原型:Set - Port( ),设置端口工作模式,包括端口速度、双工/半双工、自协商能力等工作参数.
3) 函数原型:Show - Port( ),显示网口工作状态,即显示某个网口的速度、Link/Act、Duplex/Collision.
4) 函数原型:Do - VLAN( ),VLAN实验,主要包括新建VLAN、划分VLAN、删除VLAN、Enable/Disable VLAN等.
该交换机仿真教学系统用于以太网交换机的实践教学,在教学实验中的典型应用可分为单机实验和小型局域网搭建实验两种类型. 单机实验即平均一个学生配一台教学系统,一台PC及双绞线等器材,可在多种以太网交换机仿真用户界面上进行IP地址设置,灵活设置端口工作模式等,并可从LED上观察设置前后的状态变化;搭建局域网实验既可在一台教学系统上进行,也可通过级联方式进行网络扩容,需要两台以上PC. 实验内容如任意划分VLAN,本设计中的以太网交换机教学系统可支持9个VLAN,还有Trunk汇聚链路实验等.
本文设计的以太网交换机仿真教学系统硬件支持平台不仅给整个系统的上层应用提供了稳定性高的硬件基础,实验必需的底层工作参数及标准的通信接口,而且以相对经济实惠的价格设计了尽可能多的教学实验.
多种以太网交换机仿真教学系统紧扣网络设备教学实践要求,提供了多种以太网交换机的仿真配置界面和方法,为高校计算机网络实验室的以太网交换机教学搭建了一个理论学习与实际操作紧密结合的实验平台,实现了较高的性价比,具有很强的应用意义和推广价值.
参考文献 :
[1] 陈鸣,常强林,岳振军. 计算机网络实验教程[M]. 北京:机械工业出版社,2007.
[2] 船夫. 以太网交换机技术呈现三大趋势[N]. 人民邮电报,2008-07-08(7).
[3] 张彤. 交换改变网络[J] . 网络世界,2008(8):12.
[4] IT广角. 去年全球以太网交换机销售收入增长9%[N]. 人民邮电报,2008-03-11(7).
[5] Tanenbaum A S. Computer networks[M]. 北京:清华大学出版社,2006.
[6] 谈宏华. 单片机控制的以太网交换机设计与实现[J]. 单片机与嵌入式系统,2005(2):37-42.
[7] 胡大可. MSP430系列单片机C语言程序设计与开发[M]. 北京:北京航空航天大学出版社,2003.
YANG Su-ping, ZHANG Yuan-feng
( College of Computer and Information Engineering , Beijing Technology and Business University , Beijing 100048, China )
Abstract : In order to provide a better train for IT major students and enhance their ability of theory combining with practice, most higher education schools are looking for experimental equipments adapt to their own laboratory conditions and teachers. Ethernet switch practice teaching is an important part of computer network teaching course, so there is being such need, too. Aim at meeting such Ethernet switches’ market demand in a university’s computer network laboratory, it designed a Miscellaneous Ethernet Switch Simulation Teaching System. Based on an overall consideration of the current stage and development trends of Ethernet switch, system functional requirements and feasibility, it used a three-layer architecture——hardware layer, driver layer and software application layer, and realized using hardware combined with software method. This thesis, using Realtek’s Ethernet controller RTL8309SC and TI’s single-chip MSP430F149, successfully builds a hardware supporting platform with standard interface, achieve the goal of hardware layer and driver layer. It not only provides a real network environment of good cost performance for users, but also flexibly provides hardware related Ethernet switch teaching experiments as a result of independent researching and development, has a strong practical value.
Key words : computer network; fast Ethernet switch; teaching system; RTL8309SC; MSP430F149
作者简介: 杨素萍(1984—),女,广东梅州人,硕士,主要研究方向为通信及网络;张远峰(1948—),男,北京人,副教授,主要从事现代检测技术及智能控制方面的研究.
收稿日期: 2009-04-21
文章编号 : 1671-1513(2010)02-0050-05
文献标志码: A
中图分类号 : TP29
(责任编辑:邓清燕)