一种基于芯片实现主动测量协议的方法与流程

文档序号:15151691发布日期:2018-08-10 21:10阅读:620来源:国知局

本发明涉及一种主动测量协议的实现方法,尤其是涉及一种基于芯片实现主动测量协议的方法。



背景技术:

随着人们对网络性能要求的进一步精确和提高,针对网络性能的分析开始逐步向更高层扩展。

主动测量协议(amp,activemeasurementprotocol)作为测量网络协议(ip,internetprotocol)网络性能的标准协议,满足了对udp(userdatagramprotocol,用户数据报协议)层网络性能的测试需求。按照协议要求,该协议由建立性能测量会话的控制报文(amp-control)以及测试报文的传送和接收(amp-test)两部分组成。其中,控制报文主要进行连接的建立,以及创建、启动测试会话;测试报文在控制报文基础上,用于进行网络性能的测试。

其中,owamp(one-wayactivemeasurementprotocol,单向主动测量协议)用于单向的性能测试,twamp(two-wayactivemeasurementprotocol)用于双向的性能测试,两者性能测试的参数均包括delay(网络时延)、jitter(网络时延抖动)、loss(网络丢包)等参数。

目前对于主动测量协议往往是基于软件实现来搭建测试模型,即通过软件方法识别和处理owamp/twamp的控制报文和测试报文,从而测试delay、jitter、loss等参数。但是,软件实现owamp或twamp的效率远远不如芯片实现。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种提高实现主动测量协议效率的基于芯片实现主动测量协议的方法。

为实现上述目的,本发明提出如下技术方案:一种基于芯片实现主动测量协议的方法,包括:

s1,芯片识别主动测量协议的控制报文,用于启动主动测量协议的网络性能的测试;

s2,芯片在发送方向发送至少一条主动测量协议的测试报文给接收方向,用于网络性能的测试;

s3,芯片在接收方向识别所述测试报文,并在oam引擎内对接收到的所述测试报文进行处理,在芯片中计算出网络性能参数;或者在对测试报文处理后将处理后的测试报文回复给芯片发送方向,由芯片在发送方向计算出网络性能参数。

优选地,s1中,所述控制报文包括owamp控制报文和twamp控制报文,所述芯片通过tcp端口分别识别出owamp控制报文和twamp控制报文。

优选地,s2中,所述测试报文包括owamp测试报文和twamp测试报文,芯片在发送方向在所述测试报文中加上用于网络时延性能参数测试的时间戳和用于报文合法性测试的序列号。

优选地,所述芯片在发送方向最多同时支持8条主动测量协议的测试报文的发送,不同所述测试报文之间通过报文中的至少包括udp端口和dscp信息来区分。

优选地,s3中,所述芯片在接收方向至少通过所述udp端口和dscp信息来识别所述测试报文。

优选地,所述网络性能参数至少包括网络时延、网络丢包和网络时延抖动中的任意一个或多个的组合。

优选地,所述网络丢包性能参数的计算过程包括:芯片统计所述测试报文的发送数,及测试报文的接收数,计算所述测试报文的发送数和接收数的差值,从而计算出所述网络丢包。

优选地,所述网络时延性能参数的计算过程包括:芯片根据其统计的时延累加值和所述测试报文的接收数,得到一段时间内测试报文的单向网络时延平均值或双向网络时延平均值。

优选地,所述网络时延抖动性能参数的计算过程包括:根据相邻两个网络时延的差值,确定所述网络时延抖动值。

优选地,所述芯片至少包括asic芯片或fpga芯片或np芯片。

本发明的有益效果是:提供了一种基于芯片实现主动测量协议的方案,可以快速处理,芯片实现的快速性和稳定性是软件实现无法相比的,如本发明可以实现ns级网络时延(delay)、网络时延抖动(jitter)等网络性能参数的处理。

附图说明

图1是本发明owamp测试原理示意图;

图2是本发明twamp测试原理示意图;

图3是本发明owamp网络性能参数计算逻辑示意图;

图4是本发明twamp网络性能参数计算逻辑示意图;

图5是本发明的流程示意图。

具体实施方式

下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。

本发明所揭示的一种基于芯片实现主动测量协议的方法,尤其基于asic芯片实现owamp和twamp协议,对owamp和twamp的控制报文和测试报文快速处理,实现高精度和高性能的网络性能参数的测试与统计,弥补现有软件实现技术效率低、模型复杂的缺点。

结合图1~图5所示,本发明实施例所揭示的一种基于芯片实现主动测量协议的方法,包括:

s1,芯片识别主动测量协议的控制报文,用于启动主动测量协议的网络性能的测试。

具体地,主动测量协议的控制报文包括owamp控制报文和twamp控制报文,本实施例中,芯片通过控制报文中携带的tcp端口861信息识别其为owamp控制报文;通过控制报文中携带的tcp端口862信息识别其为twamp控制报文,用于启动owamp、twamp网络性能的测试。

芯片识别控制报文后,将控制报文发送给其上层软件,如控制客户端,由上层软件控制芯片发送测试主动测量协议的网络性能的测试报文的启停。

s2,芯片在发送方向发送至少一条主动测量协议的测试报文给接收方向,用于网络性能的测试。

