• 全国 [切换]
  • 深圳市鼎达信装备有限公司

    扫一扫关注

    当前位置: 首页 » 新闻动态 » 真空技术 » 正文

    基于RFC2544的交换机以太网测试的实现∗

    放大字体  缩小字体 发布日期:2021-11-01 13:55:23    浏览次数:252    评论:0
    导读

    摘 要随着通信产业和互联网技术的快速发展,人们日益重视网络互联设备,特别是交换机的安全稳定性。RFC2544协议是网络设备的国际评测标准,文章简述了RFC2544协议,并在交换机硬件平台上设计了一套测试软件系统。利用设计好的软件系统完成RFC2544协议的测量工作,在真实的企业网络环境中进行测试,重点介绍了以太网时延、吞

    摘 要 随着通信产业和互联网技术的快速发展,人们日益重视网络互联设备,特别是交换机的安全稳定性。RFC2544协议是网络设备的国际评测标准,文章简述了RFC2544协议,并在交换机硬件平台上设计了一套测试软件系统。利用设计好的软件系统完成RFC2544协议的测量工作,在真实的企业网络环境中进行测试,重点介绍了以太网时延、吞吐量和丢包率等性能指标的测试方法,获取测试数据,并将测试结果整理分析,结果表明测试软件系统的性能良好,符合以太网网络性能指标的要求。

    关键词 RFC2544;交换机;以太网;性能指标

    1 引言

    伴随着互联网时代[1]到来,网络通信技术[2]正快速地发展,规模不断的扩大,用于连接网络的互联设备在当今网络中扮演着越来越重要的角色[3]。网络互联设备特别是交换机作为网络的核心,其性能将对网络稳定性及网络的可靠性起关键作用。因此,网络设备良好的性能是网络正常运行的有力保障,正确评测网络互联设备是设备使用前的关键一步。RFC2544协议[4]作为网络设备的国际评测标准,它提供了一系列切实有用的测试过程和步骤,使得用户和服务运营商可以在相同标准下,对测试的实施和结果有个正确统一的认识。

    目前都是利用现有的测试仪器[5~6]对网络设备进行测量,但网络设备缺少自我测量的功能。本文以三层交换机[7~8]作为载体,在其已有的硬件基础上,基于RFC2544协议开发软件评测系统,并验证系统的可行性。

    2 RFC2544协议简介

    RFC2544协议是由国际互联网工程任务组[9](Internet Engineering Task Force,IETF)制定的,作为评测网络互联设备性能的国际标准,其测试的性能指标得到了主流运营商和各大网络设备制造厂商的认可,已成为一个国际标准。RFC2544协议提出采用七种标准帧作为测试帧,标准帧长由大到小依次为1518字节、1280字节、1024字节、512字节、128字节、64字节、32字节,并在一定的时间内,按照一定的数目对确定的帧长进行测试,其主要测试项[10~12]有:

    1)丢包率(frame Loss Rate)是指测试交换机在不同负载条件下不能转发的数据包占总发送数据包个数的比例,反映被测交换机对负载的承受能力。不同负载指发送数据帧的速率,速率的范围一般是从吞吐量增大到线速(理论上网络中最大的传输数率),步长不超过线速的10%。

    2)时延(Latency)是指被测交换机吞吐量速率范围内从发出帧到接收该帧的时间间隔,反映被测交换机处理收到的数据帧的能力。

    3)吞吐量(Throughput)是指被测试交换机在丢包率为零的情况下数据帧转发的最大速率,是一个重要的评测指标,直接反映被测交换机的质量好坏。通常可以根据二分查找法原理求得被测交换机的吞吐量。

    另外RFC2544协议介绍了两种基本的测试模式,以交换机为研究对象,分别介绍如下。

    单机模式工作流程[13]:如图1所示,在A交换机输入配置测试命令,利用命令行启动测试,测试数据帧由交换机A产生并经发包端口发出,然后经过交换机B的转发,流回交换机B的收报端口,最后,交换机A按照协议规定的方法进行处理运算,通过命令查看测试状态和结果。

    图1 单机模式

    双机模式工作流程[14]:如图2所示,该模式下存在四种测试模式,分别为环回、上行、下行以及上行-下行测试模式,四种测试模式都是在由三台交换机构成的拓扑结构下进行测试。环回测试是交换机A作为客户端进行数据的发送和接收,交换机B作为中间设备,交换机C作为服务器完成数据流的环回工作。上行测试是由交换机A发送数据帧,由交换机C接收传送回来数据帧。下行测试正好相反,由交换机C发送,由交换机A来接收。上行-下行测试是上行测试和下行测试的结合。

    图2 双机模式

    RFC2544协议认为单机模式和双机模式都是适合的,但各有优缺点[15]。单机模式测试环境的搭建简单方便,容易控制测试精度,但很难制造足够的测试压力。而双机模式由于是三台设备同时工作,虽然容易产生测试压力,但由于进程处于三台设备中,将不可避免地造成时间同步与进程同步等问题。因为本文探讨的是交换机的以太网测试,单机结构部署灵活,且能达到测试目的,所以本文的实现选择比较经典的单机测试。

    3 测试环境的搭建

    3.1 硬件开发平台

    本文使用的交换机为三层交换机,硬件是由以太网收发模块、FPGA模块和CPU管理模块组成,如图3所示。以太网收发模块采用博通公司生产的BCM5482芯片,该芯片具备10M/100M/1000M自协商功能,是一个双口千兆PHY芯片,每个BCM5482芯片可管理2个电口,实现以太网得数据通信,并通过SGMII接口与CPU管理模块通信。CPU管理模块选用博通芯片BCM56268,该芯片提供多个接口,包括内联到交换业务的MDIO接口、内联到ARM处理器的UART接口和连接到FPGA的同步接口等,本模块把以太网测试帧发送给BCM5482芯片,实现数据的发送,同样解析接收到的数据,将从收发模块BCM5482芯片接收到数据发送给FPGA处理。FPGA模块选用ALTERA EP4CE6E22C8N,该模块提升对数据的处理能力。

    图3 硬件系统结构

    3.2 系统软件开发架构

    本系统软件采用C语言开发,编写好源代码在Linux主机上编译,编译好的可执行文件通过FTP工具上传给交换机并运行。整个的开发架构采用功能模块化设计,包括实时信息查询模块、参数配置模块、状态机FSM模块、API模块以及以太网帧处理模块,这样的设计降低了各模块间的耦合,便于后期维护。整个的软件系统架构如图4所示。具体到RFC2544系统软件,有如下这些重要文件。Cmd_rfc2544.c为命令行函数文件,实现参数配置、信息查询等功能。rfc2544.c、rfc2544.h为以太网帧处理函数文件,实现以太网帧处理的功能。rfc2544_sm.c、rfc2544_sm.h文件实现状态机FSM模块的功能。rfc2544_api.c为set、get函数文件,实现API模块的功能。

    图4 软件系统结构

    4 RFC2544的算法设计

    4.1 丢包率

    假设Test_rate(kbps)为发送测试包的速率,Trt_pkt为发送的测试包数量,Rcv_pkt为接收的测试包数量,N为测试次数,T为测试时间。

    步骤:以Test_rate(kbps)的速率(本实验中取100M),在T时间内发送Trt_pkt个数据包到被测交换机,经过环回,接收到的数据包数量为Rcv_pkt个,记录本次测试的丢包率

    如此测试N次,得到N个结果值,求得其平均值作为结果。

    4.2 时延

    假设Test_rate(kbps)发送测试包的速率,T1为发送时间,T2为接收时间,lRcv_pkt为上次收报数,Rcv_pkt为本次收报数,LtyDly为某次测试中的时延,AvgDly为平均时延,lAvgDly为上次的平均时延,N测试次数,T为测试时间。

    步骤:第一轮测试中,以 Test_rate(kbps)速率(本实验中取10M),在T时间内发送一定的数据包到对端的交换机设备,记录发送时间T1,经过一段时间,记录到达的时间T2,在没有数据包丢失的情况下,计算本次的时延LtyDly=T2-T1。在接下的测试过程中,都会计算每次的平均时延,平均时延AvgDly的计算公式为

    如此测试N次,得到N个结果值,求得其平均值作为结果。

    4.3 吞吐量

    假设Test_rate(kbps)为发送的测试包速率,Rcv_pkt为接收的测试包数量,Trt_pkt为发送的测试包数量,R为测试精度(本实验中取1M),N为测试次数,T为测试时间。

    步骤:以Test_rate(kbps)的速率(本实验中取1000M),在T时间内发送Trt_pkt个数据包到被测交换机,经过环回,接收到的数据包数量为Rcv_pkt个,比较Trt_pkt和Rcv_pkt的大小。如果Trt_pkt=Rcv_pkt,表示数据包没有丢失,则增大交换机发送数据包的速率。如果Trt_pkt>Rcv_pkt,表示有数据包丢失,则减小交换机发送数据包的速率,然后判断两次发包速率的差值是否小于测试精度R。如果测试结果满足要求,差值小于测试精度R,则取本次发送数据包的速率作为该次测试的吞吐量值,否则进入下一轮测试直到满足精度要求。如此测试N次,得到N个结果值,求得平均值作为最终的吞吐量值。

    5 测试结果分析

    本文是在三层交换机的Linux平台下,设计了一种基于RFC2544标准的以太网性能测试方案,通过命令行实时获取以太网吞吐量、时延和丢包率的测试结果,并在XY坐标系中描点形成直观的折线,便于分析。

    如图5所示,测试帧长度越长,丢包率反而越小。这是因为在带宽相同的情况下,帧长越长,单位时间内,被测交换机设备处理的数据包个数越少,丢包越少,即丢包率下降。

    图5 丢包率测试结果

    如图6所示,时延测试结果指的是平均时延,测试帧长度越长,时延越大。这是因为数据帧长越大,被测交换机设备处理时间增加,所耗费的时间越长,时延就越大。

    图6 时延测试结果

    如图7所示,数据帧长越小,对吞吐率的影响越大,反之,帧长越长,对吞吐率的影响越小,而且可以很明显地看到,数据帧长增加到一定的时候,吞吐率几乎没有变化了。这是因为同一带宽下,数据帧长度增大时,在相同时间内,进入被测交换机进行处理的数据包数量就会减少,而处理单个数据包的时间没有改变,所以转发速率变快,从而增加了吞吐量。

    图7 吞吐率测试结果

    6 结语

    从以上对测试结果的分析可得,在三层交换机中设计的软件测试系统,符合RFC2544协议标准,从而验证了该软件测试系统的可行性。


     
    (文/小编)
    打赏
    免责声明
    • 
    本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://2024.dingdx.com/news/show.php?itemid=1707 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
    0相关评论
     

    © Copyright 深圳市鼎达信装备有限公司 版权所有 2015-2022. All Rights Reserved.
    声明:本站内容仅供参考,具体参数请咨询我们工程师!鼎达信作为创新真空产品研发制造商,我们提供海绵吸具,海绵吸盘,真空吸盘,真空发生器,真空泵,真空鼓风机,缓冲支杆,真空配件,真空吊具等等产品

    粤ICP备17119653号