一种检测组播流传输质量的方法、装置及系统的制作方法

文档序号:10474293阅读:236来源:国知局
一种检测组播流传输质量的方法、装置及系统的制作方法
【专利摘要】本发明实施例公开了一种检测组播流传输质量的方法。该方法包括:第一网络设备接收第二网络设备发送的至少一个测试报文,并所述第一网络设备根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果;其中,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。此外,本发明实施例还公开了一种检测组播流传输质量的装置。
【专利说明】
一种检测组播流传输质量的方法、装置及系统
技术领域
[0001]本发明涉及通信技术领域,特别是涉及一种检测组播流传输质量的方法、装置及系统。
【背景技术】
[0002]对于视频直播业务等具有单点对多点特征的业务,采用组播技术进行数据传输,能够避免服务器资源和网络带宽的浪费。因此,组播功能在转发设备上的应用越来越广。其中,采用组播协议发送的数据流可以称之为组播流。在组播流传输的过程中有时组播流的传输质量不佳,如在视频直播业务中用户有时会发现视频卡屏。在这种情况下,为了排除组播流传输质量不佳的问题,需要在组播流的传输路径中查找出存在传输质量问题的位置。而为了查找存在传输质量问题的位置,就需要检测组播流在传输路径上不同网络设备之间的传输质量。
[0003]发明人经过研究发现,组播流的传输质量通常需要借助外接设备来检测。对于组播流的传输路径上的一个网络设备,技术人员需要在所述网络设备所处的现场将外接设备与所述网络设备相连接。而为了检测到传输路径上所有位置的组播流传输质量,技术人员需要到传输路径上每一个网络设备所处的现场去,分别将外接设备与每一个网络设备相连接,从而分别检测到组播流从组播源到每一个网络设备的传输质量。但是,组播流的传输路径上通常具有大量的网络设备,可见,技术人员在定位组播流传输质量问题时需要承担繁重、复杂的工作。

【发明内容】

