一种丢包检测方法、网络设备及系统与流程

文档序号:18684899发布日期:2019-09-13 23:50阅读:427来源:国知局
一种丢包检测方法、网络设备及系统与流程

本发明涉及通信领域,尤其涉及一种丢包检测方法、网络设备及系统。



背景技术:

Y.1731是ITU-T组织制定的基于以太网网络的操作管理维护(Operation Administration and Maintenance,OAM)协议,主要提供了性能监控和故障管理功能。Y.1731的性能监控主要包含丢包检测、时延检测和抖动检测三个功能。丢包检测包括单端丢包检测和双端丢包检测两种方式,每种方式的检测结果又可以包括远端帧丢失检测结果和近端帧丢失检测结果。

Y.1731协议中发送端在发送检测报文时记录数据报文的发送数量,接收端在收到所述检测报文时记录数据报文的接收数量,根据数据报文的发送数量和接收数量进行丢包统计。而当检测报文和数据报文的传送过程中出现乱序时,可能会导致丢包检测结果不准确。例如发送端先发送数据报文再发送检测报文,而所述检测报文比所述数据报文先到达接收端。接收端收到检测报文时,进行丢包统计。而所述数据报文尚未到达接收端,由此导致丢包检测结果不准确。



技术实现要素:

有鉴于此,本申请提供了一种丢包检测方法、网络设备及丢包检测系统,用于解决现有丢包检测方法中检测不准确的技术问题。

第一方面,提供了一种丢包检测方法,该方法包括:

第一网络设备向第二网络设备发送第一检测报文,并记录第一发包计数值。所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量。

第一网络设备启动第一定时器。在所述第一定时器超时后,所述第一网络设备向所述第二网络设备发送多个数据报文。所述多个数据报文中的每个数据报文包含所述检测标志。所述第一定时器的时长用于保证所述第一检测报文比所述多个数据报文先到达所述第二网络设备。

第一网络设备向第二网络设备发送第二检测报文。并记录第二发包计数值。所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括所述检测标志的数据报文的数量。

第一网络设备从所述第二网络设备接收响应报文,从所述响应报文获取第一收包计数值和第二收包计数值,所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括所述检测标志的数据报文的数量,所述第二收包计数值为所述第二网络设备接收所述第二检测报文时已接收的包括所述检测标志的数据报文的数量;

第一网络设备根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值对所述多个数据报文进行丢包统计。

在上述提供的丢包检测方法中,通过在所述第一网络设备设置第一定时器,延迟发送所述多个数据报文,使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所述第一检测报文也能早于所述多个数据报文先到达所述第二网络设备。在第二网络设备开始进行报文统计后,数据报文才会到达所述第二网络设备,后续的数据报文都会纳入丢包统计中,有助于提高丢包检测的准确性。

可选地,所述第一网络设备根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值对所述多个数据报文进行丢包统计包括按照如下公式进行丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

可选地,所述第一检测报文包括所述第一发包计数值,所述第二检测报文包括所述第二发包计数值。由此,所述第二网络设备能够基于所述第一发包计数值、所述第二发包计数值和本地记录的第一收包计数值和第二收包计数值进行丢包统计。可选地,所述接收响应报文包括接收第一响应报文和接收第二响应报文,相应地,所述从响应报文中获取第一收包计数值和第二收包计数值包括:从所述第一响应报文中获取所述第一收包计数值,从所述第二响应报文中获取所述第二收包计数值。

可选地,所述第一网络设备在所述第一定时器启动至所述第一定时器超时期间,以及发送所述第二检测报文后,向所述第二网络设备发送不包括所述检测标志的数据报文。能够传送不包括所述检测标志的数据报文,可以不影响正常的数据传输,保障检测准确且降低检测影响。

可选地,所述第二检测报文还用于指示所述第二网络设备在收到所述第二检测报文时,启动第二定时器,在所述第二定时器超时后记录所述第二收包计数值。所述第二定时器的时长用于保证所有在所述第二检测报文之后到达所述第二网络设备的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。通过在第二网络设备设置第二定时器,使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所有在所述第二检测报文之后到达所述第二网络设备的包括所述检测标志的数据报文的数量都会被计入所述第二收包计数值,由此提供更准确的丢包检测结果。

第二方面,提供了一种丢包检测方法。该方法包括:

第二网络设备从第一网络设备接收第一检测报文,并记录第一收包计数值。所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。

第二网络设备从所述第一网络设备接收第二检测报文,并启动定时器,在所述定时器超时后,记录第二收包计数值。所述第二收包计数值为所述定时器超时时所述第二网络设备已接收的包括所述检测标志的数据报文的数量。所述定时器的时长用于保证所有在所述第二检测报文之后到达所述第二网络设备的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。

第二网络设备向所述第一网络设备发送响应报文,所述响应报文包括所述第一收包计数值和所述第二收包计数值。

所述响应报文用于使所述第一网络设备能够根据所述第一收包计数值、所述第二收包计数值、第一发包计数值和第二发包计数值进行丢包统计。所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量。所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

在上述提供的丢包检测方法中,通过在所述第二网络设备设置定时器,使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量都会被计入所述第二收包计数值,由此提供更准确的丢包检测结果。

可选地,第二网络设备在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,还接收不包括所述检测标志的数据报文。能够接收不包括所述检测标志的数据报文,可以不影响正常的数据传输,保障检测准确且降低检测影响。

第三方面,提供了一种丢包检测方法。该方法包括:

第二网络设备从第一网络设备接收第一检测报文,并记录第一收包计数值。所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。所述第一检测报文包括第一发包计数值。所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括所述检测标志的数据报文的数量。

第二网络设备从第一网络设备接收第二检测报文。所述第二检测报文包括第二发包计数值。所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

第二网络设备启动定时器,在所述定时器超时后,记录第二收包计数值。所述第二收包计数值为所述定时器超时时所述第二网络设备已接收的包括检测标志的数据报文的数量。所述定时器的时长用于保证所有在所述第二检测报文之后到达所述第二网络设备的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。

第二网络设备根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

在上述丢包检测方法中,通过在第二网络设备设置定时器,使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量都会被计入所述第二收包计数值。由此第二网络设备可以计算出更准确的丢包检测结果。

可选地,第二网络设备根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计包括按照如下公式进行丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

可选地,第二网络设备在从第一网络设备接收所述第一检测报文之后到所述定时器超时之前,还接收不包括所述检测标志的数据报文。能够接收不包括所述检测标志的数据报文,可以不影响正常的数据传输,保障检测准确且降低检测影响。

第四方面,提供了一种第一网络设备。所述第一网络设备包括发送单元、接收单元和丢包统计单元。

所述发送单元,用于向第二网络设备发送第一检测报文,记录第一发包计数值,并启动第一定时器,在所述第一定时器超时后,向所述第二网络设备发送多个数据报文;向所述第二网络设备发送第二检测报文并记录第二发包计数值。所述第一发包计数值为所述发送单元发送所述第一检测报文时已发送的包括检测标志的数据报文的数量。所述多个数据报文中的每个数据报文包括所述检测标志。所述第二发包计数值为所述发送单元发送所述第二检测报文时已发送的包括所述检测标志的数据报文的数量。所述第一定时器的时长用于保证所述第一检测报文比所述多个数据报文先到达所述第二网络设备。

