选择和监控多个服务关键性能指标的方法和系统与流程

文档序号:11959650阅读:324来源:国知局
选择和监控多个服务关键性能指标的方法和系统与流程

本申请要求2015年5月25日提交的印度专利申请第2616/CHE/2015号的优先权,通过引证将其全部内容结合于本文。

技术领域

本公开涉及通信网络。



背景技术:

已经基于集成的软件定义网络(SDN)和网络功能虚拟化(NFV)概念开发了网络架构。SDN包括:在类似于网络设备(诸如,路由器和交换机)的网络节点中的控制平面与数据平面的分离,以及将控制平面抽象为更加模块化和层次化的架构的抽象化。NFV使用虚拟化来去除对专门硬件的依赖性,并且将许多不同类型的网络设备合并至可位于数据中心、网络节点以及终端用户住所的工业标准高容量服务器、交换机以及存储设备。在SDN和NFV架构中,对于部署和迁移新的服务和现有的服务,延迟和负载均衡是两个主要挑战。



技术实现要素:

总体上,描述了用于扩展双向主动测量协议(TWAMP)以使得能够在软件定义网络(SDN)和网络功能虚拟化(NFV)架构中监控服务关键性能指标(KPI)的技术。在SDN和NFV架构中,TWAMP控制客户端可在集中式控制器上执行,同时TWAMP会话发起端和TWAMP服务器均可在单独网络设备上执行。TWAMP扩展使得控制消息能够由TWAMP控制客户端处理,并且使得数据消息能够由TWAMP会话发起端处理。

此外,描述了用于扩展TWAMP以使得能够选择和监控用于TWAMP服务器支持的给定服务的多个服务KPI中的任一个的技术。服务KPI可包括持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。在传统网络架构以及SDN和NFV架构中,都可使用用于服务KPI的TWAMP扩展。

在一个实例中,本公开涉及一种方法,该方法包括:在网络中的集中式控制器设备上的双向主动测量协议(TWAMP)控制客户端与网络中的第一网络设备上的TWAMP服务器之间,建立第一控制连接;在TWAMP控制客户端与网络中的第二网络设备上的TWAMP会话发起端之间,建立第二控制连接;由TWAMP控制客户端通过第一控制连接向TWAMP服务器发送第一组TWAMP控制消息,以协商用于TWAMP服务器支持的给定服务的数据会话,该协商包括针对给定服务选择要测量的一个或多个服务关键性能指标(KPI);由TWAMP控制客户端通过第二控制连接向TWAMP会话发起端发送第二组TWAMP控制消息,该第二组TWAMP控制消息指示TWAMP会话发起端与TWAMP服务器建立用于给定服务的数据会话;以及由TWAMP控制客户端通过第二控制连接从TWAMP会话发起端接收选择的服务KPI的服务数据测量值,所述服务KPI与用于给定服务的数据会话有关,其中,由TWAMP会话发起端通过数据会话从TWAMP服务器收集服务数据测量值。

在另一实例中,本公开涉及一种网络的集中式控制器设备,该集中式控制器设备包括存储器以及一个或多个处理器,该一个或多个处理器与存储器通信并且被配置为执行双向主动测量协议(TWAMP)控制客户端。TWAMP控制客户端被配置为:与网络中的第一网络设备上的TWAMP服务器建立第一控制连接;与网络中的第二网络设备上的TWAMP会话发起端建立第二控制连接;通过第一控制连接向TWAMP服务器发送第一组TWAMP控制消息,以协商用于TWAMP服务器支持的给定服务的数据会话,该协商包括选择针对给定服务选择要测量的一个或多个服务关键性能指标(KPI);通过第二控制连接向TWAMP会话发起端发送第二组TWAMP控制消息,该第二组TWAMP控制消息指示TWAMP会话发起端与TWAMP服务器建立用于给定服务的数据会话;以及通过第二控制连接从TWAMP会话发起端接收选择的服务KPI的服务数据测量值,所述服务KPI与用于给定服务的数据会话有关,其中,由TWAMP会话发起端通过数据会话从TWAMP服务器收集服务数据测量值。

在另外的实例中,本公开涉及一种方法,该方法包括:在网络的集中式控制器设备上的双向主动测量协议(TWAMP)控制客户端与网络中的第一网络设备上的TWAMP会话发起端之间建立控制连接;由TWAMP会话发起端通过控制连接从TWAMP控制客户端接收一组TWAMP控制消息,该TWAMP控制消息指示TWAMP会话发起端建立用于网络中的第二网络设备上的TWAMP服务器支持的给定服务的数据会话;由TWAMP会话发起端与TWAMP服务器建立用于给定服务的数据会话;由TWAMP会话发起端通过数据会话从TWAMP服务器接收针对给定服务选择的一个或多个服务关键性能指标(KPI)的服务数据测量值;以及由TWAMP会话发起端通过控制连接向TWAMP控制客户端发送选择的服务KPI的服务数据测量值,所述服务KPI值与用于给定服务的数据会话有关。

在进一步实例中,本公开针对于一种网络中的网络设备,该网络设备包括存储器以及一个或多个处理器,该一个或多个处理器与存储器通信并且被配置为执行双向主动测量协议(TWAMP)会话发起端。TWAMP会话发起端被配置为:与网络的集中式控制器设备上的TWAMP控制客户端建立控制连接;通过控制连接从TWAMP控制客户端接收一组TWAMP控制消息,该TWAMP控制消息指示TWAMP会话发起端建立用于网络中的第二网络设备上的TWAMP服务器支持的给定服务的数据会话;与TWAMP服务器建立用于给定服务的数据会话;通过数据会话从TWAMP服务器接收针对给定服务选择的一个或多个服务关键性能指标(KPI)的服务数据测量值;以及通过控制连接向TWAMP控制客户端发送选择的服务KPI的服务数据测量值,所述服务KPI与用于给定服务的数据会话有关。

在另一实例中,本公开涉及一种方法,该方法包括:在网络中的第一网络设备上的双向主动测量协议(TWAMP)控制客户端与网络中的第二网络设备上的TWAMP服务器之间,建立控制连接;由TWAMP控制客户端协商用于TWAMP服务器支持的给定服务的数据会话,该协商包括针对给定服务选择要测量的一个或多个服务关键性能指标(KPI);由TWAMP控制客户端与TWAMP服务器建立用于给定服务的数据会话;由网络中的第三网络设备上的TWAMP会话发起端通过用于给定服务的数据会话向TWAMP服务器发送一个或多个TWAMP测试数据包;以及响应于一个或多个TWAMP测试数据包,由TWAMP服务器通过数据会话向TWAMP会话发起端发送针对给定服务选择的服务KPI的服务数据测量值。

在另外的实例中,本公开涉及一种系统,该系统包括:网络中的第一网络设备,该第一网络设备包括被配置为执行双向主动测量协议(TWAMP)控制客户端的一个或多个处理器;网络中的第二网络设备,该第二网络设备包括被配置为执行TWAMP服务器的一个或多个处理器;以及网络中的第三网络设备,该第三网络设备包括被配置为执行TWAMP会话发起端的一个或多个处理器。第一网络设备上的TWAMP控制客户端被配置为:与第二网络设备上的TWAMP服务器建立控制连接;协商用于TWAMP服务器支持的给定服务的数据会话,该协商包括针对给定服务选择要测量的一个或多个服务关键性能指标(KPI);以及与TWAMP服务器建立用于给定服务的数据会话。第三网络设备上的TWAMP会话发起端被配置为通过用于给定服务的数据会话向第二网络设备上的TWAMP服务器发送一个或多个TWAMP测试数据包,并且第二网络设备上的TWAMP服务器被配置为响应于一个或多个TWAMP测试数据包,通过数据会话向第三网络设备上的TWAMP会话发起端发送针对给定服务选择的服务KPI的服务数据测量值。

在进一步实例中,本公开涉及一种存储指令的非易失性计算机可读介质,当执行指令时使得一个或多个处理器:在网络中的第一网络设备上的双向主动测量协议(TWAMP)控制客户端与网络中的第二网络设备上的TWAMP服务器之间,建立控制连接;由TWAMP控制客户端协商用于TWAMP服务器支持的给定服务的数据会话,该协商包括针对给定服务选择要测量的一个或多个服务关键性能指标(KPI);由TWAMP控制客户端与TWAMP服务器建立用于给定服务的数据会话;由网络中的第三网络设备上的TWAMP会话发起端通过用于给定服务的数据会话向TWAMP服务器发送一个或多个TWAMP测试数据包;以及响应于一个或多个TWAMP测试数据包,由TWAMP服务器通过数据会话向TWAMP会话发起端发送针对给定服务选择的服务KPI的服务数据测量值。

在附图及以下说明中,阐述了一个或多个实例的细节。通过描述、附图以及权利要求,其它特征、目的和优点将是显而易见的。

附图说明

图1是示出了根据本文描述的技术的包括基于软件定义网络(SDN)网络和网络功能虚拟化(NFV)的网络架构的示例性网络系统的框图。

图2是示出了根据本公开的技术的使用TWAMP扩展在基于SDN和NFV的网络架构中执行服务延迟测量的实例的框图。

图3是示出了根据本公开的技术的使用TWAMP扩展在基于SDN和NFV的网络架构中执行用于地理上分离的虚拟机(VM)的往返时间测量的实例的框图。

图4是示出了根据本公开的技术的使用TWAMP扩展在基于SDN和NFV的网络架构中测量选择的跨虚拟机(VM)的服务关键性能指标(KPI)的实例的框图。

图5是示出了根据本公开的技术的使用TWAMP扩展在TWAMP控制客户端、TWAMP会话发起端与TWAMP服务器之间的示例性消息序列的框图。

图6是示出了根据本公开的技术的被配置为执行TWAMP会话发起端的示例性路由器的框图。

图7是示出了根据本公开的技术的被配置为执行TWAMP控制客户端的示例性集中式控制器的框图。

图8是示出了根据本公开的技术的被配置为执行TWAMP服务器的示例性网络设备的框图。

图9-图12是示出了根据本公开的技术的TWAMP控制客户端与TWAMP服务器之间的TWAMP控制消息的示例性格式的概念图。

图13A、图13B以及图14A和图14B是示出了根据本公开的技术的TWAMP控制客户端或TWAMP会话发起端与TWAMP服务器之间的TWAMP测试数据包的示例性格式的概念图。

图15-图18是示出了根据本公开的技术的TWAMP控制客户端与TWAMP会话发起端之间的TWAMP控制消息的示例性格式的概念图。

图19是示出了根据本公开的技术的网络的集中式控制器中的TWAMP控制客户端的示例性操作的流程图。

图20是示出了根据本公开的技术的网络的网络设备中的TWAMP会话发起端的示例性操作的流程图。

图21是示出了根据本公开的技术的包括TWAMP控制客户端、TWAMP会话发起端以及TWAMP服务器的系统的示例性操作的流程图。

具体实施方式

图1是示出了根据本文描述的技术的包括基于软件定义网络(SDN)网络和网络功能虚拟化(NFV)的网络架构的示例性网络系统的框图。图1的示例性网络系统1包括服务提供商网络2,该服务提供商网络作为专用网络操作以向订户设备16提供基于数据包的网络服务。就是说,服务提供商网络2提供用于订户设备16的网络接入的认证和建立,使得订户设备可开始与公用网络12交换数据包,该公用网络可以是基于内部或外部数据包的网络,诸如因特网。

如图1所示,服务提供商网络2包括软件定义网络(SDN)和网络功能虚拟化(NFV)架构。SDN控制器设备14可提供高层控制器,该高层控制器用于配置和管理服务提供商网络2的路由和交换基础设施(例如,路由器18、路由器8、服务提供商核心网络7以及数据中心9)。NFV协调器设备13可提供高层协调器,该高层协调器用于将网络服务的虚拟化配置和管理为数据中心9的服务节点10A-10N(统称为“服务节点10”)。

在一些情况中,SDN控制器14管理数据中心9的操作环境内的虚拟机(VM)的部署。例如,SDN控制器14可与路由器8交互以指定以下更详细描述的服务链信息。例如,由SDN控制器14提供的服务链信息可指定由服务节点10提供的服务的任意组合和次序、用于通过隧道或者以另外方式沿着服务路径传输数据包流的流量工程信息、速率限制、(指定用于使数据包流与具体服务链匹配的标准的)服务类型(TOS)标记或数据包分类器。在2013年6月5日提交的PCT国际专利申请PCT/US13/44378中描述了SDN控制器的进一步示例性细节,其全部内容通过引证结合至本文。

在图1的实例中,服务提供商网络2包括接入网络6,该接入网络经由服务提供商核心网络7(在下文中,“核心网络7”)和路由器8向公用网络12提供连接。核心网络7和公用网络12提供基于数据包的服务,该服务可用于订户设备16的请求和使用。作为实例,核心网络7和/或公用网络12可提供大数据递送、语音互联网协议(VoIP)、互联网协议电视(IPTV)、短消息服务(SMS)、无线应用协议(WAP)服务或客户专用应用服务。公用网络12可包括例如,局域网(LAN)、广域网(WAN)、因特网、虚拟LAN(VLAN)、企业LAN、第3层虚拟专用网络(VPN)、由操作接入网络6的服务提供商操作的因特网协议(IP)内网、企业IP网络或者它们的一些组合。在各个实施方式中,公用网络12连接至共用WAN、因特网或其他网络。公用网络12执行诸如IP(IPv4和/或IPv6)、X.25或点对点协议(PPP)的一个或多个数据包数据协议(PDP),以使能够进行公用网络12服务的基于数据包的传输。

