本发明涉及网络通信技术领域,尤其涉及一种丢包率检测方法及装置。
背景技术:
目前,以太网链路测试基准RFC2544(Benchmarking Methodology for Network Interconnect Devices)提供了一个对网络设备测试的基准,它规定了一系列的测试过程和方法,使得两端网络设备间可以在同一个基准下,对测试的实施和结果达成共识。但是,当采用RFC2544进行丢包率测试时,仅可获取到从发送端到反射端再环回到发送端这样整条链路的丢包率,而发送端到反射端单向链路的丢包率却无法检测得到。现有技术中,存在丢包率检测不够精确的问题。
技术实现要素:
本发明的主要目的在于提供一种丢包率检测方法及装置。
为实现上述目的,本发明提供一种丢包率检测方法,所述丢包率检测方法包括:
第一节点发送预设数量的测试报文至第二节点,以供所述第二节点返回其接收的所述测试报文,并基于其接收的所述测试报文以及所述测试报文中携带的表征所述预设数量的第一数量值计算所述第一节点到所述第二节点单向链路的第一丢包率;
在第一预设时间段内未接收到所述第二节点返回的所述测试报文时,所述第一节点获取接收到的所述测试报文的第二数量值,并基于所述第一数量值以及所述第二数量值,计算所述第一节点与所述第二节点之间环回链路的第二丢包率;
所述第一节点计算所述第二丢包率与接收到的所述第一丢包率的差值,并将所述差值作为所述第二节点到所述第一节点单向链路的第三丢包率。
优选地,所述第一节点发送预设数量的测试报文至第二节点,以供所述第二节点返回其接收的所述测试报文,并基于其接收的所述测试报文以及所述测试报文中携带的表征所述预设数量的第一数量值计算所述第一节点到所述第二节点单向链路的第一丢包率的步骤之前,还包括:
在接收到网管节点发送的配置信息时,所述第一节点基于所述配置信息确定待发送测试报文的数量;
所述第一节点计算所述第二丢包率与接收到的所述第一丢包率的差值,并将所述差值作为所述第二节点到所述第一节点单向链路的第三丢包率的步骤之后,还包括:
所述第一节点将所述第一丢包率、所述第二丢包率以及所述第三丢包率发送至所述网管节点。
优选地,所述第一节点在发送所述测试报文期间,屏蔽其它报文。
进一步地,本发明还提供了一种丢包率检测方法,所述丢包率检测方法包括:
在接收到第一节点发送的测试报文时,第二节点将接收的所述测试报文返回至所述第一节点;
在第二预设时间段内未接收到所述测试报文时,所述第二节点获取接收到的所述测试报文的第三数量值,以及所述测试报文携带的第一数量值,其中,所述第一数量值为所述第一节点发送测试报文的数量;
所述第二节点基于所述第三数量值以及所述第一数量值,计算所述第一节点到所述第二节点单向链路的第一丢包率。
优选地,所述第二节点基于所述第三数量值以及所述第一数量值,计算所述第一节点到所述第二节点单向链路的第一丢包率的步骤之后,还包括:
所述第二节点将计算的所述第一丢包率发送至所述第一节点。
进一步地,本发明还提供了一种丢包率检测装置,所述丢包率检测装置包括:
发送模块,用于发送预设数量的测试报文至第二节点,以供所述第二节点将其接收的所述测试报文返回至所述发送模块所在的第一节点,并基于其 接收的所述测试报文以及所述测试报文中携带的表征所述预设数量的第一数量值计算所述第一节点到所述第二节点单向链路的第一丢包率;
第一计算模块,用于当所述第一节点在第一预设时间段内未接收到所述第二节点返回的所述测试报文时,获取所述第一节点接收到的所述测试报文的第二数量值,并基于所述第一数量值以及所述第二数量值,计算所述第一节点与所述第二节点之间环回链路的第二丢包率;以及计算所述第二丢包率与接收到的所述第一丢包率的差值,并将所述差值作为所述第二节点到所述第一节点单向链路的第三丢包率。
优选地,所述丢包率检测装置还包括确定模块,用于当所述第一节点接收到网管节点发送的配置信息时,基于所述配置信息确定所述发送模块待发送测试报文的数量;
所述发送模块还用于将所述第一丢包率、所述第二丢包率以及所述第三丢包率发送至所述网管节点。
优选地,所述丢包率检测装置还包括:
屏蔽模块,用于在所述发送模块发送所述测试报文期间,屏蔽其它报文。
进一步地,本发明还提供了一种丢包率检测装置,所述丢包率检测装置包括:
返回模块,用于当其所在的第二节点接收到第一节点发送的测试报文时,将接收的所述测试报文返回至所述第一节点;
获取模块,用于当所述第二节点在第二预设时间段内未接收到所述测试报文时,获取所述第二节点接收到的所述测试报文的第三数量值,以及所述测试报文携带的第一数量值,其中,所述第一数量值为所述第一节点发送测试报文的数量;
第二计算模块,用于基于所述第三数量值以及所述第一数量值,计算所述第一节点到所述第二节点单向链路的第一丢包率。
优选地,所述返回模块还用于将所述第二计算模块计算的所述第一丢包率发送至所述第一节点。
本发明通过在用于丢包率检测的测试报文中添加预设发送报文数,以供 反射端在发送端完成预设报文数的测试报文的发送时,计算并返回所述发送端到所述反射端单向链路的第一丢包率,发送端根据本端计算的所述发送端到所述发射端环回链路的第二丢包率以及接收的所述第一丢包率,即可获取到所述反射端到所述发送端单向链路的第三丢包率,相较于现有技术仅可获取到发送端与发射端之间环回链路的丢包率,本发明能够提高丢包率检测的精确度。
附图说明
图1为本发明丢包率检测方法第一实施例的流程示意图;
图2为本发明丢包率检测方法第四实施例的流程示意图;
图3为本发明丢包率检测装置第一实施例的功能模块示意图;
图4为本发明丢包率检测装置第四实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种丢包率检测方法,参照图1,在本发明丢包率检测方法的第一实施例中,所述丢包率检测方法包括:
S10,第一节点发送预设数量的测试报文至第二节点,以供所述第二节点返回其接收的所述测试报文,并基于其接收的所述测试报文以及所述测试报文中携带的表征所述预设数量的第一数量值计算所述第一节点到所述第二节点单向链路的第一丢包率;
本实施例提出的丢包率检测方法,可以应用于网络中两节点间单向链路的丢包率检测。以测试报文的原发送端为第一节点,测试报文的反射端为第二节点为例,在现有以太网链路测试基准RFC2544的基础上,本发明能够检测所述第二节点到所述第一节点单向链路的丢包率,以达到提高丢包率检测精确度的目的。
本实施例中,在所述S10之前,还需要在所述第一节点进行测试配置, 具体地,测试配置包括Flow_id(测试流ID)、源MAC、目标MAC、源IP、目标IP、DSCP(Differentiated Services Code Point,差分服务代码点)优先级、外层VLAN(包括802.1P优先级)、内层VLAN(包括802.1P优先级)、源UDP(User Data Protocol,用户数据报协议)端口、目标UDP端口、接入业务模式(包括L2层和L3层)、测试速率/测试带宽、报文长度、测试发包时长和发包端口。以供所述第一节点基于前述配置信息创建报文终结的ACL(Access Control List,访问控制列表)规则,如表1所示。
表1
进一步地,所述第一节点(发生器)在发送测试报文之前,还根据前述配置信息确定待发送测试报文的数量(预设数量),具体地,首先基于公式(1)计算发送测试报文的IPG(Interpacket Gap,帧间隙):
IPG=(BW*(12+PL))/TS-PL……公式(1);
其中,BW表示发包端口带宽,12为前导码,PL表示报文长度,TS表示测试速率/测试带宽。
在计算出IPG之后,基于公式(2)计算待发送测试报文的数量,即所述预设数量:
TN=TS*ST/(PL+IPG)……公式(2);
其中,所述TN表示待发送测试报文的数量,ST表示测试发包时长。
优选地,本实施例采用如表2所示的LM(Loss Measurement,丢包测量)报文作为所述测试报文,其中,所述OPCODE字段和Flow_id字段用于填写约定值以表征该报文为LM报文,所述TotalNumber字段用于填写表征所述预设数量的第一数量值(即TN)。
表2
在发送测试报文时,所述第一节点记录发送的报文数,当发送的报文数等于所述第一数量值时,所述第一节点停止向所述第二节点发送所述测试报文,以确保向所述第二节点发送所述预设数量的测试报文。同时,在接收到所述第二节点返回的所述测试报文时,所述第一节点累计接收到的所述测试报文的数量。
需要说明的是,在本实施例中,还需要在所述第二节点进行测试配置,以供所述第二节点根据配置信息创建报文环回的ACL规则:反射ACL规则,并根据所述反射ACL规则将其接收的由所述第一节点发送的测试报文返回至所述第一节点,具体地,测试配置包括Flow_id(测试流ID)、源MAC、目标MAC、源IP、目标IP、DSCP优先级、外层VLAN(包括802.1P优先级)、内层VLAN(包括802.1P优先级)、源UDP端口、目标UDP端口、接入业务模式(包括L2层和L3层)以及反射条件的流匹配规则。以供所述第二节点基于前述配置信息创建报文环回的ACL规则,如表3所示。
表3
本实施例中,所述第二节点(反射器)在接收到报文时,基于所述反射ACL规则识别接收的报文是否为原端为第一节点发送的测试报文,在接收到第一节点发送的测试报文时,所述第二节点基于所述反射ACL规则将接收的所述测试报文返回至所述第一节点,其中,所述第二节点在接收到所述第一节点发送的测试报文时,累计接收到所述测试报文的数量;在第二预设时间段内未接收到所述测试报文时,所述第二节点获取接收到的所述测试报文的第三数量值,即所述第二节点累计的接收到所述测试报文的数量,以及获取所述测试报文携带的第一数量值,其中,所述第一数量值为所述第一节点发送测试报文的预设数量;所述第二节点基于所述第三数量值、第一数量值以及公式(3),计算所述第一节点到所述第二节点单向链路的第一丢包率:
LR_A=(T-R)*100/T……公式(3);
其中,所述LR_A表示所述第一丢包率,T表示所述第一节点发送测试报文的第一数量值,R表示所述第二节点接收到的测试报文的第三数量值。
S20,在第一预设时间段内未接收到所述第二节点返回的所述测试报文时,所述第一节点获取接收到的所述测试报文的第二数量值,并基于所述第一数量值以及所述第二数量值,计算所述第一节点与所述第二节点之间环回链路的第二丢包率;
在完成所述预设数量的测试报文的发送,且在第一预设时间段内未接收到所述第二节点返回的所述测试报文时,所述第一节点识别当前第二节点的测试报文已返回完毕,并获取接收到的所述第二节点返回测试报文的第二数量值,即所述第一节点累计的接收到所述测试报文的数量,其中,所述第一预设时间段可根据实际需要进行设置,例如,在本实施例中,所述第一预设时间段优选为1秒;在获取到所述第二数量值之后,所述第一节点将所述第二数量值以及所述第一数量值代入公式(4)计算所述第一节点与所述第二节点之间环回链路的第二丢包率:
LR=(T-Rt)*100/T……公式(4);
其中,所述LR表示所述第二丢包率,T表示所述第一节点发送测试报文的第一数量值,Rt表示所述第一节点接收到的所述第二节点返回测试报文的第二数量值。
S30,所述第一节点计算所述第二丢包率与接收到的所述第一丢包率的差值,并将所述差值作为所述第二节点到所述第一节点单向链路的第三丢包率。
本实施例中,所述第二节点基于其接收的测试报文进行所述第一节点到所述第二节点单向链路的第一丢包率的计算,在计算完成后,将其计算的所述第一丢包率发送至所述第一节点。
容易理解的是,由于所述第一节点与所述第二节点之间的环回链路由所述第一节点到所述第二节点的单向链路,以及所述第二节点到所述第一节点的单向链路构成,在接收到所述第二节点发送的所述第一节点到所述第二节点单向链路的第一丢包率时,所述第一节点即可将所述第二丢包率与所述第一丢包率的差值作为所述第二节点到所述第一节点单向链路的第三丢包率。
本实施例提出的丢包率检测方法,在用于丢包率检测的测试报文中添加预设发送报文数,以供反射端在发送端完成预设报文数的测试报文的发送时,计算并返回所述发送端到所述反射端单向链路的第一丢包率,发送端根据本端计算的所述发送端到所述发射端环回链路的第二丢包率以及接收的所述第一丢包率,即可获取到所述反射端到所述发送端单向链路的第三丢包率,相较于现有技术仅可获取到发送端与发射端之间环回链路的丢包率,本发明能够提高丢包率检测的精确度。
进一步地,基于第一实施例,提出本发明丢包率检测方法的第二实施例,在本实施例中,上述步骤S10之前,还包括:
在接收到网管节点发送的配置信息时,所述第一节点基于所述配置信息确定待发送测试报文的数量;
上述步骤S30之后,还包括:
所述第一节点将所述第一丢包率、所述第二丢包率以及所述第三丢包率发送至所述网管节点。
需要说明的是,本实施例与第一实施例的区别在于,在本实施例中,用 户可基于网管节点进行所述第二节点的测试配置,以及进行所述第一节点的测试配置。在完成所述第二节点的测试配置,以及进行所述第一节点的测试配置之后,所述第二节点以及所述第一节点进行丢包率检测的过程具体可参照前述实施例施行,此处不再赘述。
本实施例中,所述第一节点在计算出所述第二节点到所述第一节点单向链路的第三丢包率之后,将所述第一丢包率、所述第二丢包率以及所述第三丢包率发送至所述网管节点,供所述网管节点显示,反映链路的整体丢包情况和链路上/下行各自的丢包情况。
进一步地,基于第一或第二实施例,提出本发明丢包率检测方法的第三实施例,在本实施例中,所述第一节点在发送所述测试报文期间,屏蔽其它报文。
需要说明的是,在第一或第二实施例中,所述第一节点在进行丢包率检测时,除了所述测试报文之外,对于接收到的其它报文,均会按正常流程进行转发,导致所述第一节点在统计接收到测试报文的数量时,需要识别其接收的每一个报文是否为所述测试报文,在接收的报文为所述测试报文时,才进行统计,导致统计接收到测试报文数量的效率较低。有鉴于此,本实施例中,所述第一节点在发送所述测试报文期间,屏蔽其它报文,以便于统计接收到测试报文的数量,提升统计效率。基于相同的原因,优选地,在本实施例中,所述第二节点在接收所述测试报文期间,屏蔽其它报文。
本发明还提出了一种丢包率检测方法,参照图2,提供了本发明丢包率检测方法的第四实施例,在本实施例中,所述丢包率检测方法包括:
S110,在接收到第一节点发送的测试报文时,第二节点将接收的所述测试报文返回至所述第一节点;
本实施例提出的丢包率检测方法,可以应用于网络中两节点间的单向链路丢包率检测。以测试报文的反射端为第二节点,测试报文的原发送端为第一节点为例,在现有以太网链路测试基准RFC2544的基础上,本发明能够检测所述第一节点到所述第二节点单向链路的丢包率,进而可计算出所述第二节点到所述第一节点单向链路的丢包率,以达到提高丢包率检测精确度的目 的。
本实施例中,在所述S110之前,还需要在第二节点进行测试配置,具体地,测试配置包括Flow_id(测试流ID)、源MAC、目标MAC、源IP、目标IP、DSCP优先级、外层VLAN(包括802.1P优先级)、内层VLAN(包括802.1P优先级)、源UDP端口、目标UDP端口、接入业务模式(包括L2层和L3层)以及反射条件的流匹配规则。以供所述第二节点基于前述配置信息创建报文环回的ACL规则,如表3所示。
本实施例中,所述第二节点(反射器)在接收到报文时,基于所述反射ACL规则识别接收的报文是否为原端为第一节点发送的测试报文,在接收到第一节点发送的测试报文时,所述第二节点基于所述反射ACL规则将接收的所述测试报文返回至所述第一节点。其中,所述第二节点在接收到所述第一节点发送的测试报文时,累计接收到的所述测试报文的数量。
S120,在第二预设时间段内未接收到所述测试报文时,所述第二节点获取接收到的所述测试报文的第三数量值,以及所述测试报文携带的第一数量值,其中,所述第一数量值为所述第一节点发送测试报文的预设数量;
本实施例中,在第二预设时间段内未接收到第一节点发送的测试报文时,所述第二节点识别当前第一节点的测试报文已发送完毕,获取接收到的所述测试报文的第三数量值,即所述第二节点累计的接收到所述测试报文的数量;以及获取所述测试报文携带的第一数量值,所述第一数量值为所述第一节点发送所述测试报文的预设数量。其中,所述第二预设时间段可根据实际需要进行设置,例如,在本实施例中,所述第二预设时间段优选为1秒。
需要说明的是,所述第一节点在进行测试报文的发送前,首先确定待发送测试报文的数量,并将表征待发送测试报文预设数量的第一数量值添加至所述测试报文中;所述第一节点在发送测试报文时,记录发送的报文数,当发送的报文数等于所述第一数量值时,所述第一节点停止向所述第二节点发送所述测试报文,具体可参照第一实施例,此处不再赘述。
S130,所述第二节点基于所述第三数量值以及所述第一数量值,计算所述第一节点到所述第二节点单向链路的第一丢包率。
本实施例中,所述第二节点在获取到接收测试报文的第三数量值,以及所述第一节点发送测试报文的第一数量值时,基于所述第三数量值以及所述 第一数量值,计算所述第一节点到所述第二节点单向链路的第一丢包率。具体地,将所述第三数量值,以及所述第一数量值代入公式(3)计算所述第一节点到所述第二节点单向链路的第一丢包率:
LR_A=(T-R)*100/T……公式(3);
其中,所述LR_A表示所述第一丢包率,T表示所述第一节点发送测试报文的第一数量值,R表示所述第二节点接收到的测试报文的第三数量值。
本实施例提出的丢包率检测方法,在用于丢包率检测的测试报文中添加预设发送报文数,以供反射端在发送端完成预设报文数的测试报文的发送时,基于统计的接收报文数以及所述测试报文携带的预设发送报文数计算所述发送端到所述反射端单向链路的丢包率,提高了丢包率检测的精确度。
进一步地,基于第四实施例,提出本发明丢包率检测方法的第五实施例,在本实施例中,上述步骤S130之后,还包括:
所述第二节点将计算的所述第一丢包率发送至所述第一节点。
本实施例中,所述第二节点将计算的所述第一丢包率发送至所述第一节点,以供所述第一节点基于所述第一丢包率计算所述第二节点到所述第一节点单向链路的第二丢包率。
具体地,所述第一节点在接到所述第二节点返回的所述测试报文时,累计接收到所述测试报文的数量;所述第一节点在发送完成预设数量的测试报文时,等待第一预设时间段,以确保所述第二节点将接收的所述测试报文均返回至所述第一节点,所述第一节点获取接收到的所述第二节点返回的所述测试报文的第二数量值,即所述第一节点累计的接收到所述测试报文的数量;在获取到所述第二数量值之后,所述第一节点将所述第二数量值以及所述第一数量值代入公式(4)计算所述第一节点与所述第二节点之间环回链路的第二丢包率:
LR=(T-Rt)*100/T……公式(4);
其中,所述LR表示所述第二丢包率,T表示所述第一节点发送测试报文的第一数量值,Rt表示所述第一节点接收到的所述第二节点返回测试报文的第二数量值。
容易理解的是,由于所述第一节点与所述第二节点之间的环回链路由所 述第一节点到所述第二节点的单向链路,以及所述第二节点到所述第一节点的单向链路构成,在计算出所述第一节点与所述第二节点之间环回链路的第二丢包率之后,所述第一节点即可将所述第二丢包率与所述第一丢包率的差值作为所述第二节点到所述第一节点单向链路的第三丢包率。
本发明还提供一种丢包率检测装置,参照图3,在本发明丢包率检测装置的第一实施例中,所述丢包率检测装置包括:
发送模块10,用于发送预设数量的测试报文至第二节点,以供所述第二节点将其接收的所述测试报文返回至所述发送模块所在的第一节点,并基于其接收的所述测试报文以及所述测试报文中携带的表征所述预设数量的第一数量值计算所述第一节点到所述第二节点单向链路的第一丢包率;
本实施例提出的丢包率检测装置,可以应用于网络中两节点间单向链路的丢包率检测。以测试报文的原发送端为第一节点,测试报文的反射端为第二节点为例,在现有以太网链路测试基准RFC2544的基础上,本发明能够检测所述第二节点到所述第一节点单向链路的丢包率,以达到提高丢包率检测精确度的目的。
本实施例中,在进行丢包率检测之前,还需要在所述第一节点进行测试配置,具体地,测试配置包括Flow_id(测试流ID)、源MAC、目标MAC、源IP、目标IP、DSCP(Differentiated Services Code Point,差分服务代码点)优先级、外层VLAN(包括802.1P优先级)、内层VLAN(包括802.1P优先级)、源UDP(User Data Protocol,用户数据报协议)端口、目标UDP端口、接入业务模式(包括L2层和L3层)、测试速率/测试带宽、报文长度、测试发包时长和发包端口。以供所述第一节点基于前述配置信息创建报文终结的ACL(Access Control List,访问控制列表)规则,如表1所示。
进一步地,所述第一节点(发生器)在发送测试报文之前,还根据前述配置信息确定待发送测试报文的数量(预设数量),具体地,首先基于公式(1)计算发送测试报文的IPG(Interpacket Gap,帧间隙):
IPG=(BW*(12+PL))/TS-PL……公式(1);
其中,BW表示发包端口带宽,12为前导码(固定值),PL表示报文长度,TS表示测试速率/测试带宽。
在计算出IPG之后,基于公式(2)计算待发送测试报文的数量,即所述预设数量:
TN=TS*ST/(PL+IPG)……公式(2);
其中,所述TN表示待发送测试报文的数量,ST表示测试发包时长。
优选地,本实施例采用如表2所示的LM(Loss Measurement,丢包测量)报文作为所述测试报文,其中,所述OPCODE字段和Flow_id字段用于填写约定值以表征该报文为LM报文,所述TotalNumber字段用于填写表征所述预设数量的第一数量值(即TN)。
在发送测试报文时,所述发送模块10记录发送的报文数,当发送的报文数等于所述第一数量值时,停止向所述第二节点发送所述测试报文,以确保向所述第二节点发送所述预设数量的测试报文。同时,所述第一节点在接收到所述第二节点返回的所述测试报文时,累计接收到的所述测试报文的数量。
需要说明的是,在本实施例中,还需要在所述第二节点进行测试配置,以供所述第二节点根据配置信息创建报文环回的ACL规则:反射ACL规则,并根据所述反射ACL规则将其接收的由所述第一节点(发送模块10)发送的测试报文返回至所述第一节点,具体地,测试配置包括Flow_id(测试流ID)、源MAC、目标MAC、源IP、目标IP、DSCP优先级、外层VLAN(包括802.1P优先级)、内层VLAN(包括802.1P优先级)、源UDP端口、目标UDP端口、接入业务模式(包括L2层和L3层)以及反射条件的流匹配规则。以供所述第二节点基于前述配置信息创建报文环回的ACL规则,如表3所示。
本实施例中,所述第二节点(反射器)在接收到报文时,基于所述反射ACL规则识别接收的报文是否为原端为第一节点发送的测试报文,在接收到第一节点发送的测试报文时,所述第二节点基于所述反射ACL规则将接收的所述测试报文返回至所述第一节点,其中,所述第二节点在接收到所述第一节点发送的测试报文时,累计接收到所述测试报文的数量;在第二预设时间段内未接收到所述测试报文时,所述第二节点获取接收到的所述测试报文的第三数量值,即所述第二节点累计的接收到所述测试报文的数量,以及获取所述测试报文携带的第一数量值,其中,所述第一数量值为所述第一节点发送测试报文的预设数量;所述第二节点基于所述第三数量值、第一数量值以及公式(3),计算所述第一节点到所述第二节点单向链路的第一丢包率:
LR_A=(T-R)*100/T……公式(3);
其中,所述LR_A表示所述第一丢包率,T表示所述第一节点发送测试报文的第一数量值,R表示所述第二节点接收到的测试报文的第三数量值。
第一计算模块20,用于当所述第一节点在第一预设时间段内未接收到所述第二节点返回的所述测试报文时,获取所述第一节点接收到的所述测试报文的第二数量值,并基于所述第一数量值以及所述第二数量值,计算所述第一节点与所述第二节点之间环回链路的第二丢包率;以及计算所述第二丢包率与接收到的所述第一丢包率的差值,并将所述差值作为所述第二节点到所述第一节点单向链路的第三丢包率。
在发送模块10完成所述预设数量的测试报文的发送,且所述第一节点在第一预设时间段内未接收到所述第二节点返回的所述测试报文时,第一计算模块20识别当前第二节点的测试报文已返回完毕,并获取接收到的所述第二节点返回测试报文的第二数量值,即所述第一节点累计的接收到所述测试报文的数量,其中,所述第一预设时间段可根据实际需要进行设置,例如,在本实施例中,所述第一预设时间段优选为1秒;在获取到所述第二数量值之后,所述第一计算模块20将所述第二数量值以及所述第一数量值代入公式(4)计算所述第一节点与所述第二节点之间环回链路的第二丢包率:
LR=(T-Rt)*100/T……公式(4);
其中,所述LR表示所述第二丢包率,T表示所述第一节点发送测试报文的第一数量值,Rt表示所述第一节点接收到的所述第二节点返回测试报文的第二数量值。
本实施例中,所述第二节点基于其接收的测试报文进行所述第一节点到所述第二节点单向链路的第一丢包率的计算,在计算完成后,将其计算的所述第一丢包率发送至所述第一节点。
容易理解的是,由于所述第一节点与所述第二节点之间的环回链路由所述第一节点到所述第二节点的单向链路,以及所述第二节点到所述第一节点的单向链路构成,在接收到所述第二节点发送的所述第一节点到所述第二节点单向链路的第一丢包率时,所述第一计算模块20即可将所述第二丢包率与所述第一丢包率的差值作为所述第二节点到所述第一节点单向链路的第三丢包率。
本实施例提出的丢包率检测装置,在用于丢包率检测的测试报文中添加预设发送报文数,以供反射端在发送端完成预设报文数的测试报文的发送时,计算并返回所述发送端到所述反射端单向链路的第一丢包率,发送端根据本端计算的所述发送端到所述发射端环回链路的第二丢包率以及接收的所述第一丢包率,即可获取到所述反射端到所述发送端单向链路的第三丢包率,相较于现有技术仅可获取到发送端与发射端之间环回链路的丢包率,本发明能够提高丢包率检测的精确度。
进一步地,基于第一实施例,提出本发明丢包率检测装置的第二实施例,在本实施例中,所述丢包率检测装置还包括确定模块,用于当所述第一节点接收到网管节点发送的配置信息时,基于所述配置信息确定所述发送模块待发送测试报文的数量;
所述发送模块还用于将所述第一丢包率、所述第二丢包率以及所述第三丢包率发送至所述网管节点。
需要说明的是,本实施例与第一实施例的区别在于,在本实施例中,用户可基于网管节点进行所述第二节点的测试配置,以及进行所述第一节点的测试配置。在完成所述第二节点的测试配置,以及进行所述第一节点的测试配置之后,所述第二节点以及所述第一节点进行丢包率检测的过程具体可参照前述实施例施行,此处不再赘述。
本实施例中,所述发送模块10在所述第一计算模块20计算出所述第二节点到所述第一节点单向链路的第三丢包率之后,将所述第一丢包率、所述第二丢包率以及所述第三丢包率发送至所述网管节点,供所述网管节点显示,反映链路的整体丢包情况和链路上/下行各自的丢包情况。
进一步地,基于第一或第二实施例,提出本发明丢包率检测装置的第三实施例,在本实施例中,所述丢包率检测装置还包括屏蔽模块,用于在所述发送模块10发送所述测试报文期间,屏蔽其它报文。
需要说明的是,在第一或第二实施例中,所述第一节点在进行丢包率检测时,除了所述测试报文之外,对于接收到的其它报文,均会按正常流程进行转发,导致所述第一节点在统计接收到测试报文的数量时,需要识别其接 收的每一个报文是否为所述测试报文,在接收的报文为所述测试报文时,才进行统计,导致统计接收到测试报文数量的效率较低。有鉴于此,本实施例中,屏蔽模块在所述发送模块10发送所述测试报文期间,屏蔽其它报文,以便于统计接收到测试报文的数量,提升统计效率。基于相同的原因,优选地,在本实施例中,所述第二节点在接收所述测试报文期间,屏蔽其它报文。
本发明还提出了一种丢包率检测装置,参照图4,提供了本发明丢包率检测方法的第四实施例,在本实施例中,所述丢包率检测装置包括:
返回模块110,用于当其所在的第二节点接收到第一节点发送的测试报文时,将接收的所述测试报文返回至所述第一节点;
本实施例提出的丢包率检测装置,可以应用于网络中两节点间的单向链路丢包率检测。以测试报文的反射端为第二节点,测试报文的原发送端为第一节点为例,在现有以太网链路测试基准RFC2544的基础上,本发明能够检测所述第一节点到所述第二节点单向链路的丢包率,进而可计算出所述第二节点到所述第一节点单向链路的丢包率,以达到提高丢包率检测精确度的目的。
本实施例中,在进行丢包率检测之前,还需要在第二节点进行测试配置,具体地,测试配置包括Flow_id(测试流ID)、源MAC、目标MAC、源IP、目标IP、DSCP优先级、外层VLAN(包括802.1P优先级)、内层VLAN(包括802.1P优先级)、源UDP端口、目标UDP端口、接入业务模式(包括L2层和L3层)以及反射条件的流匹配规则。以供所述第二节点基于前述配置信息创建报文环回的ACL规则,如表3所示。
本实施例中,返回模块110在所述第二节点(反射器)接收到报文时,基于所述反射ACL规则识别接收的报文是否为原端为第一节点发送的测试报文,在接收到第一节点发送的测试报文时,所述返回模块110基于所述反射ACL规则将接收的所述测试报文返回至所述第一节点。其中,所述第二节点在接收到所述第一节点发送的测试报文时,累计接收到的所述测试报文的数量。
获取模块120,用于当所述第二节点在第二预设时间段内未接收到所述测试报文时,获取所述第二节点接收到的所述测试报文的第三数量值,以及 所述测试报文携带的第一数量值,其中,所述第一数量值为所述第一节点发送测试报文的预设数量;
本实施例中,当所述第二节点在第二预设时间段内未接收到第一节点发送的测试报文时,获取模块120识别当前第一节点的测试报文已发送完毕,获取接收到的所述测试报文的第三数量值,即所述第二节点累计的接收到所述测试报文的数量;以及获取所述测试报文携带的第一数量值,所述第一数量值为所述第一节点发送所述测试报文的预设数量。其中,所述第二预设时间段可根据实际需要进行设置,例如,在本实施例中,所述第二预设时间段优选为1秒。
需要说明的是,所述第一节点在进行测试报文的发送前,首先确定待发送测试报文的数量,并将表征待发送测试报文预设数量的第一数量值添加至所述测试报文中;所述第一节点在发送测试报文时,记录发送的报文数,当发送的报文数等于所述第一数量值时,所述第一节点停止向所述第二节点发送所述测试报文,具体可参照第一实施例,此处不再赘述。
第二计算模块130,用于基于所述第三数量值以及所述第一数量值,计算所述第一节点到所述第二节点单向链路的第一丢包率。
本实施例中,第二计算模块130在所述获取模块120获取到接收测试报文的第三数量值,以及所述第一节点发送测试报文的第一数量值时,基于所述第三数量值以及所述第一数量值,计算所述第一节点到所述第二节点单向链路的第一丢包率。具体地,第二计算模块130将所述第三数量值,以及所述第一数量值代入公式(3)计算所述第一节点到所述第二节点单向链路的第一丢包率:
LR_A=(T-R)*100/T……公式(3);
其中,所述LR_A表示所述第一丢包率,T表示所述第一节点发送测试报文的第一数量值,R表示所述第二节点接收到的测试报文的第三数量值。
本实施例提出的丢包率检测装置,在用于丢包率检测的测试报文中添加预设发送报文数,以供反射端在发送端完成预设报文数的测试报文的发送时,基于统计的接收报文数以及所述测试报文携带的预设发送报文数计算所述发送端到所述反射端单向链路的丢包率,提高了丢包率检测的精确度。
进一步地,基于第四实施例,提出本发明丢包率检测装置的第五实施例,在本实施例中,所述返回模块110还用于将所述第二计算模块130计算的所述第一丢包率发送至所述第一节点。
本实施例中,所述返回模块110将所述第二计算模块130计算的所述第一丢包率发送至所述第一节点,以供所述第一节点基于所述第一丢包率计算所述第二节点到所述第一节点单向链路的第二丢包率。
具体地,所述第一节点在接到所述第二节点返回的所述测试报文时,累计接收到所述测试报文的数量;所述第一节点在发送完成预设数量的测试报文时,等待第一预设时间段,以确保所述第二节点将接收的所述测试报文均返回至所述第一节点,所述第一节点获取接收到的所述第二节点返回的所述测试报文的第二数量值,即所述第一节点累计的接收到所述测试报文的数量;在获取到所述第二数量值之后,所述第一节点将所述第二数量值以及所述第一数量值代入公式(4)计算所述第一节点与所述第二节点之间环回链路的第二丢包率:
LR=(T-Rt)*100/T……公式(4);
其中,所述LR表示所述第二丢包率,T表示所述第一节点发送测试报文的第一数量值,Rt表示所述第一节点接收到的所述第二节点返回测试报文的第二数量值。
容易理解的是,由于所述第一节点与所述第二节点之间的环回链路由所述第一节点到所述第二节点的单向链路,以及所述第二节点到所述第一节点的单向链路构成,在计算出所述第一节点与所述第二节点之间环回链路的第二丢包率之后,所述第一节点即可将所述第二丢包率与所述第一丢包率的差值作为所述第二节点到所述第一节点单向链路的第三丢包率。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。