所述接收单元,用于从所述第二网络设备接收响应报文,从所述响应报文获取第一收包计数值和第二收包计数值,所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括所述检测标志的数据报文的数量,所述第二收包计数值为所述第二网络设备接收所述第二检测报文时已接收的包括所述检测标志的数据报文的数量。

所述丢包统计单元,用于根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值对所述多个数据报文进行丢包统计。

可选地,所述丢包统计单元进行丢包统计包括按照如下公式进行丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

可选地,所述第一检测报文包括所述第一发包计数值。所述第二检测报文包括所述第二发包计数值。

可选地,所述接收单元接收响应报文包括接收第一响应报文和接收第二响应报文,相应地,所述从响应报文中获取第一收包计数值和第二收包计数值包括:从所述第一响应报文中获取所述第一收包计数值,从所述第二响应报文中获取所述第二收包计数值。

可选地,所述发送单元在所述第一定时器启动至所述第一定时器超时期间,以及发送所述第二检测报文后,向所述第二网络设备发送不包括所述检测标志的数据报文。

可选地,所述第二检测报文还用于指示所述第二网络设备在收到所述第二检测报文时,启动第二定时器,在所述第二定时器超时后记录所述第二收包计数值。所述第二定时器的时长用于保证所有在所述第二检测报文之后到达所述第二网络设备的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。

第四方面的上述方案与第一方面的方案具有相同的技术效果。

第五方面,提供了一种第二网络设备。所述第二网络设备包括接收单元和发送单元。

所述接收单元,用于从第一网络设备接收第一检测报文,并记录第一收包计数值。所述第一收包计数值为所述接收单元接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。

所述接收单元,还用于从所述第一网络设备接收第二检测报文,并启动定时器,在所述定时器超时后,记录第二收包计数值。所述第二收包计数值为所述定时器超时时所述接收单元已接收的包括检测标志的数据报文的数量。所述定时器的时长用于保证所有在所述第二检测报文之后到达所述接收单元的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。

所述发送单元,用于向所述第一网络设备发送响应报文,所述响应报文包括所述第一收包计数值和所述第二收包计数值。

所述响应报文用于使所述第一网络设备能够根据所述第一收包计数值、所述第二收包计数值、第一发包计数值和第二发包计数值进行丢包统计,所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量,所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

可选地,所述接收单元在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,还接收不包括所述检测标志的数据报文。

第五方面的上述方案与第二方面的方案具有相同的技术效果。

第六方面,提供了一种第二网络设备。所述第二网络设备包括接收单元和丢包统计单元。

所述接收单元,用于从第一网络设备接收第一检测报文,并记录第一收包计数值。所述第一收包计数值为所述接收单元接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。所述第一检测报文包括第一发包计数值。所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括所述检测标志的数据报文的数量。

所述接收单元,还用于从所述第一网络设备接收第二检测报文,并启动定时器;在所述定时器超时后,记录第二收包计数值。所述第二收包计数值为所述定时器超时时所述接收单元已接收的包括检测标志的数据报文的数量。所述定时器的时长用于保证所有在所述第二检测报文之后到达所述接收单元的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。所述第二检测报文包括第二发包计数值。所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

所述丢包统计单元,用于根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

可选地,所述丢包统计单元进行丢包统计包括按照如下公式进行丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

可选地,所述接收单元在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,还接收不包括所述检测标志的数据报文。

第六方面的上述方案与第三方面的方案具有相同的技术效果。

第七方面,提供了一种第一网络设备。所述第一网络设备包括处理器、网络接口和存储器。

所述存储器用于存储一组程序指令,所述处理器用于调用所述存储器存储的程序指令执行如下操作:

触发网络接口向第二网络设备发送第一检测报文,并记录第一发包计数值,所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量。

启动第一定时器,在所述第一定时器超时后,触发网络接口向所述第二网络设备发送多个数据报文,所述多个数据报文中的每个数据报文包含所述检测标志,所述第一定时器的时长用于保证所述第一检测报文比所述多个数据报文先到达所述第二网络设备。

触发网络接口向所述第二网络设备发送第二检测报文,并记录第二发包计数值,所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括所述检测标志的数据报文的数量。

触发网络接口从所述第二网络设备接收响应报文,从所述响应报文获取第一收包计数值和第二收包计数值,所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括所述检测标志的数据报文的数量,所述第二收包计数值为所述第二网络设备接收所述第二检测报文时已接收的包括所述检测标志的数据报文的数量。

根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值对所述多个数据报文进行丢包统计。

可选地,按照如下公式进行所述丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

可选地,所述第一检测报文包括所述第一发包计数值。所述第二检测报文包括所述第二发包计数值。

可选地,所述接收响应报文包括接收第一响应报文和接收第二响应报文,相应地,所述从响应报文中获取第一收包计数值和第二收包计数值包括从所述第一响应报文中获取所述第一收包计数值,从所述第二响应报文中获取所述第二收包计数值。

可选地,在所述第一定时器启动至所述第一定时器超时期间,以及发送所述第二检测报文后,处理器还调用存储器存储的程序指令,触发网络接口向所述第二网络设备发送不包括所述检测标志的数据报文。

可选地,所述第二检测报文还用于指示所述第二网络设备在收到所述第二检测报文时,启动第二定时器,在所述第二定时器超时后记录所述第二收包计数值。所述第二定时器的时长用于保证所有在所述第二检测报文之后到达所述第二网络设备的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。

第七方面的上述方案与第一方面的方案具有相同的技术效果。

第八方面,提供了一种第二网络设备。所述第二网络设备包括处理器、网络接口和存储器。

所述存储器用于存储一组程序指令,所述处理器用于调用所述存储器存储的程序指令执行如下操作:

触发网络接口从第一网络设备接收第一检测报文,并记录第一收包计数值,所述第一收包计数值为第二网络设备接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。

触发网络接口从所述第一网络设备接收第二检测报文,并启动定时器,在所述定时器超时后,记录第二收包计数值,所述第二收包计数值为所述定时器超时时第二网络设备已接收的包括所述检测标志的数据报文的数量,所述定时器的时长用于保证所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。

触发网络接口向所述第一网络设备发送响应报文,所述响应报文包括所述第一收包计数值和所述第二收包计数值。

所述响应报文用于使所述第一网络设备能够根据所述第一收包计数值、所述第二收包计数值、第一发包计数值和第二发包计数值进行丢包统计,所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量,所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

可选地,在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,处理器还调用存储器存储的程序指令,触发网络接口接收不包括所述检测标志的数据报文。

第八方面的上述方案与第二方面的方案具有相同的技术效果。

第九方面,提供了一种第二网络设备。所述第二网络设备包括处理器、网络接口和存储器。

所述存储器用于存储一组程序指令,所述处理器用于调用所述存储器存储的程序指令执行如下操作:

触发网络接口从第一网络设备接收第一检测报文,并记录第一收包计数值,所述第一收包计数值为第二网络设备接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。所述第一检测报文包括第一发包计数值,所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括所述检测标志的数据报文的数量。

触发网络接口从所述第一网络设备接收第二检测报文,并启动定时器,在所述定时器超时后,记录第二收包计数值,所述第二收包计数值为所述定时器超时时第二网络设备已接收的包括所述检测标志的数据报文的数量,所述定时器的时长用于保证所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。所述第二检测报文包括第二发包计数值,所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

可选地,按照如下公式进行所述丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|