订户设备16可经由接入网络6连接至路由器8以接收连接至订户服务的连接,该订户服务为用于由服务节点10承载的应用的订户服务。订户可表示例如,企业、住所订户或移动订户。订户设备16可以是例如,个人计算机、膝上型计算机或与订户有关的其他类型的计算设备。此外,订户设备16可包括经由无线电接入网络(RAN)(未示出)接入服务提供商网络2的数据服务的移动设备。示例性移动订户设备包括移动电话、具有例如3G无线卡的膝上型计算机或台式计算机、有无线能力的上网本、视频游戏设备、寻呼机、智能电话、个人数据助理(PDA)等。

订户设备16中的每一个可运行各种软件应用,尤其是诸如单词处理和其他办公支持软件、网络浏览软件、支持语音呼叫、视频游戏、视频会议以及电子邮件的软件。订户设备16经由包括有线和/或无线通信链路的接入链路5连接至接入网络6。如本文使用的术语“通信链路”包括任意形式(有线或无线)的传输介质,并且可包括诸如网络设备的中间节点。接入链路5中的每一个可包括例如,非对称数字用户线路(DSL)网络、微波存取全球互通(WiMAX)网络、T-1线路、集成服务数字网络(ISDN)、有线以太网或蜂窝无线电链路的方面。

网络服务提供商操作接入网络6的元件(或者在某些情况下租用接入网络6的元件),以提供订户设备16与路由器8之间的数据包传输。接入网络6表示网络,该网络从一个或多个订户设备16聚合数据流量以用于向/从服务提供商的核心网络7传输。接入网络6包括网络节点,该网络节点执行通信协议以传输控制和用户数据从而促进订户设备16与路由器8之间的通信。接入网络6可包括宽带接入网络、无线LAN、公共交换电话网络(PSTN)、用户住所设备(CPE)网络或其他类型的接入网络,并且可包括或以另外方式提供用于蜂窝接入网络(诸如无线电接入网络(RAN)(未示出))的连接。实例包括网络,其遵循:通用移动电信系统(UMTS)架构、UMTS的演进(被称为长期演进(LTE))、由因特网工程任务组(IETF)标准化的移动IP以及由第三代合作伙伴计划(3GPP)、第三代合作伙伴计划2(3GGP/2)以及WiMAX论坛提出的其他标准。

路由器18可以是客户边缘(CE)路由器、提供商边缘(PE)路由器或接入网络6与核心网络7之间的其他网络设备。核心网络7向附接至接入网络6的订户设备16提供用于访问公用网络12(例如,因特网)的基于数据包的连接。核心网络7可表示由服务提供商拥有和操作以互连多个网络(其可包括接入网络6)的公用网络。核心网络7可实现多协议标签交换(MPLS)转发,并且在这种情况下,核心网络可被称为MPLS网络或MPLS主干网。在一些情况中,核心网络7表示从一个或多个服务提供商提供服务的多个互连自主系统(诸如互联网)。公用网络12可表示因特网。公用网络12可表示,例如通过诸如客户边缘交换机或路由器的客户边缘设备而耦接至核心网络7的边缘网络。公用网络12可包括数据中心。路由器8可经由虚拟网络20与服务节点10交换数据包,并且路由器8可经由转接网络22向公用网络12转发数据包。

在包括有线/宽带接入网络的网络2的实例中,路由器8可表示宽带网络网关(BNG)、宽带远程接入服务器(BRAS)、MPLS PE路由器、核心路由器或网关或电缆数据机终端系统(CMTS)。在包括蜂窝接入网络作为接入网络6的网络2的实例中,路由器8可表示移动网关,例如,网关通用数据包无线电业务(GPRS)服务节点(GGSN)、接入网关(aGW)或数据包数据网络(PDN)网关(PGW)。在其他实例中,相对于路由器8描述的功能可在交换机、服务卡或其他网络元件或组件中实现。在一些实例中,路由器8本身可以是服务节点。

至少管理网络2的部分的网络服务提供商通常向与接入服务提供商网络2的设备有关的订户(例如,订户设备16)提供服务。提供的服务可包括例如,传统因特网接入、VoIP、视频和多媒体服务以及安全服务。如以上相对于接入网络6描述的,核心网络7可支持多类接入网络基础设施,该接入网络基础设施连接至服务提供商网络接入网关以提供向提供的服务的接入。在一些情况中,网络系统1可包括附接至具有各种架构的多个不同接入网络6的订户设备16。

通常,任意一个或多个订户设备16可通过向网关设备(诸如路由器18或路由器8)发送会话请求来请求授权和数据服务。反过来,路由器18可接入诸如认证、授权和计费(AAA)服务器的中央服务器(未示出)以认证请求网络接入的订户设备16中的一个。一旦被认证,订户设备16中的任一个可向核心网络7发送订户数据流量,以便访问和接收由公用网络12提供的服务,并且这种数据包可遍历路由器8作为至少一个数据包流的一部分。在一些实例中,路由器18可向公用网络12转发所有认证的订户流量,并且如果订户流量需要服务节点10上的服务,则路由器8可向数据中心9引导具体订户流量。应用于订户流量的应用(例如,服务应用)可承载(host)在服务节点10上。

如本文描述的,服务提供商网络2包括数据中心9,该数据中心具有服务节点10的群集,该服务器节点10提供用于通常虚拟化的网络服务的执行环境的。在一些实例中,服务节点10中的每一个表示服务实例。服务节点10中的每一个可应用一个或多个服务。作为实例,服务节点10可应用状态防火墙(SFW)和安全服务、深度包检测(DPI)、电信等级网络地址转换(carrier grade network address translation,CGNAT)、流量目的地功能(TDF)服务、媒体(语音/视频)优化、因特网协议安全(IPSec)/虚拟专用网络(VPN)服务、超文本传输协议(HTTP)过滤、数据包流的计数、帐户、计费和/或负载均衡或应用于网络流量的其他类型的服务。

尽管示出为数据中心9的一部分,但是服务节点10可以是通过核心网络7的一个或多个交换机或虚拟交换机耦接的网络设备。在一个实例中,服务节点10中的每一个可作为虚拟计算环境中的VM运行。此外,计算环境可包括通用计算设备(诸如,基于x86处理器的服务器)的可缩放集群。如另一实例,服务节点10可包括通用计算设备与专用电器的组合。由于被虚拟化,通过虚拟化存储器、处理器利用率、存储设备和网络策略的分配,以及通过水平添加其他负载均衡的VM,由服务节点10提供的个人网络服务可缩放得正如在现代数据中心中。在其他实例中,服务节点10可以是网关设备或其他路由器。在进一步实例中,相对于服务节点10中的每一个描述的功能可在交换机、服务卡或其他网络元件或组件中实现。

路由器8可通过由服务节点10提供的服务的限定集合来引导个人订户数据包流。就是说,在一些实例中,每个订户数据包流可通过由服务节点10提供的服务的具体有序组合来转发,本文中,每个有序组被称为“服务链”。在图1的实例中,可沿着包括服务节点10中的任一个的服务链来引导订户数据包流。具体服务节点10可支持多条服务链。一旦在服务链的终端节点(即,最后的服务节点10)处被处理以便将服务应用于沿着具体服务路径流动的数据包,则终端节点可将流量引导回至路由器8用于进一步处理和/或转发至公用网络12。例如,流量工程服务路径可以以路由器8启动和终止。

尽管“服务链”限定以具体顺序应用的一个或多个服务从而提供组合服务用于应用至结合至服务链的数据包流,但是“服务隧道”或“服务路径”指代由通过服务链处理的数据包流所采用的逻辑和/或物理路径(其伴随着用于根据服务链顺序转发数据包流的转发状态)。每条服务链可与相应的服务隧道相关联,并且与每个订户设备16有关的数据包流根据与相应订户有关的服务个人资料沿着服务隧道流动。例如,给定订户可与具体服务个人资料相关联,其反过来映射至与具体服务链有关的服务隧道。相似地,另一订户可与不同的服务个人资料相关联,其反过来映射至与不同服务链有关的服务隧道。在一些实例中,在路由器18认证并建立用于订户的接入会话之后,路由器18或路由器8可沿着适当的服务隧道引导用于订户的数据包流,由此使得数据中心9应用用于给定订户的必需有序服务。在一些实例中,SDN控制器14也可向路由器18或路由器8提供用于管理转发路径的转发规则集。在一些实例中,SDN控制器14通过在路由器8中启动的数据中心9中的所有元件,管理转发路径。

在一些实例中,服务节点10可使用内部配置的转发状态来实现服务链,所述转发状态根据识别的服务节点10的集合,沿着用于处理的服务链引导数据包流的数据包。这种转发状态可使用诸如IP或通用路由封装(GRE)隧道的网络隧道、使用GRE的网络虚拟化(NVGRE)或者通过使用VLAN、虚拟可扩展LAN(VXLAN)、MPLS技术等来指定用于服务节点10之间的隧道传输的隧道接口。在一些情况中,互连服务节点10的真实或虚拟交换机、路由器或其他网络元件可被配置为根据服务链将数据包流引导至服务节点10。

可在服务提供商网络2内使用双向主动测量协议(TWAMP)以提供网络设备之间的单向和双向或往返测量能力。TWAMP包括用于发起、启动和停止TWAMP控制客户端与TWAMP服务器之间的测试会话的TWAMP控制消息,以及用于在与TWAMP控制客户端有关的TWAMP会话发送器以及与TWAMP服务器有关的TWAMP会话反射器之间交换测试数据包的TWAMP数据消息。作为实例,TWAMP可用于沿着与具体服务链有关的服务隧道或服务路径测量用于一个或多个服务的双向度量(诸如往返时间(RTT))。在RFC 5357(Hedayat等人,“A Two-Way Active Measurement Protocol(TWAMP)”,Internet Engineering Task Force(IETF),Network Working Group,RFC 5357,2008年10月)中更详细地描述TWAMP,其全部内容通过引证结合于本文。

在图1所示的SDN和NFV架构中,对于部署和迁移由服务节点10提供的新的服务和现有的服务,延迟和负载均衡是两个主要的挑战。本公开描述的技术包括:在服务提供商网络2中,通过向TWAMP提供扩展以支持多个服务KPI的测量并且进一步向TWAMP提供扩展以在SDN和NFV架构内操作,计算服务延迟和服务负载以及其他服务关键性能指标(KPI)的解决方案。

在一个实例中,本公开描述了用于扩展TWAMP使其能够选择和监控用于TWAMP服务器支持的给定服务的多个服务KPI中的任一个的技术。根据数据包流的数量、会话数量、订户数量或八位字节的数量,服务KPI可包括例如,服务测量值的持活或存活、RTT测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。在2014年12月17日提交的美国申请第14/573,167号中更详细地描述使用TWAMP来监控服务延迟,其全部内容通过引证结合于本文。

如上所述,服务可包括4层至7层服务,诸如SFW、DPI、CGNAT和TDF。此外,这些服务可指代诸如域名服务(DNS)应用、超文本传输协议(HTTP)应用以及文件传输协议(FTP)应用的应用。在一些实例中,公开的TWAMP扩展可用于测量DPI的服务延迟、CGNAT流的数量、TDF订户的数量或者DNS服务器或HTTP服务器的存活。

公开的TWAMP扩展包括向TWAMP控制消息以及TWAMP数据消息的扩展,该TWAMP控制消息用于选择要测量的用于给定服务的一个或多个服务KPI,扩展,该TWAMP数据消息用于通过用于给定服务的数据会话来传输选择的服务KPI的服务数据测量值。传统地,TWAMP测试协议数据包格式具有未使用(例如,被设为零或随机值)的填充的八位字节。根据公开的技术,这些填充的八位字节可用于在与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器以及与TWAMP服务器有关的会话反射器之间传递给定服务的一个或多个服务KPI的服务数据测量值。

在一些实例中,TWAMP控制客户端与TWAMP服务器之间的单个TWAMP控制连接可用于建立多个TWAMP数据或测试会话以测量用于服务提供商网络2中的多个服务的服务KPI。通常,一个TWAMP数据或测试会话可用于监控给定服务的服务KPI,但是可使用用于给定服务的单个数据会话来监控多个服务KPI。公开的TWAMP扩展可用于监控独立服务或一组服务的服务KPI。在传统网络架构以及SDN和NFV架构中,都可使用用于服务KPI的TWAMP扩展。

在另一实例中,本公开描述了用于扩展TWAMP使得能够在SDN和NFV架构中监控服务KPI的技术。传统地,TWAMP控制客户端可包括TWAMP会话发送器,使得TWAMP控制客户端处理所有控制和测试数据消息,使用会话发送器来与TWAMP服务器交换TWAMP测试数据包以便测量双向度量。然而,通过将TWAMP控制客户端移入集中式控制器(例如,SDN控制器14),TWAMP控制消息与TWAMP数据消息的分离可能是必需的。

在图1所示的SDN和NFV架构中,TWAMP控制客户端(未示出)可在SDN控制器14上执行,同时TWAMP会话发起端(未示出)和TWAMP服务器(未示出)均可在单独网络设备上执行。作为一个实例,TWAMP会话发起端可在路由器8上执行,并且TWAMP服务器可在服务节点10的一个上执行。

公开的TWAMP扩展使得控制消息能够由SDN控制器14上的TWAMP控制客户端处理,并且数据消息能够由例如路由器8上的TWAMP会话发起端处理。公开的TWAMP扩展使得能够在SDN和NFV架构中,测量针对服务和订户相关的属性的重要服务KPI。例如,在SDN和NFV架构中,服务延迟测量值和服务负载测量值可特别有用。