[0004]本申请所要解决的技术问题是,提供一种检测组播流传输质量的方法、装置及系统,以使得检测组播流传输质量时无需在网络设备上连接用于检测的外接设备,从而简化技术人员在定位组播流传输质量问题时承担的工作。
[0005]第一方面,提供了一种检测组播传输质量的方法,所述方法包括:
[0006]第一网络设备接收第二网络设备发送的至少一个测试报文,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备;
[0007]所述第一网络设备根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。
[0008]可选的,所述检测结果包括抖动时间,所述至少一个测试报文包括第一测试报文、第二测试报文和第三测试报文;
[0009]所述第一网络设备根据所述至少一个测试报文,分析所述组播流从所述第二网络设备到所述第一网络设备的传输质量,得到用于描述所述传输质量的检测结果,包括:
[0010]所述第一网络设备计算所述第一时间和第二时间之差作为第一时间差,并计算所述第二时间与第三时间之差作为第二时间差;其中,所述第一时间表示所述第一网络设备接收所述第一测试报文的时间,所述第二时间表示所述第一网络设备接收所述第二测试报文的时间,所述第三时间表示所述第一网络设备接收所述第三测试报文的时间;
[0011]所述第一网络设备计算所述第一时间差与所述第二时间差之间的差值,作为所述组播流在所述第二网络设备与所述第一网络设备之间的抖动时间。
[0012]可选的,所述检测结果包括丢包,所述至少一个测试报文包括第四测试报文;
[0013]所述第一网络设备根据所述至少一个测试报文,分析所述组播流从所述第二网络设备到所述第一网络设备的传输质量,得到用于描述所述传输质量的检测结果,包括:
[0014]所述第一网络设备根据第一顺序标识,确定所述第四测试报文对应的接收时限;其中,所述第一顺序标识表示在所述第二网络设备发送的测试报文中所述第四测试报文的顺序,所述第一顺序标识携带在所述第四测试报文中;
[0015]若所述第一网络设备在所述接收时限内接收到所述第四测试报文,所述第一网络设备将所述第四测试报文计入接收报文数;
[0016]若所述第一网络设备在所述接收时限内未接收到所述第四测试报文,所述第一网络设备拒绝将所述第四测试报文计入接收报文数;
[0017]其中,所述接收报文数用于计算所述组播流在所述第二网络设备传输与所述第一网络设备之间的丢包。
[0018]可选的,所述检测结果包括乱序,所述至少一个测试报文包括第五测试报文和第六测试报文,其中,所述第一网络设备在接收到所述第五测试报文之后接收到所述第六测试报文;
[0019]所述第一网络设备根据所述至少一个测试报文,分析所述组播流从所述第二网络设备到所述第一网络设备的传输质量,得到用于描述所述传输质量的检测结果,包括:
[0020]所述第一网络设备比较第二顺序标识与第三顺序标识;其中,所述第二发送顺序表示在所述第二网络设备发送的测试报文中所述第五测试报文的顺序,所述第二顺序标识携带在所述第五测试报文中,所述第三发送顺序表示在所述第二网络设备发送的测试报文中所述第六测试报文的顺序,所述第三顺序标识携带在所述第六测试报文中;
[0021]若所述第二顺序标识小于所述第三顺序标识,所述第一网络设备将所述第六测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的乱序报文数。
[0022]可选的,所述检测结果包括错包,所述至少一个测试报文包括第七测试报文;
[0023]所述第一网络设备根据所述至少一个测试报文,分析所述组播流从所述第二网络设备到所述第一网络设备的传输质量,得到用于描述所述传输质量的检测结果,包括:
[0024]所述第一网络设备识别并验证所述第七测试报文中携带的校验总和Checksum;
[0025]若所述校验总和未通过验证,所述第一网络设备将所述第七测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的错包报文数。
[0026]可选的,所述方法还包括:
[0027]所述第一网络设备向所述第二网络设备发送所述检测结果。
[0028]可选的,所述第一网络设备向所述第二网络设备发送所述检测结果,具体为:
[0029]所述第一网络设备在接收到每个测试报文之后,将基于每个测试报文得到的检测结果分别向所述第二网络设备发送。
[0030]可选的,所述第一网络设备向所述第二网络设备发送所述检测结果,具体为:
[0031]所述第一网络设备在接收到多个测试报文之后,将基于多个测试报文得到的所有检测结果一起发送给第二网络设备。
[0032]可选的,所述第一网络设备接收第二网络设备发送的至少一个测试报文,具体为:所述第一网络设备通过接收专用硬件接收所述第二网络设备发送的所述至少一个测试报文,所述接收专用硬件为用于接收所述测试报文的独立硬件。
[0033]可选的,所述第一网络设备与所述第二网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第二网络设备与所述第一网络设备之间通过所述TCP/IP连接传输。
[0034]可选的,所述方法还包括:
[0035]所述第一网络设备按照所述组播流对应的转发策略,转发所述至少一个的测试报文。
[0036]可选的,所述第一网络设备接收第二网络设备发送的至少一个测试报文,包括:
[0037]所述第一网络设备接收组播报文;
[0038]所述第一网络设备查找所述组播报文中是否携带有所述测试报文的标识,所述测试报文的标识包括魔术字;
[0039]若所述组播报文中携带有所述测试报文的标识,所述第一网络设备将所述组播报文识别为所述测试报文。
[0040]可选的,在所述第一网络设备接收所述第二网络设备发送的至少一个测试报文之前,所述方法还包括:
[0041 ]所述第一网络设备接收所述第二网络设备发送的准备测试通知;
[0042]所述第一网络设备基于所述准备测试通知执行测试的准备操作,并在所述准备操作执行完毕之后向所述第二网络设备发送准备测试回应,以便所述第二网络设备基于所述准备测试回应发送所述至少一个测试报文。
[0043]可选的,所述准备测试通知中携带有所述至少一个测试报文的发送总数和发送周期。
[0044]可选的,所述测试报文中携带有发送时间戳和接收时间戳,所述发送时间戳表示第二网络设备发送所述测试报文的时间,所述接收时间戳表示第一网络设备接收所述测试报文的时间。
[0045]可选的,所述测试报文中携带测试程序的标识,所述测试程序为所述第二网络设备上用于实现检测组播流传输质量功能的程序。
[0046]第二方面,提供了一种检测组播流传输质量的方法,所述方法包括:
[0047]第二网络设备生成至少一个测试报文;所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识;
[0048]所述第二网络设备向第一网络设备发送所述至少一个测试报文,以便所述第一网络设备根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果;
[0049]其中,所述至少一个测试报文为按照所述组播流传输的组播报文,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。
[0050]可选的,所述方法还包括:
[0051 ]所述第二网络设备接收所述第一网络设备发送的所述检测结果。
[0052]可选的,所述检测结果是所述第一网络设备在接收到每个测试报文之后基于每个测试报文分别得到并分别发送检测结果。
[0053]可选的,所述检测结果是所述第一网络设备在接收到多个测试报文之后基于所述多个测试报文得到并一起发送所有检测结果。
[0054]可选的,所述第二网络设备向第二网络设备发送至少一个测试报文,具体为:所述第二网络设备通过发送专用硬件向所述第一网络设备发送所述至少一个测试报文,所述发送专用硬件为用于发送所述测试报文的独立硬件。
[0055]可选的,所述第二网络设备与所述第一网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第一网络设备与所述第二网络设备之间通过所述TCP/IP连接传输。
[0056]可选的,在所述测试报文中携带有所述第二网络设备打入的魔术字,所述魔术字被所述第一网络设备用于识别所述测试报文。
[0057]可选的,在所述第二网络设备向所述第一网络设备发送所述至少一个测试报文之前,还包括:
[0058]所述第二网络设备向所述第一网络设备发送准备测试通知,以便所述第一网络设备基于所述准备测试通知执行测试的准备操作;
[0059]所述第二网络设备接收准备测试回应;
[0060]所述准备测试回应,是所述第一网络设备在所述准备操作执行完毕之后向所述第二网络设备发送的,用于触发所述第二网络设备发送所述至少一个测试报文。
[0061]可选的,所述准备测试通知中携带有所述至少一个测试报文的发送总数和发送周期。
[0062]可选的,所述测试报文中携带有发送时间戳和接收时间戳,所述发送时间戳表示第二网络设备发送所述测试报文的时间,所述接收时间戳表示第一网络设备接收所述测试报文的时间。
[0063]可选的,所述测试报文中携带测试程序的标识,所述测试程序为所述第二网络设备上用于实现检测组播流传输质量功能的程序。
[0064]第三方面,提供了一种检测组播流传输质量的装置,所述装置为第一网络设备,所述装置包括:
[0065]接收单元,用于接收第二网络设备发送的至少一个测试报文,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备;
[0066]分析单元,用于根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。
[0067]可选的,所述检测结果包括抖动时间,所述至少一个测试报文包括第一测试报文、第二测试报文和第三测试报文;
[0068]所述分析单元,具体用于:
[0069]计算所述第一时间和第二时间之差作为第一时间差,并计算所述第二时间与第三时间之差作为第二时间差;其中,所述第一时间表示所述第一网络设备接收所述第一测试报文的时间,所述第二时间表示所述第一网络设备接收所述第二测试报文的时间,所述第三时间表示所述第一网络设备接收所述第三测试报文的时间;
[0070]计算所述第一时间差与所述第二时间差之间的差值,作为所述组播流在所述第二网络设备与所述第一网络设备之间的抖动时间。
[0071]可选的,所述检测结果包括丢包,所述至少一个测试报文包括第四测试报文;
[0072]所述分析单元,具体用于:
[0073]根据第一顺序标识,确定所述第四测试报文对应的接收时限;其中,所述第一顺序标识表示在所述第二网络设备发送的测试报文中所述第四测试报文的顺序,所述第一顺序标识携带在所述第四测试报文中;
[0074]若在所述接收时限内接收到所述第四测试报文,将所述第四测试报文计入接收报文数;
[0075]若在所述接收时限内未接收到所述第四测试报文,拒绝将所述第四测试报文计入接收报文数;
[0076]其中,所述接收报文数用于计算所述组播流在所述第二网络设备传输与所述第一网络设备之间的丢包。
[0077]可选的,所述检测结果包括乱序,所述至少一个测试报文包括第五测试报文和第六测试报文,其中,所述第一网络设备在接收到所述第五测试报文之后接收到所述第六测试报文;
[0078]所述分析单元,具体用于:
[0079]比较第二顺序标识与第三顺序标识;其中,所述第二发送顺序表示在所述第二网络设备发送的测试报文中所述第五测试报文的顺序,所述第二顺序标识携带在所述第五测试报文中,所述第三发送顺序表示在所述第二网络设备发送的测试报文中所述第六测试报文的顺序,所述第三顺序标识携带在所述第六测试报文中;
[0080]若所述第二顺序标识小于所述第三顺序标识,将所述第六测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的乱序报文数。
[0081]可选的,所述检测结果包括错包,所述至少一个测试报文包括第七测试报文;
[0082]所述分析单元,具体用于:
[0083]所述第一网络设备识别并验证所述第七测试报文中携带的校验总和Checksum;
[0084]若所述校验总和未通过验证,所述第一网络设备将所述第七测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的错包报文数。
[0085]可选的,所述装置还包括:
[0086]第一发送单元,用于向所述第二网络设备发送所述检测结果。
[0087]可选的,所述第一发送单元,具体用于:
[0088]在接收到每个测试报文之后,将基于每个测试报文得到的检测结果分别向所述第二网络设备发送。
[0089]可选的,所述第二发送单元,具体用于:
[0090]在接收到多个测试报文之后,将基于多个测试报文得到的所有检测结果一起发送给第二网络设备。
[0091]可选的,所述接收单元,具体用于:
[0092]通过接收专用硬件接收所述第二网络设备发送的所述至少一个测试报文,所述接收专用硬件为用于接收所述测试报文的独立硬件。
[0093]可选的,所述第一网络设备与所述第二网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第二网络设备与所述第一网络设备之间通过所述TCP/IP连接传输。
[0094]可选的,所述装置还包括:
[0095]第二发送单元,用于按照所述组播流对应的转发策略,转发所述至少一个的测试报文。
[0096]可选的,所述接收单元,具体用于:
[0097]接收组播报文;
[0098]查找所述组播报文中是否携带有所述测试报文的标识,所述测试报文的标识包括魔术字;
[0099]若所述组播报文中携带有所述测试报文的标识,将所述组播报文识别为所述测试报文。
[0100]可选的,所述装置还包括:
[0101]通知接收单元,用于在所述第一接收单元接收所述第二网络设备发送的至少一个测试报文之前,接收所述第二网络设备发送的准备测试通知;
[0102]准备单元,用于所述第一网络设备基于所述准备测试通知执行测试的准备操作;
[0103]回应发送单元,用于在所述准备操作执行完毕之后向所述第二网络设备发送准备测试回应,以便所述第二网络设备基于所述准备测试回应发送所述至少一个测试报文。
[0104]可选的,所述准备测试通知中携带有所述至少一个测试报文的发送总数和发送周期。
[0105]可选的,所述测试报文中携带有发送时间戳和接收时间戳,所述发送时间戳表示第二网络设备发送所述测试报文的时间,所述接收时间戳表示第一网络设备接收所述测试报文的时间。
[0106]可选的,所述测试报文中携带测试程序的标识,所述测试程序为所述第二网络设备上用于实现检测组播流传输质量功能的程序。
[0107]第四方面,提供了一种检测组播流传输质量的装置,所述装置为第二网络设备,所述装置包括:
[0108]生成单元,用于生成至少一个测试报文;所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识;
[0109]发送单元,用于向第一网络设备发送所述至少一个测试报文,以便所述第一网络设备根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果;
[0110]其中,所述至少一个测试报文为按照所述组播流传输的组播报文,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。
[0111]可选的,所述装置还包括:
[0112]接收单元,用于接收所述第一网络设备发送的所述检测结果。
[0113]可选的,所述检测结果是所述第一网络设备在接收到每个测试报文之后基于每个测试报文分别得到并分别发送检测结果。
[0114]可选的,所述检测结果是所述第一网络设备在接收到多个测试报文之后基于所述多个测试报文得到并一起发送所有检测结果。
[0115]可选的,所述发送单元,具体用于:
[0116]通过发送专用硬件向所述第一网络设备发送所述至少一个测试报文,所述发送专用硬件为用于发送所述测试报文的独立硬件。
[0117]可选的,所述第二网络设备与所述第一网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第一网络设备与所述第二网络设备之间通过所述TCP/IP连接传输。
[0118]可选的,在所述测试报文中携带有所述第二网络设备打入的魔术字,所述魔术字被所述第一网络设备用于识别所述测试报文。
[0119]可选的,所述装置还包括:
[0120]通知发送单元,用于在所述发送单元向所述第一网络设备发送所述至少一个测试报文之前,向所述第一网络设备发送准备测试通知,以便所述第一网络设备基于所述准备测试通知执行测试的准备操作;
[0121]回应接收单元,用于所述第二网络设备接收准备测试回应;
[0122]所述准备测试回应,是所述第一网络设备在所述准备操作执行完毕之后向所述第二网络设备发送的,用于触发所述第二网络设备发送所述至少一个测试报文。
[0123]可选的,所述准备测试通知中携带有所述至少一个测试报文的发送总数和发送周期。
[0124]可选的,所述测试报文中携带有发送时间戳和接收时间戳,所述发送时间戳表示第二网络设备发送所述测试报文的时间,所述接收时间戳表示第一网络设备接收所述测试报文的时间。
[0125]可选的,所述测试报文中携带测试程序的标识,所述测试程序为所述第二网络设备上用于实现检测组播流传输质量功能的程序。
[0126]第五方面,提供了一种网络设备。所述网络设备具体为第一网络设备;所述网络设备包括:处理器、存储器、网络接口、总线系统;
[0127]所述总线系统,用于将物理服务器的各个硬件组件耦合在一起;
[0128]所述网络接口,用于实现物理服务器与至少一个其它网元之间的通信连接;
[0129]所述存储器,用于存储程序指令和数据;
[0130]所述处理器,用于读取存储器中存储的指令和数据,执行以下操作:
[0131]接收第二网络设备发送的至少一个测试报文,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备;
[0132]根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。
[0133]第六方面,提供了一种网络设备。所述网络设备具体为第二网络设备;所述网络设备包括:处理器、存储器、网络接口、总线系统;
[0134]所述总线系统,用于将物理服务器的各个硬件组件耦合在一起;
[0135]所述网络接口,用于实现物理服务器与至少一个其它网元之间的通信连接;
[0136]所述存储器,用于存储程序指令和数据;
[0137]所述处理器,用于读取存储器中存储的指令和数据,执行以下操作:
[0138]生成至少一个测试报文;所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识;
[0139]向第一网络设备发送所述至少一个测试报文,以便所述第一网络设备根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果;
[0140]其中,所述至少一个测试报文为按照所述组播流传输的组播报文,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。
[0141]在本申请中,对于位于组播流传输路径上的第一网络设备和第二网络设备,若需要检测组播流在这两个设备之间的传输质量,第一网络设备可以在测试指令的指示下按照所述组播流向第二网络设备发送用于检测传输质量的组播报文作为测试报文,以使得所述测试报文按照所述组播流从所述第一网络设备传输到第二网络设备。而所述第二网络设备根据接收到的所述测试报文可以分析所述组播流在这两个设备之间的传输质量,从而得到检测结果。可见,由于组播流的传输质量通过组播流传输路径上的网络设备进行分析和检测,技术人员只需要触发测试报文按照组播流在网络设备之间进行传输,就能够得到组播流在各网络设备之间的传输质量的检测结果,无需到各网络设备的现场去为各网络设备连接外接设备,因此,需要技术人员现场操作的网络设备的数量大大减少,技术人员在定位组播流传输质量问题时需要承担的工作得以简化。
[0142]此外,由于测试报文是按照组播流在网络设备之间进行传输,测试报文的传输过程与组播流的传输过程是相同的。而且,由于组播流的传输质量是基于测试报文在组播流的传输方向上的单向组播传输过程进行检测的,这样就避免了测试报文在组播流的反向上的单播传输过程被引入到组播流的传输质量检测。可见,基于所述测试报文得到的检测结果是准确可信的。
【附图说明】
[0143]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0144]图1为本发明实施例中一应用场景所涉及的网络系统框架示意图;
[0145]图2为本发明实施例中一种检测组播流传输质量的方法的流程图;
[0146]图3为本发明实施例中一种测试报文中部分字段的示例的示意图;
[0147]图4为本发明实施例中一种检测组播流传输质量的方法的流程图;
[0148]图5为本发明实施例中一种检测组播流传输质量的装置的结构示意图;
[0149]图6为本发明实施例中一种检测组播流传输质量的装置的结构示意图;
[0150]图7为本发明实施例中一种网络设备的结构示意图;
[0151]图8为本发明实施例中一种网络设备的结构示意图。
【具体实施方式】
[0152]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0153]发明人经过研究发现,组播流的传输质量通常需要借助外接设备来检测。对于组播流的传输路径上的一个网络设备,技术人员需要在所述网络设备所处的现场将外接设备与所述网络设备相连接。在所述网络设备支持镜像功能的情况下,通过技术人员在所述网络设备上配置所述组播流对应的转发策略,所述网络设备可以在转发所述组播流时将所述组播流镜像出来转发至所述外接设备,所述外接设备再根据镜像出来的组播流分析所述组播流从组播源到所述网络设备的传输质量。可见,为了检测到传输路径上所有位置的组播流传输质量,技术人员需要到传输路径上每一个网络设备所处的现场,分别将外接设备与每一个网络设备相连接,从而分别检测到组播流从组播源到每一个网络设备的传输质量。但是,组播流的传输路径上通常具有大量的网络设备,可见,技术人员在定位组播流传输质量问题时需要承担繁重、复杂的工作。
[0154]为了解决上述问题,本发明实施例提供了一种检测组播流传输质量的方法和装置。其中,对于位于组播流传输路径上的第一网络设备和第二网络设备,若需要检测组播流在这两个设备之间的传输质量,第一网络设备可以在测试指令的指示下按照所述组播流向第二网络设备发送用于检测传输质量的组播报文作为测试报文,以使得所述测试报文按照所述组播流从所述第一网络设备传输到第二网络设备。所述第二网络设备根据接收到的所述测试报文可以分析所述组播流在这两个设备之间的传输质量,从而得到检测结果。可见,由于组播流的传输质量通过组播流传输路径上的网络设备进行分析和检测,技术人员只需要触发测试报文按照组播流在网络设备之间进行传输,就能够得到组播流在各网络设备之间的传输质量的检测结果,无需到各网络设备的现场去为各网络设备连接外接设备,因此,需要技术人员现场操作的网络设备的数量大大减少,技术人员在定位组播流传输质量问题时需要承担的工作得以简化。
[0155]举例来说,本发明实施例的场景之一,可以是应用到如图1所示的网络系统中。组播流在所述网络系统中的传输路径如图1所示,第一网络设备与第二网络设备均为在所述组播流的传输路径上的网络设备。所述第一网络设备生成至少一个测试报文并向所述第二网络设备发送。所述至少一个测试报文按照所述组播流在所述第一网络设备与所述第二网络设备之间进行传输。所述第二网络设备接收所述至少一个测试报文,并根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。
[0156]可以理解的是,在所述组播流的传输路径上,所述第一网络设备位于所述第二网络设备的上游,所述第二网络设备位于所述第一网络设备的下游。作为一种示例,所述第一网络设备可以为组播源服务器101,所述第二网络设备可以为任意一个转发设备102、任意一个接入设备103或任意一个用户设备104。作为另一种示例,所述第一网络设备可以为任意一个转发设备102,所述第二网络设备可以为所述第一网络设备下游的任意一个转发设备102、任意一个接入设备103或任意一个用户设备104。作为又一种示例,所述第一网络设备可以为任意一个接入设备103,所述第二网络设备为所述第一网络设备下游的任意一个用户设备104。其中,所述组播源服务器101例如可以为视频服务器等,所述转发设备102例如可以为路由器、交换机等,所述接入设备103例如可以为集线器、交换机、路由器等,所述用户设备104例如可以为机顶盒等。
[0157]可以理解的是,上述场景仅是本发明实施例提供的一个场景示例,本发明实施例并不限于此场景。
[0158]下面结合附图,通过实施例来详细说明本发明实施例中检测组播流传输质量的方法和装置的具体实现方式。
[0159]图2为本发明实施例中一种检测组播流传输质量的方法的流程图。本实施例从测试报文的接收端的角度介绍所述方法。在本实施例中,所述方法例如具体可以包括:
[0160]201、第一网络设备接收第二网络设备发送的至少一个测试报文,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。
[0161]在所述组播流的传输路径上具有所述第一网络设备和所述第二网络设备,其中,所述第一网络设备位于所述第二网络设备的上游,所述第二网络设备位于所述第一网络设备的下游。若需要检测所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,例如可以由技术人员可以向所述第二网络设备发起测试指令,其中,所述测试指令携带有所述组播流的标识,用于指示对所述组播流进行传输质量的检测。在获取到所述测试请求之后,所述第二网络设备根据所述测试指令中携带的所述组播流的标识,确定所述测试指令对应的所述组播流,为所述组播流生成测试报文并向所述第一网络设备发送。此外,所述测试指令也可以是所述第二网络设备本身按照预先设置的规则自动触发的,如所述第二网络设备按照一定的检测周期自动所述测试指令。
[0162]可以理解的是,技术人员可以通过多种可选的方式向所述第二网络设备触发所述测试指令。例如,技术人员可以直接在所述第二网络设备上操作,所述第二网络设备响应于技术人员的操作可以触发所述测试指令。又如,技术人员也可以在其终端设备上操作,所述终端设备响应于技术人员的操作可以触发所述测试指令并向所述第二网络设备发送,其中,所述终端设备与所述第二网络设备之间具有相互通信的连接。再如,技术人员也可以在所述第一网络设备上操作,所述第一网络设备响应于技术人员的操作可以触发所述测试指令并向所述第二网络设备发送。
[0163]需要说明的是,由于所述测试报文具有所述组播流的标识,因此,在网络中所述测试报文实际上是被伪装成了所述组播流的组播报文,即,所述测试报文按照所述组播流的传输方式在网络中进行传输。具体地,所述测试报文在所述第二网络设备与所述第一网络设备之间传输的过程中,发送所述测试报文的所述第二网络设备以及所述测试报文经过的每一个网络设备,均按照所述组播流对应的转发策略对所述测试报文进行转发处理。其中,所述组播流对应的转发策略在网络设备上例如可以具体体现为所述组播流对应的组播转发表。由于所述测试报文在所述第二网络设备与所述第一网络设备之间的传输过程与所述组播流的传输过程是完全一致的,所述第一网络设备基于所述测试报文分析所述组播流的传输质量,从而就可以得到准确可信的检测结果。
[0164]对于一次检测过程,所述第二网络设备例如可以向所述第一网络设备发送多个测试报文,以使得所述第一网络设备可以基于多个测试报文分析组播流的传输质量,从而得到更广泛地检测结果。具体地,所述第二网络设备可以按照预先约定的发送周期和报文总数,每隔一个发送周期发送一个测试报文,直至所述报文总数的测试报文发送完毕。
[0165]可以理解的是,所述第二网络设备在发送所述测试报文之前,可以先向所述第一网络设备发送准备测试通知。所述第一网络设备基于所述准备测试通知执行测试的准备操作,并在执行完准备操作之后向所述第二网络设备发送准备测试回应。所述第二网络设备可以在接收到所述准备测试回应之后向所述第一网络设备发送所述测试报文。其中,所述准备操作例如可以包括,在所述第一网络设备上对有关测试报文的计数和计时的清零操作。此外,在所述准备测试通知中例如可以携带测试报文的发送总数、发送周期等参数,也即,通过所述准备测试通知所述第二网络设备与所述第一网络设备可以预先约定本次检测过程中测试报文的发送总数和发送周期等参数,这样所述第一网络设备可以基于所述发送总数和发送周期来分析所述组播流的传输质量。
[0166]在一些实施方式中,所述第二网络设备可以采用一个独立的硬件专门用于发送所述测试报文,这样所述测试报文的发送可以不占用所述第二网络设备的CPU,从而防止大量测试报文的发送对CHJ造成冲击。其中,专门用于发送所述测试报文的独立硬件可以称之为发送专用硬件。具体地,所述第二网络设备中的测试程序可以将已生成的测试报文发送到所述发送专用硬件,所述发送专用硬件可以在所述测试报文中打入发送时间戳并将携带有发送时间戳的所述测试报文发送出去。其中,所述发送时间戳表示所述第二网络设备发送所述测试报文的时间。作为一种示例,所述发送专用硬件可以是在所述第二网络设备的现有硬件基础上通过逻辑编程而形成的逻辑硬件,所述逻辑硬件能够用于实现发送所述测试发送的逻辑功能。例如,所述发送专用硬件可以是所述第二网络设备的CPU协处理器。
[0167]类似地,所述第一网络设备可以采用一个独立的硬件专门用于接收所述测试报文,这样所述测试报文的接收可以不占用所述第一网络设备的CPU,从而防止大量测试报文的发送对CPU造成冲击。其中,专门用于发送所述测试报文的独立硬件可以称之为接收专用硬件,也即,步骤201例如可以具体为:所述第一网络设备通过接收专用硬件接收所述第二网络设备发送的所述至少一个测试报文。具体地,所述接收专用设备在接收到所述测试报文之后,在所述测试报文中打入接收时间戳并将携带有所述接收时间戳的所述测试报文发送到所述第二网络设备中的测试程序。其中,所述接收时间戳表示所述第一网络设备接收所述测试报文的时间。作为一种示例,所述接收专用硬件可以是在所述第一网络设备的现有硬件基础上通过逻辑编程而形成的逻辑硬件,所述逻辑硬件能够用于实现发送所述测试发送的逻辑功能。例如,所述发送专用硬件可以是所述第一网络设备的CPU协处理器。
[0168]在一些实施方式中,所述第二网络设备与所述第一网络设备之间可以采用传输控制协议(英文:Transmiss1n Control Protocol,简称TCP)/互联网协(英文:InternetProtocol,简称IP)连接来传输所述测试报文,这样所述测试报文能够更可靠地传输。具体地,在测试报文发送之前,所述第二网络设备与所述第一网络设备建立TCP/IP连接。在所述TCP/IP连接建立之后,所述第二网络设备通过所述TCP/IP连接向所述第一网络设备发送所述至少一个测试报文,也即,所述至少一个测试报文在所述第二网络设备与所述第一网络设备之间通过所述TCP/IP连接传输。此外,除了测试报文之外,与检测组播流相关的其他报文也可以通过TCP/IP连接来传输,如前述准备测试通知、前述准备测试回应、所述第一网络设备反馈给所述第二网络设备的检测结果等。
[0169]在一些实施方式中,所述第二网络设备可以在所述测试报文中嵌入魔术字,所述第一网络设备可以通过魔术字来识别所述测试报文,这样所述第一网络设备就能够排除其他报文的干扰、更准确地识别所述测试报文。具体地,步骤201例如可以包括:所述第一网络设备接收组播报文;所述第一网络设备查找所述组播报文中是否携带有所述测试报文的标识,所述测试报文的标识包括魔术字;若所述组播报文中携带有所述测试报文的标识,所述第一网络设备将所述组播报文识别为所述测试报文。其中,所述测试报文的标识除了所述魔术字之外,例如还可以包括所述组播流的组IP地址和IP报文协议号。
[0170]在本实施例中,所述测试报文例如可以为互联网控制报文协议(英文:InternetControl Message Protocol,简称ICMP)报文。具体地,图3所示的是一种测试报文中部分字段的示例。在所述测试报文的ICMP Header字段中包括Type字段、Code字段、Checksum字段、Id字段、Sequence字段和Data字段。其中,Type字段可以写入一种类型值,以便网络设备在接收到所述测试报文时能够基于所述用于时间请求的类型值为所述测试报文打入时间戳。例如,Type字段可以写入用于时间请求的类型值,这样可以避免接收到所述测试报文的网络设备在所述测试报文的触发下发生误操作。Code字段例如可以写入数值“O” Checksum字段可以写入用于检测错包的校验总和。Id字段可以写入测试程序的标识,所述第二网络设备上可以具有一个或多个用于实现检测组播流传输质量功能的测试程序,所述测试程序的标识用于区分所述第二网络设备上不同的测试程序。Sequence字段例如可以写入用于表示所述测试报文在本次检测过程中发送顺序的顺序标识,如Sequence字段携带有顺序标识“5”则表示所述测试报文为本次检测过程中第5个发送的测试报文。Data字段例如可以写入发送时间戳、接收时间戳、魔术字、保留等。所述发送时间戳表示第二网络设备发送所述测试报文的时间,可以是由所述第二网络设备发送所述测试报文时打入所述测试报文的Data字段,占用32比特。所述接收时间戳表示第一网络设备接收所述测试报文的时间,可以是由所述第一网络设备接收所述测试报文时写入所述测试报文的Data字段。所述魔术字是由所述第二网络设备写入所述测试报文的Data字段,可以用于所述第一网络设备在识别所述测试报文时排除干扰。
[0171]若所述第二网络设备通过以太类型的接口发送所述测试报文,则所述测试报文例如还可以包括所述测试报文的目的MAC地址(简称DMAC)、源MAC地址(简称SMAC)、目的IP地址(简称DIP)、源IP地址(简称SIP)和IP报文协议号。其中,所述目的MAC地址例如可以包括组播标识与所述组播流的组IP地址,所述组播标识例如可以是字符串“0100”,所述源MAC地址例如可以是所述第二网络设备上用于发送所述测试报文的接口的MAC地址,所述目的IP地址例如为所述组播流对应的组IP地址,所述源IP地址例如可以为所述组播流对应的源IP地址。若所述测试报文为ICMP报文,则所述IP报文协议号可以为“I”。
[0172]202、所述第一网络设备根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。
[0173]可以理解的是,由于组播流的传输质量是由所述第一网络设备进行分析的,所述第一网络设备属于所述组播流传输路径上的网络设备而并非与网络设备相连的外接设备,可见,技术人员无需在所述第一网络设备所处的现场将外接设备与所述第一网络设备相连,因此,需要技术人员现场操作的设备数量得以减少,技术人员的操作得以简化。此外,由于组播流的传输质量是所述第一网络设备基于测试报文在所述第二网络设备与所述第一网络设备之间的单向传输过程进行分析的,该单向传输过程即是组播流的单向传输过程,可见,测试报文在组播流的反向上的单播传输过程没有被用于分析组播流的传输质量,因此,基于所述测试报文得到的检测结果是准确可信的。
[0174]在一些实施方式中,所述第一网络设备在接收到所述测试报文之后,除了基于所述测试报文分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,还可以将所述测试报文继续向下游的网络设备发送所述测试报文,以便所述下游的网络设备可以分析所述组播流的传输质量。其中,所述下游的网络设备表示在所述组播流的传输路径上位于所述第一网络设备下游的网络设备。具体地,本实施例的方法例如还可以包括:所述第一网络设备按照所述组播流对应的转发策略,转发所述至少一个的测试报文。其中,所述组播流对应的转发策略例如可以体现为所述组播流对应的组播转发表。
[0175]在本实施例中,所述用于描述所述传输质量的检测结果例如可以包括抖动时间、丢包、乱序和/或错包等。
[0176]对于抖动时间,所述第一网络设备例如可以通过所述第一网络设备接收测试报文的时间进行计算。由于抖动时间的计算没有使用所述第二网络设备发送测试报文的时间,即使所述第一网络设备与所述第二网络设备的时钟不同步,所述第一网络设备依然能够计算出准确的抖动时间。
[0177]具体地,第一测试报文、第二测试报文、第三测试报文表示三个发送顺序连续的测试报文,其中,所述第二网络设备发送所述第一测试报文的时间与所述第二网络设备发送所述第二测试报文的时间之间相隔了一个发送周期,所述第二网络设备发送所述第二测试报文的时间与所述第二网络设备发送所述第三测试报文的时间之间相隔了一个发送周期。换言之,若所述第一测试报文是所述第二网络设备发送的第η个测试报文,则所述第二测试报文是所述第二网络设备发送的第η+1个测试报文,所述第三测试报文是所述第二网络设备发送的第η+2个测试报文。步骤202例如可以包括:所述第一网络设备计算所述第一时间和第二时间之差作为第一时间差,并计算所述第二时间与第三时间之差作为第二时间差;所述第一网络设备计算所述第一时间差与所述第二时间差之间的差值,作为所述组播流在所述第二网络设备与所述第一网络设备之间的抖动时间。其中,所述第一时间表示所述第一网络设备接收所述第一测试报文的时间,所述第二时间表示所述第一网络设备接收所述第二测试报文的时间,所述第三时间差表示所述第一网络设备接收所述第三测试报文的时间。
[0178]可以理解的是,所述第一网络设备可以分别通过所述第一测试报文、所述第二测试报文和所述第三测试报文中携带的时间戳获取所述第一时间、所述第二时间和所述第三时间。具体地,在所述第一测试报文到达所述第一网络设备之后,所述第一网络设备的接收专用硬件可以在所述第一测试报文中打入第一接收时间戳,以便所述第一网络设备计算抖动时间时可以基于所述第一测试报文中的所述第一接收时间戳识别出所述第一时间。类似地,在所述第二测试报文到达所述第一网络设备之后,所述第一网络设备的接收专用硬件可以在所述第二测试报文中打入第二接收时间戳,以便所述第一网络设备计算抖动时间时可以基于所述第二测试报文中的所述第二接收时间戳识别出所述第二时间。以及,在所述第三测试报文到达所述第一网络设备之后,所述第一网络设备的接收专用硬件可以在所述第三测试报文中打入第三接收时间戳,以便所述第一网络设备计算抖动时间时可以基于所述第三测试报文中的所述第三接收时间戳识别出所述第三时间。
[0179]对于丢包,所述第一网络设备例如可以通过测试报文的发送顺序进行判断。具体地,以判断第四测试报文是否出现丢包为例,所述第四测试报文可以是所述第二网络设备发送给所述第一网络设备的任意一个测试报文。步骤202例如可以包括:所述第一网络设备根据第一顺序标识,确定所述第四测试报文对应的接收时限;若所述第一网络设备在所述接收时限内接收到所述第四测试报文,所述第一网络设备将所述第四测试报文计入接收报文数;若所述第一网络设备在所述接收时限内未接收到所述第四测试报文,所述第一网络设备拒绝将所述第四测试报文计入接收报文数。其中,所述第一顺序标识表示在所述第二网络设备发送的测试报文中所述第四测试报文的顺序,所述第一网络设备例如可以从所述第四测试报文中的Sequence字段获取所述第一顺序标识。所述第四测试报文对应的接收时限例如可以是基于所述第一顺序标识、发送周期与预设的传输时限计算出来的,即,接收时限=序号值*发送周期+传输时限,其中,对于第四测试报文来说所述序号值为所述第一顺序标识的具体值,所述发送周期为相邻两个测试报文之间的发送时间间隔,所述传输时限具体为测试报文在所述第二网络设备与所述第一网络设备之间传输的时限。所述接收报文数用于计算所述组播流在所述第二网络设备传输与所述第一网络设备之间的丢包,例如,所述丢包的比率具体可以为所述接收报文数与测试报文的发送总数的比值。可以理解的是,实际上两种测试报文未被计入所述接收报文数,一种是所述第一网络设备未接收到的测试报文,另一种是所述第一网络设备超过接收时限接收到的测试报文。
[0180]对于乱序,所述第一网络设备例如可以通过测试报文的发送顺序进行判断。具体地,以第五测试报文和第六测试报文为例,所述第五测试报文与所述第六测试报文可以是所述第二网络设备发送给所述第一网络设备的任意两个测试报文。其中,所述第一网络设备在接收到所述第五测试报文之后接收到所述第六测试报文。例如,所述第五测试报文与所述第六测试报文表示连个发送顺序连续的测试报文,即,所述第二网络设备发送所述第五测试报文的时间与所述第二网络设备发送所述第六测试报文的时间相隔了一个发送周期。换言之,若所述第五测试报文是所述第二网络设备发送的第η个测试报文,则所述第六测试报文是所述第二网络设备发送的第η+1个测试报文。步骤202例如可以包括:所述第一网络设备比较第二顺序标识与第三顺序标识;若所述第二顺序标识小于所述第三顺序标识,所述第一网络设备将所述第六测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的乱序报文数。其中,所述第二顺序标识表示在所述第二网络设备发送的测试报文中所述第五测试报文的顺序,所述第二顺序标识携带在所述第五测试报文中,所述第一网络设备例如可以从所述第五测试报文中的Sequence字段获取所述第二顺序标识;所述第三顺序标识表示在所述第二网络设备发送的测试报文中所述第六测试报文的顺序,所述第三顺序标识携带在所述第六测试报文中,所述第一网络设备例如可以从所述第六测试报文中的Sequence字段获取所述第三顺序标识。所述第一网络设备例如可以在接收到所述第五测试报文时将所述第五测试报文中的第二顺序标识作为当前顺序标识,在接收到所述第六测试报文时比较所述第六测试报文中的第三顺序标识与当前顺序标识的大小,从而确定所述第二发送顺序与所述第三发送顺序的大小。
[0181]对于错包,所述第一网络设备例如可以通过验证所述测试报文中携带的校验总和进行判断。具体地,以第七测试报文为例,所述第七测试报文可以是所述第二网络设备发送给所述第一网络设备的任意一个测试报文。步骤202例如可以包括:所述第一网络设备识别并验证所述第七测试报文中携带的校验总和;若所述校验总和未通过验证,所述第一网络设备将所述第七测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的错包报文数。
[0182]在一些实施方式中,所述第一网络设备在得到所述检测结果之后,还可以将所述检测结果反馈给所述第二网络设备,这样技术人员就能够在所述第二网络设备触发测试指令并得到检测结果。具体地,本实施例例如还可以包括:所述第一网络设备向所述第二网络设备发送所述检测结果。进一步而言,由于一次检测过程中所述第二网络设备可以向所述第一网络设备发送多个测试报文,所述第一网络设备在接收到每个测试报文时都可以得到检测结果。在一些实施方式中,对于一次检测过程中基于多个测试报文分别得到的检测结果,所述第一网络设备例如可以将基于每个测试报文得到的检测结果分别向所述第二网络设备发送,这样,第一网络设备是在每次接收到测试报文之后都会向第二网络设备返回针对本次接收的测试报文的检测结果。在另一些实施方式中,对于一次检测过程中基于多个测试报文分别得到的检测结果,所述第一网络设备又如可以将基于多个测试报文得到的所有检测结果一起发送给第二网络设备,这样,第一网络设备可以在本次检测过程中所有测试报文传输完毕之后统一向所述第二网络设备发送测试结果。
[0183]在本实施例中,由于组播流的传输质量通过组播流传输路径上的网络设备进行分析和检测,技术人员只需要触发测试报文按照组播流在网络设备之间进行传输,就能够得到组播流在各网络设备之间的传输质量的检测结果,无需到各网络设备的现场去为各网络设备连接外接设备,因此,需要技术人员现场操作的网络设备的数量大大减少,技术人员在定位组播流传输质量问题时需要承担的工作得以简化。
[0184]图4为本发明实施例中一种检测组播流传输质量的方法的流程图。本实施例从测试报文的发送端的角度介绍所述方法。在本实施例中,所述方法例如具体可以包括:
[0185]401、第二网络设备生成至少一个测试报文;所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识;
[0186]402、所述第二网络设备向第一网络设备发送所述至少一个测试报文,以便所述第一网络设备根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果;
[0187]其中,所述至少一个测试报文为按照所述组播流传输的组播报文,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。
[0188]可选的,所述方法还包括:
[0189]所述第二网络设备接收所述第一网络设备发送的所述检测结果。
[0190]可选的,所述第二网络设备向第一网络设备发送至少一个测试报文,具体为:所述第二网络设备通过发送专用硬件向所述第一网络设备发送所述至少一个测试报文,所述发送专用硬件为用于发送所述测试报文的独立硬件。
[0191]可选的,所述第一网络设备与所述第二网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第一网络设备与所述第二网络设备之间通过所述TCP/IP连接传输。
[0192]可选的,在所述测试报文中携带有所述第二网络设备打入的魔术字,所述魔术字被所述第一网络设备用于识别所述测试报文。
[0193]需要说明的是,本发明实施例中的第二网络设备相当于前述图2所示的实施例中提及的第一网络设备,本发明实施例中的第一网络设备相当于前述图2所示的实施例中提及的第二网络设备。本实施例中第二网络设备执行的方法的各种【具体实施方式】,均可以参见前述图2所示的实施例的详细介绍,此处不再赘述。
[0194]在本实施例中,由于组播流的传输质量通过组播流传输路径上的网络设备进行分析和检测,技术人员只需要触发测试报文按照组播流在网络设备之间进行传输,就能够得到组播流在各网络设备之间的传输质量的检测结果,无需到各网络设备的现场去为各网络设备连接外接设备,因此,需要技术人员现场操作的网络设备的数量大大减少,技术人员在定位组播流传输质量问题时需要承担的工作得以简化。
[0195]图5所示的是本发明实施例中一种统计流量的控制装置的结构示意图。在本实施例中,所述装置500为第一网络设备。所述装置500例如具体可以包括:
[0196]接收单元501,用于接收第二网络设备发送的至少一个测试报文,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备;
[0197]分析单元502,用于根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。
[0198]举例来说,图5所示的装置500可以用于执行图2所示的方法。具体地,接收单元501可以用于执行图2中的201。分析单元502可以用于执行图2中的202。
[0199]可选的,所述检测结果包括抖动时间,所述至少一个测试报文包括第一测试报文、第二测试报文和第三测试报文;
[0200]所述分析单元502,具体用于:
[0201]计算所述第一时间和第二时间之差作为第一时间差,并计算所述第二时间与第三时间之差作为第二时间差;其中,所述第一时间表示所述第一网络设备接收所述第一测试报文的时间,所述第二时间表示所述第一网络设备接收所述第二测试报文的时间,所述第三时间表示所述第一网络设备接收所述第三测试报文的时间;
[0202]计算所述第一时间差与所述第二时间差之间的差值,作为所述组播流在所述第二网络设备与所述第一网络设备之间的抖动时间。
[0203]可选的,所述检测结果包括丢包,所述至少一个测试报文包括第四测试报文;
[0204]所述分析单元502,具体用于:
[0205]根据第一顺序标识,确定所述第四测试报文对应的接收时限;其中,所述第一顺序标识表示在所述第二网络设备发送的测试报文中所述第四测试报文的顺序,所述第一顺序标识携带在所述第四测试报文中;
[0206]若在所述接收时限内接收到所述第四测试报文,将所述第四测试报文计入接收报文数;
[0207]若在所述接收时限内未接收到所述第四测试报文,拒绝将所述第四测试报文计入接收报文数;
[0208]其中,所述接收报文数用于计算所述组播流在所述第二网络设备传输与所述第一网络设备之间的丢包。
[0209]可选的,所述检测结果包括乱序,所述至少一个测试报文包括第五测试报文和第六测试报文,其中,所述第一网络设备在接收到所述第五测试报文之后接收到所述第六测试报文;
[OHO]所述分析单元502,具体用于:
[0211]比较第二顺序标识与第三顺序标识;其中,所述第二发送顺序表示在所述第二网络设备发送的测试报文中所述第五测试报文的顺序,所述第二顺序标识携带在所述第五测试报文中,所述第三发送顺序表示在所述第二网络设备发送的测试报文中所述第六测试报文的顺序,所述第三顺序标识携带在所述第六测试报文中;
[0212]若所述第二顺序标识小于所述第三顺序标识,将所述第六测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的乱序报文数。
[0213]可选的,所述检测结果包括错包,所述至少一个测试报文包括第七测试报文;
[0214]所述分析单元502,具体用于:
[0215]所述第一网络设备识别并验证所述第七测试报文中携带的校验总和Checksum;
[0216]若所述校验总和未通过验证,所述第一网络设备将所述第七测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的错包报文数。
[0217]可选的,所述装置500还包括:
[0218]第一发送单元,用于向所述第二网络设备发送所述检测结果。
[0219]可选的,所述第一发送单元,具体用于:
[0220]在接收到每个测试报文之后,将基于每个测试报文得到的检测结果分别向所述第二网络设备发送。
[0221]可选的,所述第二发送单元,具体用于:
[0222]在接收到多个测试报文之后,将基于多个测试报文得到的所有检测结果一起发送给第二网络设备。
[0223]可选的,所述接收单元501,具体用于:
[0224]通过接收专用硬件接收所述第二网络设备发送的所述至少一个测试报文,所述接收专用硬件为用于接收所述测试报文的独立硬件。
[0225]可选的,所述第一网络设备与所述第二网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第二网络设备与所述第一网络设备之间通过所述TCP/IP连接传输。
[0226]可选的,所述装置500还包括:
[0227]第二发送单元,用于按照所述组播流对应的转发策略,转发所述至少一个的测试报文。
[0228]可选的,所述接收单元501,具体用于:
[0229]接收组播报文;
[0230]查找所述组播报文中是否携带有所述测试报文的标识,所述测试报文的标识包括魔术字;
[0231]若所述组播报文中携带有所述测试报文的标识,将所述组播报文识别为所述测试报文。
[0232]可选的,所述装置500还包括:
[0233]通知接收单元,用于在所述第一接收单元接收所述第二网络设备发送的至少一个测试报文之前,接收所述第二网络设备发送的准备测试通知;
[0234]准备单元,用于所述第一网络设备基于所述准备测试通知执行测试的准备操作;
[0235]回应发送单元,用于在所述准备操作执行完毕之后向所述第二网络设备发送准备测试回应,以便所述第二网络设备基于所述准备测试回应发送所述至少一个测试报文。
[0236]可选的,所述准备测试通知中携带有所述至少一个测试报文的发送总数和发送周期。
[0237]可选的,所述测试报文中携带有发送时间戳和接收时间戳,所述发送时间戳表示第二网络设备发送所述测试报文的时间,所述接收时间戳表示第一网络设备接收所述测试报文的时间。
[0238]可选的,所述测试报文中携带测试程序的标识,所述测试程序为所述第二网络设备上用于实现检测组播流传输质量功能的程序。
[0239]需要说明的是,本实施例中的装置500为前述图2所示的实施例中的第一网络设备。本实施例中装置500的各种【具体实施方式】,均可以参见前述图2所示的实施例关于第一网络设备的详细介绍,此处不再赘述。
[0240]在本实施例中,由于组播流的传输质量通过组播流传输路径上的网络设备进行分析和检测,技术人员只需要触发测试报文按照组播流在网络设备之间进行传输,就能够得到组播流在各网络设备之间的传输质量的检测结果,无需到各网络设备的现场去为各网络设备连接外接设备,因此,需要技术人员现场操作的网络设备的数量大大减少,技术人员在定位组播流传输质量问题时需要承担的工作得以简化。
[0241]图6所示的是本发明实施例中一种检测组播流传输质量的控制装置的结构示意图。在本实施例中,所述装置600部署有第二网络设备。所述装置600例如具体可以包括:
[0242]生成单元601,用于生成至少一个测试报文;所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识;
[0243]发送单元602,用于向第一网络设备发送所述至少一个测试报文,以便所述第一网络设备根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果;
[0244]其中,所述至少一个测试报文为按照所述组播流传输的组播报文,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。
[0245]举例来说,图6所示的装置600可以用于执行图4所示的方法。具体地,生成单元601可以用于执行图4中的401。发送单元402可以用于执行图4中的402。
[0246]可选的,所述装置600还包括:
[0247]接收单元,用于接收所述第一网络设备发送的所述检测结果。
[0248]可选的,所述检测结果是所述第一网络设备在接收到每个测试报文之后基于每个测试报文分别得到并分别发送检测结果。
[0249]可选的,所述检测结果是所述第一网络设备在接收到多个测试报文之后基于所述多个测试报文得到并一起发送所有检测结果。
[0250]可选的,所述发送单元602,具体用于:
[0251]通过发送专用硬件向所述第一网络设备发送所述至少一个测试报文,所述发送专用硬件为用于发送所述测试报文的独立硬件。
[0252]可选的,所述第二网络设备与所述第一网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第一网络设备与所述第二网络设备之间通过所述TCP/IP连接传输。
[0253]可选的,在所述测试报文中携带有所述第二网络设备打入的魔术字,所述魔术字被所述第一网络设备用于识别所述测试报文。
[0254]可选的,所述装置600还包括:
[0255]通知发送单元,用于在所述发送单元向所述第一网络设备发送所述至少一个测试报文之前,向所述第一网络设备发送准备测试通知,以便所述第一网络设备基于所述准备测试通知执行测试的准备操作;
[0256]回应接收单元,用于所述第二网络设备接收准备测试回应;
[0257]所述准备测试回应,是所述第一网络设备在所述准备操作执行完毕之后向所述第二网络设备发送的,用于触发所述第二网络设备发送所述至少一个测试报文。
[0258]可选的,所述准备测试通知中携带有所述至少一个测试报文的发送总数和发送周期。
[0259]可选的,所述测试报文中携带有发送时间戳和接收时间戳,所述发送时间戳表示第二网络设备发送所述测试报文的时间,所述接收时间戳表示第一网络设备接收所述测试报文的时间。
[0260]可选的,所述测试报文中携带测试程序的标识,所述测试程序为所述第二网络设备上用于实现检测组播流传输质量功能的程序。
[0261]需要说明的是,本实施例中的装置600为前述图2所示的实施例中的第二网络设备。本实施例中装置600的各种【具体实施方式】,均可以参见前述图2所示的实施例关于第二网络设备的详细介绍,此处不再赘述。
[0262]在本实施例中,由于组播流的传输质量通过组播流传输路径上的网络设备进行分析和检测,技术人员只需要触发测试报文按照组播流在网络设备之间进行传输,就能够得到组播流在各网络设备之间的传输质量的检测结果,无需到各网络设备的现场去为各网络设备连接外接设备,因此,需要技术人员现场操作的网络设备的数量大大减少,技术人员在定位组播流传输质量问题时需要承担的工作得以简化。
[0263]图7为本发明实施例中一种网络设备的结构示意图。在本实施例中,网络设备700具体为图2所示的实施例中的第一网络设备,可以用于执行图2所示的实施例的方法。所述网络设备700包括:处理器701、存储器702、网络接口 703、总线系统704。
[0264]所述总线系统704,用于将物理服务器700的各个硬件组件耦合在一起。
[0265]所述网络接口 703,用于实现物理服务器700与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等方式。
[0266]所述存储器702,用于存储程序指令和数据。
[0267]所述处理器701,用于读取存储器702中存储的指令和数据,执行以下操作:
[0268]接收第二网络设备发送的至少一个测试报文,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备;
[0269]根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。
[0270]可选的,所述检测结果包括抖动时间,所述至少一个测试报文包括第一测试报文、第二测试报文和第三测试报文;
[0271]为了分析所述传输质量,所述处理器701可以执行以下操作:
[0272]计算所述第一时间和第二时间之差作为第一时间差,并计算所述第二时间与第三时间之差作为第二时间差;其中,所述第一时间表示所述第一网络设备接收所述第一测试报文的时间,所述第二时间表示所述第一网络设备接收所述第二测试报文的时间,所述第三时间表示所述第一网络设备接收所述第三测试报文的时间;
[0273]计算所述第一时间差与所述第二时间差之间的差值,作为所述组播流在所述第二网络设备与所述第一网络设备之间的抖动时间。
[0274]可选的,所述检测结果包括丢包,所述至少一个测试报文包括第四测试报文;
[0275]为了分析所述传输质量,所述处理器701可以执行以下操作:
[0276]根据第一顺序标识,确定所述第四测试报文对应的接收时限;其中,所述第一顺序标识表示在所述第二网络设备发送的测试报文中所述第四测试报文的顺序,所述第一顺序标识携带在所述第四测试报文中;
[0277]若在所述接收时限内接收到所述第四测试报文,将所述第四测试报文计入接收报文数;
[0278]若在所述接收时限内未接收到所述第四测试报文,拒绝将所述第四测试报文计入接收报文数;
[0279]其中,所述接收报文数用于计算所述组播流在所述第二网络设备传输与所述第一网络设备之间的丢包。
[0280]可选的,所述检测结果包括乱序,所述至少一个测试报文包括第五测试报文和第六测试报文,其中,在接收到所述第五测试报文之后接收到所述第六测试报文;
[0281]为了分析所述传输质量,所述处理器701可以执行以下操作:
[0282]比较第二顺序标识与第三顺序标识;其中,所述第二发送顺序表示在所述第二网络设备发送的测试报文中所述第五测试报文的顺序,所述第二顺序标识携带在所述第五测试报文中,所述第三发送顺序表示在所述第二网络设备发送的测试报文中所述第六测试报文的顺序,所述第三顺序标识携带在所述第六测试报文中;
[0283]若所述第二顺序标识小于所述第三顺序标识,将所述第六测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的乱序报文数。
[0284]可选的,所述检测结果包括错包,所述至少一个测试报文包括第七测试报文;
[0285]为了分析所述传输质量,所述处理器701可以执行以下操作:
[0286]识别并验证所述第七测试报文中携带的校验总和Checksum;
[0287]若所述校验总和未通过验证,将所述第七测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的错包报文数。
[0288]可选的,所述处理器701还可以执行以下操作:
[0289]向所述第二网络设备发送所述检测结果。
[0290]可选的,为了向所述第二网络设备发送所述检测结果,所述处理器701可以执行以下操作:
[0291]在接收到每个测试报文之后,将基于每个测试报文得到的检测结果分别向所述第二网络设备发送。
[0292]可选的,为了向所述第二网络设备发送所述检测结果,所述处理器701可以执行以下操作:
[0293]在接收到多个测试报文之后,将基于多个测试报文得到的所有检测结果一起发送给第二网络设备。
[0294]可选的,接收第二网络设备发送的至少一个测试报文,具体为:所述第一网络设备通过接收专用硬件接收所述第二网络设备发送的所述至少一个测试报文,所述接收专用硬件为用于接收所述测试报文的独立硬件。
[0295]可选的,所述第一网络设备与所述第二网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第二网络设备与所述第一网络设备之间通过所述TCP/IP连接传输。
[0296]可选的,所述处理器701还可以执行以下操作:
[0297]按照所述组播流对应的转发策略,转发所述至少一个的测试报文。
[0298]可选的,为了接收第二网络设备发送的至少一个测试报文,所述处理器701可以执行以下操作:
[0299]接收组播报文;
[0300]查找所述组播报文中是否携带有所述测试报文的标识,所述测试报文的标识包括魔术字;
[0301]若所述组播报文中携带有所述测试报文的标识,将所述组播报文识别为所述测试报文。
[0302]可选的,在接收所述第二网络设备发送的至少一个测试报文之前,所述处理器701还可以执行以下操作:
[0303]所述第一网络设备接收所述第二网络设备发送的准备测试通知;
[0304]所述第一网络设备基于所述准备测试通知执行测试的准备操作,并在所述准备操作执行完毕之后向所述第二网络设备发送准备测试回应,以便所述第二网络设备基于所述准备测试回应发送所述至少一个测试报文。
[0305]可选的,所述准备测试通知中携带有所述至少一个测试报文的发送总数和发送周期。
[0306]可选的,所述测试报文中携带有发送时间戳和接收时间戳,所述发送时间戳表示第二网络设备发送所述测试报文的时间,所述接收时间戳表示第一网络设备接收所述测试报文的时间。
[0307]可选的,所述测试报文中携带测试程序的标识,所述测试程序为所述第二网络设备上用于实现检测组播流传输质量功能的程序。
[0308]图8为本发明实施例中一种网络设备的结构示意图。在本实施例中网络设备800部署有图2所示的实施例中的第二网络设备,可以用于执行图4所示的实施例的方法。所述网络设备800包括:处理器801、存储器802、网络接口 803、总线系统804。
[0309]所述总线系统804,用于将物理服务器800的各个硬件组件耦合在一起。
[0310]所述网络接口 803,用于实现物理服务器800与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等方式。
[0311]所述存储器802,用于存储程序指令和数据。
[0312]所述处理器801,用于读取存储器802中存储的指令和数据,执行以下操作:
[0313]生成至少一个测试报文;所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识;
[0314]向第一网络设备发送所述至少一个测试报文,以便所述第一网络设备根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果;
[0315]其中,所述至少一个测试报文为按照所述组播流传输的组播报文,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。
[0316]可选的,所述处理器801还可以执行以下操作:
[0317]接收所述第一网络设备发送的所述检测结果。
[0318]可选的,所述检测结果是所述第一网络设备在接收到每个测试报文之后基于每个测试报文分别得到并分别发送检测结果。
[0319]可选的,所述检测结果是所述第一网络设备在接收到多个测试报文之后基于所述多个测试报文得到并一起发送所有检测结果。
[0320]可选的,为了向第一网络设备发送所述至少一个测试报文,所述处理器801可以执行以下操作:
[0321]通过发送专用硬件向所述第一网络设备发送所述至少一个测试报文,所述发送专用硬件为用于发送所述测试报文的独立硬件。
[0322]可选的,所述第二网络设备与所述第一网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第一网络设备与所述第二网络设备之间通过所述TCP/IP连接传输。
[0323]可选的,在所述测试报文中携带有所述第二网络设备打入的魔术字,所述魔术字被所述第一网络设备用于识别所述测试报文。
[0324]可选的,在向所述第一网络设备发送所述至少一个测试报文之前,所述处理器801还可以执行以下操作:
[0325]向所述第一网络设备发送准备测试通知,以便所述第一网络设备基于所述准备测试通知执行测试的准备操作;
[0326]接收准备测试回应;
[0327]所述准备测试回应,是所述第一网络设备在所述准备操作执行完毕之后向所述第二网络设备发送的,用于触发所述第二网络设备发送所述至少一个测试报文。
[0328]可选的,所述准备测试通知中携带有所述至少一个测试报文的发送总数和发送周期。
[0329]可选的,所述测试报文中携带有发送时间戳和接收时间戳,所述发送时间戳表示第二网络设备发送所述测试报文的时间,所述接收时间戳表示第一网络设备接收所述测试报文的时间。
[0330]可选的,所述测试报文中携带测试程序的标识,所述测试程序为所述第二网络设备上用于实现检测组播流传输质量功能的程序。
[0331 ]本发明实施例中提到的“第一网络设备”、“第一测试报文”、“第一时间”、“第一时间差”、“第一顺序标识”、’等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”、“第四”、“第五”、“第六”、“第七”等。
[0332]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,R0M)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0333]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例和设备实施例而言,由于其基本相似于系统实施例,所以描述得比较简单,相关之处参见系统实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0334]以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种检测组播流传输质量的方法,其特征在于,包括: 第一网络设备接收第二网络设备发送的至少一个测试报文,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备;所述第一网络设备根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。2.根据权利要求1所述的方法,其特征在于,所述检测结果包括抖动时间,所述至少一个测试报文包括第一测试报文、第二测试报文和第三测试报文; 所述第一网络设备根据所述至少一个测试报文,分析所述组播流从所述第二网络设备到所述第一网络设备的传输质量,得到用于描述所述传输质量的检测结果,包括: 所述第一网络设备计算所述第一时间和第二时间之差作为第一时间差,并计算所述第二时间与第三时间之差作为第二时间差;其中,所述第一时间表示所述第一网络设备接收所述第一测试报文的时间,所述第二时间表示所述第一网络设备接收所述第二测试报文的时间,所述第三时间表示所述第一网络设备接收所述第三测试报文的时间; 所述第一网络设备计算所述第一时间差与所述第二时间差之间的差值,作为所述组播流在所述第二网络设备与所述第一网络设备之间的抖动时间。3.根据权利要求1所述的方法,其特征在于,所述检测结果包括丢包,所述至少一个测试报文包括第四测试报文; 所述第一网络设备根据所述至少一个测试报文,分析所述组播流从所述第二网络设备到所述第一网络设备的传输质量,得到用于描述所述传输质量的检测结果,包括: 所述第一网络设备根据第一顺序标识,确定所述第四测试报文对应的接收时限;其中,所述第一顺序标识表示在所述第二网络设备发送的测试报文中所述第四测试报文的顺序,所述第一顺序标识携带在所述第四测试报文中; 若所述第一网络设备在所述接收时限内接收到所述第四测试报文,所述第一网络设备将所述第四测试报文计入接收报文数; 若所述第一网络设备在所述接收时限内未接收到所述第四测试报文,所述第一网络设备拒绝将所述第四测试报文计入接收报文数; 其中,所述接收报文数用于计算所述组播流在所述第二网络设备传输与所述第一网络设备之间的丢包。4.根据权利要求1所述的方法,其特征在于,所述检测结果包括乱序,所述至少一个测试报文包括第五测试报文和第六测试报文,其中,所述第一网络设备在接收到所述第五测试报文之后接收到所述第六测试报文; 所述第一网络设备根据所述至少一个测试报文,分析所述组播流从所述第二网络设备到所述第一网络设备的传输质量,得到用于描述所述传输质量的检测结果,包括: 所述第一网络设备比较第二顺序标识与第三顺序标识;其中,所述第二发送顺序表示在所述第二网络设备发送的测试报文中所述第五测试报文的顺序,所述第二顺序标识携带在所述第五测试报文中,所述第三发送顺序表示在所述第二网络设备发送的测试报文中所述第六测试报文的顺序,所述第三顺序标识携带在所述第六测试报文中; 若所述第二顺序标识小于所述第三顺序标识,所述第一网络设备将所述第六测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的乱序报文数。5.根据权利要求1所述的方法,其特征在于,所述检测结果包括错包,所述至少一个测试报文包括第七测试报文; 所述第一网络设备根据所述至少一个测试报文,分析所述组播流从所述第二网络设备到所述第一网络设备的传输质量,得到用于描述所述传输质量的检测结果,包括: 所述第一网络设备识别并验证所述第七测试报文中携带的校验总和Checksum; 若所述校验总和未通过验证,所述第一网络设备将所述第七测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的错包报文数。6.根据权利要求1?5任意一项所述的方法,其特征在于,还包括: 所述第一网络设备向所述第二网络设备发送所述检测结果。7.根据权利要求1?5任意一项所述的方法,其特征在于,所述第一网络设备接收第二网络设备发送的至少一个测试报文,具体为:所述第一网络设备通过接收专用硬件接收所述第二网络设备发送的所述至少一个测试报文,所述接收专用硬件为用于接收所述测试报文的独立硬件。8.根据权利要求1?5任意一项所述的方法,其特征在于,所述第一网络设备与所述第二网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第二网络设备与所述第一网络设备之间通过所述TCP/IP连接传输。9.根据权利要求1?5任意一项所述的方法,其特征在于,还包括: 所述第一网络设备按照所述组播流对应的转发策略,转发所述至少一个的测试报文。10.根据权利要求1?5任意一项所述的方法,其特征在于,所述第一网络设备接收第二网络设备发送的至少一个测试报文,包括: 所述第一网络设备接收组播报文; 所述第一网络设备查找所述组播报文中是否携带有所述测试报文的标识,所述测试报文的标识包括魔术字; 若所述组播报文中携带有所述测试报文的标识,所述第一网络设备将所述组播报文识别为所述测试报文。11.一种检测组播流传输质量的方法,其特征在于,包括: 第二网络设备生成至少一个测试报文;所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识; 所述第二网络设备向第一网络设备发送所述至少一个测试报文,以便所述第一网络设备根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果; 其中,所述至少一个测试报文为按照所述组播流传输的组播报文,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。12.根据权利要求11所述的方法,其特征在于,还包括: 所述第二网络设备接收所述第一网络设备发送的所述检测结果。13.根据权利要求11所述的方法,其特征在于,所述第二网络设备向第二网络设备发送至少一个测试报文,具体为:所述第二网络设备通过发送专用硬件向所述第一网络设备发送所述至少一个测试报文,所述发送专用硬件为用于发送所述测试报文的独立硬件。14.根据权利要求11所述的方法,其特征在于,所述第二网络设备与所述第一网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第一网络设备与所述第二网络设备之间通过所述TCP/IP连接传输。15.根据权利要求11所述的方法,其特征在于,在所述测试报文中携带有所述第二网络设备打入的魔术字,所述魔术字被所述第一网络设备用于识别所述测试报文。16.—种检测组播流传输质量的装置,其特征在于,所述装置为第一网络设备,包括: 接收单元,用于接收第二网络设备发送的至少一个测试报文,所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识,所述ICMP报文在所述第一网络设备和所述第二网络设备之间基于所述组播流的标识按照所述组播流的传输方式进行传输,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备;分析单元,用于根据所述至少一个测试报文,分析所述组播流在所述第二网络设备与所述第一网络设备之间的传输质量,得到用于描述所述传输质量的检测结果。17.根据权利要求16所述的装置,其特征在于,所述检测结果包括抖动时间,所述至少一个测试报文包括第一测试报文、第二测试报文和第三测试报文; 所述分析单元,具体用于: 计算所述第一时间和第二时间之差作为第一时间差,并计算所述第二时间与第三时间之差作为第二时间差;其中,所述第一时间表示所述第一网络设备接收所述第一测试报文的时间,所述第二时间表示所述第一网络设备接收所述第二测试报文的时间,所述第三时间表示所述第一网络设备接收所述第三测试报文的时间; 计算所述第一时间差与所述第二时间差之间的差值,作为所述组播流在所述第二网络设备与所述第一网络设备之间的抖动时间。18.根据权利要求16所述的装置,其特征在于,所述检测结果包括丢包,所述至少一个测试报文包括第四测试报文; 所述分析单元,具体用于: 根据第一顺序标识,确定所述第四测试报文对应的接收时限;其中,所述第一顺序标识表示在所述第二网络设备发送的测试报文中所述第四测试报文的顺序,所述第一顺序标识携带在所述第四测试报文中; 若在所述接收时限内接收到所述第四测试报文,将所述第四测试报文计入接收报文数; 若在所述接收时限内未接收到所述第四测试报文,拒绝将所述第四测试报文计入接收报文数; 其中,所述接收报文数用于计算所述组播流在所述第二网络设备传输与所述第一网络设备之间的丢包。19.根据权利要求16所述的装置,其特征在于,所述检测结果包括乱序,所述至少一个测试报文包括第五测试报文和第六测试报文,其中,所述第一网络设备在接收到所述第五测试报文之后接收到所述第六测试报文; 所述分析单元,具体用于: 比较第二顺序标识与第三顺序标识;其中,所述第二发送顺序表示在所述第二网络设备发送的测试报文中所述第五测试报文的顺序,所述第二顺序标识携带在所述第五测试报文中,所述第三发送顺序表示在所述第二网络设备发送的测试报文中所述第六测试报文的顺序,所述第三顺序标识携带在所述第六测试报文中; 若所述第二顺序标识小于所述第三顺序标识,将所述第六测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的乱序报文数。20.根据权利要求16所述的装置,其特征在于,所述检测结果包括错包,所述至少一个测试报文包括第七测试报文; 所述分析单元,具体用于: 所述第一网络设备识别并验证所述第七测试报文中携带的校验总和Checksum; 若所述校验总和未通过验证,所述第一网络设备将所述第七测试报文计入所述组播流在所述第二网络设备与所述第一网络设备之间的错包报文数。21.根据权利要求16?20任意一项所述的装置,其特征在于,还包括: 第一发送单元,用于向所述第二网络设备发送所述检测结果。22.根据权利要求16?20任意一项所述的装置,其特征在于,所述接收单元,具体用于: 通过接收专用硬件接收所述第二网络设备发送的所述至少一个测试报文,所述接收专用硬件为用于接收所述测试报文的独立硬件。23.根据权利要求16?20任意一项所述的装置,其特征在于,所述第一网络设备与所述第二网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第二网络设备与所述第一网络设备之间通过所述TCP/IP连接传输。24.根据权利要求16?20任意一项所述的装置,其特征在于,还包括: 第二发送单元,用于按照所述组播流对应的转发策略,转发所述至少一个的测试报文。25.根据权利要求16?20任意一项所述的装置,其特征在于,所述接收单元,具体用于: 接收组播报文; 查找所述组播报文中是否携带有所述测试报文的标识,所述测试报文的标识包括魔术字; 若所述组播报文中携带有所述测试报文的标识,将所述组播报文识别为所述测试报文。26.一种检测组播流传输质量的装置,其特征在于,所述装置为第二网络设备,包括: 生成单元,用于生成至少一个测试报文;所述测试报文为互联网控制报文协议ICMP报文,所述ICMP报文中具有组播流的标识; 发送单元,用于向第一网络设备发送所述至少一个测试报文,以便所述第一网络设备根据所述至少一个测试报文,分析组播流在所述第一网络设备与所述第二网络设备之间的传输质量,得到用于描述所述传输质量的检测结果; 其中,所述至少一个测试报文为按照所述组播流传输的组播报文,所述第一网络设备和所述第二网络设备均为所述组播流的传输路径上的网络设备。27.根据权利要求26所述的装置,其特征在于,还包括: 接收单元,用于接收所述第一网络设备发送的所述检测结果。28.根据权利要求26所述的装置,其特征在于,所述发送单元,具体用于: 通过发送专用硬件向所述第一网络设备发送所述至少一个测试报文,所述发送专用硬件为用于发送所述测试报文的独立硬件。29.根据权利要求26所述的装置,其特征在于,所述第二网络设备与所述第一网络设备之间建立有传输控制协议TCP/互联网协IP连接,所述至少一个测试报文在所述第一网络设备与所述第二网络设备之间通过所述TCP/IP连接传输。30.根据权利要求26所述的装置,其特征在于,在所述测试报文中携带有所述第二网络设备打入的魔术字,所述魔术字被所述第一网络设备用于识别所述测试报文。
【文档编号】H04N21/647GK105828218SQ201610244477
【公开日】2016年8月3日
【申请日】2016年4月19日
【发明人】陈式斌
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1