可选地,在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,处理器还调用存储器存储的程序指令,触发网络接口接收不包括所述检测标志的数据报文。

第九方面的上述方案与第三方面的方案具有相同的技术效果。

第十方面,提供了一种丢包检测系统。该丢包检测系统包括所述第四方面提供的第一网络设备和所述第五方面或所述第六方面提供的第二网络设备。

第十一方面,提供了一种丢包检测系统。该丢包检测系统包括所述第七方面提供的第一网络设备和所述第八方面或所述第九方面提供的第二网络设备。

以上第十方面和第十一方面提供的丢包检测系统,通过在所述第一网络设备设置第一定时器,延迟发送所述多个数据报文。使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所述第一检测报文也能早于所述多个数据报文先到达所述第二网络设备。在第二网络设备开始进行报文统计后,数据报文才会到达所述第二网络设备,后续的数据报文都会纳入丢包统计中,有助于提高丢包检测的准确性。通过在所述第二网络设备设置定时器,可以使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量都会被计入所述第二收包计数值,由此提供更准确的丢包检测结果。

附图说明

图1为本发明实施例提供的一种可能的应用场景示意图;

图2为本发明实施例提供的一种在数据报文中添加检测标志的示意图;

图3为本发明实施例提供的一种在数据报文中添加检测标志的示意图;

图4为本发明实施例提供的一种丢包检测方法的流程示意图;

图5为本发明实施例提供的一种丢包检测方法的流程示意图;

图6为本发明实施例提供的一种丢包检测方法的流程示意图;

图7为本发明实施例提供的一种第一网络设备的结构示意图;

图8为本发明实施例提供的一种第二网络设备的结构示意图;

图9为本发明实施例提供的一种第二网络设备的结构示意图;

图10为本发明实施例提供的一种第一网络设备的结构示意图;

图11为本发明实施例提供的一种第二网络设备的结构示意图;

图12为本发明实施例提供的一种第二网络设备的结构示意图;

图13为本发明实施例提供的一种丢包检测系统的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,

本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

图1为本发明实施例提供的一种可能的应用场景示意图。在该场景下第一网络设备通过一个或多个通信链路与第二网络设备进行通信。第一网络设备和第二网络设备可以是各类具有通信功能的网络设备,例如主机、交换机、路由器等。第一网络设备和第二网络设备可以在所述一个或多个通信链路进行丢包检测。所述通信链路可以是各类能用于以太网通信的链路,例如可以是物理层面的双绞线、电缆、光纤或无线连接等,也可以是逻辑层面的伪线或隧道连接等。

图1中还示出了一个丢包检测过程。其中检测报文和响应报文例如可以分别是丢包统计消息(Loss Measurement Message,LMM)和丢包统计响应(Loss Measurement Reply,LMR)。或者所述检测报文和所述响应报文都为联通性检测消息(Continuity Check Message,CCM)。图1中数据报文用字母d表示,检测报文用字母Y表示。

Y.1731协议中第一网络设备和第二网络设备在检测报文的发送时刻和接收时刻分别记录发送和接收的数据报文的计数值,根据所述计数值进行丢包统计。所述丢包统计需要保证数据报文和检测报文的传输顺序,否则统计结果将不准确。例如图1所示,当第一网络设备发送的第二个检测报文早于后两个数据报文到达第二网络设备时,将会得到错误的丢包统计值2。而实际上所述后两个数据报文并没有丢失,只是晚于所述第二个检测报文到达第二网络设备。

为解决上述问题,本发明实施例提供一种丢包检测方法。在用于丢包检测的数据报文中添加检测标志。基于所述检测标志进行丢包数的计算。第一网络设备和第二网络设备上都具有发包计数器和收包计数器。所述发包计数器能够记录包括检测标志的数据报文的发包计数值。所述收包计数器能够记录包括检测标志的数据报文的收包计数值。图2和图3分别给出一种在数据报文中添加检测标志的示意图。

图2示出了一种通过添加标签来添加所述检测标志的方式。假设第一网络设备与第二网络设备在所述通信链路上通过802.1Q协议进行通信。如图2所示,802.1Q初始报文格式中DMAC字段表示报文目的地址,SMAC字段表示报文源地址。TAG字段用于标识虚拟局域网(Virtual Local Area Network,VLAN)相关信息,包括TPID字段、Priority字段、CFI字段和VLAN ID字段。所述TPID字段使用十六进制数0x8100表示本报文是VLAN报文。所述Priority字段表示报文优先级。所述CFI字段用来表示MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1比特。取值为0表示MAC地址以标准格式进行封装,取值为1表示以非标准格式封装。所述VLAN ID字段包括12比特值,表示该报文属于哪个VLAN,其中0和4095为协议保留值。所述Type字段表示该报文所属以太网协议类型,所述Data字段为报文携带的数据。数据报文可以使用该Data字段携带数据,检测报文可以使用该Data字段携带用于统计的计数值。

图2中对802.1Q初始报文格式进行扩展,即在所述初始报文格式的所述TAG字段后和所述Type字段前,添加0TAG字段。所述0TAG字段包括Priority字段、CFI字段和VLAN ID字段。该Priority字段表示报文优先级。该VLAN ID字段置为全0。该CFI字段做为所述检测标志可以为0或1,例如使用1做为所述检测标志。可选地,802.1Q初始报文格式中可以包括连续的多个TAG字段以用于VLAN嵌套。在802.1Q初始报文格式中包括连续多个TAG字段的情况下,在最后一个TAG字段后和所述Type字段前,添加所述0TAG字段。由此,在数据报文中添加检测标志。可选地,检测报文中也可以同样的添加检测标志。

图3示出了一种通过添加控制字字段的方式来添加所述检测标志的方式。假设第一网络设备在多协议标签转换(Multi-Protocol Label Switching,MPLS)二层虚拟专用网(Layer2Virtual Private Network,L2VPN)场景下与第二网络设备在所述通信链路上使用MPLS协议进行通信。初始报文格式如图3所示,包括公网DMAC、公网SMAC、公网VLAN、0X8847、LSP标签、VPN标签、私网DMAC、私网SMAC、私网VLAN和PDU字段。所述公网DMAC字段表示报文公网目的地址。所述公网SMAC字段表示报文公网源地址。所述公网VLAN字段表示报文属于哪个公网VLAN。所述0X8847字段表示该报文协议类型为MPLS协议。所述LSP标签字段表示报文属于哪个标签交换路径(Label Switch Path,LSP)。所述VPN标签字段表示报文属于哪个虚拟专用网(Virtual Private Network,VPN)。所述私网DMAC字段表示报文私网目的地址。所述私网SMAC字段表示报文私网目的地址。所述私网VLAN字段表示报文属于哪个私网VLAN。所述PDU字段为报文数据。数据报文可以使用该PDU字段携带数据,检测报文可以使用该PDU字段携带用于统计的计数值。

图3中对初始报文格式进行扩展,即在所述初始报文格式的所述VPN字段后和所述私网DMAC字段前,添加控制字字段做为所述检测标志。所述控制字字段例如可以包括4个字节。例如可以用16进制数0X00000001代表所述检测标志。由此,在数据报文中添加检测标志。可选地,检测报文中也可以同样的添加检测标志。

图4示出了本发明实施例提供的一种丢包检测方法的流程示意图。该可以应用于图1所示的应用场景。该方法包括如下步骤:

S401、第一网络设备向第二网络设备发送第一检测报文,并记录第一发包计数值。

所述第一发包计数值为第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量。

可选地,所述第一检测报文包括所述第一发包计数值。

S402、第一网络设备启动定时器,在所述定时器超时后,第一网络设备向第二网络设备发送多个数据报文。

所述多个数据报文中的每个数据报文包含所述检测标志,所述定时器的时长用于保证所述第一检测报文比所述多个数据报文先到达第二网络设备。所述定时器的时长,可以设定为远大于数据报文在所述通信链路上的传送时间。通过设置所述定时器,延迟发送所述多个数据报文,使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所述第一检测报文也能早于所述多个数据报文先到达第二网络设备。所述定时器的时长是否足够,可以通过多次网络测试确定。网络测试中,第一网络设备先向第二网络设备发送检测报文,并启动一个具有一定时长的定时器。第一网络设备待所述定时器超时后,向第二网络设备发送数据报文。第二网络设备判断是否先收到所述检测报文,再收到所述数据报文。如果先收到所述检测报文,则所述定时器的时长满足要求。如果先收到所述数据报文,则所述定时器的时长不足。所述网络调试可以为多次,以确保所述定时器的时长足够。

S403、第一网络设备向第二网络设备发送第二检测报文,并记录第二发包计数值。

所述第二发包计数值为第一网络设备发送所述第二检测报文时已发送的包括所述检测标志的数据报文的数量。

可选地,所述第二检测报文包括所述第二发包计数值。

可选地,第一网络设备在S402中所述定时器启动至所述定时器超时期间,以及发送所述第二检测报文后,向第二网络设备发送不包括所述检测标志的数据报文。所述不包括所述检测标志的数据报文可以是不包括任何检测标志的数据报文,也可以是包括与所述检测标志不同的标志的数据报文。在数据报文中添加标志的方法,如前所述,其中可以将标志字段置为不同的值以与前述检测标志进行区分。所述不包括所述检测标志的数据报文,例如可以为通信链路上传送的未添加所述检测标志的普通数据报文,由此不影响正常的数据传输,保障检测准确且降低检测影响。第一网络设备还可以发送连续的报文序列,所述连续的报文序列可以包括不包括所述检测标志的数据报文和包括所述检测标志的数据报文。

S404、第二网络设备从第一网络设备接收所述第一检测报文,并记录第一收包计数值,所述第一收包计数值为第二网络设备接收所述第一检测报文时已接收的包括所述检测标志的数据报文的数量。

可选地,所述第一检测报文包括所述第一发包计数值。

S405、第二网络设备从第一网络设备接收所述第二检测报文,并记录第二收包计数值,所述第二收包计数值为第二网络设备接收所述第二检测报文时已接收的包括所述检测标志的数据报文的数量。

第二网络设备在接收所述第一检测报文后,接收所述第二检测报文前,可以接收多个数据报文,所述多个数据报文中的每个数据报文包括所述检测装标志。由于所述多个数据报文到达第二网络设备,所述第一收包计数值会增加到所述第二收包计数值。

可选地,所述第二检测报文包括所述第二发包计数值。

可选地,第二网络设备可以在接收到所述第二检测报文时,启动定时器,在所述定时器超时后,再记录所述第二收包计数值。在定时器启动后和超时之前,第二网络设备可以继续从第一网络设备接收包括所述检测标志的数据报文。所述定时器的时长用于保证所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量被计入所述第二收包计数值。可选地,第二网络设备可以根据所述第二检测报文的指示启动所述定时器。

通过设置所述定时器,第二网络设备可以在接收到所述第二检测报文时,继续接收包括所述检测标志的数据报文。使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量都会被计入所述第二收包计数值。通过在第二网络设备设置第二定时器,使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量都会被计入所述第二收包计数值。由此提供更准确的丢包检测结果。所述定时器的时长是否足够,可以通过多次网络测试确定。网络测试中,第一网络设备先向第二网络设备发送多个数据报文和一个协议报文,并启动一个具有一定时长的定时器。第二网络设备待所述定时器超时后继续等待,检测是否还能收到包括所述检测标志的数据报文。如果还能收到包括所述检测标志的数据报文,则所述定时器的时长不足。所述网络调试可以为多次,以确保所述定时器的时长足够。

可选地,当所述第一检测报文包括所述第一发包计数值,以及所述第二检测报文包括所述第二发包计数值时,第二网络设备可以根据所述第一发包计数值、所述第二发包计数值以及本机记录的所述第一收包计数值和所述第二收包计数值进行丢包统计。

可选地,第二网络设备在从第一网络设备接收到所述第一检测报文后,到用于继续从第一网络设备接收包括所述检测标志的数据报文的定时器超时之前,还可以接收不包括所述检测标志的数据报文。不包括所述检测标志的数据报文的含义如前所述,在此不再赘述。同时接收不包括所述检测标志的数据报文,例如通信链路上传送的正常数据报文,可以不影响正常的数据传输。保障检测准确且降低检测影响。第二网络设备接收的可以是连续的报文序列,所述连续的报文序列可以包括不包括所述检测标志的数据报文和包括所述检测标志的数据报文。

S406、第二网络设备向第一网络设备发送响应报文,所述响应报文包括所述第一收包计数值和所述第二收包计数值。

第二网络设备向第一网络设备发送响应报文可以是发送一个响应报文或是发送两个响应报文。发送一个响应报文时,在该一个响应报文中携带所述第一收包计数值和所述第二收包计数值。发送两个响应报文时,在一个响应报文中携带所述第一收包计数值,在另一个响应报文中携带所述第二收包计数值。

可选地,所述响应报文还包括所述第一发包计数值和所述第二发包计数值。在发送一个响应报文时,在该一个响应报文中还携带所述第一发包计数值和所述第二发包计数值。发送两个响应报文时,在一个响应报文中携带所述第一发包计数值,在另一个响应报文中携带所述第二发包计数值。

S407、第一网络设备从第二网络设备接收所述响应报文,从所述响应报文获取所述第一收包计数值和所述第二收包计数值。

所述接收响应报文可以是接收一个响应报文或是接收两个响应报文。当接收一个响应报文时,从该一个响应报文获取所述第一收包计数值和所述第二收包计数值。当接收两个响应报文时,从一个响应报文中获取所述第一收包计数值,从另一个响应报文中获取所述第二收包计数值。

可选地,第一网络设备可以从一个响应报文中获取所述第一发包计数值和所述第二发包计数值,或者从两个响应报文中分别获取所述第一发包计数值和所述第二发包计数值。

S408、第一网络设备根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

举例来说,第一网络设备可以根据本机记录的所述第一发包计数值和所述第二发包计数值,以及从所述响应报文获取的所述第一收包计数值和所述第二收包计数值进行丢包统计。

举例来说,第一网络设备从所述响应报文获取到所述第一发包计数值、所述第一收包计数值、所述第二发包计数值和所述第二收包计数值时,进行丢包统计。

以上方法流程中第一网络设备和第二网络设备进行丢包统计时,例如可以按照如下公式计算:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

以上公式中取绝对值可以保证第二发包计数值与第一发包计数值差值为正,以及保证第二收包计数值与第一收包计数值的差值为正。