公开的TWAMP扩展可包括由(例如,SDN控制器14上的)TWAMP控制客户端使用的其他组的TWAMP控制消息,以指示(例如,路由器8上的)TWAMP会话发起端通过与(例如,服务节点10A上的)TWAMP服务器建立的数据会话针对一个或多个服务测量服务KPI。以此方式,控制客户端和会话发起端可在不同设备上(例如,分别在SDN控制器14和路由器8上)运行,并且向SDN控制器14发送数据。可包括测量的服务KPI(诸如,服务延迟和服务负载)的该数据可由SDN控制器14和/或NFV协调器13使用,用于基于延迟和负载均衡的流量工程和服务流量的优化。

根据包括TWAMP控制客户端与TWAMP会话发起端之间的新的控制消息组的TWAMP扩展,(例如,SDN控制器14上的)TWAMP控制客户端负责与(例如,服务节点10A上的)TWAMP服务器以及(例如,路由器8上的)TWAMP会话发起端两者建立控制连接。TWAMP控制客户端与TWAMP服务器协商用于给定服务的数据会话,并且随后使用新的控制消息组来指示TWAMP会话发起端同TWAMP服务器建立用于给定服务的数据会话,以针对服务KPI收集服务数据测量值。

本公开的技术可提供若干益处。作为一个实例,当TWAMP控制客户端在单个节点(例如,SDN控制器14)上运行,并且TWAMP会话发起端可在多个网络设备或VM上运行时,该技术提供分布式架构和集中式架构两者的有点。在一些实例中,由与来自不同网络设备或VM的TWAMP会话发起端有关的TWAMP会话发送器收集的所有数据可发送至集中式TWAMP控制客户端。如另一示例性益处,公开的技术易于管理。例如,SDN控制器14配置一个或多个网络设备以运行TWAMP会话发起端(例如,路由器8)以及TWAMP服务器(例如,一个或多个服务节点10)。一旦被配置,则配置的网络设备可计算服务KPI。

作为进一步示例性益处,实时计算多个服务KPI可根据服务延迟和服务负载给出服务性能的非常精确的评估。集中式TWAMP控制客户端可使用接收的服务数据测量值来计算一个或多个服务KPI,并且向SDN控制器14上的数据收集应用(未示出)发送服务数据测量值和/或计算的服务KPI。随后,SDN控制器14可向NFV协调器13发送该数据,该NFV协调器13可使用数据来优化服务性能。如另一示例性益处,公开的技术对基于SDN和NFV的架构中的任意客户都是开放的。在一些实例中,如图1所示,对于服务提供商网络2中的任意两个节点之间的服务KPI的主动测量,公开的技术可适用于基于SDN和NFV的架构中的所有新的客户和现有的客户。可在不同网络节点或两个计算节点之间进行服务KPI的测量。

现在将说明根据公开的技术的可测量的主要服务KPI中的一些。可在服务提供商网络2中的任意两个节点之间计算往返时间(RTT)测量值,以检查具体数据包路径中的延迟。例如,这些节点可以是两个计算节点、一个计算节点和一个服务节点或地理上分离的两个服务节点。对于由服务节点10提供的任意服务,可计算服务延迟和服务负载测量值。服务可在服务节点10的VM上运行,或者在服务节点10或数据中心9的物理底盘上运行。可在运行相同服务且具有相同终止点的地理上分离的VM之间,计算路径延迟测量值。路径延迟测量值可有助于管理运行相同服务的VM,以基于路径延迟按比例放大和按比例缩小。

以下相对于图2-图4来描述几个示例性使用情况以说明公开的不同部署场景中的技术。以下相对于图5来描述包括用于SDN和NFV架构的新的TWAMP控制消息组的示例性消息序列。此外,以下相对于图9-图18来描述用于新的TWAMP控制消息和数据消息的示例性格式。

图2是示出了根据本公开的技术的使用TWAMP扩展在基于SDN和NFV的网络架构中执行服务延迟测量的实例的框图。图2所示的SDN控制器14、NFV-O 13以及路由器8如以上相对于图1描述的操作。

在图2所示的实例中,SDN控制器14包括TWAMP控制客户端32和数据收集单元34,路由器8包括TWAMP会话发起端36,并且网络设备30A-30B(统称为“网络设备30”)分别包括服务节点VM 40A-40B(统称为“服务节点VM 40”)。在所示的实例中,服务节点VM 40可包括状态防火墙(SFW)VM 42和深度包检测(DPI)VM 44。网络设备30和服务节点VM 40中的每一个可包括TWAMP服务器38A-38D(统称为“TWAMP服务器38”)中的一个。在一些实例中,网络设备30中的每一个可以是来自图1的数据中心9中的服务节点10中的一个。在其他实例中,网络设备30中的每一个可以是被配置为执行用于服务节点10中的一个的VM的数据中心9内的路由器、交换机或其他网络设备。

根据本公开的技术,TWAMP控制客户端32、TWAMP会话发起端36以及任意TWAMP服务器38可被配置为计算网络内的服务延迟。以下呈现详细步骤。

在第一步骤中,NFV-O 13向SDN控制器14发送用于TWAMP控制客户端32和TWAMP服务器38的配置。NFV-O 13可使用表述性状态转移(REST)应用编程接口(API)向SDN控制器14推送配置信息。在其他实例中,任意其他南向接口可用在NFV-O 13与SDN控制器14之间以发送配置信息。

在第二步骤中,SDN控制器14与TWAMP服务器38的一个或多个底层物理设备通信。如图2所示,SDN控制器14经由相应链路31A、31B连接至网络设备30A、30B。SDN控制器14可使用可扩展消息传递和展现协议(XMPP)接口或任意其他开放源码协议通过链路31A、31B与网络设备30中的每一个通信。网络设备30中的每一个可以是网络中的路由器、交换机或任意其他物理设备。

在SDN控制器14上运行或作为单独程序运行的TWAMP控制客户端32与在网络设备30上运行的TWAMP服务器38中的每一个建立控制连接。TWAMP控制客户端32可使用例如,传输控制协议(TCP)建立控制连接。随后,TWAMP控制客户端32与TWAMP服务器38中的每一个可协商用于TWAMP服务器支持的给定服务的数据会话37A-37D(统称为“数据会话37”)中的相应的一个。作为实例,TWAMP控制客户端32和至少一个TWAMP服务器38(例如,TWAMP服务器38A)可协商数据会话37A,该数据会话包括用于数据会话37A的模式、用于TWAMP服务器38A支持的给定服务的服务标识符(ID)、用于数据会话37A的会话标识符(SID)以及(用于通过数据会话37A的给定服务的)一个或多个所选择的待测服务KPI。

在第三步骤中,根据本公开的技术,在SDN控制器14上运行或作为单独程序运行的TWAMP控制客户端32使用新的TWAMP控制消息组,与在路由器8上运行的TWAMP会话发起端36通信。在所示的实例中,TWAMP控制客户端32可例如使用TCP与TWAMP会话发起端36建立控制连接33。继续以上实例,TWAMP控制客户端32可发送新的TWAMP控制消息组,该新的TWAMP控制消息组指示TWAMP会话发起端36与TWAMP服务器38A建立用于给定服务的数据会话37A。新的TWAMP控制消息组可包括在TWAMP控制客户端32与TWAMP服务器38A之间协商的信息中的至少一些,诸如,识别数据会话37A的SID以及用于TWAMP服务器38A的接收器端口和地址信息。

在第四步骤中,响应于来自TWAMP控制客户端32的新的TWAMP控制消息组,TWAMP会话发起端36与在网络设备30A的物理底盘上运行的TWAMP服务器38A建立数据会话37A。在另一实例中,TWAMP会话发起端36可与网络设备30A的SFW VM 42上运行的TWAMP服务器38C建立数据会话37C。

在第五步骤中,TWAMP会话发起端36使用数据会话37A来计算针对给定服务(例如,SFW)选择的服务KPI,该给定服务承载在TWAMP服务器38A在其上运行的网络设备30A上。作为实例,TWAMP会话发起端36可通过数据会话37A向TWAMP服务器38A发送TWAMP测试数据包,并且从包括选择的服务KPI的列表的TWAMP服务器38A接收回TWAMP测试数据包,该列表被包括在与用于给定服务的数据会话37A有关的所选择的服务KPI的TWAMP测试数据包和服务数据测量值。

根据本公开的技术,TWAMP服务器38A向TWAMP会话发起端36发送用于选择的服务KPI的服务数据测量值,该服务数据测量值被包括在数据包填充区域、服务协议数据单元(PDU)、服务数据单元(SDU)或TWAMP测试数据包的报头中的一个中。更具体地,TWAMP服务器38A可发送具有包括时间戳的填充区域的TWAMP测试数据包以计算服务延迟。

在第六步骤中,TWAMP会话发起端36向TWAMP控制客户端32转发用于选择的服务KPI的服务数据测量值。TWAMP控制客户端32可基于接收的用于给定服务的服务数据测量值(例如,时间戳)来计算服务KPI(例如,服务延迟)。在一些实例中,响应于来自TWAMP控制客户端32的明确请求,TWAMP会话发起端36可向TWAMP控制客户端32转发用于选择的服务KPI的服务数据测量值。在其他实例中,TWAMP会话发起端36可向TWAMP控制客户端32周期性转发用于选择的服务KPI的服务数据测量值。

在第七步骤中,TWAMP控制客户端32向SDN控制器14内的数据收集单元34发送服务数据测量值和/或计算的服务KPI。这是特定于执行过程的,并且可按照SDN控制器14的每一网络布局来设计。例如,在TWAMP控制客户端32与数据收集单元34之间,可存在专属接口。在一些实例中,数据收集单元34可包括存储器,该存储器可由各种存储器设备(诸如,包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)的动态随机存取存储器(DRAM)或其他类型的存储器设备)中的任一种形成。

在第八步骤中,SDN控制器14上的数据收集单元34向NFV-O 13发送来自TWAMP控制客户端32的服务数据测量值和/或计算的服务KPI。NFV-O 13可基于接收的信息来执行在网络中运行的网络节点和服务的实时分析。以此方式,NFV-O 13可使用计算的服务KPI来管理网络,以相对于服务延迟优化网络资源。

图3是示出了根据本公开的技术,使用TWAMP扩展在基于SDN和NFV的网络架构中执行针对地理上分离的VM的RTT测量的实例的框图。图3所示的SDN控制器14和NFV-O 13如以上相对于图1描述的操作。

在图3所示的实例中,SDN控制器14包括TWAMP控制客户端32和数据收集单元34,并且数据中心62包括TWAMP服务器64。在一些实例中,数据中心62的操作可类似于来自图1的数据中心9的操作。TWAMP服务器64可在数据中心62内的网络设备的物理底盘上执行,或者在数据中心62内的网络设备的VM上执行。

所示的网络进一步包括经由相应链路51A、51B连接至SDN控制器14的计算节点52A、52B。此外,计算节点52A、52B经由相应底层网关设备61A、61B连接至数据中心62。计算节点52A、52B可被转发网关50控制、管理或配置。在一些实例中,来自图1的路由器8可作为转发网关50操作。计算节点52A、52B包括提供用于各自的VM 54A、54B的操作环境的管理程序。在所示的实例中,VM 54A包括被配置为执行TWAMP会话发起端60A的VM 56,并且VM 54B包括被配置为执行TWAMP会话发起端60B的VM 58。

根据本公开的技术,TWAMP控制客户端32、TWAMP会话发起端60A、60B以及TWAMP服务器64可被配置为计算网络内的RTT测量值。除了TWAMP服务器64可发送具有包括时间戳的填充区域的TWAMP测试数据包以计算往返时间以外,详细步骤与以上相对于图2讨论的基本相同。

例如,TWAMP控制客户端32可与TWAMP服务器64建立控制连接,并且与TWAMP会话发起端60A、60B建立相应的控制连接59、59B。随后,TWAMP控制客户端32可与TWAMP服务器64协商用于给定服务的数据会话。根据本公开的技术,随后,TWAMP控制客户端32使用新的TWAMP控制消息组来指示TWAMP会话发起端60A与TWAMP服务器64建立数据会话63A,并且相似地指示TWAMP会话发起端60B与TWAMP服务器64建立数据会话63B。在某些情况下,可建立数据会话63A、63B中的每一个以计算用于相同类型服务的RTT测量值。进一步根据本公开的技术,TWAMP服务器64向TWAMP会话发起端60A、60B发送具有包括用于RTT的时间戳的填充区域的TWAMP测试数据包。TWAMP会话发起端60A、60B向SDN控制器14上的TWAMP控制客户端32发送时间戳,并且SDN控制器14随后经由数据收集单元34向NFV-O 13发送时间戳和/或计算的RTT。

图4是示出了根据本公开的技术的使用TWAMP扩展在基于SDN和NFV的网络架构中测量选择的跨VM的服务KPI的实例的框图。图4所示的SDN控制器14和NFV-O 13如以上相对于图1描述的操作。

在图4所示的实例中,SDN控制器14包括TWAMP控制客户端32和数据收集单元34,第一VM 70A包括TWAMP会话发起端72和第一TWAMP服务器74A,第二VM 70B包括第二TWAMP服务器74B,并且第三VM 70N包括第三TWAMP服务器74N。在其他实例中,示出的网络可包括多于三个的VM,每一个均包括TWAMP服务器。SDN控制器14经由相应链路69A-69N(统称为“链路69”)连接至VM 70A-70N(统称为“VM 70”)中的每一个。在一些实例中,所有VM 70可在相同底层物理设备(例如,来自图1的路由器8)上执行,或者在底层物理设备的相同集合(例如,来自图1的数据中心10)上执行。在另一实例中,一个或多个VM 70均可在单独网络设备上执行。在该实例中,第一VM 70A可在来自图1的路由器8上执行,并且第二VM 70B和第三VM 70N中的每一个可在来自图1的数据中心9的一个或多个服务节点10或其他物理设备上执行。

