基于流量的通信性能测试方法

文档序号:7552537阅读:216来源:国知局
专利名称:基于流量的通信性能测试方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于流量的通信性能测试方法。
背景技术
网络通信中,为了保持网络的正常运行,需要在网元之间、网元和网管之间进行数据的交换,通常由传输网元主机中的通信模块承担着传输网元间的运行维护数据的传送与处理任务。
目前,SDH(同步数字序列)和WDM(波分复用)两大光网络系列的多种产品都采用了ECC(嵌入控制通路)协议栈作为网元SCC(SystemControl and Communication,系统控制与通信)板间的通信协议,该协议是一个分层的协议,协议栈结构如图1所示。SCC的通信模块采用ECC协议栈进行网元间的通信,如图2所示,即在物理层,网元通过具体通信协议和连接机制进行通信,例如可以通过TCP/IP(传输控制协议/互联网协议)和以太网接口进行通信,或者通过SDH中的DCC(数据通信通路)进行通信,或者通过串口直接连接进行通信,物理层为不同的物理通道提供了统一的接口供上层(即MAC层)调用来接受或者发送数据;在链路层(MAC Layer),软件维护了和物理层直接相邻的网元的信息,无论是通过DCC还是通过以太网或者是串口,都在MAC层建立了MAC连接,而且MAC层提供给网络层(NET层)统一的接收和发送接口以供网络层接收和发送数据;在网络层(NET Layer),软件维护了网络层的路由表,路由表包括了逻辑上可以到达的所有网元的集合,同时网络层又提供应用层统一的接收和发送接口;而在应用层(L4 Layer),通过应用层数据帧类型标识区分数据帧需要哪个应用模块处理。
如上所述,当网元B向网元A发送数据时,网元B的SCC软件将对端的应用层地址填入数据帧中,然后调用网络层的统一发送接口将数据发送出去;网络层在收到应用层发来的数据帧之后,从应用层地址得到网路层地址,然后根据这个地址在路由表中查找将数据帧传送时需要经过的第一个网元的网络地址,然后将地址写到数据帧中将其发送给链路层;链路层在接收到网络层发来的数据之后,根据地址查找链路层连接表,然后将链路层地址写入数据帧中,然后将其发向物理层,物理层根据连接的不同类型,使用不同的发送途径最终将数据发送出去。
网元A的物理层收到数据后会直接转发链路层,链路层接收到数据之后,判断是链路层的信息帧还是链路层的控制帧,如果是信息帧则转发给网络层处理,如果是控制帧则在链路层自行处理;网络层接收到链路层发来的数据之后则判断该数据是网路层的信息帧还是控制帧,如果是信息帧则转发给应用层处理,如果是控制帧则在网路层自行处理;应用层收到数据之后则根据数据帧中的应用层地址得到最终处理该数据的模块标识并转发,从而完成最终的数据发送与接收过程。
为了保证网络通信的可靠性,通常需要对通信模块的各个协议层的通信性能进行测试,目前,还没有提供一种对各协议层的通信效率进行判断,以及确定通信模块产生流量限制的瓶颈的位置的方法。

发明内容
本发明提供一种基于流量的通信性能测试方法,以获取通信协议中各层接收和发送的数据流量,进而方便对各通信模块工作性能的监测。
为实现上述目的,本发明提供如下技术方案一种基于流量的通信性能测试方法,包括当网络通信中的各个协议层接收和发送数据时,分别对各个协议层接收和发送的数据流量进行统计,并根据各个协议层的流量确定其通信性能。
所述的对各个协议层接收和发送的数据流量进行统计为通过在各个协议层接收和发送接口函数中添加测试代码实现。
所述的对各个协议层接收和发送的数据流量进行统计为在各个协议层中对接收和发送的数据按不同的数据类型分别进行统计。
所述的数据类型包括信息数据、控制数据和其他数据。
所述的对各个协议层接收和发送的数据流量进行统计还包括确定接收和发送数据的数据类型的过程,该过程为获取各个协议层已经确定的接收和发送数据的数据类型。
该方法中所述的各个协议层对接收数据的流量统计是在开始接收数据时进行,即在该协议层的实际接收数据处理过程之前进行;所述的各个协议层对发送数据的流量统计是在该协议层的实际发送数据处理过程完成之后进行。
由上述技术方案可以看出,本发明通过对通信协议栈各协议层接收和发送的数据流量的统计,并根据各个协议层的数据流量统计结果确定其通信性能,从而方便了网络通信中对各个通信模块工作可靠性及通信效率的监测,并可准确地判断出网络中通信模块产生流量限制的位置,为网络通信的有效调整维护提供了可靠的依据。因此,本发明的实现为保证正常的网络通信提供了技术上的支持。