以上方法流程中各步骤没有严格的先后顺序。第一网络设备从第二网络设备接收两个响应报文的情况下,第一网络设备接收第二个响应报文可以在发送所述多个数据报文之前,或是在发送所述第二检测报文之前。

以上丢包检测方法中,第一网络设备可以通过设置定时器,使得所述第一检测报文早于所有包括所述检测标志的数据报文到达第二网络设备。由此不会有包括所述检测标志的数据报文早于所述第一检测报文到达第二网络设备而被漏计,有助于提高丢包检测的准确性。

以上丢包检测方法中,第二网络设备可以通过设置定时器,使得所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文都被纳入统计,有助于提高丢包检测的准确性。

以上所述的丢包检测方法,通过在第一网络设备设置第一定时器,延迟发送所述多个数据报文。使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所述第一检测报文也能早于所述多个数据报文先到达第二网络设备。由此统计开始后,数据报文才会到达第二网络设备,后续的数据报文都会纳入丢包统计中,有助于提高丢包检测的准确性。

图5示出了应用图4所示的丢包检测方法的一个流程示意图。该流程中所述第一检测报文和所述第二检测报文为第一LMM报文和第二LMM报文。第一网络设备接收两个响应报文时可以为两个LMR报文。Y.1731协议中LMM报文包括TxFCf字段,LMR报文包括TxFCf字段、RxFCf和TxFCb字段。第一网络设备接收一个响应报文时,在LMR报文添加一个RxFCfc字段,用于传送收包计数值。可选地,第一网络设备接收一个响应报文时,在LMR报文还可以添加一个TxFCfc字段,用于传送发包计数值。该示例流程包括如下步骤:

S501、第一网络设备向第二网络设备发送第一LMM报文,并记录第一发包计数值TxFCf[tp]。

所述第一发包计数值TxFCf[tp]为第一网络设备发送所述第一LMM报文时(假设在tp时刻)已发送的包括检测标志的数据报文的数量。

可选地,第一网络设备将所述TxFCf[tp]设置在所述第一LMM报文的TxFCf字段。

S502、第一网络设备启动定时器,在所述定时器超时后,第一网络设备向第二网络设备发送多个数据报文。

所述多个数据报文中的每个数据报文都包括所述检测标志。所述定时器的时长用于保证所述第一LMM报文比所述多个数据报文先到达第二网络设备。

S503、第一网络设备向第二网络设备发送第二LMM报文,并记录第二发包计数值TxFCf[tc]。

所述第二发包计数值TxFCf[tc]为第一网络设备发送所述第二LMM报文时(假设在tc时刻)已发送的包括所述检测标志的数据报文的数量。

可选地,第一网络设备将所述TxFCf[tc]设置在所述第二LMM报文的TxFCf字段。

S504、第二网络设备从第一网络设备接收所述第一LMM报文,并记录第一收包计数值RxFCf[tp]。

所述第一收包计数值RxFCf[tp]为第二网络设备接收所述第一LMM报文时已接收的包括所述检测标志的数据报文的数量。

可选地,所述第一LMM报文包括所述第一发包计数值TxFCf[tp]。

S505、第二网络设备从第一网络设备接收第二LMM报文,并记录第二收包计数值RxFCf[tc]。

所述第二收包计数值RxFCf[tc]为第二网络设备接收所述第二LMM报文时已接收的包括所述检测标志的数据报文的数量。

第二网络设备在接收所述第一LMM报文后,接收所述第二LMM报文前,可以接收多个数据报文,所述多个数据报文中的每个数据报文包括所述检测装标志。由于所述多个数据报文到达第二网络设备,所述第一收包计数值RxFCf[tp]会增加到所述第二收包计数值RxFCf[tc]。

可选地,所述第二LMM报文包括所述第二发包计数值TxFCf[tc]。

可选地,第二网络设备可以在接收到所述第二LMM报文时,启动定时器,在所述定时器超时后,再记录所述第二收包计数值RxFCf[tc]。在定时器启动后和超时之前,第二网络设备可以继续从第一网络设备接收包括所述检测标志的数据报文。所述定时器的时长用于保证所有在所述第二LMM报文之后到达第二网络设备的包括所述检测标志的数据报文被计入所述第二收包计数值RxFCf[tc]。

可选地,第二网络设备可以根据所述第一LMM中的TxFCf[tp]、所述第二LMM中的TxFCf[tc]以及本机记录的RxFCf[tc]和RxFCf[tp]进行丢包统计。丢包统计采用如下公式:

丢包统计值=|TxFCf[tc]-TxFCf[tp]|-|RxFCf[tc]-RxFCf[tp]|

S506、第二网络设备向第一网络设备发送LMR报文,所述LMR报文包括所述第一收包计数值RxFCf[tp]和所述第二收包计数值RxFCf[tc]。

发送一个响应报文时,第二网络设备可以将所述第一收包计数值RxFCf[tp]设置在该一个LMR报文的RxFCf,将第二收包计数值RxFCf[tc]设置在该一个LMR报文的扩展的RxFCfc字段。发送两个响应报文时,第二网络设备可以将所述第一收包计数值RxFCf[tp]设置在第一个LMR报文的RxFCf字段,将所述第二收包计数值RxFCf[tc]设置在第二个LMR报文的RxFCf字段。

可选地,所述LMR报文还包括所述第一发包计数值TxFCf[tp]和所述第二发包计数值TxFCf[tc]。在发送一个响应报文时,第二网络设备可以将所述第一发包计数值TxFCf[tp]设置在该一个LMR报文的TxFCf字段,将所述第二发包计数值TxFCf[tc]设置在该一个LMR报文的扩展的TxFCfc字段。在发送两个响应报文时,第二网络设备可以将所述第一发包计数值TxFCf[tp]设置在第一个LMR报文的TxFCf字段,将所述第二发包计数值TxFCf[tc]设置在第二个LMR报文的TxFCf字段。

S507、第一网络设备从第二网络设备接收所述LMR报文,从所述LMR报文获取所述第一收包计数值RxFCf[tp]和所述第二收包计数值RxFCf[tc]。

接收一个LMR报文时,从该一个LMR报文获取所述第一收包计数值和所述第二收包计数值。当接收两个LMR报文时,从一个响应报文中获取所述第一收包计数值,从另一个响应报文中获取所述第二收包计数值。

可选地,第一网络设备可以从一个LMR报文中获取所述第一发包计数值和所述第二发包计数值,或者从两个LMR报文中分别获取所述第一发包计数值和所述第二发包计数值。

S508、第一网络设备根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

丢包统计采用如下公式:

丢包统计值=|TxFCf[tc]-TxFCf[tp]|-|RxFCf[tc]-RxFCf[tp]|

举例来说,第一网络设备可以根据本机记录的TxFCf[tc]和TxFCf[tp],以及响应报文中的RxFCf[tc]和RxFCf[tp]进行丢包统计。

举例来说,第一网络设备可以根据响应报文中的TxFCf[tp]、RxFCf[tp]、TxFCf[tc]和RxFCf[tc]进行丢包统计。

图6示出了应用图4所示的丢包检测方法的一个流程示意图。该流程中所述第一检测报文和所述第二检测报文都为第一CMM报文和第二CMM报文。第一网络设备接收两个响应报文时可以为两个CMM报文。Y.1731协议中CMM报文包括TxFCf字段、RxFCb和TxFCb字段。第一网络设备接收一个响应报文时,利用CMM报文中的保留字段做为RxFCbc字段或添加一个RxFCbc字段,用于传送收包计数值。可选地,第一网络设备接收一个响应报文时,在CMM报文还可以添加一个TxFCbc字段,用于传送发包计数值。该示例流程包括如下步骤:

