网络测量不准确性的检测的制作方法

文档序号:32753067发布日期:2022-12-31 02:01阅读:37来源:国知局
网络测量不准确性的检测的制作方法
网络测量不准确性的检测
1.本技术要求2021年06月30日提交的第17/364,178号美国专利申请的权益,其全部内容通过引用而并入本文。
技术领域
2.本公开计算机网络,更具体地涉及测量网络性能。


背景技术:

3.计算机网络是能够交换数据和共享资源的互连计算设备的集合。在一些示例中,计算设备可以提供服务来测量计算机网络的网络性能。例如,计算设备可以交换数据来计算关键性能指标(kpi),诸如延迟、帧间间隙(帧间延迟变化)、抖动、分组丢失、吞吐量等。
4.例如,为了测量kpi,计算设备可以交换包括时间戳的测试分组,以指示测试分组被发送或者被接收的时间。例如,为了计算设备之间的延迟,发送方设备发送测试分组,该测试分组包括指示消息被发送时间的时间戳,并且接收方设备可以生成指示消息被接收时间的时间戳。时间戳被用于计算计算设备之间的网络性能的延迟和/或其他kpi。
5.公开内容
6.总体上,本公开描述了通过检测发送方延迟或者分组丢失来检测网络测量不准确性的技术。网络的计算设备被配置为用于测量网络性能的测量点(例如,测试代理)。例如,发送方计算设备(本文中称为“发送方设备”)的测试代理可以向接收设备(本文中称为“接收方设备”)的测试代理发送测试分组,接收方设备转而可以使用该测试分组来计算一个或多个kpi。作为一个示例,发送方设备可以发送包括指示测试分组被发送时间的时间戳(本文中称为“发送时间戳”)的测试分组。当接收方设备接收到测试分组时,接收方设备生成指示测试分组被接收时间的时间戳(本文中称为“接收时间戳”)。接收方设备可以使用时间戳来计算一个或多个kpi,诸如延迟。控制器可以从接收方设备获得测量的kpi,并且可以例如经由图形用户界面向用户或者网络管理员输出测量结果以供显示。
7.在某些情况下,发送设备可能会遇到具有发送测试分组的问题,这可能会导致不准确和/或不可信的kpi测量值。例如,当将发送时间戳发送给接收方设备时,发送方设备的应用生成包括第一时间戳的测试分组,该第一时间戳指示测试分组被应用生成的时间。发送方设备将测试分组转发到发送方设备的网络接口(例如,网络接口卡),以将测试分组输出到接收方设备。在某些情况下,网络接口在向接收方设备发送包括发送时间戳的测试分组时可能会被延迟。在另一示例中,发送方设备可能经历测量过程中的暂停(本文中称为“调度暂停”),诸如当除了测试应用之外的应用正在发送方设备上运行并且需要cpu周期时,其中这种暂停可能导致发送方设备由于例如队列溢出而丢失测试分组。接收方设备可以基于测试分组来计算一个或多个kpi测量值,而没有考虑到由于调度暂停而导致的发送方延迟或者分组丢失,这可能导致控制器呈现一个或多个kpi测量值,但是没有任何kpi测量值是不归因于网络性能而是归因于发送方问题的指示。
8.根据本文所描述的技术,发送方设备可以确定发送方设备在向接收方设备发送测
试分组时是否正在遇到任何问题,并且向控制器通知该问题,使得控制器可以产生基于来自发送方设备的测试分组一个或多个kpi测量值不准确和/或不可信的指示,移除不准确的kpi测量值、和/或调整不准确的kpi测量值。
9.在发送方设备在发送测试分组时可能经历延迟的示例中,技术描述了发送方设备从网络接口的内核或者硬件组件获得第二时间戳,第二时间戳指示测试分组从发送设备实际被输出的时间(本文也称为“实际发送时间戳”)。发送方设备可以计算第一时间戳(由应用生成的时间测试分组)与第二时间戳(从发送方设备输出的时间测试分组)之间的时间差值(本文中也称为“增量(delta)”),并且将该时间差值与阈值时间值进行比较。如果发送方设备确定存在发送方延迟问题(例如,时间差值超过阈值时间值),则发送方设备发送消息以向控制器通知发送方延迟问题,控制器转而可以例如生成并且输出用于在图形用户界面内显示的可视指示,以指示基于来自发送方设备的测试分组的一个或多个kpi测量值是不准确的和/或不可信的,或者移除kpi测量值。
10.在发送方设备经历分组丢失(例如,由于调度暂停)的示例中,技术描述了发送方设备从网络接口获得从网络接口发送或者丢失的测试分组的计数。发送方设备将从网络接口计数器发送的分组的数目与从测试应用发送的测试分组的数目进行比较,并且发送消息以向控制器通知比较的结果。
11.例如,如果从网络接口计数器发送的分组的数目少于从测试应用发送的分组的数目,发送方设备可以通知控制器基于从发送方设备发送的测试分组的一个或多个kpi测量值不准确,控制器转而可以生成和输出指示以在图形用户界面上显示,从而指示kpi测量值是不准确的和/或不可信的,或者移除kpi测量值。如果从网络接口计数器发送的分组的数目大于从测试应用发送的分组的数目,并且发送方设备检测到来自网络接口的一个或多个分组丢失,则发送方设备可以通知控制器基于从发送方设备发送的测试分组的一个或多个kpi测量值可能不准确,控制器转而可以生成和输出用于在图形用户界面上显示的指示(例如,警告),以指示kpi测量值可能不准确和/或不可信。
12.本文所描述的技术可以提供一项或多项技术优势。例如,通过实现检测发送方问题并且向控制器通知发送方问题的设备,控制器可以向用户或者网络管理员呈现附加信息,以使用户或者网络管理员能够更好地评估网络测量的准确性。这向用户或者网络管理员保证了网络测量值准确地反映了网络的性能,并且保证了当问题实际上归因于发送方设备时对看似归因于网络的测量的怀疑。
13.在本文所描述技术的一个示例中,一种方法,包括:由发送方设备的应用向接收方设备发送测试分组,测试分组包括第一时间戳,该第一时间戳指示测试分组被应用生成的时间;由发送方设备从发送方设备的网络接口获得第二时间戳,第二时间戳指示测试分组经由网络接口从发送方设备被输出的时间;由发送方设备计算第二时间戳与第一时间戳之间的时间差值;由发送方设备将时间差值与阈值时间值进行比较;以及如果时间差值超过阈值时间值,则由发送方设备向控制器发送消息,以通知控制器基于测试分组的一个或多个性能测量值不准确,其中控制器不同于发送方设备和接收方设备。
14.在本文所描述技术的另一示例中,一种发送方设备,包括:网络接口;以及可操作地耦合到存储器的一个或多个处理器,其中一个或多个处理器被配置为:由发送方设备的应用向接收方设备发送测试分组,测试分组包括第一时间戳,第一时间戳指示测试分组被
应用生成的时间;从发送方设备的网络接口获得第二时间戳,第二时间戳指示测试分组经由网络接口从发送方设备被输出的时间;计算第二时间戳与第一时间戳之间的时间差值;将时间差值与阈值时间值进行比较;以及如果时间差值超过阈值时间值,则向控制器发送消息,以通知控制器基于测试分组的一个或多个性能测量值不准确,其中控制器不同于发送方设备和接收方设备。
15.在本文所描述技术的另一示例中,一种控制器,包括:可操作地耦合到存储器的一个或多个处理器,其中一个或多个处理器被配置为:从接收测试分组的接收方设备接收由接收方设备至少部分地基于测试分组而确定的一个或多个性能测量值;从向接收方发送测试分组的发送方设备接收消息,以通知控制器一个或多个性能测量值由于发送方设备的内部延迟而不准确;以及输出一个或多个性能测量值的指示和一个或多个性能测量值不准确的指示以用于显示。
16.在本文所描述技术的另一示例中,一种方法包括:由在发送设备上执行的应用向接收方设备发送一个或多个测试分组;由发送方设备从发送方设备的网络接口获得从网络接口发送的分组计数;由发送方设备从应用获得由应用发送的一个或多个测试分组的计数;由发送方设备比较从网络接口发送的分组计数和由应用发送的一个或多个测试分组的计数,以获得比较的结果;以及由发送方的设备向控制器发送消息,消息向控制器通知比较的结果。
17.在本文所描述技术的另一示例中,一种发送方设备,包括:网络接口;以及可操作地耦合到存储器的一个或多个处理器,其中一个或多个处理器被配置为:由在发送设备上执行的应用向接收方设备发送一个或多个测试分组;从发送方设备的网络接口获得从网络接口发送的分组计数;从应用获得由应用发送的一个或多个测试分组的计数;将从网络接口发送的分组计数与由应用发送的一个或多个测试分组的计数进行比较,以获得比较的结果;以及向控制器发送消息,消息向控制器通知比较的结果。
18.在本文所描述技术的另一示例中,一种控制器包括:可操作地耦合到至存储器的一个或多个处理器,其中一个或多个处理器被配置为:从接收测试分组的接收方设备接收由接收方设备至少部分基于一个或多个测试分组所确定的一个或多个性能测量值;从向接收方设备发送一个或多个测试分组的发送方设备接收指示在发送一个或多个测试分组时的问题的消息。
19.一个或多个示例的细节在附图和以下说明中阐述。根据说明书和附图以及权利要求书,其他特征、目的和优点将变得清楚。
附图说明
20.图1是示出了根据本公开所描述技术的一个或多个方面提供网络测量不准确性检测的示例网络系统的框图。
21.图2是示出了根据本公开所描述技术的一个或多个方面通过检测发送方延迟来检测网络测量不准确性的示例网络系统的框图。
22.图3是示出了根据本公开所描述技术的一个或多个方面通过检测发送方分组丢失来检测网络测量不准确性的示例网络系统的框图。
23.图4是示出了根据本公开中描述的技术执行一个或多个功能以检测网络测量不准
确性的示例计算设备的框图。
24.图5是示出了能够根据本公开所描述技术运行的控制器的示例的框图。
25.图6是示出了根据本公开所描述技术的一个或多个方面通过检测发送方延迟来检测网络测量不准确性的示例操作的流程图。
26.图7是示出了根据本公开所描述技术的一个或多个方面通过检测发送方分组丢失来检测网络测量不准确性的示例操作的流程图。
具体实施方式
27.图1是示出了根据本文所描述技术提供网络测量不准确性检测的示例网络系统2(“网络系统2”)的框图。
28.网络系统2可以作为专用网络运行,以向订户设备16提供基于分组的网络服务。即,网络系统2为订户设备16提供网络接入的认证和建立,使得订户设备可以开始与公共网络12交换分组,公共网络12可以是基于分组的内部网络或者外部网络,诸如互联网。
29.在图1的示例中,网络系统2包括接入网络6,接入网络6通过广域网7(以下称为“wan 7”)提供到公共网络12的连通性。wan7和公共网络12可以提供基于分组的服务,这些服务可以供订户设备16请求和使用。作为示例,wan 7和/或公共网络12可以提供批量数据传送、基于互联网协议的语音(voip)、互联网协议电视(iptv)、短消息服务(sms)、无线应用协议(wap)服务、或者客户特定的应用服务。公共网络12可以包括例如局域网(lan)、广域网(wan)、互联网、虚拟局域网(vlan)、企业局域网、层3虚拟专用网(vpn)、由运营接入网络6的服务提供方运营的互联网协议(ip)内联网、企业ip网络、或者它们的某种组合。在各种示例中,公共网络12被连接到公共wan、互联网、或者连接到其他网络。公共网络12执行一个或多个分组数据协议(pdp),诸如ip(ipv4和/或ipv6)、x.25或者点对点协议(ppp),以实现公共网络12服务的基于分组的传输。
30.通常,订户设备16通过接入网络6连接至网络设备18a至18b(统称为“网络设备18”),以接收由公共网络12托管的应用的用户服务的连通性。订户可以代表例如企业、住宅订户、或者移动订户。订户设备16可以是例如个人计算机、膝上型计算机、或者位于可以提供本地路由和交换功能的客户设备(ce)11后的其他类型的计算设备。订户设备16中的每个订户设备可以运行各种软件应用,诸如文字处理和其他办公支持软件、网页浏览软件、支持语音呼叫、视频游戏、视频会议、和电子邮件的软件等。例如,订户设备16可以是各种支持网络(network-enabled)的设备,通常称为“物联网”(iot)设备,诸如相机、传感器(s)、电视、电器等。此外,订户设备16可以包括经由无线接入网络(ran)4接入网络系统2的数据服务的移动设备。示例移动订户设备包括移动电话、具有例如无线卡的膝上型或者台式计算机、支持无线的上网本、平板计算机、视频游戏设备、寻呼机、智能电话、个人数据助理(pda)等。
31.网络服务提供方运营或者在某些情况下租赁接入网络6的元素(例如,网络设备),以在订户设备16与网络设备18a之间提供分组传输。接入网6代表聚合来自订户设备16中的一个或多个订户设备的数据业务以用于向/从服务提供方的wan 7传输的网络。接入网6包括网络节点,其执行通信协议来传输控制和用户数据以便于订户设备16和网络设备18a之间通信。接入网6可以包括宽带接入网、无线lan、公共交换电话网(pstn)、客户驻地设备(cpe)网络、或者其他类型的接入网,并且可以包括或者以其他方式提供诸如无线接入网
(ran)(例如,ran 4)等蜂窝接入网络的连接。ran的示例包括符合第五代(5g)移动网络、第四代(4g)移动网络通用移动电信系统(umts)架构、被称为长期演进(lte)的umts演进、由互联网工程任务组(ietf)标准化的移动ip、以及由第三代合作伙伴计划(3gpp)、第三代合作伙伴计划2(3ggp/2)和wimax论坛提出的其他标准的网络。
32.网络设备18a至网络设备18b(统称为“网络设备18”)各自可以为客户边缘(ce)路由器、提供方边缘(pe)路由器、或者在网络(例如,接入网络6与公共网络12)之间提供连通性的其他网络设备。wan 7向附接到接入网络6的订户设备16提供基于分组的连通性,以用于接入公共网络12(例如,互联网)。wan 7可以代表由服务提供方拥有和操作以互连多个网络(可以包括接入网络6)的公共网络。在一些示例中,wan 7可以实现多协议标签交换(mpls)转发,并且在这种情况下可以被称为mpls网络或者mpls主干网。在一些情况下,wan 7代表多个互连的自治系统,诸如互联网,互连的自治系统提供来自一个或多个服务提供方的服务。公共网络12可以代表互联网。公共网络12可以代表经由传输网络22和一个或多个网络设备(例如,诸如客户边缘交换机或者路由器的客户边缘设备)耦合到wan 7的边缘网络。公共网络12可以包括数据中心。在图1的示例中,网络设备18b可以经由虚拟网络20与服务节点10交换分组,并且网络设备18b可以经由转接网络22将分组转发到公共网络12。
33.在包括有线/宽带接入网络的网络系统2的示例中,网络设备18a或者18b可以代表宽带网络网关(bng)、宽带远程接入服务器(bras)、mpls pe路由器、核心路由器或者网关、或者电缆调制解调器终端系统(cmts)。在包括蜂窝接入网作为接入网6的网络系统2的示例中,网络设备18a或者网络设备18b可以代表移动网关,例如网关通用分组无线业务(gprs)服务节点(ggsn)、接入网关(agw)、或者分组数据网络(pdn)网关(pgw)。在其他示例中,关于网络设备18b描述的功能可以在交换机、服务卡、或者另一网络元素或者组件中被实现。在一些示例中,网络设备18b本身可以是服务节点。
34.管理网络系统2的至少部分的网络服务提供方通常向与接入网络系统2的系统(例如,订户设备16)相关联的订户提供服务。所提供的服务可以包括例如传统的互联网接入、voip、视频和多媒体服务、以及安全服务。如上关于wan 7所述,wan 7可以支持连接到服务提供方网络接入网关的多种类型的接入网络基础设施,以提供对所提供的服务(例如,由服务节点10提供的服务)的接入。在一些情况下,网络系统可以包括附接到具有不同架构的多个不同接入网络6的订户设备16。
35.通常,订户设备16中的任何一个或多个订户设备可以通过向诸如网络设备18a或者18b的网关设备发送会话请求来请求授权和数据服务。网络设备转而可以接入诸如认证、授权和计费(aaa)服务器等中央服务器(未示出),以认证请求网络接入的订户设备16中的一个订户设备。一旦被认证,订户设备16中的任何订户设备可以向wan 7发送订户数据业务,以访问和接收由公共网络20提供的服务,并且这样的分组可以遍历网络设备18a或者网络设备18b作为至少一个分组流的部分。在一些示例中,网络设备18a可以将所有认证的订户流量转发到公共网络12,并且如果订户流量需要服务节点10上的服务,则网络设备18b可以将服务应用于数据中心9和/或特定订户流量导向数据中心9。将被应用于订户流量的应用(例如,服务应用)可以被托管在服务节点10上。
36.例如,网络系统2包括具有服务节点10的集群的数据中心9,服务节点10为虚拟化网络服务提供执行环境。在一些示例中,服务节点10中的每个服务节点代表服务实例。服务
节点10中的每个服务节点可以将一个或多个服务应用于业务流。这样,网络设备18b可以通过由服务节点10所提供的限定的服务集来引导订户分组流。即,在一些示例中,每个订户分组流可以通过由服务节点10提供的服务的特定有序组合而被转发,每个有序集在本文中被称为“服务链”。作为示例,服务节点10可以应用状态防火墙(sfw)和安全服务、深度分组检查(dpi)、运营商级网络地址转换(cgnat)、流量目的地功能(tdf)服务、媒体(语音/视频)优化、互联网协议安全(ipsec)/虚拟专用网(vpn)服务、超文本传输协议(http)过滤、计数、记账、收费和/或分组流的负载平衡、或者应用于网络流量的其他类型的服务。
37.在一些示例中,网络系统2包括软件定义网络(sdn)和网络功能虚拟化(nfv)架构。在这些示例中,sdn控制器(未示出)可以提供用于配置和管理网络系统2的路由和交换基础设施的控制器。
38.虽然图示为数据中心9的部分,但是服务节点10可以为由wan7的一个或多个交换机或者虚拟交换机耦合的网络设备。在一个示例中,服务节点10中的每个服务节点可以作为虚拟计算环境中的虚拟机(vm)运行。此外,计算环境可以包括通用计算设备的可扩展集群,诸如基于x86处理器的服务。作为另一示例,服务节点10可以包括通用计算设备和专用设备的组合。作为虚拟化网络服务,由服务节点10提供的各个网络服务可以通过虚拟化存储器的分配、处理器利用率、存储和网络策略,以及水平地通过添加附加的负载平衡的vm来扩展,就像在现代数据中心中一样。在其他示例中,服务节点10可以是网关设备或者其他路由器。在进一步的示例中,针对服务节点10中的每个服务节点描述的功能可以在交换机、服务卡、或者另一网络元素或组件中被实现。
39.如本文所述,网络系统2内的网络元素可以提供网络监控服务。例如,网络设备18和/或服务节点10被配置为测量点(例如,测试代理),以提供网络监控服务来确定例如性能和功能、以及服务链的互连。测试代理可以作为软件即服务(saas)解决方案从云中被交付,也可以被本地部署在nfv环境中。配置有测试代理的网络元素可以发送和/或接收测试分组,以计算网络的一个或多个关键性能指标(kpi),例如延迟、延时(帧间间隙)、抖动、分组丢失、吞吐量等。测试代理可以根据各种协议发送测试分组,诸如超文本传输协议(http)、互联网控制消息协议(icmp)、网速测试(speedtest)、用户数据报协议(udp)、传输控制协议(tcp)、操作、管理和维护(oam)功能(例如y.1731)、双向主动测量协议(twamp)、互联网协议电视(iptv)和over the top(ott)协议、voip电话和会话发起协议(sip)、移动无线电、远程分组检查、以及测量网络性能的其他协议。
40.在图1的示例中,网络设备18a配置有测试代理19a,网络设备18b配置有测试代理19b,服务节点10a配置有测试代理19c,服务节点10b配置有测试代理19d,服务节点10c配置有测试代理19e,以及服务节点10d配置有测试代理19f。尽管网络设备18和服务节点10中的每个均被描述为配置有测试代理,但是任何数目的网络设备和/或服务节点均可以配置有测试代理以提供监控服务。
41.例如,为了测试网络设备18a与服务节点10a之间的网络性能,网络设备18a的测试代理19a可以向服务节点10a的测试代理19c发送测试分组。测试分组可以包括指示测试分组被发送时间的时间戳。由网络设备18a发送的时间戳在本文中可以被称为“发送时间戳”,服务节点10a的测试代理19c可以接收包括发送时间戳的测试分组,并且生成指示测试分组被接收时间的时间戳。由服务节点10a的测试代理19c生成的时间戳在本文中可以被称为“接收时间戳”。服务节点10a的测试代理19c可以使用发送时间戳和接收时间戳来计算一个或多个kpi。例如,服务节点10a的测试代理19c可以基于接收时间戳与发送时间戳之间的差来确定网络设备18a和服务节点10a之间的延迟。服务节点10a的测试代理19c向控制器14发送一个或多个kpi测量值(在图1中示为kpi测量值24),控制器14转而可以例如经由图形用户界面向用户和/或网络管理员呈现一个或多个kpi测量值。这样,配置有测试代理的设备可以利用单向测试分组来测量发送方设备与接收方设备之间的网络性能。
42.在某些情况下,网络设备18a(例如,发送方设备)在发送测试分组时可能会遇到问题,这可能会导致接收方设备(例如,服务节点10a)的kpi测量值不准确。作为一个示例,针对在网络设备18a上配置的测试代理19a的测试应用可以生成发送时间戳,并且将该发送时间戳转发到它的网络接口(例如,诸如以太网卡的网络接口卡(nic)),以将测试分组发送到服务节点10a。在一些情况下,网络设备18a的网络接口在向服务节点10a发送时间戳时可能会经历延迟(本文中称为“发送方延迟”)。服务节点10a(例如,接收方设备)可以在发送方延迟之后接收测试分组,生成接收时间戳以指示接收到测试分组的时间,并且基于发送时间戳和接收时间戳来计算一个或多个kpi测量值(例如,延迟),而不考虑发送方延迟。服务节点10a可以向控制器14发送延迟测量值,控制器14例如通过图形用户界面向用户或者网络管理员呈现延迟测量值。在这些示例中,如果没有指示出延迟测量值是不准确的和/或不可信的,则用户或者网络管理员可能不正确地将延迟问题归因于网络设备18a与服务节点10a之间的网络,这可能导致不必要的故障排除和纠正措施。
43.在一些示例中,例如,由于设备服务于其他过程,在执行测量过程的发送方设备中可能存在暂停。例如,当在网络设备18a上执行的其他应用可能需要cpu周期时,网络设备18a在发送测试分组时可能会经历暂停。当网络监控服务被恢复时,网络设备18a通常可以突发发送测试分组,以保持特定的平均每秒分组速率。这可能导致由于队列溢出的网络设备18a中的测试分组丢失。
44.根据本公开所描述的技术,网络系统2可以提供对网络测量不准确性的检测。例如,网络设备18a可以检测发送方延迟或者分组丢失,并且通知控制器14基于从网络设备18a发送的测试分组的一个或多个kpi测量值是不准确和/或不可信的。
45.在一个示例中,网络设备18a可以检测从网络设备18a输出测试分组时的延迟。如下面在图2中进一步描述的,网络设备18a的测试应用可以生成包括第一时间戳(本文中也称为“应用发送时间戳”)的测试分组,该第一时间戳指示由测试应用生成测试分组的时间。网络设备18a可以获得由网络设备18a的网络接口生成的第二时间戳,该第二时间戳指示测试分组从网络设备18a被输出的时间(本文中也称为“实际发送时间戳”)。网络设备18a可以计算第一时间戳(实际发送时间戳)与第二时间戳(应用发送时间戳)之间的时间差值,并且将该时间差值与阈值时间值进行比较。如果网络设备18a例如基于对时间差值和阈值时间值的评估,检测到从网络设备18a向服务节点10a输出测试分组时的延迟,则网络设备18a向控制器14发送消息26,以通知控制器14网络设备18a已经检测到发送测试分组时的问题(例如,发送方延迟)。在一些示例中,网络设备18a可以发送包括与发送方延迟相关联的附加信息的消息26,诸如延迟值。在一些示例中,网络设备18a可以在定义的测量间隔之后发送消息26,其中多个测试分组在定义的时间间隔期间被延迟。
46.在一些示例中,响应于从网络设备18a接收消息26,控制器14可以在图形用户界面
内生成一个或多个kpi测量值24不准确和/或不可信的可视指示。在其他示例中,控制器14可以移除一个或多个kpi测量值24。在一些示例中,控制器14可以基于消息26中所包括的附加信息(例如,延迟值)来调整一个或多个kpi测量值24。
47.在另一示例中,网络设备18a可以在向服务节点10a发送测试分组时检测分组丢失(例如,由于调度暂停)。如下面在图3中进一步描述的,网络设备18a可以将由网络接口(例如,网络接口的硬件)发送的测试分组计数与从测试应用发送的测试分组的计数进行比较(例如,由网络接口发送的测试分组的数目是否小于从测试应用发送的测试分组的数目)。基于该比较,网络设备18a可以向控制器14发送消息26,以通知控制器14网络设备18a已经检测到在发送测试分组时的问题(例如,丢失的测试分组)。在一些示例中,网络设备18a可以发送包括与检测到的问题相关联的附加信息的消息26,诸如发送或者丢失的分组的数目。
48.在一些示例中,响应于从网络设备18a接收消息26,控制器14可以在图形用户界面内生成一个或多个kpi测量值24不准确的和/或不可信的可视指示。在其他示例中,控制器14可以移除一个或多个kpi测量值24。在一些示例中,控制器14可以基于消息26中包括的附加信息(例如,发送或者丢失的分组的数目)来调整一个或多个kpi测量值24。
49.尽管出于示例目的针对图1中的sd-wan上下文进行了描述,但是本公开的技术能够应用于任何wan保障或者网络保障环境。
50.图2是示出了根据本公开所描述技术的一个或多个方面通过检测发送方延迟来检测网络测量不准确性的示例网络系统的框图。在图2的示例中,控制器202可以代表图1的控制器14的示例,并且设备204a至设备204b可以代表图1的任何的网络设备18、服务节点10、或者被配置为测量网络性能的测量点的任何网络元素。网络207可以代表图1的wan 7,和/或连接被配置为测量点的至少两个网络元素的其他网络。
51.在该示例中,设备204a可以包括置信度引擎220,以检测因发送方延迟而导致的发送方不准确。作为一个示例,针对设备204a的测试代理210a的测试应用可以在开放系统互连(osi)模型的应用层处生成包括第一时间戳214(应用发送时间戳)的测试分组212。响应于测试分组212的生成,测试代理210a将测试分组212转发到网络接口208a(在图2中示为“ni 208a”),以将测试分组输出到osi模型的数据链路层或者层2处的设备204b。网络接口208a将测试分组212输出到设备204b,并且生成第二时间戳216(实际发送时间戳),第二时间戳216指示测试分组212从网络接口208a被输出的时间。设备204a的置信度引擎220从测试应用获得第一时间戳214,并且从网络接口208a(例如,从网络接口的内核或者硬件)获得第二时间戳216。
52.设备204a的置信度引擎220可以将第一时间戳214与第二时间戳216比较,以确定是否通知控制器202基于由设备204a发送的测试分组的一个或多个kpi测量值是不准确的和/或不可信的。例如,设备204a的置信度引擎220可以计算第二时间戳216与第一时间戳214之间的时间差值,并且使用阈值时间值来评估该时间差值。例如,用户或者网络管理员可以定义延迟值(例如,以毫秒计),该延迟值控制设备204a是否要向控制器202通知发送方延迟。在一些示例中,置信度引擎220可以计算多个实际发送时间戳与多个应用发送时间戳之间的多个时间差值,并且基于对多个时间差值的评估来动态调整阈值。如果时间差值超过阈值时间值(例如,时间差值大于阈值时间值),则设备204a向控制器202发送消息218,以
通知控制器202基于由设备204a发送的测试分组212的一个或多个kpi测量值是不准确和/或不可信的。在一些示例中,消息218可以包括标志或者任何类型的通知,以指示发送测试分组时发送方延迟的存在、时间差值、和/或关于发送方延迟的其他信息。在一些示例中,设备204a可以使用网络配置协议(netconf)或者其他消息协议来发送消息。
53.控制器202可以从设备204a接收消息218,并且从设备204b接收一个或多个kpi测量值224。利用测试分组212中包括的应用发送时间戳214和设备204b响应于接收测试分组212而生成的接收时间戳来计算一个或多个kpi测量值224。响应于接收到消息218,在一些示例中,控制器202可以生成一个或多个kpi测量值224不准确和/或不可信的可视指示(例如,警告符号、以特定颜色突出显示测量值等)。在另一示例中,控制器202可以响应于接收消息218而移除一个或多个kpi测量值224。在另一示例中,控制器202可以接收包括在消息218中的增量值,并且使用该增量值来调整一个或多个kpi测量值224。例如,设备204a可以从多个应用发送时间戳和多个实际发送时间戳来计算多个增量,并且从多个增量确定设备204a在发送测试分组时持续经历延迟(例如,平均0.1毫秒)。在该示例中,设备204a可以向控制器202发送延迟值,使得控制器202可以基于延迟值来调整一个或多个kpi测量值。
54.图3是示出了根据本公开所描述技术的一个或多个方面通过检测发送方分组丢失来检测网络测量不准确性的示例网络系统的框图。在图3的示例中,控制器302可以代表图1的控制器14的示例,并且设备304a至设备304b可以代表图1的任何网络设备18、服务节点10、或者被配置为测量网络性能的测量点的任何网络元素。网络307可以代表图1的wan 7,或者连接被配置为测量点的至少两个网络元素的其他网络。
55.在该示例中,设备304a可以包括置信度引擎320,以检测由于发送方分组丢失而导致的发送方不准确。作为一个示例,设备304a的测试代理310a的测试应用可以生成测试分组330、332和334。由于网络测量过程中的暂停,设备304a可以将测试分组存储在过程调度队列中,直到测量过程被恢复。例如,当测量过程被恢复时,设备304a可能由于队列溢出而丢失测试分组332和334。为了检测由于发送方分组丢失而导致的发送方不准确,置信度引擎320可以从网络接口308a(在图3中示为“ni 308a”)获得从网络接口发送和/或丢失的测试分组的数目的计数336。在该示例中,置信度引擎320可以获得发送的一个测试分组(例如,测试分组330)的计数和/或丢失的两个测试分组(例如,测试分组332和334)的计数。置信度引擎320还可以从测试代理310a获得由测试应用发送的测试分组的计数。在该示例中,置信度引擎320获得由测试应用发送的三个测试分组的计数。
56.设备304a的置信度引擎320可以将由网络接口308a发送的测试分组的数目与从测试应用发送的测试分组的数目进行比较,并且向控制器302发送消息,以向控制器通知该比较的结果。例如,如果由网络接口308a发送的测试分组的数目小于从测试应用发送的分组的数目,则置信度引擎320可以向控制器302发送消息318,以通知控制器302基于来自设备304a的测试分组的一个或多个kpi测量值是不准确和/或不可信的。在一些示例中,设备304a的置信引擎320可以发送指示从网络接口发送的分组计数小于由应用发送的测试分组的计数的消息,并且控制器302可以确定基于来自设备304a的测试分组的一个或多个kpi测量值是不准确和/或不可信的。
57.备选地,或者附加地,如果网络接口308a发送的测试分组的数目大于测试应用发送的测试分组的数目(例如,如果分组是从共享系统上的其他应用和过程被发送的),并且
在网络接口计数器上仍检测到丢失,则置信引擎320可以向控制器302发送消息318,以通知控制器302基于来自设备304a的测试分组的一个或多个kpi测量值可能不准确和/或可能不可信。在一些示例中,设备304a的置信引擎320可以发送指示从网络接口发送的分组计数大于由应用发送的测试分组的计数的消息,并且控制器302可以确定基于来自设备304a的测试分组的一个或多个kpi测量值可能不准确和/或不可信。
58.在该示例中,置信度引擎320确定由网络接口308a发送的测试分组的数目(例如,一个)少于测试应用发送的测试分组的数目(例如,三个)。作为响应,发送消息318,该消息318包括标志或者任何类型的通知,以指示由于发送方分组丢失而导致的发送方问题的存在、发送或者丢失的分组的数目、和/或关于由于发送方分组丢失而导致的发送方问题的其他信息。在一些示例中,设备304a可以使用网络配置协议或者其他消息协议来发送消息。
59.控制器302可以从设备304a接收消息318,并且从设备304b接收一个或多个kpi测量值324。使用测试分组330来计算一个或多个kpi测量值324。在一些示例中,控制器302可以生成一个或多个kpi测量值324(或者可能是)不准确和/或不可信的可视指示(例如,警告符号、以特定颜色突出显示测量值等)。在另一示例中,控制器302可以响应于接收到消息318而移除一个或多个kpi测量值324。在另一示例中,控制器302可以接收包括在消息318中的发送或者丢失的分组的数目,并且使用发送或者丢失的分组的数目来调整一个或多个kpi测量值324。
60.图4是示出了根据本公开中描述的技术执行一个或多个功能以检测网络测量不准确性的示例计算设备的框图。图4的计算设备400可以表示图1的任何网络设备18和/或托管服务节点10、图2的设备204、和/或图3的设备304的服务器。在该示例中,计算设备400包括耦合计算设备400硬件环境的硬件组件的总线442。总线442耦合网络接口卡(nic)430、存储盘446和一个或多个微处理器410(以下称为“微处理器410”)。nic 430可以是支持sr iov的。在某些情况下,前端总线可以耦合微处理器410和存储设备444。在一些示例中,总线442可以耦合存储设备444、微处理器410和nic 430。总线442可以代表外围组件接口(pci)快速(pcie)总线。在一些示例中,直接存储器访问(dma)控制器可以控制耦合到总线442的组件之中的dma传输。在一些示例中,耦合到总线442的组件控制耦合到总线442的组件之中的dma传输。
61.微处理器410可以包括一个或多个处理器,每个处理器包括独立的执行单元,以执行符合指令集架构的指令,指令被存储到存储介质。执行单元可以被实现为单独的集成电路(ic),或者可以被组合在一个或多个多核处理器(或者“众核”处理器)内,每个多核处理器都使用单个ic(即,芯片多处理器)而被实现。
62.磁盘446代表计算机可读存储介质,计算机可读存储介质包括被以任何方法或者技术实现的易失性和/或非易失性、可移动和/或不可移动介质,用于存储信息,诸如处理器可读指令、数据结构、程序模块、或者其他数据。计算机可读存储介质包括但是不限于随机存取存储器(ram)、只读存储器(rom)、eeprom、闪存、cd-rom、数字多功能光盘(dvd)或者其他光存储设备、盒式磁带、磁带、磁盘存储设备或者其他磁存储设备,或者可用于存储所需信息并且可以由微处理器410访问的任何其他介质。
63.主存储器444包括一种或者多种计算机可读存储介质,计算机可读存储介质可以包括随机存取存储器(ram),诸如各种形式的动态ram(dram)(例如,ddr2/ddr3 sdram),或
者静态ram(sram)、闪存、或者可以用于以指令或者数据结构的形式携带或者存储所需的程序代码和程序数据并且可以由计算机访问的任何其他形式的固定的或者可移动存储介质。主存储器444提供由可寻址存储位置组成的物理地址空间。
64.网络接口卡(nic)430包括被配置为使用基础物理网络的链路来交换分组一个或多个接口432。接口432可以包括具有一个或多个网络端口的端口接口卡。nic 430还可以包括卡上存储器,以例如存储分组数据、时间戳、发送和/或丢失的分组计数。nic 430与耦合到总线442的其他设备之间的直接存储器访问传输可以从/向nic存储器读/写。
65.存储器444、nic 430、存储磁盘446和微处理器410可以针对软件堆栈提供操作环境,该软件堆栈包括在内核空间中执行的操作系统内核414。内核414可以代表例如可以从微软公司获得的linux、伯克利软件分发(bsd)、另一unix变体内核、或者windows服务器操作系统内核。在一些实例中,操作系统可以执行管理程序416和一个或多个虚拟执行元素,例如由管理程序416管理的虚拟机428a至虚拟机428b(统称为“虚拟机428”)。尽管针对虚拟机进行了图示和描述,但是vnf实例420a至vnf实例420m(统称为“vnf实例420”)可以由诸如容器(例如,docker容器)的其他操作环境来执行。在2020年11月16日提交的题为“虚拟化服务的主动保证(active assurance for virtualized services)”的美国临时专利申请63/114,444中描述了由虚拟执行元素提供的监控服务的附加示例,其全部内容通过引用结合于此。
66.计算设备400执行管理程序416以管理虚拟机428。示例管理程序包括用于linux内核的基于内核的虚拟机(kvm)、xen、可从vmware获得的esxi、可从微软获得的windows hyper-v以及其他开源和专有管理程序。术语管理程序可以包含虚拟机管理器(vmm)。包括内核414的操作系统针对用户空间445中的一个或多个进程(例如,测试代理应用,如本公开中所述)提供执行环境。
67.虚拟机428托管相应的vnf实例420。在一些示例中,虚拟机428可以托管一个或多个vnf实例420。vnf实例420中的每个vnf实例被配置为将网络功能应用于分组。在该示例中,vnf实例420被配置为托管测试代理,例如测试代理429a至测试代理429b(统称为“测试代理429”)。
68.内核414包括物理驱动程序425以使用网络接口卡430。网络接口卡430还可以实现sr-iov,以使得能够在一个或多个虚拟执行元素之间共享物理网络功能(i/o),诸如虚拟机428和/或容器(图4中未示出)。诸如虚拟功能的共享虚拟设备可以提供专用资源,使得虚拟执行元素中的每个虚拟执行元素可以访问nic 430的专用资源,因此对于虚拟执行元素中的每个虚拟执行元素来说,nic 430表现为专用nic。虚拟功能可以表示轻量级pcie功能,其与物理驱动程序425使用的物理功能以及其他虚拟功能共享物理资源。对于支持sr-iov的nic 430,nic 430可以根据sr-iov标准具有数千个可用的虚拟功能,但是对于i/o密集型应用,所配置的虚拟功能的数目通常要少得多。
69.测试代理429可以使用各种协议与其他测试代理通信,以测量互联网性能和/或网络性能。例如,测量互联网性能的协议可以包括超文本传输协议(http)、互联网控制消息协议(icmp)和/或速度测试。测量网络性能的协议可以包括用户数据报协议(udp)、传输控制协议(tcp)、操作、管理和维护(oam)功能(例如,y.1731)、双向主动测量协议(twamp)、互联网协议电视(iptv)和顶层(ott)协议、voip电话和会话发起协议(sip)、移动无线电、远程分
组检查以及测量网络性能的其他协议。测试代理429可以使用诸如网络配置协议(netconf)的消息协议来与控制器(例如,图1的控制器14、图2的控制器202、或者图3的控制器302)通信。
70.根据本文所描述的技术,计算设备400可以包括置信度引擎460,用于通过检测发送方延迟或者分组丢失来检测网络测量不准确性。置信度引擎460可以包括可以由微处理器410执行的代码。置信度引擎460可以是用户空间445中的一个或多个计算机进程。
71.计算设备400可以经由管理界面(例如,命令行界面(cli)或者图形用户界面(gui)(图4中未示出))来接收使发送方不准确通知模式能够执行本公开所描述技术的命令。作为一个示例,置信度引擎460被配置为检测由于发送方延迟而导致的发送方不准确。例如,置信度引擎460可以从测试代理429a的测试应用获得第一时间戳472(例如,图2的应用发送时间戳214),第一时间戳472指示由测试应用生成测试分组的时间。nic 430可以各自包括硬件时钟,并且可以生成指示测试分组从nic 430输出时间的时间戳,并且将该时间戳存储在nic的存储器中。置信度引擎460还被配置为从nic 430获得第二时间戳470(例如,图2的实际发送时间戳216)。例如,置信度引擎460可以使用计算设备400的内核414来执行对物理驱动器425的系统调用,以从nic 430的硬件获得时间戳470。在一些示例中,置信度引擎460可以从执行分组i/o或者以其他方式处理分组的一个或多个虚拟网络接口获得实际发送时间戳。例如,计算设备400可以使用由nic 430启用的虚拟硬件组件(例如,sr-iov虚拟功能)来执行分组i/o和接收/发送分组。在这些示例中,置信度引擎460可以从分组i/o组件获得实际的发送时间戳。
72.置信引擎460还被配置为将第一时间戳472(应用发送时间戳)与第二时间戳470(实际发送时间戳)比较,以确定是否通知控制器(例如,图2的控制器202)基于设备400发送的测试分组的一个或多个kpi测量值不准确和/或不可信。例如,置信度引擎460被配置为,计算第二时间戳470与第一时间戳472之间的时间差值,并且用阈值时间值来评估该时间差值。计算设备400可以包括管理接口,以从用户或者网络管理员接收输入来指定阈值时间值,并且计算设备400可以存储阈值时间值。如果时间差值超过阈值时间值(例如,时间差值大于阈值时间值),则置信引擎460被配置为生成消息(例如,图2的消息218)来通知控制器基于由计算设备400发送的测试分组的一个或多个kpi测量值是不准确和/或不可信的。例如,置信度引擎460可以使用例如netconf来生成包括标志或者任何类型的通知的消息,以指示发送方延迟的存在、时间差值和/或关于发送方延迟的其他信息。
73.作为另一示例,置信引擎460被配置为检测由于分组丢失造成的发送方不准确。例如,nic 430可以各自包括计数器,用于对发送或者丢失的分组数目进行计数,并且将该计数存储在ifc的存储器中。置信引擎460被配置为获得从nic 430发送或者丢失的分组计数(例如,图3的计数336)。例如,置信度引擎460可以使用计算设备400的内核414来执行对物理驱动器425的系统调用,以从nic 430获得计数474。置信度引擎460还可以获得从测试应用发送的测试分组的计数476(例如,图3的计数338)。
74.置信引擎460还被配置为将由nic 430发送或者丢失的分组计数474与从测试应用发送的测试分组的计数476进行比较。例如,置信引擎460被配置为确定由nic 430发送的测试分组的数目是否小于从测试应用发送的分组的数目。如果由nic 430发送的测试分组的数目小于从测试应用发送的分组的数目,则置信引擎460被配置为生成消息(例如,图3的消
息318)以通知控制器基于由计算设备400发送的测试分组的一个或多个kpi测量值是不准确和/或不可信的。例如,置信度引擎460可以使用例如netconf来生成包括标志或者任何类型的通知的消息,以指示存在由于分组丢失而导致的发送方问题、发送或者丢失的分组的数量、和/或关于由于分组丢失而导致的发送方问题的其他信息。
75.用户或者管理员可以启用(或者禁用)发送方不准确通知模式,以通知控制器由于发送方延迟导致的发送方不准确,通知控制器由于发送方分组丢失导致的发送方不准确,或者两者兼有。
76.通过这种方式,计算设备400可以检测由于发送方延迟或者分组丢失造成的任何发送方不准确,并且将发送方不准确通知给控制器,使得控制器可以产生可视指示(例如,警告符号、以特定颜色突出显示测量值等)。一个或多个kpi测量值是(或者可能是)不准确和/或不可信的,或者基于从通知消息接收的信息来调整一个或多个kpi测量值。
77.图5是示出了能够根据本公开所描述技术运行的控制器的示例的框图。控制器500可以包括例如服务器或者网络控制器,并且可以代表图1的控制器14、图2的控制器202和图3的控制器302的示例实例。
78.在图5的示例中,控制器500包括耦合至网络接口520的控制单元502,以通过入站链路522和出站链路524来与其他网络设备交换分组。控制单元502可以包括执行软件指令的一个或多个处理器(图5中未示出),软件指令诸如是用于定义软件或者计算机程序的软件指令,软件指令存储在计算机可读介质中,该计算机可读介质包括存储设备(例如,磁盘驱动器或者光盘驱动器)或者存储器(例如,闪存或者随机存取存储器(ram))或者存储指令以使一个或多个处理器执行本文中描述的技术的任何其他类型的易失性或者非易失性存储器。备选地,或者附加地,控制单元202可以包括专用硬件,诸如一个或多个集成电路、一个或多个专用集成电路(asic)、一个或多个应用专用处理器(assp)、一个或多个现场可编程门阵列(fpga)、或者一个或多个专用硬件的前述示例的任意组合,用于执行本文中描述的技术。
79.控制单元502为网络服务应用504和网络测量模块512提供操作环境。在一个示例中,这些模块可以被实现为在一个或多个服务器的一个或多个虚拟机上被执行的一个或多个进程。即,虽然通常被图示和描述为在单个控制器500上执行,但是这些模块的方面可以被委托给其他计算设备。
80.网络服务应用504代表向网络的客户端提供服务的一个或多个过程,所述网络包括控制器500以提供根据由网络内测试代理所交换的测试分组而计算的网络性能测量值的可视化。网络服务应用504提供诸如性能测量值可视化、对测试代理的会话管理等服务。每个网络服务应用504可以包括客户端接口506,一个或多个客户端应用通过该客户端接口506请求服务。例如,客户端界面506可以代表命令行界面(cli)或者图形用户界面(gui)。客户端接口506还可以或者备选地向客户端应用提供诸如web服务的应用编程接口(api)。用户或者管理员可以通过客户端接口506启用(或者禁用)发送方不准确通知模式,以向控制器通知由于发送方延迟导致的发送方不准确,向控制器通知由于发送方分组丢失导致的发送方不准确,或者两者。
81.网络服务应用504向网络测量模块512发出可视化网络性能测量的请求。网络测量模块512可以生成可视指示,例如由接收方测试代理(例如,图2的测试代理210b或者图3的
测试代理310b)计算的性能测量值的指示。例如,控制器500可以与接收方测试代理建立会话(例如,netconf),并且经由入站链路222从测试代理接收一个或多个性能测量值。控制器500可以将一个或多个性能测量值存储在性能测量数据存储器库518中。网络测量模块512可以输出存储在性能测量数据存储库518中的一个或多个性能测量值的可视指示以供显示。
82.在一些示例中,网络测量模块512可以从发送方测试代理(例如,图2的测试代理210a或者图3的测试代理310a)接收通知控制器500一个或多个性能测量值不准确的消息。例如,控制器500可以与发送方测试代理建立会话(例如,netconf),并且接收通知控制器500基于由发送方测试代理发送的测试分组计算的一个或多个性能测量值不准确的消息。在一些示例中,网络测量模块512可以接收包括标志或者任何类型的通知的消息,以指示在发送测试分组时存在发送方延迟、时间差值和/或关于发送方延迟的其他信息。
83.控制器500可以将消息存储在消息数据存储库516中。响应于接收到消息,网络测量模块512可以将从接收方测试代理接收的一个或多个性能测量值与消息数据存储库516中的消息相关。例如,网络测量模块512可以确定基于由发送方测试代理发送的一个或多个测试分组计算的一个或多个性能测量值,并且将从发送方测试代理接收的消息数据存储库516中的消息相关联。网络测量模块512可以输出一个或多个性能测量值的可视指示以及一个或多个性能测量值不准确的指示以供显示。在一些示例中,响应于接收到消息,网络测量模块512可以移除基于由发送方测试代理发送的测试分组计算的一个或多个性能测量值,使得控制器500不输出一个或多个性能测量值以向用户显示。
84.在一些示例中,网络测量模块512可以接收消息,该消息向控制器500通知发送方设备对从发送方设备的网络接口发送的分组计数与由发送方设备执行的应用发送的一个或多个测试分组计数进行比较的结果。例如,网络测量模块512可以接收包括从发送方设备的网络接口发送的分组计数小于由发送方设备执行的应用发送的一个或多个测试分组的计数的指示的消息。在该示例中,网络测量模块512可以基于从发送方设备的网络接口发送的分组计数小于由发送方设备执行的应用发送的一个或多个测试分组的计数的指示,来确定从接收方测试代理接收的一个或多个性能测量值是不准确和/或不可信的。网络测量模块512可以输出一个或多个性能测量值的可视指示以及一个或多个性能测量值不准确的指示以供显示。
85.作为另一示例,网络测量模块512可以接收包含指示的消息,该指示表明从发送方设备的网络接口发送的分组计数大于由发送方设备执行的应用发送的一个或多个测试分组的计数。在该示例中,网络测量模块512可以基于从发送方设备的网络接口发送的分组计数大于由发送方设备执行的应用发送的一个或多个测试分组的计数的指示,来确定从接收方测试代理接收的一个或多个性能测量值可能不准确和/或不可信。网络测量模块512可以输出一个或多个性能测量值的可视指示以及一个或多个性能测量值可能不准确的指示以供显示。
86.图6是示出了根据本公开所描述技术的一个或多个方面通过检测发送方延迟来检测网络测量不准确性的示例操作的流程图。为了便于说明,举例来说,相对于图2的设备204a、图2的控制器202、图4的计算设备400和图5的控制器500来描述示例操作,但是可以代表本公开中描述的任何计算设备和控制器。以下是该过程的步骤,尽管在本公开的技术中
执行的过程的其他示例可以包括附加的步骤或者可以不包括一些下面列出的步骤。
87.在图6的示例中,设备204a向设备204b发送包括第一时间戳214(应用发送时间戳)的测试分组212(602)。第一时间戳214可以指示测试应用生成测试分组的时间。设备204a获得第二时间戳216(实际发送时间戳),第二时间戳216指示测试分组212从设备204a的网络接口输出的时间(604)。例如,当网络接口208a向设备204b输出测试分组212时,设备204a可以获得由网络接口208a的硬件(例如,经由物理驱动器425)生成的时间戳。
88.设备204a计算第二时间标记216与第一时间标记214之间的时间差值(606)。设备204a然后将时间差值与阈值时间值进行比较(608)。例如,用户或者网络管理员可以使用界面(例如,cli或者gui)来定义时间差值(例如,以毫秒为单位),该时间差值限定了设备204a是否要向控制器202通知发送方延迟。如果时间差值超过阈值(步骤608的“是”),则设备204a向控制器202发送消息,以通知控制器基于测试分组的一个或多个kpi测量值是不准确和/或不可信的。在一些示例中,该消息可以包括标志或者任何类型的通知,以指示发送测试分组时发送方延迟的存在、时间差值和/或关于发送方延迟的其他信息。在一些示例中,设备204a可以使用netconf或者其他消息协议来发送消息。如果时间差没有超过阈值(步骤608的“否”),则设备204a不向控制器202发送消息,并且可以对后续的测试分组执行图6中描述的过程。
89.网络设备204b的接收方测试代理210b可以接收包括第一时间戳214的测试分组212(612)。网络设备204b的测试代理210b可以生成第三时间戳(接收时间戳),第三时间戳指示接收到测试分组的时间(614)。网络设备204b的测试代理210b可以基于第一时间戳(生成测试分组212的时间)和第三时间戳(接收测试分组212的时间)来计算一个或多个性能测量值(616)。网络设备204b的测试代理210b将一个或多个性能测量值发送给控制器202(618)。
90.控制器202可以从网络设备204b的接收方测试代理210b接收一个或多个性能测量值(620),在一些示例中,从网络设备204a的发送方测试代理210a接收通知控制器202基于测试分组212的一个或多个性能测量值不准确的消息(622)。响应于接收到通知控制器一个或多个性能测量值不准确的消息,控制器202输出一个或多个性能测量值的指示和一个或多个性能测量值不准确的指示用于显示(624)。在一些示例中,控制器202可以从显示输出中移除一个或多个性能测量值
91.图7是示出了根据本公开所描述技术的一个或多个方面通过检测发送方分组丢失来检测网络测量不准确性的示例操作的流程图。例如,关于图3的设备304a、图3的控制器302、图4的计算设备400和图4的控制器400描述了示例操作,但是可以代表本公开中描述的任何计算设备和控制器。以下是该过程的步骤,尽管在本公开的技术中执行的过程的其他示例可以包括附加的步骤或者可以不包括一些下面列出的步骤。
92.在图7的示例中,设备304a向设备304b发送一个或多个测试分组,例如测试分组330、332和334(702)。设备304a获得从网络接口308a发送的分组或者丢失的分组计数(704)。例如,当网络接口308a将分组发送出接口时,设备304a的置信度引擎可以获得由网络接口308a的硬件(例如,经由物理驱动器425)而生成的发送或者丢失的分组计数。设备304a还获得从测试应用发送的分组计数(706)。
93.设备304a将从网络接口308a发送的分组计数与从测试应用发送的分组计数进行
比较(708)。如果从网络接口发送的分组计数小于从测试应用发送的分组计数(步骤708的“是”),则设备304a向控制器302发送消息,以通知控制器基于由设备304a发送的测试分组的一个或多个kpi测量值是不准确和/或不可信的。在一些示例中,设备304a的置信引擎320可以发送指示比较的结果的消息,例如,从网络接口发送的分的计数小于由应用发送的测试分组的计数,并且控制器302可以确定基于来自设备304a的测试分组的一个或多个kpi测量值是不准确和/或不可信的。在一些示例中,该消息可以包括标志或者任何类型的通知,以指示发送测试分组时发送方分组丢失的存在、发送或者丢失分组的数目和/或关于发送方分组丢失的其他信息。在一些示例中,设备304a可以使用netconf或者其他消息协议来发送消息。如果从网络接口发送的分组计数大于从测试应用发送的分组计数,并且在接口计数器上仍然检测到丢失(步骤708的“否”),则设备304a向控制器302发送消息,以通知控制器基于设备304a发送的测试分组的一个或多个kpi测量值可能是不准确和/或不可信的(712)。在一些示例中,设备304a的置信引擎320可以发送指示比较的结果的消息,例如,从网络接口发送的分组计数大于由应用发送的测试分组的计数,并且控制器302可以确定基于来自设备304a的测试分组的一个或多个kpi测量值可能不准确和/或不可信。
94.网络设备304b的接收方测试代理310b可以接收测试分组330(714)。网络设备304b的测试代理310b可以基于测试分组(测试分组330)来计算一个或多个性能测量值(716)。网络设备204b的测试代理210b将一个或多个性能测量值发送给控制器202(718)。
95.控制器302可以从网络设备304b的接收方测试代理310b接收一个或多个性能测量值(720),并且在一些示例中,从网络设备304a的发送方测试代理310a来接收消息,该消息通知控制器302,基于由网络设备304a的发送方测试代理310a发送的测试分组的一个或多个性能测量值不准确或者可能不准确(722)。响应于接收到通知控制器一个或多个性能测量值不准确或者可能不准确的消息,控制器302输出一个或多个性能测量值的指示和一个或多个性能测量值不准确或者可能不准确的指示以供显示(724)。在一些示例中,控制器302可以从输出显示中移除一个或多个不准确的性能测量值。在一些示例中,控制器302可以输出一个或多个性能测量值可能不准确的指示以供显示,诸如可视警告(例如,警告图标)。
96.本文所描述技术可以在硬件、软件、固件、或者其任意组合中被实现。被描述为模块、单元、或者组件的各种特征可以在集成逻辑设备中被一起实现,或者作为分立但是可互操作的逻辑设备或者其他硬件设备而被单独实现。在一些情况下,电子电路的各种特征可以被实现为一个或多个集成电路设备,诸如集成电路芯片或者芯片组。
97.如果在硬件中实现,本公开可以针对诸如处理器之类的设备或者诸如集成电路芯片或者芯片组的集成电路设备。备选地或者附加地,如果以软件或者固件实现,则技术可以至少部分地由包括指令的计算机可读数据存储介质来实现,指令在被执行时使处理器执行上述方法中的一个或多个方法。例如,计算机可读数据存储介质可以存储这样的指令用于处理器执行。
98.计算机可读介质可以形成计算机程序产品的部分,计算机程序产品可以包括封装材料。计算机可读介质可以包括计算机数据存储介质,例如随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、闪存、磁性或者光学数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存
储介质。
99.在一些示例中,计算机可读存储介质可以包括非暂态介质。术语“非暂态”可以表示存储介质不被包含在载波或者传播信号中。在某些示例中,非暂态存储介质可以存储能够随时间改变的数据(例如,在ram或者高速缓存中)。
100.代码或者指令可以是由处理电路执行的软件和/或固件,处理电路包括一个或多个处理器,例如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他等效的集成或者离散逻辑电路。因此,本文中使用的术语“处理器”可以指任何前述结构或者适合于实现本文中描述的技术的任何其他结构。此外,在一些方面,本公开中描述的功能可以在软件模块或者硬件模块中提供。
101.已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1