根据本公开的技术,TWAMP控制客户端32、TWAMP会话发起端73以及TWAMP服务器74A-74N(统称为“TWAMP服务器74”)可被配置为计算用于网络内的服务的多个服务KPI(诸如,服务通信负载、服务延迟以及RTT测量值)中的任一个。除了TWAMP服务器74中的每一个可发送具有填充区域(其包括时间戳、数据包流的数量、会话数量、订户数量或八位字节的数量中的一个或多个)的TWAMP测试数据包以计算延迟、往返时间或通信负载以外,详细步骤与以上相对于图2讨论的基本相同。

例如,TWAMP控制客户端32可与TWAMP服务器74中的每一个建立控制连接,与TWAMP会话发起端72建立控制连接71。随后,TWAMP控制客户端32可与TWAMP服务器74中的每一个协商用于给定服务的数据会话。根据本公开的技术,随后,TWAMP控制客户端32使用新的TWAMP控制消息组来指示TWAMP会话发起端72与TWAMP服务器74A建立数据会话73A,与TWAMP服务器74B建立数据会话73B,并且与TWAMP服务器74N建立数据会话73N。在某些情况下,可建立数据会话73A、73B、73N中的每一个以计算用于相同类型的服务的一个或多个服务KPI。进一步根据本公开的技术,TWAMP服务器74中的每一个向TWAMP会话发起端72发送用于选择的服务KPI的具有填充区域的TWAMP测试数据包,该填充区域包括服务数据测量值,例如,时间戳、数据包流的数量、会话数量、订户数量或八位字节的数量中的一个或多个。TWAMP会话发起端72向SDN控制器14上的TWAMP控制客户端32发送服务数据测量值,并且SDN控制器14随后经由数据收集单元34向NFV-O 13发送服务数据测量值和/或计算的服务KPI。

图5是示出了根据本公开的技术的,在使用TWAMP扩展的TWAMP控制客户端76、TWAMP会话发起端77与TWAMP服务器78之间的示例性消息序列的框图。TWAMP扩展包括TWAMP控制客户端76与TWAMP会话发起端77之间的新的控制消息79-79G的组(统称为“控制消息79的组”)。TWAMP扩展进一步包括TWAMP控制客户端76与TWAMP服务器78之间的现有控制消息的修改,以及与TWAMP控制客户端76或TWAMP会话发起端77有关的会话发送器以及TWAMP服务器78之间的现有数据消息的修改。

例如,如图5所示,TWAMP控制客户端76发送控制消息以便与TWAMP服务器78建立第一TCP控制连接,并且也发送控制消息79A以便与TWAMP会话发起端77建立第二TCP控制连接。如进一步实例,如图5所示,TWAMP控制客户端76与TWAMP服务器78交换第一组控制消息以协商用于TWAMP服务器78支持的一个或多个服务的一个或多个数据会话。在所示的实例中,第一组控制消息可包括服务器问候消息、设置响应消息、服务器启动信息、请求服务支持消息、响应服务支持消息、多个请求会话消息和接受会话消息、启动会话消息以及启动确认(ACK)消息。在其他实例中,第一组控制消息可包括更多或更少的控制消息,其传达相似或不同的控制信息以协商数据会话。

公开的TWAMP扩展包括被包括在第一组控制消息中的一个或多个消息的修改,以便通过数据会话协商多个服务KPI中的任一个的测量值。例如,控制消息可被修改为协商用于每个数据会话的一个或多个模式,该一个或多个模式指示是否支持服务KPI监控、TWAMP服务器78支持的服务、用于识别支持服务中的每一个的服务ID、针对每个服务ID而支持的服务KPI、从针对每个服务ID的所支持的服务KPI中选择的服务KPI以及用于识别每个接受的数据会话的SID。以下相对于图9-图12更详细地描述TWAMP控制客户端76与TWAMP服务器78之间的控制消息的TWAMP扩展。

根据本公开的技术,TWAMP控制客户端76与TWAMP服务器78协商用于给定服务的数据会话,并且随后使用第二组控制消息来指示TWAMP会话发起端77与TWAMP服务器78建立用于给定服务的数据会话以收集用于针对给定服务选择的服务KPI的服务数据测量值。如图5所示,第二组控制消息可包括发起数据会话消息79B、针对发起数据会话消息的ACK消息79C、多个请求服务数据消息79D和针对请求服务数据消息的ACK消息79E、删除数据会话消息79F以及针对删除数据会话消息的ACK消息79G。在其他实例中,第二组控制消息可包括更多或更少的控制消息,该控制消息可传达相似或不同的控制信息以指示建立数据会话并指示通过建立的数据会话传达服务数据测量值。

公开的TWAMP扩展包括由TWAMP控制客户端76使用以指示TWAMP会话发起端77处理TWAMP数据消息的新控制消息。以此方式,控制客户端76和会话发起端77可在不同设备上运行。例如,由TWAMP控制客户端76发送以指示TWAMP会话发起端77建立用于给定服务的数据会话的新控制消息可包括用于识别数据会话的一个或多个SID、用于TWAMP会话发起端77的发送器端口和地址信息以及用于TWAMP服务器78的接收器端口和地址信息。在与TWAMP服务器78协商数据会话的过程中,该信息中的至少一些可由TWAMP控制客户端76获悉。在一些实例中,由TWAMP控制客户端76发送的新控制消息也可包括用于针对选择的服务KPI的服务数据测量值的明确请求,该服务KPI与用于来自TWAMP会话发起端77的给定服务的数据会话有关。以下相对于图15-图18更详细地描述用于TWAMP控制客户端76与TWAMP会话发起端77之间的新的控制消息组的TWAMP扩展。

如另一实例,如图5所示,TWAMP会话发起端77和TWAMP服务器78通过用于给定服务的数据会话交换TWAMP测试数据包。公开的TWAMP扩展包括对TWAMP测试数据包的修改以传递一个或多个选择的KPI的服务数据测量值,所述选择的KPI与用于给定服务的数据会话有关。根据公开的技术所选择的(与给定服务的数据会话有关的)服务KPI的服务数据测量值可包括在数据包填充区域、服务PDU、SDU或TWAMP测试数据包的报头中的一个中。扩展的TWAMP测试数据包可通过TWAMP服务器78向与TWAMP会话发起端77有关的会话发送器发送(如图5所示),或者向与TWAMP控制客户端76有关的会话发送器发送。以下相对于图13和图14更详细地描述与TWAMP控制客户端76或TWAMP会话发起端77有关的会话发送器与TWAMP服务器78之间的测试数据包的TWAMP扩展。

图6是示出了根据本公开的技术的被配置为执行TWAMP会话发起端的示例性路由器80的框图。为了说明的目的,本文中路由器80可被描述为处于图1的服务提供商网络2的环境内,并且例如可表示路由器18或路由器8中的任一个。此外,尽管相对于具体网络设备(例如,路由器)来描述,但是本技术可由可作为服务端点操作的任意网络设备(诸如,第3层(L3)或L2/L3交换机或服务器)实现。

在图6的实例中,路由器80包括控制单元82,在该控制单元中,路由组件86提供用于路由器80的控制平面功能。路由器80也包括共同提供用于转发网络流量的数据平面的多个数据包转发引擎114A–114N(“PFE 114”)和交换结构118。PFE 114经由接口卡112(“IFC 112”)接收和发送数据包。在其他实施方式中,PFE 114中的每一个可包括更多或更少的IFC。尽管未示出,但是PFE 114可各自包括中央处理单元(CPU)和存储器。在该实例中,路由组件86通过专用内部通信链路120连接至PFE 114中的每一个。例如,专用链路120可包括千兆以太网连接。交换结构118提供高速互连,以便在PFE 114之间转发引入的数据包,从而通过网络进行传输。

路由组件86提供用于执行各种协议89的操作环境,各种协议可包括具有由计算环境执行的指令的软件过程。如以下更详细描述的,协议89提供控制平面功能,该控制平面功能用于存储以路由表或其他结构的形式的网络拓扑结构,用于执行路由协议以便与对等(peer)路由设备通信并维持和更新路由表,并且用于提供管理接口(多个管理接口)以允许路由器80的用户接入和配置。控制单元82提供用于路由组件86的操作环境,并且可仅在软件或硬件中实现,或者可实现为软件、硬件或固件的组合。例如,控制单元82可包括执行软件指令的一个或多个处理器。在该情况下,路由组件86可包括各种软件模块或守护进程(例如,一个或多个路由协议过程、用户接口等),并且控制单元82可包括用于存储可执行指令的计算机可读存储介质,诸如,计算机存储器或硬盘。

指令行接口守护进程92(“CLI 92”)提供接口,通过该接口,管理员或其他管理实体可使用基于文本的指令来修改路由器80的配置。简单网络管理协议守护进程99(“SNMP 99”)包括SNMP代理,该SNMP代理从管理实体(诸如,SDN控制器14(图1))接收SNMP指令以便设置和检索用于路由器80的配置和管理信息。使用CLI 92和SNMP 99,一个或多个管理实体可例如,启用/中止和配置服务、安装路由,启用/中止和配置速率限制器并配置接口。

诸如IGP 94或BGP 98的一个或多个路由协议以路由信息库(RIB)104的形式维持描述网络拓扑结构的路由信息,并且根据路由信息导出转发信息库(FIB)106。通常,路由信息表示网络的总体拓扑结构。IGP 94和BGP 98可(例如,通过API调用的方式)与内核101交互以便基于由路由器80接收的路由协议消息来更新RIB 104。RIB 104可包括定义网络拓扑结构的信息,该拓扑结构包括一个或多个路由表和/或链路状态数据库。

通常,路由信息定义在经由距离矢量路由协议(例如,BGP 98)获悉的网络内通过网络前往目的地/前置的路由(即,系列下一跳),或者定义具有使用IGP 94的链路状态路由协议(例如,IS-IS或OSPF)获悉的互连链路的网络拓扑结构。相反,基于网络内的某些路由的选择而生成FIB 106,并且该FIB将数据包关键信息(例如,来自数据包报头的目的地信息和其他选择信息)映射至一个或多个具体下一跳并且最终映射至IFC 112的一个或多个具体输出接口端口。

路由组件86也提供一个或多个流量工程协议的操作环境以建立隧道,该隧道用于通过与不同服务链有关的服务节点10的有序组来转发订户数据包。例如,具有流量工程扩展的资源预留协议(RSVP-TE)96可交换流量工程信息,诸如用于使能够进行基于标签的数据包转发的MPLS标签。如另一实例,路由组件86可使用基于GRE或IP的隧道协议(未示出)来建立流量工程隧道。路由组件86可维持例如,流量工程数据库(TED)109以存储流量工程数据。协议89也可包括标签分布协议(LDP)100。

路由组件86提供TWAMP 110的操作环境。根据本公开描述的技术,可扩展TWAMP 110以使得能够测量用于网络中的给定服务的多个服务KPI中的任一个,并且使得能够在基于SDN和NFV的网络架构内操作。

例如,在路由器80在SDN和NFV架构内操作的情况下,TWAMP控制客户端可在集中式控制器(诸如,来自图1的SDN控制器14)上执行,并且TWAMP会话发起端可在路由器80上执行。TWAMP 110的扩展使得能够由SDN控制器14上的TWAMP控制客户端处理控制消息,以及由路由器80上的TWAMP会话发起端处理数据消息。更具体地,TWAMP 110的扩展包括由SDN控制器14上的TWAMP控制客户端使用的其他组的TWAMP控制消息以便指示路由器80上的TWAMP会话发起端通过与TWAMP服务器建立的数据会话来测量用于一个或多个服务的服务KPI。

根据公开的技术,在路由器80上运行的TWAMP会话发起端可被配置为从TWAMP控制客户端接收TWAMP控制消息,与TWAMP服务器建立用于给定服务的至少一个数据会话,通过数据会话收集针对选择的一个或多个服务KPI的服务数据测量值,以及向TWAMP控制客户端发送服务数据测量值。在某些情况下,TWAMP会话发起端和TWAMP服务器可都在路由器80上执行。例如,TWAMP会话发起端和TWAMP服务器可在路由器80的不同虚拟机上运行。在其他实例中,TWAMP服务器可在另一网络设备上(在网络设备的物理底盘或网络设备的VM上)执行。

此外,TWAMP 110的扩展包括扩展至TWAMP数据消息的扩展,该TWAMP数据消息用来通过用于给定服务的数据会话传输针对选择的一个或多个服务KPI的服务数据测量值。要测量的服务KPI可包括:持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。根据公开的技术,TWAMP测试数据包内的填充区域可用来在与TWAMP服务器有关的会话反射器以及与路由器80上的TWAMP控制客户端或TWAMP会话发起端有关的会话发送器之间传递针对用于给定服务而选择的的服务KPI的服务数据测量值。用于服务KPI的扩展至TWAMP 110的扩展可在SDN和NFV架构以及传统网络架构中使用,在传统网络架构中,TWAMP控制客户端和TWAMP会话发起端在相同网络设备(例如,路由器80)上执行。

路由组件86将代表FIB 106的软件副本的数据发送至PFE 114中的每一个以控制数据平面内的流量的转发。这使得软件FIB存储在PFE 114中的每一个的存储器(例如,RAM)中以被更新,而不降低边界路由器80的数据包转发性能。在某些情况中,路由组件86可导出用于每个相应PFE 114的单独的和不同的软件FIB。此外,一个或多个PFE 114包括专用集成电路(ASIC 116),使得PFE 114基于复制至每个相应PFE 114的软件FIB(即,软件FIB的硬件版本)来使用FIB的硬件副本编程。