S601、第一网络设备向第二网络设备发送第一CMM报文,并记录第一发包计数值TxFCf[tp]。

所述第一发包计数值TxFCf[tp]为第一网络设备发送所述第一CMM报文时(假设在tp时刻)已发送的包括检测标志的数据报文的数量。

可选地,第一网络设备将所述TxFCf[tp]设置在所述第一CMM报文的TxFCf字段。

S602、第一网络设备启动定时器,在所述定时器超时后,第一网络设备向第二网络设备发送多个数据报文。

所述多个数据报文中的每个数据报文都包括所述检测标志。所述定时器的时长用于保证所述第一CMM报文比所述多个数据报文先到达第二网络设备。

S603、第一网络设备向第二网络设备发送第二CMM报文,并记录第二发包计数值TxFCf[tc]。

所述第二发包计数值TxFCf[tc]为第一网络设备发送所述第二CMM报文时(假设在tc时刻)已发送的包括所述检测标志的数据报文的数量。

可选地,第一网络设备将所述TxFCf[tc]设置在所述第二CMM报文的TxFCf字段。

S604、第二网络设备从第一网络设备接收所述第一CMM报文,并记录第一收包计数值RxFCb[tp]。

所述第一收包计数值RxFCb[tp]为第二网络设备接收所述第一CMM报文时已接收的包括所述检测标志的数据报文的数量。

可选地,所述第一CMM报文包括所述第一发包计数值TxFCf[tp]。

S605、第二网络设备从第一网络设备接收第二CMM报文,并记录第二收包计数值RxFCb[tc]。

所述第二收包计数值RxFCb[tc]为第二网络设备接收所述第二CMM报文时已接收的包括所述检测标志的数据报文的数量。

第二网络设备在接收所述第一CMM报文后,接收所述第二CMM报文前,可以接收多个数据报文,所述多个数据报文中的每个数据报文包括所述检测装标志。由于所述多个数据报文到达第二网络设备,所述第一收包计数值RxFCb[tp]会增加到所述第二收包计数值RxFCb[tc]。

可选地,所述第二CMM报文包括所述第二发包计数值TxFCf[tc]。

可选地,第二网络设备可以在接收到所述第二CMM报文时,启动定时器,在所述定时器超时后,再记录所述第二收包计数值RxFCb[tc]。在定时器启动后和超时之前,第二网络设备可以继续从第一网络设备接收包括所述检测标志的数据报文。所述定时器的时长用于保证所有在所述第二CMM报文之后到达第二网络设备的包括所述检测标志的数据报文被计入所述第二收包计数值RxFCb[tc]。

可选地,第二网络设备可以根据所述第一CMM中的TxFCf[tp]、所述第二CMM中的TxFCf[tc]以及本机记录的RxFCb[tc]和RxFCb[tp]进行丢包统计。其中为避免字段名冲突,将所述TxFCf[tp]记为TxFCb[tp],将所述TxFCf[tc]记为TxFCb[tc]。所述字段名冲突是指使用CMM报文传送中,第二网络设备中可能会使用TxFCf字段来向第一网络设备发送其他计数值。所述丢包统计采用如下公式:

丢包统计值=|TxFCb[tc]-TxFCb[tp]|-|RxFCb[tc]-RxFCb[tp]|

S606、第二网络设备向第一网络设备发送做为响应报文的CMM报文,所述做为响应报文的CMM报文包括所述第一收包计数值RxFCb[tp]和所述第二收包计数值RxFCb[tc]。

发送一个响应报文时,第二网络设备可以将所述第一收包计数值RxFCb[tp]设置在RxFCb字段,将第二收包计数值RxFCb[tc]设置在该一个响应报文的扩展的RxFCbc字段。发送两个响应报文时,第二网络设备可以将所述第一收包计数值RxFCb[tp]设置在第一个CMM报文的RxFCb字段,将所述第二收包计数值RxFCb[tc]设置在第二个CMM报文的RxFCb字段。

可选地,所述做为响应报文的CMM报文还包括所述第一发包计数值TxFCf[tp]和所述第二发包计数值TxFCf[tc]。其中为避免字段名冲突,将TxFCf[tp]记为TxFCb[tp],TxFCf[tc]记为TxFCb[tc]。所述字段名冲突是指使用CMM报文传送中,第二网络设备中可能会使用TxFCf字段来向第一网络设备发送其他计数值。由此在发送一个响应报文时,第二网络设备将所述TxFCb[tp]设置在所述CMM报文的TxFCb字段,将所述TxFCb[tc]设置在所述CMM报文的TxFCbc字段。在发送两个做为响应报文的CMM报文时,第二网络设备可以将所述第一发包计数值TxFCb[tp]设置在第一个CMM报文的TxFCb字段,将所述第二发包计数值TxFCb[tc]设置在第二个LMR报文的TxFCb字段。

S607、第一网络设备从第二网络设备接收所述做为响应报文的CMM报文,从所述CMM报文获取第一收包计数值RxFCb[tp]和所述第二收包计数值RxFCb[tc]。

接收一个CMM报文时,从该一个CMM报文获取所述第一收包计数值和所述第二收包计数值。当接收两个CMM报文时,从一个CMM报文中获取所述第一收包计数值,从另一个CMM报文中获取所述第二收包计数值。

可选地,第一网络设备可以从一个CMM报文中获取所述第一发包计数值和所述第二发包计数值,或者从两个CMM报文中分别获取所述第一发包计数值和所述第二发包计数值。

S608、第一网络设备根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

丢包统计采用如下公式:

丢包统计值=|TxFCb[tc]-TxFCb[tp]|-|RxFCb[tc]-RxFCb[tp]|

举例来说,第一网络设备可以根据本机记录的所述第一发包计数值(TxFCf[tp]的值等于TxFCb[tp]的值)和所述第二发包计数值(TxFCf[tc]的值等于TxFCb[tc]的值),以及所述做为响应报文的CMM报文中的RxFCb[tc]和RxFCb[tp]进行丢包统计。

举例来说,第一网络设备可以根据所述做为响应报文的CMM报文中的TxFCb[tp]、RxFCb[tp]、TxFCb[tc]和RxFCb[tc]进行丢包统计。

图7为本发明实施例提供的一种第一网络设备700的结构示意图。第一网络设备700可用于执行图4至图6对应的实施例中第一网络设备所执行的方法。第一网络设备700包括发送单元701、接收单元702和丢包统计单元703。

发送单元701,用于向第二网络设备发送第一检测报文并记录第一发包计数值,启动第一定时器,在所述第一定时器超时后,向所述第二网络设备发送多个数据报文,向所述第二网络设备发送第二检测报文并记录第二发包计数值。所述第一发包计数值为发送单元701发送所述第一检测报文时已发送的包括检测标志的数据报文的数量。所述多个数据报文中的每个数据报文包括所述检测标志。所述第二发包计数值为发送单元701发送所述第二检测报文时已发送的包括所述检测标志的数据报文的数量。所述第一定时器的时长用于保证所述第一检测报文比所述多个数据报文先到达所述第二网络设备。

