APP下载

网络测试仪上位机通信协议实现

2013-06-01刘茹茹

池州学院学报 2013年3期
关键词:万兆通信协议测试仪

洪 锋,刘茹茹,惠 恩

(1.池州学院 机械与电子工程系,安徽 池州 247000;2.南京邮电大学 通信信息工程学院,江苏 南京210046)

二十世纪初,随着Internet广泛应用和网络技术飞速发展,IP网络规模呈现指数扩张。由于IP业务量快速增长、网络结构的复杂和异构性以及新应用的涌现,人们对大流量网络性能测量越来越重视;网络用户需要测试网络提供商提供网络服务的质量,而网络提供商需要对网络进行管理,提高网络的利用率,以便为网络用户提供更好的服务,因此对网络结构、性能和网络行为的研究也就越来越重要,用于网络测试的研究也日益迫切[1]。网络测量的主要目的是为提高服务质量提供重要的参考,发现网络的瓶颈,优化网络配置。本文主要是采用多核多线程处理器技术的处理器,用当今最流行的RMIXLP732处理器为硬件载体,设计万兆(10G)以太网的测量仪并对其关键技术及其实现方法进行研究[2],万兆网络流量分析仪主要是测试网络设备的性能以及用在军事和天文等有大量实时数据流的情况下或者是通过分析出口流量负载均衡、重要链路的带宽设置、路由选择和设定QoS等网络优化措施提供依据,对于万兆测试仪的研究国内目前很少。

1 网络测试仪的平台搭建

1.1 硬件实现

本测试仪是基于RMI公司设计的一款多核多线程处理器,它采用MIPS64架构,共有8个核,每个核有4个线程,就是32个核即CPU0到CPU31[3]。测试仪采用是嵌入式Linux操作系统,使用Linux操作系统的优点是程序开发自由方便、可移植性强、成本低廉,测试仪的平台和程序编写在不同的操作系统进行,在实现的时候要进行引导程序、交叉编译工具本文就不做详细的讨论。

1.2 软件平台

在软件结构上,系统采用了嵌入式Linux操作系统,使用Linux操作系统的优点是程序开发自由方便、可移植性强、成本低廉[4]。将操作系统移植到目标系统即测试仪上后,程序框架结构和要求进行修改,设计IP的网络测试仪的软件平台;在设计软件的时候,通过需要自己定义一些通用模块如界面显示等可以先在PC机上开发、调试,之后再移植到测试仪上根据系统功能私有通信协议,在此私有协议的基础上面,上位机(PC机)和下位机(测试仪)根据这个通信协议发送数据进行通信。在硬件平台都已经实现的基础上,实现上位机和测试仪的交互并对其进行控制及监视,在上位机可以对整个测试仪进行相关的参数设置,满足用户的实际需要。

图1 RMI XLR732多核处理器结构

2 网络测试仪的通信实现

2.1 主体程序的实现说明

本测试仪的实现函数主要是在LINUX环境下编写的,要是在XP下运行要对原函数编译以后才能运行,所以LINUX内核的编译配置对测试仪的实现很重要[5]。程序规定了每个核的执行功能在程序中,为了便于说明本文把多核分成左右两块,其中0代表右边的,1代表左边的,在测试函数TEXT_MAIN里面定义如下各主要函数并对其实现的主要功能如图2所示。

这两个函数要是为显示函数服务的,Uart1_outbyte():主要是实现串口一字节数据发送,并且发送的一个字节数据作为参数一;Uart1_inbyte():主要是实现串口一字节数据的接收,接收的一个字节数据作为返回值。

图2 主函数以及各函数名称

2.2 客户功能模块的实现

对于上位机的监控主要是用Microsoft Visual C++6.0[6]界面主要是很对测试仪的具体功能做简单的规划和处理,使的用户方便的操作,因为本测试仪主要是针对万兆以太网的大数据流测量,尚处在测试阶段,界面仍需要进一步完善改进,在以后的工作中还要进一步改进,升级,并且可以利用该硬件平台设计防火墙,或者是路由器等网络设备,其主要的软件架构和界面设计图如图3示:

图3 界面设计

通过Microsoft Visual C++6.0添加一个串口通信的控件或者是通过API对串口通信进行编程,现在就把第一个按钮通过串口控件来通信,实现进行详细的说明,下图4是增加串口通信的界面[7-8]

图4 流量测试界面

2.3 通信协议的具体实现步骤

在进行上位机监控主要是通过界面的按钮发送指令来通信,通信的主要步骤是首先上位机发送命令,下位机测试仪响应。首先上位机发送一串数字代码,例如,要获取CPU的卡在位状态,相当于通过主机发送串口信息:0xff(头1)0x00(头2)0xa5(头 3)0xee(头 4)0x00(操作类型为获取)0x01(当前卡在位状态)0xxx(前面所有字节的求和去掉溢出位)0x0a(包尾);之后,测试仪会反馈一个回复响应:0xff(头 1)0x00(头 2)0xa5(头 3)0xee(头 4)0x00(获取)0x01(卡在位状态)0x0(或0x1这是右边的万兆卡是否在位的标志,1为在位0为不在位)0x0(或0x1这是左边的万兆卡是否在位的标志,1为在位0为不在位)0x0b(尾)。在VC中的实现就更简单了,本文定义一个数组,通过判断数组的值来进行下一步的操作,实现串口信息传递的部分程序代码。

3 小结

对大规模流量测量系统的模块和测试仪的步骤进行了结构设计与系统实现的详细说明。说明系统实现程序结构、对程序的Bootloader引导和加载、交叉编译环境和系统的配置进行了阐述,根据需要规定了通信协议,并对上位机和测试仪的串口通信进行分析,最后对流量测量系统的函数实现,部分函数的代码和实现的步骤以及上位机的监控界面进行了设计说明。

[1]J.Lo,S.Eggers,Etal.Converting Thread-level Parallelism into Instruction Level ParalleVia Simultaneous Multitlireading,ACM Transactions on Computer Systems[J].ACMPress,1997,15(3):322-354

[2]S.J.Eggers,J.Emer,etal.,Simultaneous Multithreading:a Platform for Next-generationProeessors[J].IEEE Micro,1997,Sept-Oct.17(5):12-19.

[3]D.Tullsen,S.Eggers,etal.,Exploiting choice:Instruetion Fetch and Issue on Anim plementable Simultaneous Multithreading Proeessor,[C]//Proeeedings of the23rd Annual Intemational Symposiumon Computer Architecture,1996.

[4]周建亮 嵌入式IP网络测试仪研究与实现 [D].西安:西安电子科技大学.2008.

[5]杨桂勇.IPv6网络测量与分析方法的研究应用[D].上海:上海交通大学.2006.

[6]刘晨峰 .IP网络测试仪以太网线缆测试方法研究与实现[D].西安:西安电子科技大学,2010.

[7]方先康.多核多线程处理器环境下软件系统的设计和实现[D].北京:北京邮电大学,2008.

[8]陈浩.多核多线程处理器模拟器的设计与实现[D].长沙:国防科技大学,2007.

猜你喜欢

万兆通信协议测试仪
SDL Atlas推出第二代HydroPro耐静水压测试仪
使用快速水洗色牢度测试仪检测超细纤维脱落
便携式转辙机转换力测试仪
基于Z-Stack通信协议栈的红外地温采集电路设计
高速公路万兆环网建设探析
基于单片机的PM2.5测试仪设计与应用
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
一种基于FPGA的万兆光纤以太网高速传输方法
万兆环网在京秦高速智能化监控中的应用