图1为ECC协议栈的结构示意图;图2为基于ECC协议的网元间通信的示意图;图3为本发明中网元间通信的示意图;图4为本发明的具体实施流程图。
具体实施例方式
本发明为了实现对网络通信中通信性能的测试,尤其是对通信模块各个协议层的通信性能的测试所采用的方法参见图3,包括当通信模块的L4层(即应用层)、NET(网络)层、MAC(媒体接入控制)层(即链路层)和物理层接收和发送数据时,分别对各个协议层接收和发送的数据流量进行统计,并根据各个协议层的数据流量统计结果确定其通信性能。
本发明的具体实现过程参见图4,具体包括以下步骤步骤1在每一协议层的接收与发送接口函数中添加对应的测试代码,用于统计通信模块各协议层的数据流量;所添加的测试代码相当于在各个协议层分别设置了一个流量计数器,实时地对各个协议层发生的不同类型的数据流量进行统计;步骤2当各协议层接收和发送数据时,确定数据的类型;所述的确定数据的类型的过程实际为获取各个协议层已经确定的接收和发送数据的数据类型,因为在现有技术中,各个协议层为了对接收或发送的数据进行不同的处理,在接收和发送数据过程中已经确定了相应的数据类型;当然,如果现有技术未进行数据类型的确定,在本发明中也可以独立地进行数据类型的确定,并执行步骤3;该步骤所述的不同类型的数据包括信息数据(即信息帧)、控制数据(即控制帧)和其他数据(其他帧);步骤3根据确定的数据类型分别对每个协议层接收和发送相应类型数据的流量进行统计;对于各个协议层接收的数据,当该协议层接收数据时便进行流量的统计,即在实际接收数据处理过程之前进行流量统计;对于各个协议层发送的数据,当该协议层完成实际发送数据处理过程时进行发送数据流量的统计;步骤4根据统计的各个协议层的各类型数据流量值确定各个协议层的通信性能,例如,模拟网元在各种条件下,包括网络规模大小不同、网络拓扑复杂程度不同、网络结构是否在变化中、是否有告警、性能数据上报网管以及网络中各网元上用户操作情况不同等,收集这些数据,便可以看到在不同的情况下,各个协议层各种类型的数据帧的流量是不同的,在出现网络响应明显变慢或者有数据丢失或者有网元因为通信繁忙而造成软件异常复位的情况下,分析这些数据,一方面可以具体分析出通信能力的瓶颈在那里,而且还可以由此推算出特定规模、特性拓扑结构的网络在典型配置下的通信容量。
本发明所述的基于流量的通信性能测试方法中涉及的各个协议层接收和发送数据的流量统计过程的进一步具体实现过程如下例如,在MAC层的接收处理函数CmMacRecv中
<pre listing-type="program-listing">PROCEDURE CmMacRecvBEGIN...普通处理过程...//判断数据帧类型SWITCH CASE数据包类型//如果是MAC层的信息帧WHEN MAC_INFO SELECTMAC层信息帧接收帧计数加1;MAC层信息帧接收字节总数累加;//中止判断过程BREAK;//如果是MAC层的控制帧WHEN MAC_CMD SELECTMAC层控制帧接收帧计数加1;MAC层控制帧接收字节总数累加;//中止判断过程BREAK;//如果是MAC层其他帧DEFAULT SELECTMAC层其他帧类型接收帧计数加1;MAC层其他帧类型接收字节总数累加;//中止判断过程BREAK;&lt;dp n="d6"/&gt; END CASEEND</pre>同样,在MAC层的发送处理函数CmMacSend中也是增加对应的测试代码分类统计发送流量<pre listing-type="program-listing">PROCEDURE CmMacSendBEGIN...普通处理过程...//判断数据帧类型SWITCH CASE数据包类型//如果是MAC层的信息帧WHEN MAC_INFO SELECTMAC层信息帧发送帧计数加1;MAC层信息帧发送字节总数累加;//中止判断过程BREAK;//如果是MAC层的控制帧WHEN MAC_CMD SELECTMAC层控制帧发送帧计数加1;MAC层控制帧发送字节总数累加;//中止判断过程BREAK;//如果是MAC层的其他帧&lt;dp n="d7"/&gt; DEFAULTSELECT MAC层其他帧类型发送帧计数加1; MAC层其他帧类型发送字节总数累加; //中止判断过程 BREAK; END CASEEND</pre>依次类推,在其他通信协议层发送和接收处理函数中加上类似的测试代码,便可以分别统计各层接收和发送的各种类型的数据帧的帧计数和字节总计数,获得的统计数据是测试、研究和分析通信模块流量处理能力(即通信性能)的重要依据。
权利要求
1.一种基于流量的通信性能测试方法,其特征在于包括A、当网络通信中的各个协议层接收和发送数据时,分别对各个协议层接收和发送的数据流量进行统计;B、根据上述各个协议层的流量确定每个协议层的通信性能。
2.根据权利要求1所述的基于流量的通信性能测试方法,其特征在于所述步骤A中的对各个协议层接收和发送的数据流量进行统计是通过在各个协议层接收和发送接口函数中添加测试代码实现。
3.根据权利要求1或2所述的基于流量的通信性能测试方法,其特征在于所述步骤A中的对各个协议层接收和发送的数据流量进行统计是指在各个协议层中对接收和发送的数据按不同的数据类型分别进行统计。
4.根据权利要求3所述的基于流量的通信性能测试方法,其特征在于所述的数据类型包括信息数据、控制数据。
5.根据权利要求3所述的基于流量的通信性能测试方法,其特征在于所述步骤A中的对各个协议层接收和发送的数据流量进行统计还包括确定接收和发送数据的数据类型的过程,该过程为获取各个协议层已经确定的接收和发送数据的数据类型。
6.根据权利要求1或2所述的基于流量的通信性能测试方法,其特征在于所述步骤A中的各个协议层对接收数据的流量统计是在开始接收数据时进行,即在该协议层的实际接收数据处理过程之前进行;所述的各个协议层对发送数据的流量统计是在该协议层的实际发送数据处理过程完成之后进行。
全文摘要
一种基于流量的通信性能测试方法。该方法是在网络通信中的通信模块的各个协议层接收和发送数据时,通过在各个协议层接收和发送接口函数中添加的测试代码实现对各个协议层接收和发送的数据流量进行统计,并根据各个协议层的流量确定通信模块的通信性能。本发明方便了网络通信中对各个通信模块工作可靠性及通信效率的监测,并可准确地判断出网络中通信模块流量限制的瓶颈的位置。
文档编号H04M3/22GK1571364SQ0313297
公开日2005年1月26日 申请日期2003年7月21日 优先权日2003年7月21日
发明者毕建 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1