接收单元702,用于从所述第二网络设备接收响应报文,从所述响应报文获取第一收包计数值和第二收包计数值,所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括所述检测标志的数据报文的数量,所述第二收包计数值为所述第二网络设备接收所述第二检测报文时已接收的包括所述检测标志的数据报文的数量。

丢包统计单元703,用于根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值对所述多个数据报文进行丢包统计。

可选地,丢包统计单元703进行丢包统计包括按照如下公式进行丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

可选地,所述第一检测报文包括所述第一发包计数值。所述第二检测报文包括所述第二发包计数值。

可选地,所述接收单元接收响应报文包括接收第一响应报文和接收第二响应报文,相应地,所述从响应报文中获取第一收包计数值和第二收包计数值包括从所述第一响应报文中获取所述第一收包计数值,从所述第二响应报文中获取所述第二收包计数值。

可选地,发送单元701在所述第一定时器启动至所述第一定时器超时期间,以及发送所述第二检测报文后,向所述第二网络设备发送不包括所述检测标志的数据报文。

可选地,所述第二检测报文还用于指示所述第二网络设备在收到所述第二检测报文时,启动第二定时器,在所述第二定时器超时后记录所述第二收包计数值。所述第二定时器的时长用于保证所有在所述第二检测报文之后到达所述第二网络设备的包括所述检测标志的数据报文被计入所述第二收包计数值。

图8为本发明实施例提供的一种第二网络设备800的结构示意图。第二网络设备800可用于执行图4至图6对应的实施例中第二网络设备所执行的方法。第二网络设备800包括接收单元801和发送单元802。

接收单元801,用于从第一网络设备接收第一检测报文,并记录第一收包计数值。所述第一收包计数值为接收单元801接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。

接收单元801,还用于从所述第一网络设备接收第二检测报文,并启动定时器,在所述定时器超时后,记录第二收包计数值。所述第二收包计数值为所述定时器超时时接收单元801已接收的包括检测标志的数据报文的数量。所述定时器的时长用于保证所有在所述第二检测报文之后到达接收单元801的包括所述检测标志的数据报文被计入所述第二收包计数值。

发送单元802,用于向所述第一网络设备发送响应报文,所述响应报文包括所述第一收包计数值和所述第二收包计数值。

所述响应报文用于使所述第一网络设备能够根据所述第一收包计数值、所述第二收包计数值、第一发包计数值和第二发包计数值进行丢包统计,所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量,所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

可选地,接收单元801在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,还接收不包括所述检测标志的数据报文。

可选地,接收单元801,还用于在从所述第一网络设备接收第一检测报文之后,从所述第一网络设备接收多个数据报文。所述多个数据报文中的每个数据报文包括所述检测标志。

图9为本发明实施例提供的一种第二网络设备900的结构示意图。第二网络设备900可用于执行图4至图6对应的实施例中第二网络设备所执行的方法。第二网络设备900包括接收单元901和丢包统计单元902。

接收单元901,用于从第一网络设备接收第一检测报文,并记录第一收包计数值。所述第一收包计数值为接收单元901接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。所述第一检测报文包括第一发包计数值。所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括所述检测标志的数据报文的数量。

接收单元901,还用于从所述第一网络设备接收第二检测报文,并启动定时器,在所述定时器超时后,记录第二收包计数值。所述第二收包计数值为所述定时器超时时接收单元901已接收的包括检测标志的数据报文的数量。所述定时器的时长用于保证所有在所述第二检测报文之后到达接收单元901的包括所述检测标志的数据报文被计入所述第二收包计数值。所述第二检测报文包括第二发包计数值。所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

丢包统计单元902,用于根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

可选地,丢包统计单元902进行丢包统计包括按照如下公式进行丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

可选地,接收单元901在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,还接收不包括所述检测标志的数据报文。

可选地,接收单元901,还用于在从所述第一网络设备接收第一检测报文之后,从所述第一网络设备接收多个数据报文。所述多个数据报文中的每个数据报文包括所述检测标志。

图10为本发明实施例提供的一种第一网络设备1000的结构示意图。第一网络设备1000可以例如是主机、交换机、路由器等。第一网络设备1000可以执行图4至图6所示实施例中的第一网络设备所执行的步骤。第一网络设备1000可以为图7所示实施例中的第一网络设备700。第一网络设备1000包括处理器1001、网络接口1002和存储器1003。

所述存储器1003用于存储一组程序指令,所述处理器1001用于调用所述存储器1003存储的程序指令执行如下操作:

触发网络接口1002向第二网络设备发送第一检测报文,并记录第一发包计数值,所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量。

启动第一定时器,在所述第一定时器超时后,触发网络接口1002向所述第二网络设备发送多个数据报文,所述多个数据报文中的每个数据报文包含所述检测标志,所述第一定时器的时长用于保证所述第一检测报文比所述多个数据报文先到达所述第二网络设备。

触发网络接口1002向所述第二网络设备发送第二检测报文,并记录第二发包计数值,所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括所述检测标志的数据报文的数量。

触发网络接口1002从所述第二网络设备接收响应报文,从所述响应报文获取第一收包计数值和第二收包计数值,所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括所述检测标志的数据报文的数量,所述第二收包计数值为所述第二网络设备接收所述第二检测报文时已接收的包括所述检测标志的数据报文的数量。

根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值对所述多个数据报文进行丢包统计。

可选地,按照如下公式进行所述丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|。

可选地,所述第一检测报文包括所述第一发包计数值。所述第二检测报文包括所述第二发包计数值。

可选地,所述接收响应报文包括接收第一响应报文和接收第二响应报文,相应地,所述从响应报文中获取第一收包计数值和第二收包计数值包括:从所述第一响应报文中获取所述第一收包计数值,从所述第二响应报文中获取所述第二收包计数值。

可选地,在所述第一定时器启动至所述第一定时器超时期间,以及发送所述第二检测报文后,处理器1001还调用存储器1003存储的程序指令,触发网络接口1002向所述第二网络设备发送不包括所述检测标志的数据报文。

可选地,所述第二检测报文还用于指示所述第二网络设备在收到所述第二检测报文时,启动第二定时器,在所述第二定时器超时后记录所述第二收包计数值。所述第二定时器的时长用于保证所有在所述第二检测报文之后到达所述第二网络设备的包括所述检测标志的数据报文被计入所述第二收包计数值。

第一网络设备1000为图7所示实施例中的第一网络设备700时,处理器1001实现丢包统计单元703的功能,处理器1001读取存储器1003存储的程序指令触发网络接口1002实现发送单元701和接收单元702的功能。

图11为本发明实施例提供的一种第二网络设备1100的结构示意图。第二网络设备1100可以例如是主机、交换机、路由器等。第二网络设备1100可以执行图4至图6所示实施例中的第二网络设备所执行的步骤。第二网络设备1100可以为图8所示实施例中的第二网络设备800。第二网络设备1100包括处理器1101、网络接口1102和存储器1103。

所述存储器1103用于存储一组程序指令,所述处理器1101用于调用所述存储器1103存储的程序指令执行如下操作:

触发网络接口1102从第一网络设备接收第一检测报文,并记录第一收包计数值,所述第一收包计数值为第二网络设备1100接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。

触发网络接口1102从所述第一网络设备接收第二检测报文,并启动定时器,在所述定时器超时后,记录第二收包计数值,所述第二收包计数值为所述定时器超时时第二网络设备1100已接收的包括所述检测标志的数据报文的数量,所述定时器的时长用于保证所有在所述第二检测报文之后到达第二网络设备1100的包括所述检测标志的数据报文被计入所述第二收包计数值。

触发网络接口1102向所述第一网络设备发送响应报文,所述响应报文包括所述第一收包计数值和所述第二收包计数值。

所述响应报文用于使所述第一网络设备能够根据所述第一收包计数值、所述第二收包计数值、第一发包计数值和第二发包计数值进行丢包统计,所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量,所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

可选地,在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,处理器1101还调用存储器1103存储的程序指令,触发网络接口1102接收不包括所述检测标志的数据报文。

第二网络设备1100为图8所示实施例中的第二网络设备800时,处理器1101读取存储器1103存储的程序指令触发网络接口1102实现接收单元801和发送单元802的功能。

图12为本发明实施例提供的一种第二网络设备1200的结构示意图。第二网络设备1200可以例如是主机、交换机、路由器等。第二网络设备1200可以执行图4至图6所示实施例中的第二网络设备所执行的步骤。第二网络设备1200可以为图9所示实施例中的第二网络设备900。第二网络设备1200包括处理器1201、网络接口1202和存储器1203。

所述存储器1203用于存储一组程序指令,所述处理器1201用于调用所述存储器1203存储的程序指令执行如下操作:

触发网络接口1202从第一网络设备接收第一检测报文,并记录第一收包计数值,所述第一收包计数值为第二网络设备1100接收所述第一检测报文时已接收的包括检测标志的数据报文的数量。所述第一检测报文包括第一发包计数值,所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括所述检测标志的数据报文的数量。

触发网络接口1202从所述第一网络设备接收第二检测报文,并启动定时器,在所述定时器超时后,记录第二收包计数值,所述第二收包计数值为所述定时器超时时第二网络设备1200已接收的包括所述检测标志的数据报文的数量,所述定时器的时长用于保证所有在所述第二检测报文之后到达第二网络设备1200的包括所述检测标志的数据报文被计入所述第二收包计数值。所述第二检测报文包括第二发包计数值,所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括检测标志的数据报文的数量。

根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

可选地,按照如下公式进行所述丢包统计:

丢包统计值=|第二发包计数值-第一发包计数值|-|第二收包计数值-第一收包计数值|

可选地,在从所述第一网络设备接收所述第一检测报文之后到所述定时器超时之前,处理器1201还调用存储器1203存储的程序指令,触发网络接口1202接收不包括所述检测标志的数据报文。

第二网络设备1200为图9所示实施例中的第二网络设备900时,处理器1201实现丢包统计单元902的功能,处理器1201读取存储器1203存储的程序指令触发网络接口1202实现接收单元901的功能。

以上处理器1001、1101和1201包括但不限于中央处理器(英文:Central Processing Unit,简称:CPU),网络处理器(英文:Network Processor,简称:NP),专用集成电路(英文:Application-Specific Integrated Circuit,简称:ASIC)或者可编程逻辑器件(英文:Programmable Logic Device,缩写:PLD)中的一个或多个。上述PLD可以是复杂可编程逻辑器件(英文:Complex Programmable Logic Device,缩写:CPLD),现场可编程逻辑门阵列(英文:Field-Programmable Gate Array,缩写:FPGA),通用阵列逻辑(英文:Generic Array Logic,缩写:GAL)或其任意组合。

网络接口1002、1102和1202可以是有线接口,例如光纤分布式数据接口(英文:Fiber Distributed Data Interface,简称:FDDI)、以太网(英文:Ethernet)接口。网络接口1002、1102和1202也可以是无线接口,例如无线局域网接口。

存储器1003、1103和1203可以是包括但不限于内容寻址存储器(英文:Content-Addressable Memory,简称:CAM),例如三态内容寻址存储器(英文:Ternary CAM,简称:TCAM),随机存取存储器(英文:Random-Access Memory,简称:RAM)。存储器1003、1103和1203也可以分别集成在处理器1001、1101和1201中。如果存储器1003、1103和1203分别是与处理器1001、1101和1201相互独立的器件,则存储器1003、1103和1203分别和处理器1001、1101和1201相连,例如可以通过总线通信。

网络接口1002、1102和1202可以分别和处理器1001、1101和1201通过总线通信,也可以直连。

图13为本发明实施例提供的一种丢包检测系统的结构示意图。所述丢包检测系统包括第一网络设备和第二网络设备。所述第一网络设备和所述第二网络设备可以通过一个或多个通信链路进行通信。所述第一网络设备和所述第二网络设备分别可用于执行图4至图6对应的实施例中第一网络设备和第二网络设备执行的步骤。所述第一网络设备可以实现图7中第一网络设备700的功能,可以为图10中第一网络设备1000。所述第二网络设备可以实现图8中第二网络设备800或图9中第二网络设备900的功能,可以为图11中第二网络设备1100或图12中第二网络设备1200。举例来说:

所述第一网络设备,可以用于向所述第二网络设备发送第一检测报文并记录第一发包计数值,启动第一定时器,在所述第一定时器超时后,向所述第二网络设备发送多个数据报文,向所述第二网络设备发送第二检测报文并记录第二发包计数值。所述第一发包计数值为所述第一网络设备发送所述第一检测报文时已发送的包括检测标志的数据报文的数量。所述多个数据报文中的每个数据报文包括所述检测标志。所述第二发包计数值为所述第一网络设备发送所述第二检测报文时已发送的包括所述检测标志的数据报文的数量。所述第一定时器的时长用于保证所述第一检测报文比所述多个数据报文先到达所述第二网络设备。

所述第二网络设备,可以用于从所述第一网络设备接收所述第一检测报文,并记录第一收包计数值。所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括所述检测标志的数据报文的数量。

所述第二网络设备,可以还用于从所述第一网络设备接收所述第二检测报文,并记录第二收包计数值。所述第二收包计数值为所述第二网络设备接收所述第二检测报文时已接收的包括所述检测标志的数据报文的数量。

所述第二网络设备,可以还用于向所述第一网络设备发送第一响应报文。所述第一响应报文包括第一收包计数值。所述第一收包计数值为所述第二网络设备接收所述第一检测报文时已接收的包括所述检测标志的数据报文的数量。

所述第二网络设备,可以还用于向所述第一网络设备发送第二响应报文。所述第二响应报文包括第二收包计数值。所述第二收包计数值为所述第二网络设备接收所述第二检测报文时已接收的包括所述检测标志的数据报文的数量。

所述第一网络设备,可以还用于根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。

以上所述丢包检测系统,通过在所述第一网络设备设置第一定时器,延迟发送所述多个数据报文。使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所述第一检测报文也能早于所述多个数据报文先到达所述第二网络设备。在第二网络设备开始进行报文统计后,数据报文才会到达所述第二网络设备,后续的数据报文都会纳入丢包统计中,有助于提高丢包检测的准确性。通过在所述第二网络设备设置定时器,可以使得即使所述第一网络设备向所述第二网络设备发送的报文发生乱序,所有在所述第二检测报文之后到达第二网络设备的包括所述检测标志的数据报文的数量都会被计入所述第二收包计数值,由此提供更准确的丢包检测结果。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的流量转发方法和设备,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域的普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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