例如,内核101在主控微处理器102上执行,并且可包括例如,UNIX操作系统衍生物,诸如Linux或Berkeley软件分布(BSD)。内核101处理来自IGP 94和RSVP-TE 96的内核调用,以便基于在RIB 104中表示的网络拓扑结构生成以FIB 106的形式的转发信息,即,执行路由分辨和路径选择。通常,内核101以基数树或其他查找树的形式生成FIB 106,以便将数据包信息(例如,具有目的地信息和/或标签堆栈的报头信息)映射至下一跳并最终映射至与相应PFE 114有关的IFC 112的接口端口。FIB 106可例如,将网络目的地与具体下一跳及对应IFC 112相关联。对于MPLS相关的流量转发,针对给定FEC,FIB 106存储包括用于数据包的入向标签、出向标签以及下一跳的标签信息。

执行内核101的主控微处理器102编程PFE 114以安装FIB 106的副本。微处理器102可包括一个或多个通用或专用处理器,诸如数字信号处理器(DSP)、ASIC、现场可编程门阵列(FPGA)或任意其他等效逻辑设备。因此,如本文使用的术语“处理器”或“控制器”可指代任意一个或多个上述结构或者可操作以执行本文描述的技术的任意其他结构。

在该实例中,ASIC 116是微码控制的芯片组(即,转发电路),该芯片组由在PFE 114中的每一个上执行的从控微处理器可编程地配置。当转发数据包时,具有每个ASIC 116的控制逻辑遍历从路由组件86接收的转发信息(FIB 106),并且当达到用于数据包的FIB入口(例如,叶节点)时,微码实现的控制逻辑56自动选择转发的下一跳并且根据下一跳内定义的操作处理数据包。以此方式,当数据包遍历路由器80的内部架构时,PFE 114的ASIC 116通过在相应的内部数据包转发路径上的每个数据包上执行一系列操作来处理数据包。例如,可基于每个数据包,在数据包外出之前被引导前往的路由器80的对应入口接口、入口PFE 114、出口PFE 114、出口接口或其他组件中的任一个(诸如一个或多个服务卡)而在每个数据包上执行操作。PFE 114均包括转发结构,使得当执行时,检查每个数据包的内容(或另一数据包特性,例如,入向接口)并且例如,基于此,做出转发决定、应用滤波和/或执行帐户、管理、流量分析以及负载均衡。

在一个实例中,PFE 114中的每一个将转发结构排列为下一跳数据,该下一跳数据可沿着用于网络设备的内部数据包转发路径链接到一起作为一系列“跳数”。在许多情况中,转发结构执行ASIC 116的内部存储器内的查找操作,其中,查找可针对树(或特里结构)搜索、表(或索引)搜索执行。可指定有下一跳的其他示例性操作包括过滤器确定和应用或速率限制器确定和应用。查找操作在查找数据结构(例如,查找树)内定位匹配数据包内容或者数据包或数据包流的另一特性的项,诸如数据包的入站接口。(根据由ASIC 116内的下一跳转发结构定义的操作而得到的)数据包处理结果确定数据包由PFE 114从IFC 112之一上的其输入接口转发到IFC 112之一上的其输出接口的方式或其他处理的方式。

通常,内核101可生成FIB 106,并且由此编程ASIC 116以存储与每个服务链有关的转发结构。例如,ASIC 116可被配置有转发信息,该转发信息指定流量工程信息(诸如IP标头信息或MPLS标签)以及指定用于使可编程ASIC 116根据转发信息封装订户数据包的操作。以此方式,ASIC 116可处理订户数据包从而选择用于每个数据包的具体服务路径并且根据选择的服务路径封装订户数据包。路由组件86可生成RIB 104和FIB 106,以便基于与每个订户有关的一个或多个服务个人资料(如可从AAA服务器、策略控制器、SDN控制器或其他网络元件接收)而将订户数据包流与具体服务路径相关联。

图6所示的路由器80的架构仅出于示例性目的而示出。本公开不限于该架构。在其它实例中,可以各种方式配置路由器80。在一个实例中,控制单元82的功能中的一些可在IFC 112内分布。控制单元82可仅在软件或硬件中实现,或者可实现为软件、硬件或固件的组合。例如,控制单元82可包括一个或多个处理器、可编程处理器、通用处理器、集成电路、ASIC、FPGA或能够实现本文描述的技术的任意类型的硬件单元。控制单元82可进一步包括:执行存储在计算机可读存储介质(诸如,随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、非易失性随机存取存储器(NVRAM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读介质)上的软件指令的一个或多个处理器。在一些情况中,计算机可读存储介质可包括使得可编程处理器执行本文描述的技术的指令。

图7是示出了根据本公开的技术的被配置为执行TWAMP控制客户端的示例性集中式控制器设备200的框图。集中式控制器设备200可包括:例如,网络控制器、AAA服务器、策略控制器或SDN控制器中的一个或多个的方面,并且可表示来自图1的SDN控制器14的示例性情况。

集中式控制器设备200包括控制单元202,该控制单元耦接至网络接口220以通过入站链路222和出站链路224与其他网络设备交换数据包。控制单元202可包括一个或多个处理器(未示出),该一个或多个处理器执行存储至计算机可读存储介质(未示出)(诸如,包括存储设备(例如,光盘驱动器或光学驱动)或存储器(诸如,闪存或RAM)的非易失性计算机可读介质或任意其他类型的易失性或非易失性存储器)的软件指令(诸如,用于定义软件或计算机程序的那些指令),该计算机可读存储介质存储指令以使得一个或多个处理器执行本文描述的技术。可选地或另外地,控制单元202可包括用于执行本文描述的技术的专用硬件,诸如一个或多个集成电路、一个或多个ASIC、一个或多个专用特殊处理器(ASSP)、一个或多个FPGA或一个或多个专用硬件的上述实例的任意组合。

控制单元202提供用于数据收集单元210、路径计算元件212以及报告生成单元226的操作环境。如以下更详细描述的,数据收集单元210的操作可与来自图2-图4的SDN控制器14中的数据收集单元34的操作基本相似。在一个实例中,这些单元可实现为在一个或多个服务器的一个或多个虚拟机上执行的一个或多个程序。就是说,尽管总体示出和描述为在单个集中式控制器设备200上执行,但是这些单元的方面可委托至其他计算设备。控制单元202也提供用于几个协议的操作环境,包括具有流量工程扩展的边界网关协议(BGP-TE)208、可扩展消息传递和展现协议(XMPP)228以及TWAMP 230。

在一些实例中,集中式控制器设备200可通过网络(诸如,来自图1的服务提供商网络2)计算和建立路径。如图7所示,路径计算元件212包括路径计算单元214、拓扑单元216以及路径供给单元218。拓扑单元216可接收和存储描述网络的可用资源的拓扑信息,包括接入、聚合以及边缘节点、其接口以及互连通信链路。拓扑单元216可从用作网络内的BGP对的一个或多个网络设备接收拓扑信息。例如,控制单元202执行BGP-TE 208以与网络内的BGP扬声器和BGP收听器形成BGP对,以交换路由和拓扑信息。

路径计算元件212的路径计算单元214可使用由拓扑单元216接收的拓扑信息来计算通过网络的请求路径。当计算路径时,路径计算单元214可调度用于由路径供给单元218供给的路径。计算的路径包括可由路径供给单元218使用的路径信息以在网络中建立路径。供给一路径可能需要在提交该路径以提供数据包传输之前进行路径验证。

在一些实例中,控制单元202使用诸如XMPP 228的协议通过XMPP接口(未示出)与物理网络设备(诸如,来自图1的路由器8、路由器18或服务节点10)通信。根据用于集中式控制器设备200与网络设备之间的通信的XMPP 228,虚拟网络路由数据、统计数据集、日志以及配置信息可作为可扩展标记语言(XML)文件发送。

根据本公开描述的技术,可扩展TWAMP 230以使得能够选择和监控用于网络中的给定服务的多个服务KPI中的任一个,并且使能够在基于SDN和NFV的网络架构内操作。

例如,在SDN和NFV架构中,TWAMP控制客户端可在集中式控制器设备200上执行,并且TWAMP会话发起端可在网络设备(诸如,来自图1的路由器8或路由器18或者来自图6的路由器80)上执行。扩展至TWAMP 230的扩展使得控制消息由集中式控制器设备200上的TWAMP控制客户端处理,并且使得数据消息由网络设备上的TWAMP会话发起端处理。更具体地,扩展至TWAMP 230的扩展包括由集中式控制器设备200上的TWAMP控制客户端使用的其他组的TWAMP控制消息,以便指示网络设备上的TWAMP会话发起端通过与TWAMP服务器建立的数据会话来测量用于一个或多个服务的服务KPI,并且向集中式控制器设备200上的TWAMP控制客户端发送用于服务KPI的服务数据测量值。

此外,扩展至TWAMP 230的扩展包括扩展TWAMP控制消息的扩展,该TWAMP控制消息用来选择要针对给定服务测量的一个或多个服务KPI。要测量的服务KPI可包括:持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。根据公开的技术,在集中式控制器设备200上运行的TWAMP控制客户端可被配置为与TWAMP服务器协商用于一个或多个服务的一个或多个数据会话,包括协商数据会话的模式、支持的服务、用于服务中的每一个的支持的服务KPI以及通过数据会话从支持的服务KPI中选择的要测量的服务KPI。

控制单元202内的数据收集单元210可经由其他TWAMP控制消息从网络设备上的TWAMP会话发起端接收数据,该数据包括所选择的与给定服务的数据会话有关的服务KPI的服务数据测量值。反过来,数据收集单元210可向NFV协调器(例如,来自图1-图4的NFV-O 13)发送服务数据测量值和/或计算的服务KPI。在一些实例中,服务数据测量值和/或计算的服务KPI可由集中式控制器设备200使用,用于基于延迟和负载均衡的流量工程和服务流量的优化。集中式控制器设备200内的数据收集模块210或单独分析引擎(未示出)可基于接收的服务数据测量值来计算、编译和分析服务KPI。在一些实例中,数据收集模块210或分析引擎可识别来自相同数据包流的服务KPI,并且因此基于各个方面(诸如,设备标识符信息、时间戳信息以及其他信息)一起分析该服务KPI。报告生成单元226可聚合报告信息并生成用于客户或管理员的报告。

图8是示出了根据本公开的技术的被配置为执行TWAMP服务器的示例性网络设备300的框图。为了说明的目的,本文中网络设备300可被描述为处于图1的服务提供商网络2的环境内,并且可表示为例如,路由器8、路由器18、服务节点10或数据中心9中的任一个。在其他实例中,网络设备300可包括服务提供商网络2内的任意网络设备,诸如路由器、交换机或服务器。

在图8的实例中,网络设备300包括微处理器310,该微处理器执行管理程序314以提供用于一个或多个服务节点虚拟机(VM)302A-302M(统称为“服务节点VM 302”)的执行环境。服务节点VM 302中的每一个执行网络服务应用303A-303M(统称为“网络服务应用303”),诸如状态防火墙320和深度包检测(DPI)322,以便向数据包流应用状态网络服务。此外,服务节点VM 302中的每一个执行TWAMP 324A-324B(统称为“TWAMP 324”)以处理接收的TWAMP控制消息并报告用于一个或多个服务KPI的服务数据测量值。

在图8所示的实例中,网络设备300包括网络接口301,以便通过多个隧道304A-304N(“隧道304”)接收隧道数据包306。隧道304中的每一个对应于多条服务链中的不同的一条,其中,服务链中的每一条包括应用至与订户有关的数据包流的一个或多个状态网络服务的不同有序组。隧道数据包306中的每一个封装订户数据包。在某些情况下,订户数据包可以是由与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器注入的TWAMP测试数据包。

根据本公开描述的技术,TWAMP 324可扩展为能够针对网络中的给定服务而选择和监控多个服务KPI中的任一个,并且能够在基于SDN和NFV的网络架构内操作。在图8的实例中,TWAMP服务器可在网络设备300的物理底盘或网络设备300的一个或多个服务节点VM 302上执行。

扩展至TWAMP 324的扩展包括扩展至TWAMP控制消息的扩展,用来针对给定服务选择待测量的一个或多个服务KPI,以及包括扩展至TWAMP控制消息的扩展,用于通过给定服务的数据会话传输用于选择的服务KPI的服务数据测量值。要测量的服务KPI可包括:持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。

例如,在网络设备300在SDN和NFV架构内操作的情况下,TWAMP控制客户端可在集中式控制器(诸如,来自图1的SDN控制器14或来自图7的集中式控制器设备200)上执行,并且TWAMP会话发起端可在网络设备(诸如,来自图1的路由器8或路由器18、来自图6的路由器80或甚至网络设备300)上执行。扩展至TWAMP 324的扩展使得网络设备300上的TWAMP服务器的控制消息能够由集中式控制器上的TWAMP控制客户端处理,并且使得网络设备300上的TWAMP服务器的数据消息能够由网络设备上的TWAMP会话发起端处理。根据公开的技术,在集中式控制器上运行的TWAMP控制客户端可被配置为与在网络设备300上运行的TWAMP服务器协商用于一个或多个服务的一个或多个数据会话,包括协商数据会话的模式、支持的服务、(针对服务中的每一个的)支持的服务KPI以及通过数据会话从支持的要测量的服务KPI中选择的服务KPI。

进一步根据公开的技术,在网络设备300上运行的TWAMP服务器可被配置为使用TWAMP测试数据包内的填充区域,以便在与网络设备300上的TWAMP服务器有关的会话反射器以及与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器之间传递针对给定服务选择的服务KPI的服务数据测量值。用于服务KPI的,扩展至TWAMP 230的扩展可在SDN和NFV架构以及传统网络架构中使用,在传统网络架构中,TWAMP控制客户端和TWAMP会话发起端在相同网络设备上执行。

图9-图12是示出了根据本公开的技术,TWAMP控制客户端与TWAMP服务器之间的TWAMP控制消息的示例性格式的概念图。控制消息组(有时被称为服务块)可在TWAMP控制客户端与TWAMP服务器之间交换,以协商用于一个或多个服务的一个或多个数据会话,并且监控要测量的用于服务中的每一个的服务KPI。

图9示出响应于由TWAMP控制客户端发起的控制连接,由TWAMP服务器向TWAMP控制客户端发送服务器问候消息的示例性格式。TWAMP控制客户端可使用例如,TCP发起与TWAMP服务器的控制连接。图9所示的服务器问候消息包括几个字段,其包括模式字段、挑战(CHALLENGE)字段、盐(SALT)字段、计数字段以及必须为零(MBZ)字段,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在服务器问候消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图9中的那些。

包括在服务器问候消息中的模式字段可用来表示TWAMP服务器支持的模式。例如,模式字段可用来识别和选择具体通信能力。根据公开的技术,服务器问候消息的模式字段内的至少一个位位置可用于表示到底是TWAMP服务器还是与TWAMP服务器有关的会话反射器支持服务KPI的监控。

在一个实例中,图9所示的服务器问候消息的模式字段中的第27位可用于表示TWAMP服务器是否支持服务KPI的监控。传统地,模式字段可具有如下值中的任一个:1:未认证,3:未认证+认证,或者7:未认证+认证+加密。使用TWAMP扩展来测量服务延迟作为服务KPI中的一个,模式字段可具有如下值中的任一个:0x09:未认证+支持主动服务延迟测量,0x0b:未认证+认证+支持主动服务延迟测量,或者0x0F:未认证+认证+加密+支持主动服务延迟测量。

使用TWAMP扩展来测量服务延迟和/或服务负载作为服务KPI,模式字段可具有如下值中的任一个:0x19:未认证+支持主动服务延迟测量+支持服务流量负载测量,0x1b:未认证+认证+支持主动服务延迟测量+支持服务流量负载测量,或者0x1F:未认证+认证+加密+支持主动服务延迟测量+支持服务流量负载测量。如果模式字段具有0的值,则意味着TWAMP服务器对通信不感兴趣。在该情况中,TWAMP控制客户端可关闭控制连接。这是可继续与公开的TWAMP扩展共存的常见行为。

在响应于服务器问候消息而由TWAMP控制客户端向TWAMP服务器发送的设置响应消息中,TWAMP控制客户端可选择在服务器问候消息中表示的模式中的任一个,并且使用选择的模式回复至TWAMP服务器。例如,如果TWAMP控制客户端想接收服务流量负载测量值,则包括在设置响应消息中的模式字段可具有如下值中的任一个:1:未认证,3:未认证+认证,或者7:未认证+认证+加密。

当建立TWAMP控制客户端与TWAMP服务器之间的控制连接时,TWAMP控制客户端可向TWAMP服务器请求对用于一个或多个服务的一个或多个数据会话的服务KPI的监控。这样做,TWAMP控制客户端可能需要TWAMP服务器支持的服务,以及针对那些服务而支持的服务KPI。以下更详细描述地,服务KPI监控指令(SKMC)包括用于监控与用于支持服务的数据会话有关的一个或多个所选择的服务KPI的一组消息。

图10示出了响应于由TWAMP服务器向TWAMP控制客户端发送的服务器启动消息,由TWAMP控制客户端向TWAMP服务器发送的服务监控请求消息(有时被称为请求服务支持消息或服务KPI监控请求消息)的示例性格式。

在TWAMP控制客户端中接收的服务器启动信息可包括接受字段,该接受字段表示控制连接是否被TWAMP服务器接受。在一些实例中,接受字段可具有0-5的值,其中,0意味着连接良好,并且非零值意味着将关闭控制连接。例如,接受字段可具有如下值:0:良好,1:故障,原因不明(包含所有可能),2:内部错误,3:请求的一些方面得不到支持,4:由于永久资源限制,不能执行请求,或者5:由于临时资源限制,不能执行请求。此外,如果接受字段具有等于0的值,则服务器启动信息可包括含有启动时间的启动时间字段。

当控制连接被TWAMP服务器接受时,TWAMP控制客户端发送服务监控请求消息,该消息请求TWAMP服务器支持的服务。TWAMP客户端可向TWAMP服务器发送服务监控请求消息,以便接收可由与TWAMP服务器有关的会话反射器监控的支持的服务及其支持的服务KPI的列表。

如图10所示,服务监控请求消息包括几个字段,该几个字段包括具有SKMC值的指令号字段、具有值“请求”的子类型字段、MBZ字段以及基于散列的消息认证代码(HMAC)字段,并且在某些情况下,可包括用于每个字段的八位字节的相关数量。包括在服务监控请求消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图10中的那些。SKMC的指令号值表示这是SKMC消息之一。在一个实例中,对于服务监控请求消息,SKMC值等于7。“请求”的子类型字段值表示TWAMP控制客户端正在请求TWAMP服务器发送可被监控的服务及其服务KPI的列表。

图11A-11C示出了响应于由TWAMP控制客户端向TWAMP服务器发送的服务监控请求消息(图10),TWAMP控制客户端向TWAMP服务器发送的服务监控响应消息组(有时被称为响应服务支持消息)的示例性格式。如示出的,服务监控响应消息组包括图11A所示的第一服务监控响应消息(有时被称为服务KPI监控响应消息)、图11B所示的第二服务监控响应消息(有时被称为服务KPI监控指示消息)以及图11C所示的服务监控确认(ACK)消息(有时被称为服务KPI监控确认消息)。

当接收服务监控请求消息(图10)时,TWAMP服务器发送第一服务监控响应消息(图11A),该第一服务监控响应消息包括TWAMP服务器的支持服务的数量。跟随该消息,TWAMP服务器或者与TWAMP服务器有关的会话反射器发送第二服务监控响应消息(图11B),该第二服务监控响应消息包括用于识别支持服务中的每一个的服务ID以及针对每个服务ID而支持的服务KPI的列表。在某些情况下,该消息可针对所支持的服务中的每一个而设定。随后,TWAMP控制客户端使用服务监测ACK消息(图11C)来回复,该服务监控ACK消息包括从支持的服务KPI(其针对TWAMP控制客户端感兴趣对其进行监控的每个服务ID)的列表中选择的服务KPI的列表。在某些情况下,该消息可被设为用于支持的服务中的每一个。

在一些实例中,服务KPI可包括持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。持活测量值可表示相应服务是否正在运行。服务延迟测量值可包括中转时间和实际服务时间。服务负载测量值可基于服务数据包的计数(即,用于相应服务的入口和出口数据包的数量)、服务字节的计数(即,用于相应服务的入口和出口字节的数量)或服务订户的计数(即,用于相应服务的订户的数量)中的一个。

如图11A所示,第一服务监控响应消息包括几个字段,该几个字段包括具有SKMC值的指令号字段、具有值“响应”的子类型字段、MBZ字段、支持的服务的数量字段以及HMAC字段,并且在一些情况中,包括用于每个字段的八位字节的相关数量。包括在第一服务监控响应消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图11A中的那些。SKMC的指令号值表示这是SKMC消息中的一个。在一个实例中,对于服务监控响应消息,SKMC值等于8。“响应”的子类型字段值表示TWAMP服务器响应于TWAMP控制客户端。支持的服务的数量字段表示服务(与TWAMP服务器有关的会话反射器可监控用于该服务的服务KPI)的数量。

如图11B所示,第二服务监控响应消息包括几个字段,该几个字段包括具有SKMC值的指令号字段、具有值“指示”的子类型字段、服务ID字段、服务识别字符串字段以及用于服务的服务KPI的所支持的位掩码字段以及HMAC字段,并且在一些情况中,包括用于每个字段的八位字节的相关数量。包括在第二服务监控响应消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图11B中的那些。SKMC的指令号值表示这是SKMC消息中的一个。“指示”的子类型字段值表示TWAMP服务器使用细节响应于TWAMP控制客户端,其中该细节是通过与TWAMP服务器有关的会话反射器监控用于给定服务的哪些服务KPI的细节。

服务ID字段可以是由TWAMP服务器设定以识别TWAMP服务器支持的给定服务的专有数量。服务识别字符串字段可以是简要表示由服务ID识别的给定服务的目的的字母数字字符。用于服务的服务KPI的所支持的位掩码的字段是表示与TWAMP服务器有关的会话反射器针对给定服务支持什么类型的服务KPI的位掩码。TWAMP服务器可针对用于给定服务的支持服务KPI中的每一个,向TWAMP控制客户端发送图11B所示的的第二服务监控响应消息。

如图11C所示,服务监控ACK消息包括几个字段,该几个字段包括具有SKMC值的指令号字段、具有值“ACK”的子类型字段、服务ID字段、服务识别字符串字段以及用于服务的服务KPI的请求位掩码的字段以及HMAC字段,并且在一些情况中,包括用于每个字段的八位字节的相关数量。包括在服务监控ACK消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图11C中的那些。SKMC的指令号值表示这是SKMC消息中的一个。“ACK”的子类型字段值表示TWAMP控制客户端正在使用细节确认TWAMP服务器,该细节是TWAMP控制客户端有兴趣对用于给定服务的哪些服务KPI进行监控的细节。

服务ID字段和服务识别字符串字段具有的值与在第二服务监控响应消息(图11B)中接收的值相同,以便识别给定服务。由TWAMP控制客户端基于其有兴趣对给定服务的哪些服务KPI(来自第二服务监控响应消息(图11B)中指示的支持的服务KPI)进行监控,来设定用于服务字段的服务KPI的请求的位掩码。TWAMP服务器针对发送的每个第二服务监控响应消息(图11B),接收图11C所示的服务监控ACK消息。如果TWAMP服务器未接收到服务监控ACK消息(图11C),则它可关闭控制连接。

图12示出由TWAMP控制客户端向TWAMP服务器发送的请求会话消息(从而请求用于TWAMP服务器支持的给定服务的数据会话)的示例性格式。如图12所示,请求会话消息包括几个字段,该几个字段特别包括会话ID(SID)字段和服务ID字段,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在请求会话消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图12中的那些。

由TWAMP控制客户端发送的请求用于给定服务的数据会话的请求会话消息包括服务ID字段,从而识别向TWAMP服务器的给定服务。该服务ID字段可包括两个八位字节。如果服务KPI的监控未请求作为请求的数据会话的一部分,则服务ID字段具有0的值。如果服务ID字段具有非零值,则填充长度字段将不具有任何意义,因为TWAMP测试数据包将具有不同尺寸,其取决于通过数据会话正在监控的服务KPI的类型。

如果发送器地址字段或接收器地址字段具有零值,则请求的数据会话将处于TWAMP控制客户端的源地址和目的地地址上。如果接收器端口字段具有零值,则它意味着TWAMP控制客户端在TWAMP服务器上不具有任何优选的端口用于请求的数据会话。超时字段表示在从TWAMP控制客户端接收停止会话消息之后,与TWAMP服务器有关的会话反射器所需要等待的时间间隔。图12所示的请求会话消息中的SID字段总是具有0的值,因为TWAMP服务器不向请求的数据会话指定SID。

响应于请求会话消息(图12),TWAMP服务器可使用接受会话消息回复,该接受会话消息接受用于给定服务的数据会话并且包括用于识别接受的数据会话的非零SID。SID值可通过用于接受的数据会话的TWAMP服务器生成。在一些实例中,接受会话消息可包括具有0-5的值的接受字段,其中,0意味着成功并且非零值意味着将关闭控制连接,并且端口字段表示用于接受的数据会话的TWAMP服务器处的端口号。随后,TWAMP控制客户端可向TWAMP服务器发送启动会话消息,并且TWAMP服务器可使用启动ACK消息回复,该启动ACK消息包括具有0-5的值的接受字段,其中,0意味着成功并且如果接受字段具有非零值,则关闭控制连接。

在传统网络架构(其中,TWAMP控制客户端和TWAMP会话发起端在相同网络设备上执行)的实例中,当接收接受会话消息时,TWAMP控制客户端或TWAMP会话发起端可开始向TWAMP服务器发送TWAMP测试数据包以测量选择的与用于给定服务的数据会话有关的服务KPI。在SDN和NFV网络架构(其中,TWAMP控制客户端在集中式控制器上执行而TWAMP会话发起端在不同网络设备上执行)的实例中,当接收接受会话消息时,TWAMP控制客户端可使用新的一组控制消息来指示TWAMP会话发起端建立协商的数据会话,并且开始向TWAMP服务器发送TWAMP测试数据包以测量选择的与用于给定服务的数据会话有关的服务KPI。

在某些点处,TWAMP控制客户端可向TWAMP服务器发送停止会话消息,该停止会话消息包括接受字段,其具有0值(意味着正常但可能提前结束数据会话)或非零值(表示一些故障)。作为停止会话消息的结果,TWAMP控制客户端与TWAMP服务器之间的控制连接将被关闭,并且通过控制连接而大量产生的所有数据会话将被视为无效。停止会话消息也可包括会话的数量的字段。如果停止会话消息中的会话字段的数量不与进行中的数据会话的数量相匹配,则停止会话消息可被视为无效。

图13-图14是示出了根据本公开的技术,TWAMP控制客户端或TWAMP会话发起端与TWAMP服务器之间的TWAMP测试数据包的示例性格式的概念图。TWAMP测试数据包可被交换以请求和发送用于一个或多个选择的服务KPI的服务数据测量值,该服务KIP与建立的用于给定服务的数据会话有关。如以上相对于图9-图12描述的,在TWAMP控制客户端与TWAMP服务器之间协商数据会话的过程中,可确定选择的服务KPI。本公开描述的技术包括扩展至TWAMP测试数据包的扩展。传统地,TWAMP测试数据包具有未使用(例如,被设为零或随机值)的填充的八位字节。根据公开的技术,这些填充的八位字节可用于传递用于给定服务的一个或多个服务KPI的服务数据测量值。例如,填充八位字节可具有一些有效数据,诸如,时间戳、统计数据、服务PDU等。

图13A示出了用于通过建立的数据会话由与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器向与TWAMP服务器有关的会话反射器发送的未认证模式的TWAMP测试数据包的示例性格式。在某些情况下,该测试数据包可被称为会话发送器请求消息或会话发送器测试数据包。

如图13A所示,会话发送器测试数据包包括几个字段,该几个字段包括序列号字段、时间戳字段、误差估计字段以及数据包填充,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在会话发送器测试数据包中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图13A中的那些。如图13A所示,作为公开的TWAMP扩展的部分,会话发送器测试数据包可包括误差估计字段之后的MBZ字段的6个八位字节。

图13B示出用于通过建立的数据会话由与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器向与TWAMP服务器有关的会话反射器发送的认证和加密模式的TWAMP测试数据包的示例性格式。在某些情况下,该测试数据包可被称为会话发送器请求消息或会话发送器测试数据包。

如图13B所示,会话发送器测试数据包包括几个字段,该几个字段包括序列号字段、时间戳字段、误差估计字段、HMAC字段以及数据包填充,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在会话发送器测试数据包中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图13B中的那些。如图13B所示,作为公开的TWAMP扩展的部分,会话发送器测试数据包可包括误差估计字段之后的MBZ字段的6个八位字节。

图14A示出用于通过建立的数据会话由与TWAMP服务器有关的会话反射器向与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器发送的未认证模式的TWAMP测试数据包的示例性格式。在某些情况下,该测试数据包可被称为会话反射器回复消息或会话反射器测试数据包。

如图14A所示,会话反射器测试数据包包括几个字段,该几个字段包括序列号字段、时间戳字段、误差估计字段、接收时间戳字段、发送器序列号字段、发送器时间戳字段、发送误差估计字段、发送器存活时间(TTL)字段、针对服务而监控的服务KPI的位掩码的字段以及数据包填充,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在会话反射器测试数据包中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图14A中的那些。作为公开的TWAMP扩展的部分,会话反射器测试数据包可包括误差估计字段之后的MBZ字段的3个八位字节,以便以数据包格式对齐下一组字段。

针对服务而监控的服务KPI的位掩码的字段可包括针对给定服务而选择的服务KPI的列表,该列表包括在会话反射器测试数据包中。更具体地,位掩码可包括被设为表示在该消息中传递哪一个服务KPI的位。根据图14A所示的实例,用于表示的服务KPI的服务数据测量值可以以与包括在从0开始的位掩码中的指示位相同的顺序存在于数据包填充区域中。在一些实例中,服务数据测量值可在数据包填充区域内的服务协议数据单元(PDU)或服务数据单元(SDU)中传递。在其他实例中,用于表示的服务KPI的服务数据测量值可被包括作为会话反射器测试数据包的报头的部分,例如,具有用于表示的服务KPI的服务数据测量值中的每一个的单独字段。

图14B示出用于通过建立的数据会话由与TWAMP服务器有关的会话反射器向与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器发送的认证和加密模式的TWAMP测试数据包的示例性格式。在某些情况下,该测试数据包可被称为会话反射器回复消息或会话反射器测试数据包。

如图14B所示,会话反射器测试数据包包括几个字段,该几个字段包括序列号字段、时间戳字段、误差估计字段、接收时间戳字段、发送序列号字段、发送器时间戳字段、发送误差估计字段、发送器存活时间(TTL)字段、HMAC字段、针对服务监控的服务KPI的位掩码的字段以及可包括一个或多个服务PDU的数据包填充,并且在某些情况下,可包括用于每个字段的八位字节的相关数量。包括在会话反射器测试数据包中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图14B中的那些。

针对服务监控的服务KPI的位掩码的字段可包括针对给定服务选择的服务KPI的列表,其包括在会话反射器测试数据包中。更具体地,位掩码可包括被设为表示在该消息中传递哪一个服务KPI的位。根据图14B所示的实例,用于表示的服务KPI的服务数据测量值可以以与包括在从0开始的位掩码中的指示位相同的顺序存在于数据包填充区域中。在一些实例中,服务数据测量值可在数据包填充区域内的服务PDU或SDU中传递。在其他实例中,用于表示的服务KPI的服务数据测量值可被包括作为会话反射器测试数据包的报头的部分,例如,具有用于表示的服务KPI的服务数据测量值中的每一个的单独字段。

相对于图14A和14B所示的会话反射器测试数据包,位掩码中的表示的服务KPI可包括持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。以下更详细描述服务KPI中的若干个及其相关的服务数据测量值。

持活测量值可表示相应服务是否正在运行。对于服务持活监控,与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器可在会话发送器测试数据包的数据包填充区域中发送SDU。当与TWAMP服务器有关的会话反射器接收会话发送器测试数据包时,它从会话发送器测试数据包中提取SDU并将SDU注入用于由给定服务处理的服务的服务块。基于会话反射器是否接收回数据包,会话反射可确定给定服务是否正在运行。

会话反射器使用位X和位Y(接下来为SDU)启动会话反射器测试数据包的数据包填充区域,该SDU可与由会话发送器发送的SDU相同或者可以是从服务块接收的回复或响应数据包。设定位X表示会话反射器成功地向服务块发送服务请求并接收回服务响应。如果位X未被设定,则它表示服务块不起作用。设定位Y表示接下来的SDU是会话反射器从服务块接收的响应数据包。如果位Y未被设定,则它表示接下来SDU与从会话发送器接收的SDU相同。应注意,即使当Y位被设定时,存在会话反射器测试数据包中的接下来的SDU与在会话发送器测试数据包中接收的SDU相似的可能性。例如,当服务块未改变SDU(服务块对该SDU起作用)的任何内容时,这可出现。

服务延迟测量值可包括中转时间和实际服务时间。对于服务延迟监控,与TWAMP控制客户端或TWAMP会话发起端有关的会话发送器可在会话发送器测试数据包的数据包填充区域中发送SDU。当与TWAMP服务器有关的会话反射器接收会话发送器测试数据包时,它提取SDU。如果SDU不存在于会话发送器测试数据包中,则会话反射器自身生成SDU。会话反射器记录时间作为服务延迟测量值发送器时间戳,并且将SDU注入用于由给定服务处理的服务的服务块。一旦会话反射器接收回数据包,会话反射器再次记录时间作为服务延迟测量值接收器时间戳。如果会话反射器在某预定时间限制内未接收到SDU,则它可表示服务延迟测量值接收器时间戳等于0。

会话反射器使用服务延迟测量值发送器时间戳和服务延迟测量值接收器时间戳来启动会话反射器测试数据包的数据包填充区域。在数据包填充区域中,该时间戳由SDU跟随,该SDU可与由会话发送器发送的SDU相同或者可以是从服务块接收的回复或响应数据包。

服务负载测量值可基于服务数据包(即,用于相应服务的入口和出口数据包的数量)的计数、服务字节(即,用于相应服务的入口和出口字节的数量)的计数或服务订户(即,用于相应服务的订户的数量)的计数中的一个。

对于基于服务数据包计数的服务负载监控,当会话反射器接收会话发送器测试数据包时,它从服务块检索关于入口服务数据包的数量和出口服务数据包的数量的信息。会话反射器使用入口服务数据包的数量和出口服务数据包的数量来启动会话反射器测试数据包的数据包填充区域,接下来为实际数据包填充。

对于基于服务字节计数的服务负载监控,当会话反射器接收会话发送器测试数据包时,它从服务块检索关于入口服务数据字节的数量和出口服务数据字节的数量的信息。会话反射器使用入口服务数据字节的数量和出口服务数据字节的数量来启动会话反射器测试数据包的数据包填充区域,接下来为实际数据包填充。

对于基于服务订户计数的服务负载监控,当会话反射器接收会话发送器测试数据包时,它检索关于订户总量、活跃订户的数量、非活跃订户的数量、添加的订户数量以及删除的订户数量的信息。订户总量是目前存在的用于给定服务的订户总量加1。该计数包括活跃的、非活跃的及任意其他类型的订户。活跃订户的数量是目前活跃地使用给定服务的订户数量加1。“活跃”的含义可随服务变化,并且可特定于执行过程。非活跃订户的数量是目前不活跃使用给定服务的订户数量加1。“不活跃”的含义可随服务变化,并且可特定于执行过程。添加的订户数量是相比较上次得到的统计数据而新添加的订户数量加1。删除的订户数量是相比较上次得到的统计数据而删除或取代的订户数量加1。

如果对于具体服务,不支持该统计数据或该统计数据无效,则以上字段中的任一个可等于0。会话反射器应该通过使实际服务统计数据增加1来填充值。例如,如果活跃订户数量等于0,则会话反射器应使用1的值填充该字段。当会话发送器接收该值时,它在使用该值之前,应从接收值减去1。会话反射器使用订户总量、活跃订户数量、非活跃订户数量、添加的订户数量以及删除的订户数量来启动会话反射器测试数据包的数据包填充区域,接下来为实际数据包填充。

图15-图18是示出了根据本公开的技术,在TWAMP控制客户端与TWAMP会话发起端之间的TWAMP控制消息的示例性格式的概念图。本公开描述的TWAMP扩展包括在TWAMP控制客户端与TWAMP会话发起端之间交换的新的一组控制消息,该新的控制消息指示TWAMP会话发起端与TWAMP服务器建立用于一个或多个服务的一个或多个数据会话,并且通过用于一个或多个服务的数据会话收集用于服务KPI的服务数据测量值。如图1-图4所示,新的一组控制消息可在SDN和NFV架构(其中,TWAMP控制客户端在集中式控制器上执行)中使用,并且TWAMP会话发起端在单独网络设备上执行。

图15示出由TWAMP控制客户端向TWAMP会话发起端发送的数据会话消息(有时被称为发起数据会话消息)的示例性格式,该数据会话消息指示TWAMP会话发起端与TWAMP服务器建立用于给定服务的数据会话。如图15所示,数据会话消息包括几个字段,该几个字段包括具有数值“10”的消息标识符字段、发送器端口字段、接收器端口字段、发送器地址字段、接收器地址字段、会话标识符(SID)字段以及HMAC字段,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在数据会话中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图15中的那些。

的消息标识符数值“10”表示该消息是“发起数据会话”类型。发送器端口字段表示TWAMP会话发起端的用户数据报协议(UDP)端口号,并且发送器地址字段表示TWAMP会话发起端的IP地址。接收器端口字段表示TWAMP服务器的UDP端口号,并且接收器地址字段表示TWAMP服务器的IP地址。SID字段表示由TWAMP服务器生成的用于识别要建立的数据会话的ID。以上相对于图9-图12描述的,在数据会话的协商过程中,用于数据会话的SID可由TWAMP控制客户端从TWAMP服务器获悉。

响应于图15所示的接收数据会话消息,TWAMP会话发起端向TWAMP控制客户端发送ACK消息。在TWAMP控制客户端中接收的ACK消息可包括表示数据会话是否成功建立或发起的接受字段。在一些实例中,接受字段可具有0-5的数值,其中,0意味着成功,并且非零值意味着与TWAMP服务器的控制连接将被关闭。例如,如果在TWAMP会话发起端中某些东西不成功,则它使用具有非零值的接受字段来回复,使得TWAMP控制客户端可关闭与TWAMP服务器的控制连接。如果所有都成功,则TWAMP会话发起端将使用具有0值的接受字段来回复。

图16示出由TWAMP控制客户端向TWAMP会话发起端发送的删除数据会话消息的示例性格式,该删除数据会话消息指示TWAMP会话发起端删除与TWAMP服务器进行的用于给定服务的数据会话。一旦TWAMP会话发起端接收该消息,它将停止通过数据会话再发送TWAMP测试数据包并关闭与TWAMP服务器的数据会话。

如图16所示,删除数据会话消息包括几个字段,该几个字段包括具有数值“12”的消息标识符字段、SID字段以及HMAC字段,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在删除数据会话消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图16中的那些。消息标识符数值“12”表示该消息是“删除数据会话”类型。SID字段表示由TWAMP服务器生成的用于识别要删除的数据会话的ID。

响应于接收删除数据会话消息(图16所示),TWAMP会话发起端向TWAMP控制客户端发送ACK消息。在TWAMP控制客户端中接收的ACK消息可包括表示数据会话是否被成功删除的接受字段。在一些实例中,接受字段可具有0-5的值,其中,0意味着成功,并且非零值意味着与TWAMP服务器的控制连接将被关闭。例如,如果在TWAMP会话发起端中的某些东西不成功,则它使用具有非零值的接受字段来回复,使得TWAMP控制客户端可关闭与TWAMP服务器的控制连接。如果所有都成功,则TWAMP会话发起端将使用具有0值的接受字段来回复。

图17示出由TWAMP控制客户端向TWAMP会话发起端发送的请求服务数据消息的示例性格式,该请求服务数据消息从TWAMP会话发起端请求用于选择的与建立的用于给定服务的数据会话有关的一个或多个服务KPI的服务数据测量值。以上相对于图9-图12描述的,在数据会话的协商过程中,针对给定服务选择的服务KPI可由TWAMP控制客户端确定。一旦TWAMP会话发起端接收该消息,它得到用于选择的服务KPI的最新收集的服务数据测量值并形成ACK消息以发送回至TWAMP控制客户端,以下相对于图18进行更详细描述。在一些实例中,请求服务数据消息可以是可选的。在那些实例中,TWAMP会话发起端可向TWAMP控制客户端周期性发送收集的用于服务KPI的服务数据测量值,并且请求服务数据消息可用于触发包括服务数据测量值的即时ACK消息。

如图17所示,请求服务数据消息包括几个字段,该几个字段包括具有数值“11”的消息标识符字段、SID字段以及HMAC字段,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在请求服务数据消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图17中的那些。消息标识符数值“11”表示该消息是“请求服务数据”类型。SID字段表示由TWAMP服务器生成的用于识别数据会话(服务KPI要从该数据会话收集)的ID。

图18示出响应于接收请求服务数据消息(图17),由TWAMP会话发起端向TWAMP控制客户端发送的ACK消息的示例性格式。ACK消息包括用于选择的要发送回至TWAMP控制客户端的服务KPI的最新收集的服务数据测量值。以上相对于图9-图12描述的,在数据会话的协商过程中,包括在ACK消息中的服务数据测量值(例如,RTT时间戳、服务延迟测量值时间戳、入口和出口数据包的数量、入口和出口数据字节的数量和/或订户数量)可基于选择的要针对给定服务监控的服务KPI的类型而改变。

如图18所示,请求服务数据ACK消息包括几个字段,该几个字段包括接受字段、大小(size)字段、SID字段、HMAC字段、发送错误估计字段、接收错误估计字段以及一个或多个服务数据测量值字段,并且在某些情况下,包括用于每个字段的八位字节的相关数量。包括在请求服务数据ACK消息中的八位字节数量仅是实例。在其他实例中,用于字段中的每一个的八位字节的数量可不同于包括在图18中的那些。

接受字段指示服务数据请求是否成功,其中,0的值意味着成功。SID字段表示与由TWAMP控制客户端在请求服务数据消息(图17)中发送的ID相同的ID,以识别数据会话(服务KPI要从该数据会话收集)。包括在图18所示的请求服务数据ACK消息中的服务数据测量值字段仅是实例。在其他实例中,ACK消息可包括数据测量值的任意组合,其取决于选择的要针对给定服务测量的服务KPI的服务。

图19是示出了根据本公开的技术的网络的集中式控制器上的TWAMP控制客户端的示例性操作的流程图。将相对于来自图2的SDN控制器14上的TWAMP控制客户端32来描述图19的示例性操作。在其他实例中,在图3和图4所示的示例性使用情况的任一种或其他情景(其中,TWAMP控制客户端在集中式控制器上执行)中,图19所示的操作可由TWAMP控制客户端32执行。

SDN控制器14上的TWAMP控制客户端32与例如,网络中的第一网络设备30A上的TWAMP服务器38A建立第一控制连接(400)。当建立第一控制连接时,TWAMP控制客户端32可接收TWAMP问候消息,该TWAMP问候消息识别TWAMP服务器38A支持的表示TWAMP服务器38A是否支持服务KPI的监控的模式。TWAMP控制客户端32与网络中的第二网络设备8上的TWAMP会话发起端36建立第二控制连接33(402)。

TWAMP控制客户端32通过第一控制连接向TWAMP服务器38A发送第一组TWAMP控制消息,以协商用于给定服务的数据会话37A以及要针对给定服务测量的一个或多个服务KPI(404)。针对给定服务选择的服务KPI可包括持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。在一些实例中,作为第一组控制消息的部分,TWAMP控制客户端32发送服务监控请求消息,该服务监控请求消息请求TWAMP服务器38A支持的服务;从TWAMP服务器38A接收服务监控响应消息(该服务监控响应消息包括支持的服务的数量)、用于支持服务中的每一个的服务ID以及针对每个服务ID的所支持的服务KPI;以及向TWAMP服务器38A发送服务监控确认消息,该服务监控确认消息包括从针对每个服务ID的所支持的KPI的列表中选择的服务KPI。在其他实例中,作为第一组控制消息的部分,TWAMP控制客户端32向TWAMP服务器38A发送请求会话消息,该请求会话消息请求用于给定服务的数据会话37A且包括识别给定服务的服务ID;以及从TWAMP服务器38B接收接受会话消息,该接受会话消息接受用于给定服务的数据会话37A且包括识别数据会话37A的SID。

随后,TWAMP控制客户端32通过第二控制连接33向TWAMP会话发起端36发送第二组TWAMP控制消息,该第二组TWAMP控制消息指示TWAMP会话发起端36与TWAMP服务器38A建立用于给定服务的数据会话37A(406)。在一些实例中,作为第二组控制消息的部分,TWAMP控制客户端32发送数据会话消息,该数据会话消息指示TWAMP会话发起端36与TWAMP服务器38A建立用于给定服务的数据会话37A。数据会话消息可包括识别数据会话37A的SID、用于TWAMP会话发起端36的发送器端口和地址信息以及用于TWAMP服务器38A的接收器端口和地址信息。

TWAMP控制客户端32通过第二控制连接33从TWAMP会话发起端36接收针对所选择的服务KPI的服务数据测量值,该服务KPI与来自TWAMP发起端36的用于给定服务的数据会话37A有关(408)。在一些实例中,作为第二组控制消息的可选部分,TWAMP控制客户端32可发送请求服务数据消息,该请求服务数据消息请求针对所选择的服务KPI的服务数据测量值,该服务KPI与来自TWAMP会话发起端的用于给定服务的数据会话37A有关。在其他实例中,TWAMP控制客户端32可从TWAMP会话发起端36周期性接收用于选择的服务KPI的服务数据测量值。随后,TWAMP控制客户端32可向NFV-O 13发送所选择的针对给定服务测量的服务KPI,该NFV-O 13可使用选择的服务KPI来管理网络。

图20是示出了根据本公开的技术的网络的网络设备中的TWAMP会话发起端的示例性操作的流程图。将相对于来自图2的第一网络设备8上的TWAMP会话发起端36来描述图20的示例性操作。在其他实例中,图20所示的操作可由来自图3的TWAMP会话发起端60或来自图4的TWAMP会话发起端72执行,或者在其他情景(其中,TWAMP会话发起端在独立于TWAMP控制客户端的网络设备上执行)中执行。

第一网络设备8上的TWAMP会话发起端36与网络的SDN控制器14上的TWAMP控制客户端32建立控制连接33(410)。随后,TWAMP会话发起端36通过控制连接33从TWAMP控制客户端32接收一组TWAMP控制消息,该TWAMP控制消息指示TWAMP会话发起端36建立用于网络中的第二网络设备30A上的TWAMP服务器38A支持的给定服务的数据会话37A(412)。在一些实例中,作为该组控制消息的部分,TWAMP会话发起端36接收数据会话消息,该数据会话消息指示TWAMP会话发起端36与TWAMP服务器38A建立用于给定服务的数据会话37A,该数据会话消息包括识别数据会话37A的SID、用于TWAMP会话发起端36的发送器端口和地址信息以及用于TWAMP服务器38A的接收器端口和地址信息。

TWAMP会话发起端36与TWAMP服务器38A建立用于给定服务的数据会话37A(414)。随后,TWAMP会话发起端36通过数据会话37A从TWAMP服务器38A接收选择的要针对给定服务测量的一个或多个服务KPI的服务数据测量值(416)。可在TWAMP控制客户端32与TWAMP服务器38A之间协商针对给定服务选择的服务KPI。针对给定服务选择的服务KPI可包括持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。在一些实例中,TWAMP会话发起端36从TWAMP服务器38A接收TWAMP测试数据包,该TWAMP测试数据包具有被包括在TWAMP测试数据包中的选择的服务KPI的列表以及具有选择的与用于给定服务的数据会话37A有关的服务KPI的服务数据测量值。服务数据测量值可包括在数据包填充区域、服务PDU、SDU或TWAMP测试数据包的报头中的一个中。

TWAMP会话发起端36通过控制连接33向TWAMP控制客户端32发送选择的与用于给定服务的数据会话37A有关的服务KPI的服务数据测量值(418)。在一些实例中,作为该组控制消息的可选部分,TWAMP会话发起端36从TWAMP控制客户端32接收请求服务数据消息,该请求服务数据消息从TWAMP会话发起端请求选择的服务KPI的服务数据测量值,该服务的KPI与用于给定服务的数据会话37A有关。在其他实例中,TWAMP会话发起端36可向TWAMP控制客户端32周期性发送用于选择的服务KPI的服务数据测量值。

图21是示出了根据本公开的技术的包括TWAMP控制客户端、TWAMP会话发起端以及TWAMP服务器的系统的示例性操作的流程图。将相对于来自图2的TWAMP控制客户端32、TWAMP会话发起端36以及TWAMP服务器38A来描述图21的示例性操作。在其他实例中,图21所示的操作可由包括在图3和图4所示的示例性使用情况中的任一个或其他情景(其中,TWAMP会话发起端在独立于TWAMP控制客户端的网络设备上执行)中的TWAMP单元执行。在又一实例中,图21所示的操作可由如下情景中的TWAMP单元执行,在该情景中,TWAMP会话发起端与TWAMP控制客户端在相同网络设备上执行。

TWAMP控制客户端32与TWAMP服务器38A建立控制连接(420)。TWAMP控制客户端32协商用于给定服务的数据会话37A并针对在TWAMP服务器38A处给定的服务,选择要测量的一个或多个服务KPI(422)。针对给定服务选择的服务KPI可包括持活测量值、往返时间测量值、路径延迟测量值、服务延迟测量值或服务负载测量值中的一个或多个。随后,TWAMP控制客户端32与TWAMP服务器38A建立用于给定服务的数据会话37A(424)。

当建立数据会话37A时,与TWAMP控制客户端32或TWAMP会话发起端36有关的会话发送器(如图21所示)可通过用于给定服务的数据会话37A向与TWAMP服务器38A有关的会话反射器发送TWAMP测试数据包(426)。响应于来自TWAMP会话发起端36的TWAMP测试数据包,与TWAMP服务器38A有关的会话反射器通过数据会话37A向与TWAMP会话发起端36或TWAMP控制客户端32有关的会话发送器发送针对给定服务选择的服务KPI的服务数据测量值(428)。TWAMP会话发起端36通过数据会话37A从TWAMP服务器38A接收针对给定服务选择的服务KPI的服务数据测量值(430)。此外,TWAMP控制客户端32也接收选择的服务KPI的服务数据测量值,所述服务KPI与用于给定服务的数据会话37A有关(432)。

在某些情况下,TWAMP控制客户端32和TWAMP会话发起端36可在相同网络设备上执行。在这种情况下,TWAMP控制客户端32可与TWAMP服务器38A建立用于给定服务的数据会话37A,并且TWAMP控制客户端32或TWAMP会话发起端36可通过用于给定服务的数据会话37A向TWAMP服务器38A发送TWAMP测试数据包,并且通过数据会话37A从TWAMP服务器38A接收针对给定服务选择的服务KPI的服务数据测量值。由于TWAMP控制客户端32和TWAMP会话发起端36位于相同网络设备上,所以TWAMP会话发起端36和TWAMP控制客户端32都可通过数据会话37A从TWAMP服务器38A接收针对给定服务选择的服务KPI的服务数据测量值。

在例如,如图2所示的其他情况中,TWAMP控制客户端32可在网络的集中式控制器设备上执行,该集中式控制器设备独立于在其上执行TWAMP会话发起端36的网络设备。在这种情况下,TWAMP控制客户端32可通过在控制连接33上发送一组TWAMP控制消息来建立用于给定服务的数据会话37A,该TWAMP控制消息指示TWAMP会话发起端36与TWAMP服务器38A建立用于给定服务的数据会话37A。作为进一步实例,在这种情况下,TWAMP会话发起端36可从TWAMP控制客户端32接收指示TWAMP会话发起端36建立用于给定服务的数据会话37A的该组TWAMP控制消息;与TWAMP服务器38A建立用于给定服务的数据会话37A;通过用于给定服务的数据会话37A向TWAMP服务器38A发送TWAMP测试数据包;通过数据会话37A从TWAMP服务器38A接收针对给定服务选择的服务KPI的服务数据测量值;以及向TWAMP控制客户端32发送选择的服务KPI的服务数据测量值,该服务KPI与用于给定服务的数据会话37A有关。由于TWAMP控制客户端32和TWAMP会话发起端36位于独立网络设备上,所以TWAMP控制客户端32通过控制连接33从TWAMP会话发起端36接收选择的服务KPI的服务数据测量值,所述服务KPI与用于给定服务的数据会话37A有关。

本公开描述的技术可至少部分以硬件、软件、固件或其任意组合来实现。例如,所描述技术的各方面可在一个或多个处理器内实现,该一个或多个处理器包括一个或多个微处理器、DSP、ASIC、FPGA或任意其他等效集成或离散逻辑电路以及这种组件的任意组合。术语“处理器”或“处理电路”通常可表示单独的或与其他逻辑电路结合的上述逻辑电路中的任一个或任意其他等效电路。包括硬件的控制单元也可执行本公开的一个或多个技术。

这种硬件、软件和固件可在相同设备内或单独设备内实现以支持本公开中描述的各种操作和功能。此外,所描述的单元、模块或组件中的任一个可与离散但可互操作的逻辑设备一起或单独使用。以模块或单元描述不同特征旨在突出不同功能方面且不一定暗示这些模块或单元必须通过单独硬件或软件组件来实现。确切地说,与一个或多个模块或单元有关的功能可由单独硬件或软件组件执行或集成在共用或单独硬件或软件组件内。

本公开描述的技术也可体现或编码在包含指令的诸如计算机可读存储介质的计算机可读介质中。例如,当执行该指令时,在计算机可读介质中嵌入或编码的指令可使可编程处理器或其他处理器执行该方法。计算机可读介质可包括非易失性计算机可读存储介质和瞬态通信介质。有形且非易失性的计算机可读存储介质可包括RAM、ROM、PROM、EPROM、EEPROM、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光介质或其他计算机可读存储介质。应理解,术语“计算机可读存储介质”指代物理存储介质,而不是信号、携带波或其他瞬态介质。

已描述了本公开的各方面。这些和其他方面处于所附权利要求的范围内。

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