具体地,测试报文包括owamp测试报文和twamp测试报文,也就是说芯片在发送方向(tx)能够发送owamp测试报文或twamp测试报文用于网络性能测试。无论是发送哪种主动测量协议的测试报文,芯片在发送方向在所述测试报文中加上用于网络时延性能参数测试的第一时间戳和用于报文合法性测试的序列号,通过该序列号,可以对报文的合法性进行测试,提高主动测量协议装置测试结果的正确性。

本实施例中,芯片在发送方向最多同时支持8条主动测量协议的测试报文的发送,不同测试报文之间通过报文中的至少包括udp端口和dscp信息来区分。

s3,芯片在接收方向识别所述测试报文,并在oam引擎内对接收到的所述测试报文进行处理,在芯片中计算出网络性能参数;或者在对测试报文处理后将处理后的测试报文回复给芯片发送方向,由芯片在发送方向计算出网络性能参数。

具体地,芯片在接收方向(rx)至少可通过测试报文中的udp端口和dscp信息来识别出测试报文。

若芯片在接收方向识别所述测试报文为owamp测试报文,则通过芯片中的通过dsacl表项中的u1_g3_oamdestchip、u1_g3_mepindex、u1_g3_rxoamtype、u1_g3_packetoffset等field(域)出行为,用于oamengine(oam引擎)对owamp测试报文的处理,在oamengine内部会有equal_twamp、header_edit和/或equal_flex等功能模块对接收到的owamp测试报文进行处理,且在芯片中计算出网络性能参数。

本实施例中,网络性能参数至少包括网络时延、网络丢包和网络时延抖动中的任意一个或多个的组合。

其中,芯片中计算出owamp测试报文的网络时延的过程具体为:芯片内部会对所有有效的owamp测试报文的时延进行累加,累加到autogenpktrxpktstats表项的totaldts表项中,totaldts表项表示测试报文的从芯片发送方向到芯片接收方向的单向时延,且autogenpktrxpktstats表项中会有owapm测试报文接收数rxpkts的统计,通过读取totaldts表项和owapm测试报文接收数rxpkts,这样芯片可以实现owamp测试报文的网络性能参数delay的计算。具体地,单向时延delay的计算:用totaldts2表项中的时延数据和owapm测试报文接收数rxpkts计算;即totaldts2/rxpkts=某一个时间段内的单向平均时延。

芯片中计算出owamp测试报文的网络时延抖动的过程具体为:根据上述根据相邻两个网络时延的差值,可以确定网络时延抖动值。

芯片中计算出owamp测试报文的网络丢包的过程具体为:芯片内部的autogenpkttxpktstats表项中会有owamp测试报文发送数txpkts的统计,autogenpktrxpktstats表项中会有owamp测试报文接收数rxpkts的统计,从而可以计算出loss=txpkts–rxpkts。

若芯片在接收方向识别所述测试报文为twamp测试报文,则通过芯片中的通过dsacl表项中的u1_g3_oamdestchip、u1_g3_mepindex、u1_g3_rxoamtype、u1_g3_packetoffset等field(域)出行为,用于oamengine(oam引擎)对twamp测试报文的处理,在oamengine内部会有equal_twamp、header_edit和/或equal_flex等功能模块对接收到的twamp测试报文进行处理,在对测试报文处理后将处理后的测试报文回复给芯片发送方向,由芯片在发送方向计算出网络性能参数。

其中,芯片在发送方向中计算出twamp测试报文的网络时延的过程具体为:芯片内部会对所有有效的twamp测试报文的双向时延进行累加,累加到autogenpktrxpktstats表项的totaldts表项中,totaldts表项表示测试报文的从芯片发送方向到芯片接收方向再反射回芯片发送方向的双向时延,芯片内部也会对所有有效的twamp测试报文的单向时延进行累加,累加到autogenpktrxpktstats表项的totaldts2表项中,totaldts2表项表示测试报文的从芯片发送方向到芯片接收方向的单向时延;且autogenpktrxpktstats表项中会有twapm测试报文接收数rxpkts的统计,通过读取totaldts1表项、totaldts2表项和rxpkts,这样芯片可以实现twamp测试报文的网络性能参数delay的计算。

具体地,双向时延delay的计算:totaldts/rxpkts=某一个时间段内的双向平均时延,totaldts2/rxpkts=某一个时间段内的单向平均时延,这样,接收端到发送端的单向时延则为:(totaldts-totaldts2)/rxpkts。

芯片中计算出twamp测试报文的网络时延抖动的过程具体为:根据上述根据相邻两个twamp测试报文的网络时延的差值,可以确定twamp测试报文的网络时延抖动值。

芯片中计算出twamp测试报文的网络丢包的过程具体为:芯片内部的autogenpkttxpktstats表项中会有twapm测试报文发送数txpkts的统计,autogenpktrxpktstats表项中会有twamp测试报文接收数rxpkts的统计,从而可以计算出loss=txpkts–rxpkts。

本发明中所指芯片并不局限于asic(applicationspecificintegratedcircuit,,专用集成电路)芯片,还可包括fpga(field-programmablegatearray,现场可编程门阵列)或np(networkprocessor,网络处理器)等。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1