CN105765911B - 一种网络丢包的测量装置及方法 - Google Patents

一种网络丢包的测量装置及方法 Download PDF

Info

Publication number
CN105765911B
CN105765911B CN201480023982.4A CN201480023982A CN105765911B CN 105765911 B CN105765911 B CN 105765911B CN 201480023982 A CN201480023982 A CN 201480023982A CN 105765911 B CN105765911 B CN 105765911B
Authority
CN
China
Prior art keywords
service message
count results
subset
receiving end
test packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480023982.4A
Other languages
English (en)
Other versions
CN105765911A (zh
Inventor
汤红山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105765911A publication Critical patent/CN105765911A/zh
Application granted granted Critical
Publication of CN105765911B publication Critical patent/CN105765911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种网络丢包的测量装置及方法,涉及网络传输领域,为了解决现有技术中计算得到的丢包率存在误差的问题而发明。该方法包括:根据预设时间片长度在时序上对业务报文集合进行划分;为相邻的至少两个业务报文子集分配不同的时间片标识,为每个业务报文子集中的业务报文添加所分配的时间片标识;向接收端依次发送业务报文子集;对已发送的具有相同时间片标识的业务报文进行计数;若当前业务报文子集发送完毕,则获取第一计数结果,在预设时长后向所述接收端发送测试报文;接收接收端回复的响应报文,响应报文携带有第二计数结果;根据第一计数结果和第二计数结果计算业务报文子集的丢包率。本发明应用于数据传输的过程中。

Description

一种网络丢包的测量装置及方法
技术领域
本发明涉及网络传输领域,尤其涉及一种网络丢包的测量装置及方法。
背景技术
现有网络中进行数据传输时,数据在网络中是被分成多个数据包传输的。由于数据包过大或者网络传输性能较差等原因,在数据包的传输过程中,经常出现部分数据包被丢失的现象,这种现象又被称为网络丢包。通常,通过丢包率来描述网络丢包情况,所述丢包率指已丢失数据包总数与已发送数据包总数的比值。
现有技术中提供了一种丢包率的测量方法,在该方法的实现过程中,发送端对发送的携带有数据信息的业务报文进行计数,且在业务报文之间定时插入前向监控(ForwardMonitoring,简称FM)帧,FM帧携带有发送端统计的已发送的业务报文的计数结果A;接收端对接收到的业务报文进行计数并实时更新计数结果B,在收到FM帧时读取计数结果B,并将计数结果B以及FM帧中携带的计数结果A封装到后向报告(Backward Reporting,简称BR)帧中返回给发送端,发送端根据BR帧中携带的两个计数结果进行丢包率的计算。
发明人发现现有技术至少存在如下问题:发送端与接收端之间存在多个可选的路由节点,因而传输网络中存在多种传输路径,则业务报文散列到多个传输路径上进行传输,FM帧也在其中的一条传输路径上进行传输,由于各个传输路径的传输距离、传输流量不一致等原因,FM帧与业务报文到达接收端的顺序无法确定,例如在后发出的FM帧先于在先发出业务报文到达接收端,导致乱序。此时,由于接收端在接收到FM帧时才会提取计数结果B,因而计数结果B不包括在后到达的业务报文或者已包括在后发送且在先到达的业务报文,即计数结果B不能够准确反映接收端实际接收到的业务报文数,进而发送端根据BR帧中携带的计数结果B计算丢包率存在误差。
发明内容
本发明实施例提供一种网络丢包的测量装置及方法,能够解决现有技术中计算得到的丢包率存在误差的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明提供了一种网络丢包的测量装置,该装置应用于发送端,所述发送端位于一种数据传输系统,所述系统设置有所述发送端和所述接收端,该装置包括:
存储器,用于存储业务报文集合;
处理器,用于根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个所述业务报文子集为所述业务报文集合的一部分,全部所述业务报文子集组成所述业务报文集合;
为相邻的至少两个业务报文子集分配不同的时间片标识,为每个业务报文子集中的业务报文添加所分配的时间片标识;
发射器,用于向接收端依次发送所述业务报文子集;
所述处理器,还用于对已发送的具有相同时间片标识的业务报文进行计数;
当当前业务报文子集发送完毕时,获取第一计数结果,在预设时长后向所述接收端发送测试报文,所述测试报文中携带有所述当前业务报文子集的时间片标识,所述第一计数结果为所述当前业务报文子集的时间片标识对应的计数结果,所述预设时长大于所述业务报文子集在所述发送端与所述接收端之间的传输时长;
接收器,用于接收所述接收端回复的响应报文,所述响应报文携带有所述第二计数结果,所述第二计数结果用于表示接收端收到所述测试报文时,所述接收端已接收到的具有相同时间片标识的业务报文数量,所述业务报文的时间片标识与所述测试报文携带的时间片标识相同;
所述处理器,还用于根据所述第一计数结果和所述第二计数结果计算所述业务报文子集的丢包率。
结合第一方面,在第一方面的第一种实现方式中,
所述处理器,还用于在业务报文的报文头中的预设字段添加已分配的所述时间片标识。
结合第一方面,在第一方面的第二种实现方式中,
所述处理器,还用于为所述业务报文封装协议报文头,所述协议报文头为所述业务报文所在业务报文子集的时间片标识。
结合第一方面或者第一方面的第一种、第二种实现方式,在第一方面的第三种实现方式中,
所述处理器,还用于在业务报文子集中插入至少一个乱序测试报文,所述乱序测试报文携带有所述业务报文子集的时间片标识,所述乱序测试报文用于指示获取第三计数结果,所述第三计数结果为发送所述乱序测试报文前,已发送的与所述乱序测试报文的时间片标识对应的计数结果;
所述发射器,还用于向所述接收端依次发送所述业务报文子集,每个业务报文子集中包括至少一个所述乱序测试报文;
所述接收器,还用于接收所述接收端反馈的乱序响应报文,所述乱序响应报文中携带有所述接收端在接收到所述乱序测试报文时的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述处理器,还用于根据所述第一计数结果、第二计数结果、第三计数结果和所述第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
结合第一方面或者第一方面的第一种、第二种、第三种实现方式,在第一方面的第四种实现方式中,
所述发射器发送的所有所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述发射器发送的所述测试报文为前向控制帧;
所述接收器接收的所述响应报文为后向报告帧。
第二方面,本发明还提供了一种网络丢包的测量装置,该装置应用于接收端,接收端位于一种数据传输系统中,该系统设置有发送端和上述接收端,该装置包括:
接收器,用于接收发送端发送的业务报文,所述业务报文携带有时间片标识;
存储器,用于存储已接收的业务报文;
处理器,用于对已接收到的具有相同的时间片标识的业务报文进行计数;
所述接收器,还用于接收发送端发送的测试报文,所述测试报文中携带有所述时间片标识;
所述处理器,还用于获取与所述时间片标识对应的第二计数结果,所述第二计数结果用于表示接收端收到所述测试报文时,与所述测试报文携带的时间片标识对应的业务报文的计数结果;
发射器,用于向所述发送端发送响应报文,所述响应报文中携带有获取的所述第二计数结果。
结合第二方面,在第二方面的第一种实现方式中,
所述接收器接收的所述业务报文的报文头中的预设字段添加有所述时间片标识;
所述处理器,还用于对已接收的具有相同的所述时间片标识的业务报文进行计数。
结合第二方面,在第二方面的第二种实现方式中,
所述接收器接收的所述业务报文封装有协议报文头,所述协议报文头为所述业务报文的时间片标识;
所述处理器,还用于对已接收的具有相同的所述时间片标识的业务报文进行计数。
结合第二方面或者第二方面的第一种、第二种实现方式,在第二方面的第三种实现方式中,
所述接收器,还用于接收所述发送端发送的乱序测试报文,所述乱序测试报文携带有所述时间片标识;
所述处理器,还用于获取与所述时间片标识对应的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述发射器,还用于向所述发送端反馈乱序响应报文,所述乱序响应报文携带有获取的所述第四计数结果。
结合第二方面,或者第二方面的第一种、第二种、第三种实现方式,在第二方面的第四种实现方式中,
所述接收器接收的所有所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述接收器接收的所述测试报文为前向控制帧;
所述发射器发送的所述响应报文为后向报告帧。
第三方面,本发明还提供了一种网络丢包的测量装置,所述装置应用于发送端,所述发送端位于一种数据传输系统中,所述系统设置有所述发送端和接收端,所述装置包括:
划分单元,用于根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个所述业务报文子集为所述业务报文集合的一部分,全部所述业务报文子集组成所述业务报文集合;
分配单元,用于为划分单元划分得到的相邻的至少两个业务报文子集分配不同的时间片标识;
添加单元,用于为划分单元划分得到的每个业务报文子集中的业务报文添加所述分配单元分配的时间片标识;
发送单元,用于向接收端依次发送由所述添加单元添加了时间片标识的业务报文子集;
计数单元,用于对发送单元已发送的具有相同时间片标识的业务报文进行计数;
获取单元,用于在当前业务报文子集发送完毕时,从所述计数单元中获取第一计数结果,所述第一计数结果为所述当前业务报文子集的时间片标识对应的计数结果,所述预设时长大于所述业务报文子集在所述发送端与所述接收端之间的传输时长;
所述发送单元,还用于在预设时长后向所述接收端发送测试报文,所述测试报文中携带有所述当前业务报文子集的时间片标识;
所述接收单元,用于接收所述接收端回复的响应报文,所述响应报文携带有所述第二计数结果,所述第二计数结果用于表示接收端收到所述测试报文时,所述接收端已接收到的具有相同时间片标识的业务报文数量,所述业务报文的时间片标识与所述测试报文携带的时间片标识相同;
处理单元,用于根据所述获取单元获取的第一计数结果和所述接收单元接收的所述第二计数结果计算所述业务报文子集的丢包率。
结合第三方面,在第三方面的第一种实现方式中,
所述添加单元,还用于在业务报文的报文头中的预设字段添加已分配的所述时间片标识。
结合第三方面,在第三方面的第二种实现方式中,
所述添加单元,还用于为所述业务报文添加协议报文头,所述协议报文头为所述业务报文所在业务报文子集的时间片标识。
结合第三方面或者第三方面的第一种、第二种实现方式,在第三方面的第三种实现方式中,
所述装置还包括:插入单元,用于在划分单元划分得到的业务报文子集中插入至少一个乱序测试报文,所述乱序测试报文携带有所述业务报文子集的时间片标识,所述乱序测试报文用于指示获取单元从所述计数单元中获取第三计数结果,所述第三计数结果为发送所述乱序测试报文前,已发送的与所述乱序测试报文的时间片标识对应的计数结果;
所述发送单元,还用于向所述接收端依次发送所述业务报文子集,每个业务报文子集中包括所述插入单元插入的至少一个所述乱序测试报文;
所述接收单元,还用于接收所述接收端反馈的乱序响应报文,所述乱序响应报文中携带有所述接收端在接收到所述乱序测试报文时的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述处理单元,还用于根据所述获取单元获取的所述第一计数结果、第三计数结果和所述接收单元接收的所述第二计数结果、所述第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
结合第三方面或者第三方面的第一种、第二种、第三种实现方式,在第三方面的第四种实现方式中,
所述发送单元发送的所有所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述发送单元发送的所述测试报文为前向控制帧;
所述接收单元接收的所述响应报文为后向报告帧。
第四方面,本发明还提供了一种网络丢包的测量装置,所述装置应用于接收端,所述接收端位于一种数据传输系统中,所述系统设置有发送端和所述接收端,所述装置包括:
接收单元,用于接收发送端发送的业务报文,所述业务报文携带有时间片标识;
计数单元,用于对已接收到的具有相同的时间片标识的业务报文进行计数;
所述接收单元,还用于接收发送端发送的测试报文,所述测试报文中携带有所述时间片标识;
获取单元,用于从所述计数单元中获取与所述时间片标识对应的第二计数结果,所述第二计数结果用于表示接收端收到所述测试报文时,与所述测试报文携带的时间片标识对应的业务报文的计数结果;
发送单元,用于向所述发送端发送响应报文,所述响应报文中携带有所述获取单元获取的所述第二计数结果。
结合第四方面,在第四方面的一种实现方式中,
所述接收单元接收的所述业务报文的报文头中的预设字段添加有所述时间片标识;
所述计数单元,还用于对所述接收单元接收的具有相同的所述时间片标识的业务报文进行计数。
结合第四方面,在第四方面的第二种实现方式中,
所述接收单元接收的所述业务报文封装有协议报文头,所述协议报文头为所述业务报文的时间片标识;
所述计数单元,还用于对接收单元接收的具有相同的所述时间片标识的业务报文进行计数。
结合第四方面或者第四方面的第一种、第二种实现方式,在第四方面的第三种实现方式中,
所述接收单元,还用于接收所述发送端发送的乱序测试报文,所述乱序测试报文携带有所述时间片标识;
所述获取单元,还用于从所述计数单元中获取与所述时间片标识对应的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述发送单元,还用于向所述发送端反馈乱序响应报文,所述乱序响应报文携带有获取单元获取的所述第四计数结果。
结合第四方面,或者第四方面的第一种、第二种、第三种实现方式,在第四方面的第四种实现方式中,
所述接收单元接收的所有所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述接收单元接收的所述测试报文为前向控制帧;
所述发送单元发送的所述响应报文为后向报告帧。
第五方面,本发明还提供了一种网络丢包的测量方法,所述方法应用于一种数据传输系统,所述系统设置有发送端和接收端,所述方法包括:
所述发送端根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个所述业务报文子集为所述业务报文集合的一部分,全部所述业务报文子集组成所述业务报文集合;
所述发送端为相邻的至少两个业务报文子集分配不同的时间片标识,为每个业务报文子集中的业务报文添加所分配的时间片标识;
所述发送端向所述接收端依次发送所述业务报文子集;
所述发送端对已发送的具有相同时间片标识的业务报文进行计数;
若当前业务报文子集发送完毕,发送端则获取第一计数结果,在预设时长后向所述接收端发送测试报文,所述测试报文中携带有所述当前业务报文子集的时间片标识,所述第一计数结果为所述当前业务报文子集的时间片标识对应的计数结果,所述预设时长大于所述业务报文子集在所述发送端与所述接收端之间的传输时长;
所述发送端接收所述接收端回复的响应报文,所述响应报文携带有所述第二计数结果,所述第二计数结果用于表示接收端收到所述测试报文时,所述接收端已接收到的具有相同时间片标识的业务报文数量,所述业务报文的时间片标识与所述测试报文携带的时间片标识相同;
所述发送端根据所述第一计数结果和所述第二计数结果计算所述业务报文子集的丢包率。
结合第五方面,在第五方面的第一种实现方式中,
所述为每个业务报文子集中的业务报文添加所分配的时间片标识,包括:
在业务报文的报文头中的预设字段添加已分配的所述时间片标识。
结合第五方面,在第五方面的第二种实现方式中,
所述分别为每个业务报文子集中的业务报文添加所分配的时间片标识,包括:
为所述业务报文封装协议报文头,所述协议报文头为所述业务报文所在业务报文子集的时间片标识。
结合第五方面或者第五方面的第一种、第二种实现方式,在第五方面的第三种实现方式中,
所述方法还包括:
所述发送端在业务报文子集中插入至少一个乱序测试报文,所述乱序测试报文携带有所述业务报文子集的时间片标识,所述乱序测试报文用于指示获取第三计数结果,所述第三计数结果为发送所述乱序测试报文前,已发送的与所述乱序测试报文的时间片标识对应的计数结果;
所述向接收端依次发送所述业务报文子集,包括:
向所述接收端依次发送所述业务报文子集,每个业务报文子集中包括至少一个所述乱序测试报文;
所述发送端接收所述接收端反馈的乱序响应报文,所述乱序响应报文中携带有所述接收端在接收到所述乱序测试报文时的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述发送端根据所述第一计数结果、第二计数结果、第三计数结果和所述第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
结合第五方面或者第五方面的第一种、第二种、第三种实现方式,在第五方面的第四种实现方式中,
所有所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述测试报文为前向控制帧;
所述响应报文为后向报告帧。
第六方面,本发明还提供了一种网络丢包的测量方法,所述方法应用于一种数据传输系统,所述数据传输系统设置有发送端和接收端,所述方法包括:
所述接收端接收发送端发送的业务报文,所述业务报文携带有时间片标识;
所述接收端对已接收到的具有相同的时间片标识的业务报文进行计数;
所述接收端接收发送端发送的测试报文,所述测试报文中携带有所述时间片标识;
所述接收端获取与所述时间片标识对应的第二计数结果,所述第二计数结果用于表示接收端收到所述测试报文时,所述接收端已接收到的与所述测试报文具有相同时间片标识的业务报文数量;
所述接收端向所述发送端发送响应报文,所述响应报文中携带有获取的所述第二计数结果。
结合第六方面,在第六方面的第一种实现方式中,
所述对已接收到的具有相同的时间片标识的业务报文进行计数,包括:
所述业务报文的报文头中的预设字段添加有所述时间片标识;
对已接收的具有相同的所述时间片标识的业务报文进行计数。
结合第六方面,在第六方面的第二种实现方式中,
所述对已接收到的具有相同的时间片标识的业务报文进行计数,包括:
所述业务报文封装有协议报文头,所述协议报文头为所述业务报文的时间片标识;
对已接收的具有相同的所述时间片标识的业务报文进行计数。
结合第六方面,或者第六方面的第一种、第二种、第三种实现方式,在第六方面的第四种实现方式中,
所述方法还包括:
所述接收端接收所述发送端发送的乱序测试报文,所述乱序测试报文携带有所述时间片标识;
所述接收端获取与所述时间片标识对应的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述接收端向所述发送端反馈乱序响应报文,所述乱序响应报文携带有获取的所述第四计数结果。
结合第六方面,或者第六方面的第一种、第二种、第三种、第四种实现方式,在第六方面的第五种实现方式中,
所有所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述测试报文为前向控制帧;
所述响应报文为后向报告帧。
本发明提供的网络丢包的测量装置及方法,与现有技术中存在测试报文和业务报文的乱序的情况相比,本发明通过将业务报文进行时间片的划分得到多个业务报文子集,并为业务报文子集分配不同的时间片标识,测试报文也携带有相应的时间片标识,延迟测试报文的发送,延迟的时间大于业务报文子集的在发送端与接收端之间的传输时间,能够保证测试报文发送时,与之对应的业务报文均已到达接收端,进而能够避免接收端的测试报文和业务报文的乱序情况,在不存在测试报文和业务报文的乱序的前提下,本发明能够准确计算得到丢包率。此外,现有技术中还存在一种能够避免报文传输的乱序进而准确计算丢包率的方案,该方案主要是通过串行处理的方式对报文进行处理,所谓串行处理,是与网络中存在多条传输路径,多条传输路径像多条流水线一样对传输的报文并行处理相对应的。具体而言,串行处理是指网络中只存在一条传输路径,所有报文均通过该传输路径由发送端达到接收端,那么报文必然依次到达接收端,不存在乱序的情况。然而实际网络中,报文的数量较多,采用此方案虽然能准确计算丢包率,但是对硬件的处理性能等要求较高,且消耗的资源较多,因而需要对现有硬件进行改造,进而实现成本较高。与该方案相比,本方案通过将业务报文进行时间片的划分,得到业务报文子集,并延迟与该业务报文子集对应的测试报文的发送,延迟的时间大于业务报文子集的传输时间,能够避免测试报文和业务报文的乱序,进而能够准确计算丢包率,本方案无需通过改造现有硬件结构的方式实现,能够降低实现成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络丢包的测量装置的结构示意图;
图2为本发明实施例提供的一种网络丢包的测量装置的结构示意图;
图3为本发明实施例提供的一种网络丢包的测量装置的结构示意图;
图4为本发明实施例提供的一种网络丢包的测量装置的结构示意图;
图5为本发明实施例提供的一种网络丢包的测量装置的结构示意图;
图6为本发明实施例提供的一种网络丢包的测量方法的流程图;
图7为本发明实施例提供的一种对业务报文进行时间片划分的示意图;
图8为本发明实施例提供的一种网络丢包的测量方法应用在三层网络中的流程图;
图9为本发明实施例提供的根据Identification字段的最高位划分时间片的示意图;
图10为本发明实施例提供的根据Identification字段的最高两位划分时间片的示意图;
图11为本发明实施例提供的一种网络丢包的测量方法应用在三层网络中的流程图;
图12为本发明实施例提供的一种业务报文乱序的测量方法的流程图;
图13为本发明实施例提供的一种包含有乱序测试报文的报文集合结构示意图;
图14为本发明实施例提供的一种网络丢包的测量方法的流程图;
图15为本发明实施例提供的一种业务报文乱序的测量方法的流程图。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种网络丢包的测量装置,该装置应用于发送端,该接收端位于一种数据传输系统中,该系统设置有所述发送端和所述接收端。如图1所示,该装置包括存储器101、处理器102、发射器103和接收器104,图1中还示出了总线105,该存储器101、处理器102、发射器103和接收器104通过总线105连接并完成相互间的通信。其中:
存储器101,用于存储业务报文集合。
处理器102,用于根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个所述业务报文子集为所述业务报文集合的一部分,全部所述业务报文子集组成所述业务报文集合;
为相邻的至少两个业务报文子集分配不同的时间片标识,为每个业务报文子集中的业务报文添加所分配的时间片标识。
发射器103,用于向接收端依次发送业务报文子集;
处理器102,还用于对已发送的具有相同时间片标识的业务报文进行计数;
当当前业务报文子集发送完毕时,获取第一计数结果,在预设时长后向所述接收端发送测试报文,测试报文中携带有当前业务报文子集的时间片标识,第一计数结果为当前业务报文子集的时间片标识对应的计数结果,所述预设时长大于所述业务报文子集在所述发送端与所述接收端之间的传输时长;
接收器104,用于接收所述接收端回复的响应报文,响应报文携带有第二计数结果,第二计数结果用于表示接收端收到测试报文时,接收端已接收到的具有相同时间片标识的业务报文数量,业务报文的时间片标识与测试报文携带的时间片标识相同;
处理器102,还用于根据第一计数结果和第二计数结果计算业务报文子集的丢包率。
本实施例提供的网络丢包的测量装置,与现有技术中存在测试报文和业务报文的乱序的情况相比,本实施例通过处理器将业务报文进行时间片的划分得到多个业务报文子集,并为业务报文子集分配不同的时间片标识,测试报文也携带有相应的时间片标识,发射器延迟测试报文的发送,延迟的时间大于业务报文子集的在发送端与接收端之间的传输时间,能够保证测试报文发送时,与之对应的业务报文均已到达接收端,进而能够避免接收端的测试报文和业务报文的乱序情况,在不存在测试报文和业务报文的乱序的前提下,本实施例提供的网络丢包的装置能够准确计算得到丢包率。此外,现有技术中还存在一种能够避免报文传输的乱序进而准确计算丢包率的方案,该方案主要是通过串行处理的方式对报文进行处理,所谓串行处理,是与网络中存在多条传输路径,多条传输路径像多条流水线一样对传输的报文并行处理相对应的。具体而言,串行处理是指网络中只存在一条传输路径,所有报文均通过该传输路径由发送端达到接收端,那么报文必然依次到达接收端,不存在乱序的情况。然而实际网络中,报文的数量较多,采用此方案虽然能准确计算丢包率,但是对硬件的处理性能等要求较高,且消耗的资源较多,因而需要对现有硬件进行改造,进而实现成本较高。与该方案相比,本实施例通过处理器将业务报文进行时间片的划分,得到业务报文子集;发射器延迟与该业务报文子集对应的测试报文的发送,延迟的时间大于业务报文子集的传输时间,能够避免测试报文和业务报文的乱序,进而本实施例提供的网络丢包装置能够准确计算丢包率,无需通过改造现有硬件结构的方式实现,能够降低实现成本。
进一步的,处理器102,还用于在业务报文的报文头中的预设字段添加已分配的时间片标识。
进一步的,处理器102,还用于为业务报文封装协议报文头,该协议报文头为业务报文所在业务报文子集的时间片标识。
进一步的,处理器102,还用于在业务报文子集中插入至少一个乱序测试报文,乱序测试报文携带有业务报文子集的时间片标识,该乱序测试报文用于指示获取第三计数结果,该第三计数结果为发送乱序测试报文前,已发送的与乱序测试报文的时间片标识对应的计数结果。
发射器103,还用于向接收端依次发送业务报文子集,每个业务报文子集中包括至少一个乱序测试报文。
接收器104,还用于接收接收端反馈的乱序响应报文,乱序响应报文中携带有接收端在接收到乱序测试报文时的第四计数结果,该第四计数结果用于表示收到乱序测试报文时,接收端已接收到的与乱序测试报文具有相同时间片标识的业务报文数量。
处理器102,还用于根据第一计数结果、第二计数结果、第三计数结果和第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
发射器103发送的所有所述测试报文均通过相同的路径由发送端到达接收端;
发射器103发送的所述测试报文为前向控制帧;
接收器104接收的所述响应报文为后向报告帧。
需要说明的是,本发明实施例所述的处理器102可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器102可以是中央处理器(Central Processing Unit,简称CPU),也可以是特定集成电路(Application Specific Integrated Circuit,简称ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)。
存储器101可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码等。且存储器101可以包括随机存储器(RAM),也可以包括非易失性存储器(non-volatile memory),例如磁盘存储器,闪存(Flash)等。
总线105可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例还提供了一种网络丢包的测量装置,该装置应用于接收端,所述接收端位于一种数据传输系统中,该系统设置有发送端和所述接收端。如图2所示,该装置包括接收器201、存储器202、处理器203和发射器204,图2中还示出了总线205,该接收器201、存储器202、处理器203和发射器204通过总线205连接并完成相互间的通信。其中:
接收器201,用于接收发送端发送的业务报文,所述业务报文携带有时间片标识;
存储器202,用于存储接收的业务报文;
处理器203,用于对已接收到的具有相同的时间片标识的业务报文进行计数;
接收器201,还用于接收发送端发送的测试报文,测试报文中携带有时间片标识;
处理器203,还用于获取与时间片标识对应的第二计数结果,该第二计数结果用于表示接收端收到测试报文时,与所述测试报文携带的时间片标识对应的业务报文的计数结果;
发射器204,用于向发送端发送响应报文,该响应报文中携带有获取的第二计数结果。
本发明实施例提供的网络丢包的测量装置,与现有技术中存在测试报文和业务报文的乱序的情况相比,本实施例中的处理器仅对具有相同时间片标识的业务报文进行累积计数,且接收器接收的测试报文延迟于其所对应的业务报文的接收,能够避免测试报文和业务报文的乱序情况,在不存在测试报文和业务报文的乱序的前提下,在接收器接收到测试报文时能够指示处理器提取正确的第二计数结果,进而方便发送端能够根据正确的第一计数结果和第二计数结果准确计算得到丢包率。
进一步的,接收器201接收的业务报文的报文头中的预设字段添加有时间片标识。
处理器203,还用于对已接收的具有相同的时间片标识的业务报文进行计数。
进一步的,接收器201接收的业务报文封装有协议报文头,该协议报文头为业务报文的时间片标识;
处理器203,还用于对已接收的具有相同的时间片标识的业务报文进行计数。
进一步的,接收器201,还用于接收发送端发送的乱序测试报文,该乱序测试报文携带有时间片标识。
处理器203,还用于获取与时间片标识对应的第四计数结果,该第四计数结果用于表示收到乱序测试报文时,接收端已接收到的与乱序测试报文具有相同时间片标识的业务报文数量。
发射器204,还用于向发送端反馈乱序响应报文,该乱序响应报文携带有获取的第四计数结果。
进一步的,接收器201接收的所有测试报文均通过相同的路径由发送端到达接收端。
接收器201接收的测试报文为前向控制帧。
发射器204发送的响应报文为后向报告帧。
需要说明的是,本发明实施例所述的处理器203可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器可以是中央处理器(Central Processing Unit,简称CPU),也可以是特定集成电路(Application Specific Integrated Circuit,简称ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)。
存储器202可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码等。且存储器可以包括随机存储器(RAM),也可以包括非易失性存储器(non-volatile memory),例如磁盘存储器,闪存(Flash)等。
总线205可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本实施例还提供了一种网络丢包的测量装置,该装置应用于发送端,该发送端位于一种数据传输系统中,该系统设置有所述发送端和接收端,如图3所示,该装置包括:划分单元301,用于根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个业务报文子集为业务报文集合的一部分,全部业务报文子集组成所述业务报文集合。
分配单元302,用于为划分单元301划分得到的相邻的至少两个业务报文子集分配不同的时间片标识。
添加单元303,用于为划分单元301划分得到的每个业务报文子集中的业务报文添加分配单元302分配的时间片标识。
发送单元304,用于向接收端依次发送由所述添加单元303添加了时间片标识的业务报文子集,该业务报文子集由上述划分单元301划分得到。
计数单元305,用于对发送单元304已发送的具有相同时间片标识的业务报文进行计数。
获取单元306,用于在当前业务报文子集发送完毕时,从计数单元305中获取第一计数结果,该第一计数结果为当前业务报文子集的时间片标识对应的计数结果,所述预设时长大于业务报文子集在发送端与接收端之间的传输时长。
发送单元304,还用于在预设时长后向接收端发送测试报文,该测试报文中携带有当前业务报文子集的时间片标识。
接收单元307,用于接收所述接收端回复的响应报文,该响应报文携带有第二计数结果,该第二计数结果用于表示接收端收到测试报文时,接收端已接收到的具有相同时间片标识的业务报文数量,业务报文的时间片标识与测试报文携带的时间片标识相同。
处理单元308,用于根据获取单元306获取的第一计数结果和接收单元307接收的第二计数结果计算业务报文子集的丢包率。
本实施例提供的网络丢包的测量装置,与现有技术中存在测试报文和业务报文的乱序的情况相比,本实施例通过划分单元将业务报文进行时间片的划分得到多个业务报文子集,分配单元为业务报文子集分配不同的时间片标识,测试报文也携带有相应的时间片标识,发送单元延迟测试报文的发送,延迟的时间大于业务报文子集的在发送端与接收端之间的传输时间,能够保证测试报文发送时,与之对应的业务报文均已到达接收端,进而能够避免接收端的测试报文和业务报文的乱序情况,在不存在测试报文和业务报文的乱序的前提下,本装置能够准确计算得到丢包率。此外,现有技术中还存在一种能够避免报文传输的乱序进而准确计算丢包率的方案,该方案主要是通过串行处理的方式对报文进行处理,所谓串行处理,是与网络中存在多条传输路径,多条传输路径像多条流水线一样对传输的报文并行处理相对应的。具体而言,串行处理是指网络中只存在一条传输路径,所有报文均通过该传输路径由发送端达到接收端,那么报文必然依次到达接收端,不存在乱序的情况。然而实际网络中,报文的数量较多,采用此方案虽然能准确计算丢包率,但是对硬件的处理性能等要求较高,且消耗的资源较多,因而需要对现有硬件进行改造,进而实现成本较高。与该方案相比,本装置通过划分单元将业务报文进行时间片的划分,得到业务报文子集,发送单元延迟与该业务报文子集对应的测试报文的发送,延迟的时间大于业务报文子集的传输时间,能够避免测试报文和业务报文的乱序,进而能够准确计算丢包率,本装置无需通过改造现有硬件结构的方式实现,能够降低实现成本。
进一步的,添加单元303,还用于在业务报文的报文头中的预设字段添加已分配的所述时间片标识。
进一步的,添加单元303,还用于为业务报文添加协议报文头,该协议报文头为业务报文所在业务报文子集的时间片标识。
进一步的,如图4所示,该装置还包括:插入单元401,用于在划分单元301得到的业务报文子集中插入至少一个乱序测试报文,该乱序测试报文携带有业务报文子集的时间片标识,该乱序测试报文用于指示获取单元306从计数单元305中获取第三计数结果,第三计数结果为发送乱序测试报文前,已发送的与乱序测试报文的时间片标识对应的计数结果。
发送单元304,还用于向接收端依次发送上述业务报文子集,每个业务报文子集中包括插入单元401插入的至少一个乱序测试报文。
接收单元307,还用于接收端反馈的乱序响应报文,该乱序响应报文中携带有接收端在接收到乱序测试报文时的第四计数结果,该第四计数结果用于表示收到乱序测试报文时,接收端已接收到的与乱序测试报文具有相同时间片标识的业务报文数量。
处理单元308,还用于根据获取单元306获取的所述第一计数结果、第三计数结果和接收单元307接收的第二计数结果、第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
进一步的,
发送单元304发送的所有测试报文均通过相同的路径由发送端到达接收端。
发送单元304发送的测试报文为前向控制帧。
接收单元307接收的响应报文为后向报告帧。
本实施例还提供了一种网络丢包的测量装置,该装置应用于接收端,该接收端位于一种数据传输系统中,该系统设置有发送端和所述接收端,如图5所示,该装置包括:
接收单元501,用于接收发送端发送的业务报文,该业务报文携带有时间片标识。
计数单元502,用于对接收单元501已接收到的具有相同的时间片标识的业务报文进行计数.
接收单元501,还用于接收发送端发送的测试报文,该测试报文中携带有时间片标识。
获取单元503,用于根据接收单元501接收的测试报文,从计数单元502中获取与测试报文的时间片标识对应的第二计数结果,该第二计数结果用于表示接收端收到测试报文时,与所述测试报文携带的时间片标识对应的业务报文的计数结果。
发送单元504,用于向发送端发送响应报文,该响应报文中携带有获取单元503获取的第二计数结果。
进一步的,接收单元501接收的业务报文的报文头中的预设字段添加有时间片标识;
计数单元502,还用于对接收单元501接收的具有相同的时间片标识的业务报文进行计数。
进一步的,接收单元501接收的业务报文封装有协议报文头,该协议报文头为所述业务报文的时间片标识。
计数单元502,还用于对接收单元501接收的具有相同的时间片标识的业务报文进行计数。
进一步的,接收单元501,还用于接收发送端发送的乱序测试报文,该乱序测试报文携带有所述时间片标识。
获取单元503,还用于从计数单元502中获取与时间片标识对应的第四计数结果,该第四计数结果用于表示收到乱序测试报文时,接收端已接收到的与乱序测试报文具有相同时间片标识的业务报文数量。
发送单元504,还用于向发送端反馈乱序响应报文,该乱序响应报文携带有获取单元503获取的第四计数结果。
进一步的,该接收单元501接收的所有测试报文均通过相同的路径由所述发送端到达所述接收端。
该接收单元501接收的测试报文为前向控制帧。
发送单元504发送的所述响应报文为后向报告帧。
本发明实施例提供的网络丢包的测量装置,该装置应用于接收端,与现有技术中存在测试报文和业务报文的乱序的情况相比,本发明接收端的计数器仅对具有相同时间片标识的业务报文进行累积计数,且接收单元接收的测试报文延迟于其所对应的业务报文的接收,能够避免测试报文和业务报文的乱序情况,在不存在测试报文和业务报文的乱序的前提下,在接收到测试报文时获取单元能够从计数单元获取正确的第二计数结果,进而方便发送端能够根据正确的第一计数结果和第二计数结果准确计算得到丢包率。
为了准确计算丢包率,本实施例提供了一种网络丢包的测量方法,该方法应用于一种数据传输系统,该系统设置有发送端和接收端,如图6所示,该方法包括:
S601:发送端根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个业务报文子集为业务报文集合的一部分,全部业务报文子集组成所述业务报文集合。
一般而言,在网络中进行传输的业务报文,数量较多,几乎每时每刻都有业务报文的传输。若想计算一个较长时间段内的业务报文的丢包率,本发明认为较为可取的方法是将该较长时间段分成多个小的时间段。这样,通过分时间段统计,既可以得到每一时间段的丢包数和丢包率,将丢包情况具体定位在某一时间段;也可以通过对不同时间段的丢包数进行相应的运算得到总的丢包数以及总的丢包率。依据上述思想,在进行丢包率的计算时,本实施例中,发送端首先根据预设时间片长度在时序上对业务报文进行时间片的划分,每一个时间片内包含的业务报文组成业务报文子集,再分别对划分后得到的每一个业务报文子集内的业务报文进行丢包数的计算。其中,业务报文子集的个数不少于两个,所有的业务报文子集组成上述业务报文集合。为了实现分别对划分后的每一个业务报文子集内的业务报文进行丢包数的统计,每一个业务报文子集都对应有测试报文。而预设时间片长度越长,则时间片的个数越少,业务报文子集的个数越少,相应的所需测试报文的个数越少,开销越小,测试报文所占的带宽越少,但丢包数的定位不够准确。因而预设时间片的长度的选取可根据实际需要而定。可选的,该预设时间片长度为20ms。
S602:发送端为相邻的至少两个业务报文子集分配不同的时间片标识,为每个业务报文子集中的业务报文添加所分配的时间片标识。
本实施例中,发送端通过时间片标识对业务报文子集进行区分,更具体的说,同一业务报文子集内的业务报文的时间片标识相同,不同业务报文子集内的业务报文的时间片标识不同。该时间片标识既可以为报文的封装格式,也可以为报文的报文头中的某些标识位;相应的本方法既可以在二层网络中实现;也可以在三层网络中实现。
此外,在分配时间片标识时,在合理选取预设时间片长度以及合理设置测试报文的发送时间的前提下,只需为相邻的两个业务报文子集分配不同的时间片标识,无需保证所有的业务报文子集的时间片标识均互不相同。例如:时间片标识包括a和b两种时间片标识时,可以为业务报文子集1分配时间片标识a、业务报文子集2分配时间片标识b、业务报文子集3分配时间片标识a、业务报文子集4分配时间片标识b,依次循环。再如,时间片标识包括时间片标识a、b和c三种时间片标识时,可以为业务报文子集1分配时间片标识a、业务报文子集2分配时间片标识b,业务报文子集3分配时间片标识c或a,以此类推。本实施例中分配时间片标识时,只需保证相邻的业务报文子集的时间片标识不同即可,具有相同的时间片标识的业务报文可以累积,进行当前业务报文子集的业务报文数量计算时只需将当前累积结果与前一累计结果相减便可得到当前业务报文子集的业务报文的计数结果。
S603:发送端向接收端依次发送上述业务报文子集。
在为每个业务报文添加了时间片标识后,发送端向接收端依次发送添加了时间片标识的业务报文。
S604:发送端对已发送的具有相同时间片标识的业务报文进行计数。
发送端设有计数器,每发送一个业务报文进行一次计数,对具有相同时间片标识的业务报文进行累积计数。
S605:若当前业务报文子集发送完毕,则发送端获取第一计数结果,并在预设时长后向接收端发送测试报文,该测试报文中携带有当前业务报文子集的时间片标识,该第一计数结果为当前业务报文子集的时间片标识对应的计数结果,预设时长大于当前业务报文子集在所述发送端与所述接收端之间的传输时长。
在当前业务报文子集发送完毕后,发送端需要本地保存第一计数结果,或者将该第一计数结果携带在测试报文中,该第一计数结果为对所有与当前业务报文子集具有相同时间片标识的业务报文的计数结果,因而第一计数结果可能为某一业务报文子集的业务报文的计数结果,也可能为某几个具有相同时间片标识的业务报文子集的累积计数结果。
每一个业务报文子集都对应有一个测试报文,测试报文中携带有当前业务报文子集的时间片标识,以用于接收端在接收到测试报文后,根据测试报文的时间片标识提取与该时间片标识对应的业务报文的计数结果。测试报文的时间片标识和与其对应的业务报文子集的时间片标识可以完全相同,也可以不相同,只要测试报文的标识与业务报文子集的标识存在对应关系,接收端可根据该对应关系识别出测试报文对应的业务报文即可。
测试报文延迟于业务报文子集的发送,该延迟的时间为预设时长,预设时长大于当前业务报文子集在发送端与接收端之间的传输时长,也即设定预设时长的目的是保证发送端发送测试报文时,已发送的与该测试报文相对应的业务报文无论采用哪条路径均已到达接收端。因而,预设时长的设定与传输网络的复杂程度、是否多径、发送端与接收端的距离等因素有关。网络越复杂,多径情况越多,发送端与接收端的距离越远,则相应的应将预设时长设定的较长。
现有技术中,在发送端通过在业务报文之间插入测试报文对业务报文进行时间片的划分,仅仅从业务报文本身来看,无法区分业务报文来自同一时间片或不同时间片;在发送测试报文时,提取该测试报文之前的已发送的所有业务报文的累计结果。在接收端,以测试报文的到达时间为基准提取所有已接收的业务报文的计数结果,并不能保证提取的计数结果为正确的计数结果。
与现有技术不同的是,本实施例增加了对相邻的至少两个时间片(时间片对应于业务报文子集)的业务报文分别进行标识,从而使得时间片的划分不依赖于发送测试报文的时间节点,保证接收端能够根据时间片标识识别业务报文来自于不同的时间片。进而可以合理设置测试报文的发送时间,准确计算丢包率。
为了更清楚的对本实施例提供的网络丢包的方法进行描述,示例性的,本实施例提供了一种对业务报文进行时间片划分的方法,如图7所示。其中,横坐标轴为时间轴,将时间按照60ms划分为多个时间片,每个时间片对应于一个业务报文子集,如图中的0-60ms的时间片对应于业务报文子集71,60ms-120ms的时间片对应于业务报文子集72,每个业务报文子集中包括多个业务报文711,周期性插入的测试报文延迟与其对应的业务报文子集的发送,如图中与业务报文子集71对应的测试报文712于110ms时刻发送,延迟的时间为50ms,业务报文子集与测试报文通过具有相同的时间片标识进行对应。
S606:发送端接收所述接收端回复的响应报文,响应报文携带有第二计数结果,第二计数结果用于表示接收端收到测试报文时,接收端已接收到的具有相同时间片标识的业务报文数量,业务报文的时间片标识与测试报文携带的时间片标识相同。
接收端设置有计数器,每接收一个业务报文进行一次计数,对具有相同时间片标识的业务报文进行累积计数。
接收端在收到发送端的测试报文时,根据测试报文中携带的时间片标识,获取第二计数结果,并通过发送响应报文将该第二计数结果返回至发送端;具体地说,该第二计数结果表示,接收端已接收的具有相同时间片标识的业务报文的数量,且业务报文的时间片标识与测试报文携带的时间片标识相同。
此外,可选的,若发送端发送的测试报文中携带有第一计数结果,则接收端向发送端返回的响应报文中也携带有第一计数结果。
S607:发送端根据第一计数结果和第二计数结果计算业务报文子集的丢包率。
对某一业务报文子集内的丢包率的计算为:丢失的业务报文的数量/发送端发送的业务报文的数量。其中,丢失的业务报文的数量一般用发送端发送的业务报文的数量与接收端接收的业务报文的数量的差值来表示。本方法中,第一计数结果对应于发送端发送的业务报文的数量;第二计数结果对应于接收端接收的业务报文的数量;则二者的差值则表示丢包数,根据丢包数以及第一计数结果进一步计算得到丢包率。
由于发送端是发起数据传输的一方,接收端相对于发送端来说是被动的一方,发送端可以根据得到的丢包率调整数据传输的速率或者调整数据传输的路径等,丢包率对发送端具有较大的意义,因而丢包率一般由发送端进行计算以便于后续的调整处理。
此外,该丢包率的计算也可以在接收端进行。发送端发送的测试报文中携带有发送端的当前的第一计数结果,接收端在提取了第二计数结果后,根据第一计数结果和第二计数结果进行丢包率的计算,然后将计算得到的丢包率携带在响应报文中返回至发送端。
在现有的网络传输中,除了背景技术中提到的网络中存在多条传输路径的场景外;在报文处理中,还存在另外一种乱序场景,即现在CPU进行业务处理时,基本上都是多核(core)并行处理,即使在传输没有乱序的情况下,由于CPU内部多个核进行业务处理时,各个核的处理速度不一致,也会导致FM帧和业务报文之间的乱序,导致BR帧提取的业务报文计数结果并不准确,进而导致丢包率的计算不准确。
本发明提供的网络丢包的测量装置及方法,与现有技术中存在测试报文和业务报文的乱序的情况相比,本发明通过将业务报文进行时间片的划分得到多个业务报文子集,并为业务报文子集分配不同的时间片标识,测试报文也携带有相应的时间片标识,延迟测试报文的发送,延迟的时间大于业务报文子集的在发送端与接收端之间的传输时间,能够保证测试报文发送时,与之对应的业务报文均已到达接收端,进而能够避免接收端的测试报文和业务报文的乱序情况,在不存在测试报文和业务报文的乱序的前提下,本发明能够准确计算得到丢包率。因而本方法能够应用于多径传输以及CPU多核处理等多种应用场景。此外,现有技术中还存在一种能够避免报文传输的乱序进而准确计算丢包率的方案,该方案主要是通过串行处理的方式对报文进行处理,所谓串行处理,是与网络中存在多条传输路径,多条传输路径像多条流水线一样对传输的报文并行处理相对应的。具体而言,串行处理是指网络中只存在一条传输路径,所有报文均通过该传输路径由发送端达到接收端,那么报文必然依次到达接收端,不存在乱序的情况。然而实际网络中,报文的数量较多,采用此方案虽然能准确计算丢包率,但是对硬件的处理性能等要求较高,且消耗的资源较多,因而需要对现有硬件进行改造,进而实现成本较高。与该方案相比,本方案通过将业务报文进行时间片的划分,得到业务报文子集,并延迟与该业务报文子集对应的测试报文的发送,延迟的时间大于业务报文子集的传输时间,能够避免测试报文和业务报文的乱序,进而能够准确计算丢包率,本方案无需通过改造现有硬件结构的方式实现,能够降低实现成本。
进一步的,作为图6所示方法的细化,本实施例还提供了一种网络丢包的测量方法,该方法应用于三层网络,如图8所示,该方法包括:
S801:发送端根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个业务报文子集为业务报文集合的一部分,全部业务报文子集组成业务报文集合。
S802:发送端为相邻的至少两个业务报文子集分配不同的时间片标识,在业务报文的报文头中的预设字段添加已分配的该时间片标识。
在该实现方式中,时间片标识为业务报文的报文头中的某些标识位;接收端可在三层网络中实现对已接收的业务报文的识别。
表一
如表一所示,在网络层传输的IP报文的报文头包括4位(bit)的版本(Version)号、4bits的报头长度(Internet Header Length,简称IHL)、8bits的服务类型(Type ofService)、16bits的总长度(Total Length)、16bits的标识(Identification)、3bits的标志(Flags)、13bits的片偏移(Fragmentation Offset)、8bits的生存时间(Time To Live,简称TTL)、8bits的协议(Protocol)、16bits的首部校验和(Header Checksum)、32bits的源地址(Source Address)、32bits的目的地址(Destination Address)、16bits的可选项(Options)、16bits的填充(Padding)等字段。除去报文头外,图中的数据(Data)用于表示报文携带的以二进制表示的有用信息。
其中,当数据信息较大而进行分片传输时,标识(Identification)字段用于标记当前数据包为第几个分片。
在每经过1ms或者一个网关时,生存时间(TTL)的值自动减1,直至减为0时,表示网络不可达。或者,数据包在传输过程中会按照计算出来的路由路径经过一定的网络节点后由发送端到达接收端,每经过一个路由节点,生存时间(TTL)的值自动减1。一般而言,网络中的路由节点数最大为20左右。
报文头中各个字段的具体含义及作用可参考现有技术,本实施例不再赘述。
本实施例中,该预设字段可以为报文头中的Identification字段或者存活时间TTL字段。具体的,以Identification字段为例,可以通过将Identification字段的最高位交替设置为0或1来区分不同的时间片,如图9所示,时间片1中的所有业务报文的Identification字段的最高位为0,则时间片2中的所有业务报文的Identification字段的最高位为1,时间片3中的所有业务报文的Identification字段的最高位为0,时间片4中的所有业务报文的Identification字段的最高位为1,依次循环。其中,Identification字段的最高位即为每个业务报文的时间片标识,同一业务报文子集内的业务报文的时间片标识相同。进一步的,如图10所示,还可以通过Identification字段的最高两位分别设置为00、01、10、11来区分相邻的四个业务报文子集,Identification字段的最高两位即为时间片标识。同理,TTL的设置可采用与Identification字段的设置相同的方法。
本方法的上述Identification字段或者存活时间TTL字段的设置,不会影响报文的正常传输。具体的说,当Identification字段的最高位发生改变时,仍然可以用于表示分片的个数。当TTL的最高位设置为0时,TTL的取值范围为0-127,即最多允许报文由发送端经过128个网络节点达到接收端,因而仍能满足现有网络的节点最多时的要求;当TTL的最高位设置为1时,TTL的取值范围为128-255,即最多允许报文由发送端经过128个网络节点达到接收端,也仍能满足现有网络的要求。
当然,该预设字段还可以为报文头中不影响报文正常传输的其他字段,其对应的时间片的标识方法也可根据上文推导得到,本实施例不再赘述。
S803:发送端向接收端依次发送上述业务报文子集。
S804:发送端对已发送的具有相同时间片标识的业务报文进行计数。
S805:若当前业务报文子集发送完毕,则发送端获取第一计数结果,并在预设时长后向接收端发送测试报文,该测试报文中携带有当前业务报文子集的时间片标识,该第一计数结果为当前业务报文子集的时间片标识对应的计数结果,预设时长大于业务报文子集在发送端与接收端之间的传输时长。
本方法中,测试报文与业务报文均具备表一所示的报文头,与用于传输数据的业务报文不同的是,测试报文并不携带有用数据信息;且测试报文与业务报文所用的端口号并不相同。接收端可根据报文头中的端口号信息识别接收的报文为测试报文还是业务报文,如业务报文采用的端口号为协议中明确规定的特定端口号,如80端口、21端口等,而测试报文采用的端口号为65020,测试报文采用的端口号也可设定为与协议中明确规定的端口号不冲突的其他端口号。
此外为了保证接收端提取正确的计数结果,测试报文中也携带有与业务报文子集对应的时间片标识。由于测试报文也具备上述报文头,因而也可以通过设定预设字段的值来确定测试报文对应的时间片标识,其设定方法可参考业务报文的时间片标识的设定方法,测试报文的时间片标识可以和与其对应的业务报文子集的时间片标识相同,如某一业务报文子集的时间片标识为Identification字段的最高位,与之对应的测试报文的时间片标识也为Identification字段的最高位。
测试报文携带的标识可以为其他标识,不一定与当前业务报文子集的时间片标识一致,只要测试报文的标识与业务报文子集的标识存在对应关系,接收端可根据该对应关系识别出其对应的业务报文即可。例如当前业务报文子集的时间片标识为Identification字段的最高位,则可将与之对应的测试报文的标识设置为TTL的最高位。接收端可根据TTL最高位的值与Identification字段的最高位的值的确定关系识别出该测试报文对应的业务报文。
此外,需要说明的是,在三层网络中传输的报文都携带有源IP地址、目的IP地址、协议类型、源端口、目的端口,同类业务报文具备相同的源IP地址、目的IP地址、协议类型,但源端口、目的端口不相同,因而当网络中存在多径时,为了实现流量均衡,将各个报文源IP地址、目的IP地址、协议类型、源端口、目的端口进行运算得到不同的哈希值,然后将各个业务报文散列到不同的传输路径(PATH)上,而所有测试报文的源IP地址、目的IP地址、协议类型、源端口、目的端口均相同,因而计算得到的哈希值也相同,所有的测试报文均通过相同的路径由发送端达到接收端。因而该多径针对的是业务报文,即不同的业务报文有多条可供选择的路径由发送端到达接收端;而所有的测试报文均只能通过相同的路径依次由发送端到达接收端。因而不存在测试报文与测试报文的乱序情况。也即,某一测试报文到达接收端时,提取的接收端的计数结果与测试报文中携带的计数结果是相匹配的。
S806:发送端接收所述接收端回复的响应报文,响应报文携带有第二计数结果,第二计数结果用于表示接收端收到测试报文时,接收端已接收到的具有相同时间片标识的业务报文数量,业务报文的时间片标识与测试报文携带的时间片标识相同。
S807:发送端根据第一计数结果和第二计数结果计算业务报文子集的丢包率。
当采用Identification字段的最高位进行时间片标识时,由于间隔的两个业务报文子集对应的时间片标识相同,因而发送端得到的第一计数结果为累积的已发送的所有具有相同时间片标识的业务报文的数量,同理,接收端提取的第二计数结果为累积的已接收的所有具有相同时间片标识的业务报文的数量,由此丢包率的计算可参考下例。
例如时间片3对应的业务报文子集的丢包数的计算为:
Time_slice_3_:Droper_Counter=(Time_slice_3_Sender_Counter-Time_slice_1_Sender_Counter)-(Time_slice_3_Reciever_Counter-Time_slice_1_Reciever_Counter)。其中,Time_slice_3_Sender_Counter为发送第三个测试报文时对应的第一计数结果,Time_slice_1_Sender_Counter为发送第一个测试报文时对应的第一计数结果,两者相减得到的是该业务报文子集对应的发送端发送的业务报文数;Time_slice_3_Reciever_Counter为发送第三个测试报文时对应的第二计数结果,Time_slice_1_Reciever_Counter为发送第一个测试报文时对应的第二计数结果,两者相减得到的是该业务报文子集对应的接收端接收的业务报文数。Time_slice_3_Droper_Counter表示该业务报文子集的丢包数。
时间片3对应的业务报文子集的丢包率的计算为:
Time_slice_3_Droper_ratio=Time_slice_3_Droper_Counter/(Time_slice_3_Sender_Counter-Time_slice_1_Sender_Counter)。
其中,由上述丢包数计算得到的结果与发送的业务报文的总数的比值,便可得到该业务报文子集的丢包率即Time_slice_3_Droper_ratio。
同理可以通过时间片2和时间片4对应的第一计数结果和第二计数结果得到时间片4内的丢包数和丢包率。
其他时间片内业务报文的丢包计数可参考上述例子,因此本实施例可以实时进行报文的丢包监测。
如果要计算多个时间片内的丢包数和丢包率,可以通过分别计算每一个时间片内的丢包数进行累加得到总的丢包数,再通过分别计算每一个时间片内的发送的业务报文的数量进行累加得到总的总的发送数,进而总的丢包数与总的发送数的比值得到丢包率。
作为图8所示方法的实际应用,下表表二列出了采用本实施例提供的方法得到的丢包数的统计结果。
表二
从表二中可以看到,在本实施例的一种应用场景中,将时间按照10ms划分为多个时间片,每个时间片对应于业务报文子集,该业务报文子集的时间片标识为Identification的最高位,即0或1,从表中可看到时间片标识交替为0或1。每个业务报文子集对应的测试报文延迟6ms发送,如表中,时间片1对应的业务报文子集1的发送完毕时刻为10ms,测试报文1的发送时刻为16ms,同理可看到其他时间片对应的测试报文均延迟6ms发送。测试报文1发送时刻,发送端获取的第一计数结果1255即为当前时间片标识为0的业务报文的累计结果。接收端在收到测试报文1时反馈响应报文1,发送响应报文1时获取的第二计数结果为1255,由第一计数结果和第二计数结果得知,时间片1对应的业务报文子集内并无业务报文的丢包发生。
同理,可以看到测试报文2对应的第一计数结果1323和响应报文对应的第二计数结果1243相比,时间片2对应的业务报文子集内有业务报文的丢包发生。
此外,从表中还可以读出,发送端和接收端均对具有相同时间片标识的业务报文进行累积计数。
从表二的测量过程来看,用于测量某个时间片内业务报文丢包情况的测试报文和业务报文有一段足够的时间延迟,因此不会导致测试报文和业务报文间有乱序发生,丢包测量的结果是准确的可信的,不会因为网络复杂,业务报文路径多而导致丢包测量不准确,可以应用在网络传输中存在多径或者CPU多核等多种网络场景下的丢包测量。
进一步的,作为图6所示方法的细化,图8所示方法的补充,本实施例还提供了一种网络丢包的测量方法,该方法应用于二层网络,如图11所示,该方法包括:
S1101:发送端根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个业务报文子集为业务报文集合的一部分,全部业务报文子集组成业务报文集合。
S1102:发送端为业务报文封装协议报文头,该协议报文头为业务报文所在业务报文子集的时间片标识。
在二层网络进行数据封装时,可兼容EthernetII协议,IEEE802.3/IEEE802.2LLC或者IEEE802.3/IEEE802.2LLC/SNAP三种协议的封装格式,因而发送端可以采用三种不同的协议分别对相邻的不同业务报文子集的业务报文进行封装,同一业务报文子集内的业务报文的封装格式相同,接收端可根据不同的协议报文头对不同业务报文子集的业务报文进行区分。
EthernetII协议,IEEE802.3/IEEE802.2LLC或者IEEE802.3/IEEE802.2LLC/SNAP三种协议的封装格式可参考现有技术。
此外,在本实施例的其他实现方式中,也可以在各时间片内进行交替采用不同的VLAN ID或VLAN优先级标识对业务报文进行封装,从而达到对业务报文进行时间片的划分。
S1103:发送端向所述接收端依次发送所述业务报文子集。
S1104:发送端对已发送的具有相同时间片标识的业务报文进行计数。
S1105:若当前业务报文子集发送完毕,则发送端获取第一计数结果,在预设时长后向接收端发送测试报文,测试报文中携带有当前业务报文子集的时间片标识,第一计数结果为当前业务报文子集的时间片标识对应的计数结果,预设时长大于业务报文子集在发送端与接收端之间的传输时长。
S1106:发送端接收所述接收端回复的响应报文,响应报文携带有第二计数结果,第二计数结果用于表示接收端收到测试报文时,接收端已接收到的具有相同时间片标识的业务报文数量,业务报文的时间片标识与测试报文携带的时间片标识相同。
S1107:发送端根据第一计数结果和第二计数结果计算业务报文子集的丢包率。
Y.1731协议中双端丢包测量方法是一种应用于二层网络的丢包测量方法,在TRUNK组网模式下,数据包在网络中也存在多径传输的情况。具体而言,在二层网络中传输的报文中携带有源MAC地址、目的MAC地址和VLAN ID;其中同类业务报文携带有相同的源MAC地址和VLAN ID相同,而目的MAC地址不同;发送端通过将业务报文的源MAC地址、目的MAC地址和VLAN ID进行哈希计算得到不同的HASH值然后散列到TRUNK组下不同的物理传输路径上,而测试报文由于其源MAC地址、目的MAC地址和VLAN ID均相同,由此得到的HASH值为固定值,因而测试报文也只能散列到一个固定的传输路径上。因而类似于三层网络,二层网络中也存在测试报文和业务报文的乱序情况。
因而,本实施例提供的采用不同的封装格式进行封装或者采用不同的VLAN ID或VLAN优先级标识对业务报文进行封装的方法能够解决Y.1731协议在TRUNK组网模式下进行双端丢包测量容易乱序导致测量不准确的问题。
进一步的,作为图6至图11所示方法的补充,如图12所示,本实施例还提供了一种业务报文乱序的测量方法,该方法包括:
S1201:发送端在业务报文子集中插入至少一个乱序测试报文,该乱序测试报文携带有业务报文子集的时间片标识,乱序测试报文用于指示获取第三计数结果,该第三计数结果为发送乱序测试报文前,已发送的与乱序测试报文的时间片标识对应的计数结果。
如图13所示,在图7的由时间片的划分得到业务报文子集的基础上,在已划分好的业务报文子集中插入乱序测试报文1301以对该业务报文子集进行乱序测试,通常对于较小的时间片对应的业务报文子集,一般包含的业务报文较少,时间片本身的单位就很小,因而为了节约带宽仅插入一个乱序测试报文即可;对于较大的时间片对应的业务报文子集,一般包含的业务报文较多,因而为了准确的实时测量业务报文的乱序,可在业务报文子集中插入多个乱序测试报文1301。乱序测试报文的数量可综合考虑带宽和对业务报文乱序的实时性需求。
若要实现对某一时间段内的业务报文是否存在乱序进行测量,可通过插入某一测试报文,通过测试报文发送时的发送端的计数结果和测试报文到达接收端时接收端的计数结果是否一致来确认业务报文是否乱序;若一致,则不存在乱序;否则,存在乱序。此处所指的乱序,尽管有可能是乱序测试报文和业务报文存在乱序,而将乱序测试报文抽离后,各个业务报文之间并无乱序,但根据该计数结果的对比,仍能得到网络传输会带来乱序这一定性结论,这一结论可进一步的由将该乱序测试报文替换为业务报文来考虑,若该乱序测试报文为业务报文,则在发送端时,该乱序测试报文(业务报文)发送前已发送的业务报文数为3个,而在接收端时,接收该业务报文时已接收的业务报文数为2个,则表明业务报文出现了乱序。因而用乱序测试报文区别于业务报文来表征网络传输过程中会发生乱序这一情况。
该乱序测试报文也是一种测试报文,其目的为在发送端发送前指示发送端获取第三计数结果,且在到达接收端时指示接收端提取第四计数结果。该第三计数结果既可以由发送端本地保存,也可以携带在乱序测试报文中;该乱序测试报文的时间片标识的设置方法同测试报文,本方法不再赘述。
则向接收端依次发送上述业务报文子集,包括:
S1202:发送端向接收端依次发送业务报文子集,每个业务报文子集中包括至少一个乱序测试报文。
业务报文子集除了包括具有相同时间片标识的业务报文外,还包括了已插入的也具有对应的时间片标识的乱序测试报文。
S1203:发送端接收所述接收端反馈的乱序响应报文,乱序响应报文中携带有接收端在接收到乱序测试报文时的第四计数结果,第四计数结果用于表示收到乱序测试报文时,接收端已接收到的与乱序测试报文具有相同时间片标识的业务报文数量。
可选的,若乱序测试报文中携带有第三计数结果,则乱序响应报文在由接收端返回至发送端时也携带有该第三计数结果。
S1204:发送端根据第一计数结果、第二计数结果、第三计数结果和第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
其中,第一计数结果和第二计数结果的获取可参考图6至图11提供的方法。
当接收到接收端回复的响应报文和乱序响应报文时,便可对此时间片内的业务报文进行网络乱序程度计算。
示例性的,业务报文子集中的业务报文是否乱序计算实例1如下:
假定对于第一个时间片前面收发计数为0。
时间片1内乱序测试报文1发送时刻得到的业务报文的发送计数1为32;
接收端收到该乱序测试报文1时提取的业务报文接收计数1为30,该计数结果携带在乱序响应报文1中。
延迟时间片1发送的测试报文2发送时刻得到的业务报文的发送计数2为45;
接收端收到该测试报文2时提取的业务报文接收计数2为45,该计数结果携带在响应报文2中。
根据发送计数1和接收计数1的计数结果可初步认为该时间片内有丢包,然而根据发送计数2和接收计数2的对比结果得知,该时间片内实际上无丢包情况,只是有乱序的情况。
示例性的,业务报文子集中的业务报文是否乱序计算实例2如下:
假定对于第一个时间片前面收发计数为0。
时间片1内乱序测试报文1发送时刻得到的业务报文的发送计数1为32;
接收端收到该乱序测试报文1时提取的业务报文接收计数1为35,该计数结果携带在乱序响应报文1中。
延迟时间片1发送的测试报文2发送时刻得到的业务报文的发送计数2为45;
接收端收到该测试报文2时提取的业务报文接收计数2为45,该计数结果携带在响应报文2中。
根据发送计数1和接收计数1的计数结果可初步认为该时间片内有多包,然而根据发送计数2和接收计数2的对比结果得知,该时间片内实际上无多包情况,只是有乱序的情况。
其他时间片的乱序测量依上类推。通过对不同时间片内收发报文计数进行乱序计算,便可以获得一个较长时间段的业务报文乱序情况。
进一步的,本实施例中的所有测试报文均通过相同的路径由发送端到达接收端。
进一步的,本实施例中的测试报文为前向控制帧;响应报文为后向报告帧。前向控制帧和后向报告帧的具体结构可参考现有技术。
本发明实施例提供的业务报文乱序的测量方法,在能够准确计算丢包率的前提下,能进一步确定是否有乱序的情况。
进一步的,本发明还提供了一种网络丢包的测量方法,该方法应用于一种数据传输系统,该数据传输系统设置有发送端和接收端,如图14所示,该方法包括:
S1401:接收端接收发送端发送的业务报文,业务报文携带有时间片标识。
发送端对业务报文进行了时间片的划分,为了表示业务报文所属的时间片,业务报文携带有时间片标识。同一时间片内的业务报文具有相同的时间片标识。
接收端在接收到业务报文时,通过对业务报文进行解封装,识别其报文头中的预设字段的时间片标识(三层网络)或者根据以太网的封装格式区分业务报文是否具有相同的时间片标识(二层网络)。
S1402:接收端对已接收到的具有相同的时间片标识的业务报文进行计数。
接收端设置有计数器,对接收到的业务报文进行计数,对具有相同时间片标识的业务报文进行累积计数。
进一步的,对已接收到的具有相同的时间片标识的业务报文进行计数包括:
业务报文的报文头中的预设字段添加有时间片标识。
该预设字段添加时间片标识的方法可参考发送端。
对已接收的具有相同的时间片标识的业务报文进行计数。
进一步的,对已接收到的具有相同的时间片标识的业务报文进行计数包括:
业务报文封装有协议报文头,协议报文头为业务报文的时间片标识。
对已接收的具有相同的时间片标识的业务报文进行计数。
S1403:接收端接收发送端发送的测试报文,该测试报文中携带有时间片标识。
S1404:接收端获取与时间片标识对应的第二计数结果,该第二计数结果用于表示接收端收到测试报文时,与所述测试报文携带的时间片标识对应的业务报文的计数结果。
S1405:接收端向发送端发送响应报文,响应报文中携带有获取的第二计数结果。
本发明实施例提供的网络丢包的测量方法,与现有技术中存在测试报文和业务报文的乱序的情况相比,本发明接收端仅对具有相同时间片标识的业务报文进行累积计数,且接收的测试报文延迟于其所对应的业务报文的接收,能够避免测试报文和业务报文的乱序情况,在不存在测试报文和业务报文的乱序的前提下,再接收到测试报文时能够提取正确的第二计数结果,进而方便发送端能够根据正确的第一计数结果和第二计数结果准确计算得到丢包率。
进一步的,作为图14所示方法的补充,如图15所示,该方法还包括:
S1501:接收端接收发送端发送的乱序测试报文,乱序测试报文携带有时间片标识。
S1502:接收端获取与时间片标识对应的第四计数结果,该第四计数结果用于表示接收端收到乱序测试报文时,接收端已接收到的与乱序测试报文具有相同时间片标识的业务报文数量。
S1503:接收端向发送端反馈乱序响应报文,乱序响应报文携带有获取的第四计数结果。
进一步的,该测试报文为前向控制帧;该响应报文为后向报告帧。
在图14所示的方法的基础上,即在接收端返回第二计数结果的基础上,接收端在收到发送端的乱序测试报文后,向发送端返回对应的乱序响应报文,并在返回乱序响应报文时提取与该乱序响应报文携带的时间片标识相同的业务报文的第四计数结果,以方便发送端根据该第二计数结果、第四计数结果以及发送端获取的第一计数结果和第三计数结果判断网络中是否存在乱序。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (15)

1.一种网络丢包的测量装置,所述装置应用于发送端,所述发送端位于一种数据传输系统,所述系统设置有所述发送端和接收端,其特征在于,所述装置包括:
存储器,用于存储业务报文集合;
处理器,用于根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个所述业务报文子集为所述业务报文集合的一部分,全部所述业务报文子集组成所述业务报文集合;
为相邻的至少两个业务报文子集分配不同的时间片标识,为每个业务报文子集中的业务报文添加所分配的时间片标识;
发射器,用于向所述接收端依次发送所述业务报文子集;
所述处理器,还用于对已发送的具有相同时间片标识的业务报文进行计数;
当当前业务报文子集发送完毕时,获取第一计数结果,在预设时长后向所述接收端发送测试报文,所述测试报文中携带有所述当前业务报文子集的时间片标识,所述第一计数结果为所述当前业务报文子集的时间片标识对应的计数结果,所述预设时长大于所述业务报文子集在所述发送端与所述接收端之间的传输时长;
接收器,用于接收所述接收端回复的响应报文,所述响应报文携带有第二计数结果,所述第二计数结果用于表示所述接收端收到所述测试报文时,所述接收端已接收到的具有相同时间片标识的业务报文数量,所述业务报文的时间片标识与所述测试报文携带的时间片标识相同;
所述处理器,还用于根据所述第一计数结果和所述第二计数结果计算所述业务报文子集的丢包率。
2.根据权利要求1所述的网络丢包的测量装置,其特征在于,
所述处理器,还用于在业务报文的报文头中的预设字段添加已分配的所述时间片标识。
3.根据权利要求1所述的网络丢包的测量装置,其特征在于,
所述处理器,还用于为所述业务报文封装协议报文头,所述协议报文头为所述业务报文所在业务报文子集的时间片标识。
4.根据权利要求1至3任一项所述的网络丢包的测量装置,其特征在于,
所述处理器,还用于在业务报文子集中插入至少一个乱序测试报文,所述乱序测试报文携带有所述业务报文子集的时间片标识,所述乱序测试报文用于指示获取第三计数结果,所述第三计数结果为发送所述乱序测试报文前,已发送的与所述乱序测试报文的时间片标识对应的计数结果;
所述发射器,还用于向所述接收端依次发送所述业务报文子集,每个业务报文子集中包括至少一个所述乱序测试报文;
所述接收器,还用于接收所述接收端反馈的乱序响应报文,所述乱序响应报文中携带有所述接收端在接收到所述乱序测试报文时的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述处理器,还用于根据所述第一计数结果、第二计数结果、第三计数结果和所述第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
5.根据权利要求1至3任一项所述的网络丢包的测量装置,其特征在于,
所述发射器发送的所有所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述发射器发送的所述测试报文为前向控制帧;
所述接收器接收的所述响应报文为后向报告帧。
6.一种网络丢包的测量装置,所述装置应用于发送端,所述发送端位于一种数据传输系统中,所述系统设置有所述发送端和接收端,其特征在于,所述装置包括:
划分单元,用于根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个所述业务报文子集为所述业务报文集合的一部分,全部所述业务报文子集组成所述业务报文集合;
分配单元,用于为划分单元划分得到的相邻的至少两个业务报文子集分配不同的时间片标识;
添加单元,用于为划分单元划分得到的每个业务报文子集中的业务报文添加所述分配单元分配的时间片标识;
发送单元,用于向所述接收端依次发送由所述添加单元添加了时间片标识的业务报文子集;
计数单元,用于对发送单元已发送的具有相同时间片标识的业务报文进行计数;
获取单元,用于在当前业务报文子集发送完毕时,从所述计数单元中获取第一计数结果,所述第一计数结果为所述当前业务报文子集的时间片标识对应的计数结果,所述预设时长大于所述业务报文子集在所述发送端与所述接收端之间的传输时长;
所述发送单元,还用于在预设时长后向所述接收端发送测试报文,所述测试报文中携带有所述当前业务报文子集的时间片标识;
所述接收单元,用于接收所述接收端回复的响应报文,所述响应报文携带有第二计数结果,所述第二计数结果用于表示所述接收端收到所述测试报文时,所述接收端已接收到的具有相同时间片标识的业务报文数量,所述业务报文的时间片标识与所述测试报文携带的时间片标识相同;
处理单元,用于根据所述获取单元获取的第一计数结果和所述接收单元接收的所述第二计数结果计算所述业务报文子集的丢包率。
7.根据权利要求6所述的网络丢包的测量装置,其特征在于,
所述添加单元,还用于在业务报文的报文头中的预设字段添加已分配的所述时间片标识。
8.根据权利要求6所述的网络丢包的测量装置,其特征在于,所述添加单元,还用于为所述业务报文添加协议报文头,所述协议报文头为所述业务报文所在业务报文子集的时间片标识。
9.根据权利要求6至8任一项所述的网络丢包的测量装置,其特征在于,所述装置还包括:
插入单元,用于在划分单元划分得到的业务报文子集中插入至少一个乱序测试报文,所述乱序测试报文携带有所述业务报文子集的时间片标识,所述乱序测试报文用于指示获取单元从所述计数单元中获取第三计数结果,所述第三计数结果为发送所述乱序测试报文前,已发送的与所述乱序测试报文的时间片标识对应的计数结果;
所述发送单元,还用于向所述接收端依次发送所述业务报文子集,每个业务报文子集中包括所述插入单元插入的至少一个所述乱序测试报文;
所述接收单元,还用于接收所述接收端反馈的乱序响应报文,所述乱序响应报文中携带有所述接收端在接收到所述乱序测试报文时的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述处理单元,还用于根据所述获取单元获取的所述第一计数结果、第三计数结果和所述接收单元接收的所述第二计数结果、所述第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
10.根据权利要求6至8任一项所述的网络丢包的测量装置,其特征在于,
所述发送单元发送的所有所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述发送单元发送的所述测试报文为前向控制帧;
所述接收单元接收的所述响应报文为后向报告帧。
11.一种网络丢包的测量方法,所述方法应用于一种数据传输系统,所述系统设置有发送端和接收端,其特征在于,所述方法包括:
所述发送端根据预设时间片长度在时序上对业务报文集合进行划分,得到至少两个业务报文子集,每个所述业务报文子集为所述业务报文集合的一部分,全部所述业务报文子集组成所述业务报文集合;
所述发送端为相邻的至少两个业务报文子集分配不同的时间片标识,为每个业务报文子集中的业务报文添加所分配的时间片标识;
所述发送端向所述接收端依次发送所述业务报文子集;
所述发送端对已发送的具有相同时间片标识的业务报文进行计数;
若当前业务报文子集发送完毕,则发送端获取第一计数结果,在预设时长后向所述接收端发送测试报文,所述测试报文中携带有所述当前业务报文子集的时间片标识,所述第一计数结果为所述当前业务报文子集的时间片标识对应的计数结果,所述预设时长大于所述业务报文子集在所述发送端与所述接收端之间的传输时长;
所述发送端接收所述接收端回复的响应报文,所述响应报文携带有第二计数结果,所述第二计数结果用于表示接收端收到所述测试报文时,所述接收端已接收到的具有相同时间片标识的业务报文数量,所述业务报文的时间片标识与所述测试报文携带的时间片标识相同;
所述发送端根据所述第一计数结果和所述第二计数结果计算所述业务报文子集的丢包率。
12.根据权利要求11所述的网络丢包的测量方法,其特征在于,所述为每个业务报文子集中的业务报文添加所分配的时间片标识,包括:
在业务报文的报文头中的预设字段添加已分配的时间片标识。
13.根据权利要求11所述的网络丢包的测量方法,其特征在于,所述为每个业务报文子集中的业务报文添加所分配的时间片标识,包括:
为所述业务报文封装协议报文头,所述协议报文头为所述业务报文所在业务报文子集的时间片标识。
14.根据权利要求11至13任一项所述的网络丢包的测量方法,其特征在于,所述方法还包括:
所述发送端在业务报文子集中插入至少一个乱序测试报文,所述乱序测试报文携带有所述业务报文子集的时间片标识,所述乱序测试报文用于指示获取第三计数结果,所述第三计数结果为发送所述乱序测试报文前,已发送的与所述乱序测试报文的时间片标识对应的计数结果;
所述向接收端依次发送所述业务报文子集,包括:
向所述接收端依次发送所述业务报文子集,每个业务报文子集中包括至少一个所述乱序测试报文;
所述发送端接收所述接收端反馈的乱序响应报文,所述乱序响应报文中携带有所述接收端在接收到所述乱序测试报文时的第四计数结果,所述第四计数结果用于表示收到所述乱序测试报文时,所述接收端已接收到的与所述乱序测试报文具有相同时间片标识的业务报文数量;
所述发送端根据所述第一计数结果、第二计数结果、第三计数结果和所述第四计数结果,确定业务报文子集中的业务报文是否存在乱序。
15.根据权利要求11至13任一项所述的网络丢包的测量方法,其特征在于,
所有的所述测试报文均通过相同的路径由所述发送端到达所述接收端;
所述测试报文为前向控制帧;
所述响应报文为后向报告帧。
CN201480023982.4A 2014-09-30 2014-09-30 一种网络丢包的测量装置及方法 Active CN105765911B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/087981 WO2016049872A1 (zh) 2014-09-30 2014-09-30 一种网络丢包的测量装置及方法

Publications (2)

Publication Number Publication Date
CN105765911A CN105765911A (zh) 2016-07-13
CN105765911B true CN105765911B (zh) 2019-04-19

Family

ID=55629299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480023982.4A Active CN105765911B (zh) 2014-09-30 2014-09-30 一种网络丢包的测量装置及方法

Country Status (2)

Country Link
CN (1) CN105765911B (zh)
WO (1) WO2016049872A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111786859A (zh) * 2020-07-17 2020-10-16 中国联合网络通信集团有限公司 丢包检测方法、装置及存储介质

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375158B (zh) * 2016-10-25 2019-09-13 华为技术有限公司 一种丢包检测方法、网络设备及系统
CN108964955A (zh) * 2017-05-23 2018-12-07 中兴通讯股份有限公司 一种丢失Trap报文查找方法和网络管理系统及一种SNMP代理
CN107547300B (zh) * 2017-06-16 2020-05-12 新华三技术有限公司 一种网络质量检测方法及装置
CN108834213B (zh) * 2018-04-04 2022-04-22 西安电子科技大学 一种物联网中的低下行延迟通信方法及系统
CN110545241B (zh) * 2018-05-28 2022-05-17 华为技术有限公司 一种报文处理方法和装置
CN108965058B (zh) * 2018-07-26 2021-03-02 北京奇艺世纪科技有限公司 一种终端网络性能探测方法及系统
CN111447110B (zh) * 2020-03-24 2023-03-10 北京润科通用技术有限公司 一种数据监控方法及系统
CN111953979B (zh) * 2020-07-16 2024-06-04 西安万像电子科技有限公司 图像处理方法及装置
CN114301811A (zh) * 2020-09-23 2022-04-08 中国移动通信有限公司研究院 一种信息处理方法、装置及隧道端点网元
CN112583659A (zh) * 2020-11-24 2021-03-30 视联动力信息技术股份有限公司 视联网网络状态的检测方法、装置、终端设备和存储介质
CN114567541A (zh) * 2020-11-27 2022-05-31 中兴通讯股份有限公司 一种预激活检测方法、电子设备及计算机可读存储介质
CN112737874B (zh) * 2020-12-23 2022-08-30 新华三技术有限公司 报文的丢包统计实现方法及装置
CN113055128B (zh) * 2021-03-28 2022-06-24 杭州迪普信息技术有限公司 信令报文解码正确性的测试方法及装置
CN116137599A (zh) * 2021-11-18 2023-05-19 华为技术有限公司 一种报文统计方法及相关设备
CN114244739A (zh) * 2021-12-21 2022-03-25 苏州盛科通信股份有限公司 一种提升报文统计准确性的方法、装置和存储介质
CN114844804B (zh) * 2022-06-01 2023-07-25 重庆奥普泰通信技术有限公司 网络测量方法、系统、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777126A (zh) * 2005-12-12 2006-05-24 史文勇 一种对时延、丢包进行综合测量及关联分析的系统和方法
CN102215144A (zh) * 2011-05-17 2011-10-12 中兴通讯股份有限公司 丢包率的测量方法和系统
CN102904775A (zh) * 2012-09-29 2013-01-30 华为技术有限公司 网络丢包测量方法、设备和系统
CN102984018A (zh) * 2011-09-02 2013-03-20 华为技术有限公司 以太网丢包测试方法、设备及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007024161A1 (en) * 2005-08-23 2007-03-01 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for measuring transmission quality in a packet mode communication network
CN101800679B (zh) * 2010-03-10 2012-07-11 华为技术有限公司 一种报文丢包检测方法及系统
TW201334585A (zh) * 2011-11-04 2013-08-16 Interdigital Patent Holdings 以qos驗証為基礎驅動測試最小化(mdt)方法、裝置及系統

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777126A (zh) * 2005-12-12 2006-05-24 史文勇 一种对时延、丢包进行综合测量及关联分析的系统和方法
CN102215144A (zh) * 2011-05-17 2011-10-12 中兴通讯股份有限公司 丢包率的测量方法和系统
CN102984018A (zh) * 2011-09-02 2013-03-20 华为技术有限公司 以太网丢包测试方法、设备及系统
CN102904775A (zh) * 2012-09-29 2013-01-30 华为技术有限公司 网络丢包测量方法、设备和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111786859A (zh) * 2020-07-17 2020-10-16 中国联合网络通信集团有限公司 丢包检测方法、装置及存储介质

Also Published As

Publication number Publication date
WO2016049872A1 (zh) 2016-04-07
CN105765911A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
CN105765911B (zh) 一种网络丢包的测量装置及方法
CN101523825B (zh) 流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统
CN109525451B (zh) 一种mpls网络检测的实现方法、装置、网络设备和控制器
CN105072629B (zh) 测量终端上运行的业务的质量的方法、设备及系统
EP2884697B1 (en) Measuring method, device and system for network packet loss
EP2904838B1 (en) Method and system for piggybacking radio data in ip measurements
US8208389B2 (en) Methods and apparatus for improved determination of network metrics
CN112398557B (zh) 时延统计方法、装置、存储介质及系统
JP2013516807A (ja) パケットロス検出方法及び装置、並びにルータ
CN103053133B (zh) 一种基于标签的测量方法,装置和系统
US20190222442A1 (en) In-band Telemetry with Limited Extra Bytes
US20140341068A1 (en) Method for devices in a network to participate in an end-to-end measurement of latency
CN105308904B (zh) 一种oam报文处理方法、网络设备和网络系统
US20100150009A1 (en) Passive Monitoring Of Network Performance
US20190014029A1 (en) Performance measurement in a packet-switched communication network
CN103959713A (zh) 对通信网络中的数据流的测量
KR20050116824A (ko) 디지털 링크의 대역폭을 평가하는 방법
CN113973063B (zh) 带内测量方法、装置及节点
EP2936741A1 (en) Probing a network
US8867398B2 (en) Method of enabling a packet loss measurement in a packet transport network
CN103327129A (zh) 针对多wan口网关设备的域名解析方法
CN110784378B (zh) 使用twamp实现精准流量均衡的方法及装置
CN112769631B (zh) 数据传输质量的测量方法、转发设备和可读存储介质
CN102685014B (zh) 用于测量业务流的性能指标的方法和发送端设备
JP5889812B2 (ja) 遅延測定方法および遅延測定システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant