通信方法、网络的集中控制器设备及网络中的网络设备与流程

文档序号:11959550阅读:498来源:国知局
通信方法、网络的集中控制器设备及网络中的网络设备与流程

技术领域

本公开涉及通信网络。



背景技术:

已基于集成软件定义的网络(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的服务数据测量,其中,服务数据测量是由TWAMP会话发起方通过数据会话从TWAMP服务器收集的。

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

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

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

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

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

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

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

附图说明

图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控制消息的示例性格式的概念图。

图13至图14是示出了根据本公开的技术在TWAMP控制客户端或TWAMP会话发起方与TWAMP服务器之间的TWAMP测试分组的示例性格式的概念图。

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

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

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

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

具体实施方式

图1是示出了根据本文描述的技术包括基于软件定义的网络(SDN)网络和网络功能虚拟化(NFV)的网络架构的示例性网络系统的框图。图1的示例性网络系统1包括作为专用网操作以将基于分组的网络服务提供至订户设备16的服务供应商网络2。即,服务供应商网络2为订户设备16提供网络访问的认证和建立使得订户设备可以开始与公共网络12交换分组(packet),公共网络可以是内部或外部的基于分组的网络,诸如互联网。

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

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

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

订户设备16可经由接入网络6连接至路由器8以接收到由服务节点10托管的应用的订户服务的连接。例如,订户可以表示企业、居民订户、或移动订户。订户设备16例如可以是个人计算机、膝上型电脑或者与订户相关联的其他类型的计算设备。此外,订户设备16可包括经由无线电接入网络(RAN)(未示出)接入服务供应商网络2的数据服务的移动设备。示例性移动订户设备包括移动电话、具有例如3G无线卡的笔记本电脑或者台式计算机、无线功能上网本、视频游戏设备、传呼机、智能手机、个人数据助理(PDA)等。

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

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

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

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

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

通常,订户设备16中的任一个或多个可以通过将会话请求发送至诸如路由器18或路由器8的网关设备请求授权和数据服务。进而,路由器18可以接入诸如认证、授权和记帐(AAA)服务器的中央服务器(未示出)以认证请求网络接入的订户设备16中的一个。一旦认证,任何订户设备16可以向核心网络7发送订户数据通信以便接入和接收由公共网络12提供的服务,并且这样的分组可以穿越路由器8作为至少一个分组流的一部分。在一些实例中,路由器18可以将所有认证的订户业务转发至公共网络12,并且如果订户业务需要服务节点10上的服务,路由器8可以将特定订户业务引导至数据中心9。应用于订户业务的应用(例如,服务应用)可以托管在服务节点10上。

如本文所描述的,服务供应商网络2包括数据中心9,数据中心具有为大部分虚拟化的网络服务提供执行环境的服务节点10的群集。在一些实例中,服务节点10中的每一个表示服务实例。服务节点10中的每一个可以应用一个或多个服务。作为实例,服务节点10可以应用状态防火墙(SFW)和安全服务、深度分组检测(DPI)、载波等级网络地址转换(CGNAT)、业务目的地功能(TDF)服务、媒介(语音/视频)优化、互联网协议安全(IPSec)/虚拟专用网络(VPN)服务、超级文本传输协议(HTTP)过滤、计数、记账、收费、和/或分组流的负载平衡、或者应用于网络业务的其他类型的服务。

尽管示出为数据中心9的一部分,服务节点10可以是通过一个或多个交换机或者核心网络7的虚拟交换机耦接的网络设备。在一个实例中,服务节点10中的每一个可以在虚拟计算环境中作为VM运行。此外,计算环境可包括一般的计算设备的可扩展群集,诸如,基于x86处理器的服务器。作为另一实例,服务节点10可包括通用计算设备和专用设备的组合。由于虚拟化,服务节点10提供的单独的网络服务正如在现代的数据中心中可通过虚拟化存储器的分配、处理器利用率、存储和网络策略以及水平地增加额外负载平衡的VM而扩展。在其他实例中,服务节点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)隧道)在服务节点10之间进行隧道传输的隧道接口、使用GRE或者通过使用VLAN的网络虚拟化(NVGRE)、虚拟可扩展LAN(VXLAN)、MPLS技术等等。在一些情况下,真实或虚拟的交换机、使服务节点10互联的路由器或其他网络元件可被构造为根据服务链将分组流引导至服务节点10。

双向主动测量协议(TWAMP)可以在服务供应商网络2内使用以在网络设备之间提供单向和双向或往返测量能力。TWAMP包括TWAMP控制消息和TWAMP数据消息,TWAMP控制消息用于在TWAMP控制客户端与TWAMP服务器之间发起、开始和停止测试会话,并且TWAMP数据消息用于在与TWAMP控制客户端相关联的TWAMP会话发送者和与TWAMP服务器相关联的TWAMP会话反射方之间交换测试分组。例如,TWAMP可以用于沿着与特定服务链相关联的服务隧道或服务路径测量一个或多个服务的双向度量,诸如,往返时间(RTT)。在RFC 5357(Hedayat等人的“A Two-Way Active Measurement Protocol(TWAMP)”、互联网工程任务组(IETF)、网络工作组、RFC 5357,2008年10月)中更详细地描述了TWAMP,通过引证将其全部内容结合于此。

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

在一个实例中,本公开描述了扩展TWAMP以使得能够选择和监控在TWAMP服务器处支持的给定服务的多个服务KPI中的任一个的技术。服务KPI可以包括例如在分组流的数量、会话数量、订户数量、或八位字节的数量方面,服务测量、RTT测量、路径延迟测量、服务延迟测量、或者服务负载测量的一个或多个保活或跃动活动(keepalive or liveliness)。在于2014年12月17日提交的美国申请号14/573,167中更详细地描述使用TWAMP的监听业务延迟,通过引证将其全部内容结合于此。

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

所公开的TWAMP扩展包括用于选择要测量的给定服务的一个或多个服务KPI的TWAMP控制消息的扩展,以及用于通过给定服务的数据会话发送所选择的服务KPI的服务数据测量的TWAMP数据消息的扩展。传统地,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架构中,可以在SDN控制器14上执行TWAMP控制客户端(未示出),而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,并且将服务数据测量和/或所计算的服务KPI发送至SDN控制器14上的数据收集应用(未示出)。SDN控制器14然后可以将数据传送至NFV协调器13,其可以使用数据优化服务的性能。作为另一示例性益处,所公开的技术对基于SDN和NFV架构中的任何用户都是开放的。在一些实例中,所公开的技术可适用于基于SDN和NFV的架构中所有新的和现有的用户,如在图1中示出的,用以主动测量服务供应商网络2中任意两个节点之间的服务KPI。不同的网络节点之间或者两个计算节点之间可以执行服务KPI的测量。

现在将说明根据所公开的技术可以测量的一些主要服务KPI。可以计算服务供应商网络2中任意两个节点之间的往返时间(RTT)测量以便检查具体分组路径中的延迟。例如,这些节点可以是两个计算节点,一个计算节点和一个服务节点,或者地理上分开的两个服务节点。可计算由服务节点10提供的任何服务的服务延迟和服务负载测量。服务可以在服务节点10的VM上运行,或者在服务节点10或者数据中心9的物理底盘(physical chassis)上运行。可以计算运行相同的服务并未具有相同的端接点的地理上分离的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”)分别包括服务节点VM40A-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将TWAMP控制客户端32和TWAMP服务器38的配置传送至SDN控制器14。NFV-O 13可以使用表述性状态转移(representational state transfer,REST)应用程序编程界面(API)将配置信息推送至SDN控制器14。在其他实例中,NFV-O 13与SDN控制器14之间可以使用任何其他南向接口(southbound interface)以传送配置信息。

在第二步骤中,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会话发起方36与TWAMP服务器38A建立给定服务的数据会话37A。这组新的TWAMP控制消息可以包括在TWAMP控制客户端32与TWAMP服务器38A之间协商的至少一些信息(诸如,SID)以识别数据会话37A和接收方端口以及TWAMP服务器38A的地址信息。

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

在第五步骤中,TWAMP会话发起方36使用数据会话37A计算给定服务的所选择的服务KPI,例如,SFW,该SFM在其上运行TWAMP服务器38A的网络设备30A上被代管。作为一个实例,TWAMP会话发起方36可以通过数据会话37A将TWAMP测试分组发送至TWAMP服务器38A,并且接收从TWAMP服务器38A返回的TWAMP测试分组以及与给定服务的数据会话37A相关联的所选择的服务KPI的服务数据测量,TWAMP服务器38A包括包含在TWAMP测试分组中的所选择的服务KPI的列表。

根据本公开的技术,TWAMP服务器38A将所选择的服务KPI的服务数据测量发送至TWAMP会话发起方36,所述服务数据测量包含在分组填充区域、服务协议数据单元(PDU)、服务数据单元(SDU)、以及TWAMP测试分组的报头之一中。更具体地,TWAMP服务器38A可以发送具有包括时间戳的填充区域的TWAMP测试分组以便计算服务延迟。

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

在第七步骤中,TWAMP控制客户端32将服务数据测量和/或计算的服务KPI发送至SDN控制器14内的数据收集单元34。这是实施方式专用的并且可以按照SDN控制器14的网络布置设计。例如,在TWAMP控制客户端32与数据收集单元34之间可以存在专用接口(proprietary interface)。在一些实例中,数据收集单元34可包括存储器,存储器可以通过各种储存装置中的任一种形成,诸如,动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、巨磁阻RAM(MRAM)、电阻RAM(RRAM)、或者其他类型的储存装置。

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

图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(统称“VM70”)中的每一个。在一些实例中,VM 70可以全部在相同的底层物理设备(例如,来自图1的路由器8),或者底层物理设备的相同集合(例如,图1的数据中心10)上执行。在另一实例中,一个或多个VM 70可以各自在分开的网络设备上执行。在这个实例中,第一VM 70A可以在图1的路由器8上执行,并且第二VM 70B和第三VM 70N中的每一个可以在一个或多个服务节点10或者来自图1的数据中心9的其他物理设备上执行。

根据本公开的技术,TWAMP控制客户端32、TWAMP会话发起方72、以及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中的每一个将所选择的服务KPI的具有包括服务数据测量的填充区域的TWAMP测试分组发送至TWAMP会话发起方72,服务数据测量为例如,时间戳、分组流数量、会话数量、订户数量、或者八位字节数量中的一个或多个。TWAMP会话发起方72将服务数据测量发送至SDN控制器14上的TWAMP控制客户端32,并且SDN控制器14然后经由数据收集单元34将服务数据测量和/或所计算的服务KPI传送至NFV-O 13。

图5是示出了根据本公开的技术使用TWAMP扩展在TWAMP控制客户端76、TWAMP会话发起方77、以及TWAMP服务器78之间的示例性消息序列的框图。TWAMP扩展包括TWAMP控制客户端76与TWAMP会话发起方77之间的一组新的控制消息79A-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处支持的一个或多个服务的一个或多个数据会话。在所示出的实例中,第一组控制消息可以包括服务器招呼消息(server greeting message)、设置响应消息、招服务器启动消息、请求服务支持的消息、响应服务支持的消息、多个请求会话消息和接受会话消息、开始会话消息、以及开始确认(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发送的新的控制信号还可以包括来自TWAMP会话发起方77的与给定服务的数据会话相关联的选择服务KPI的服务数据测量的显式请求。如下参照图15至图18更详细地描述TWAMP控制客户端76与TWAMP会话发起方77之间的一组新的控制消息的TWAMP扩展。

作为另一实例,如在图5中示出的,TWAMP会话发起方77和TWAMP服务器78通过给定服务的数据会话交换TWAMP测试分组。所公开的TWAMP扩展包括对TWAMP测试分组的修改以便承载与给定服务的数据会话相关联的一个或多个所选择的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的框图。为了说明的目的,本文中可以在图1的服务供应商网络2的背景下描述了路由器80,并且例如路由器可以表示路由器18或路由器8中任何一个。此外,虽然就特定网络设备(例如,路由器)进行了描述,可以通过可作为服务端点操作的任何网络设备实现技术,服务端点为诸如,层3(L3)或者L2/L3交换机或者服务器。

在图6的实例中,路由器80包括其中路由部件86提供路由器80的控制平面功能的控制单元82。路由器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提供了用于以路由表或其他结构的形式存储网络拓扑、执行路由协议以与对等路由设备通信并且维持和更新路由表、以及提供管理界面以允许用户接入和配置路由器80的控制平面功能。控制单元82提供路由部件86的操作环境并且可以仅仅实现为软件、或硬件、或可以被实现为软件、硬件或固件的组合。比如,控制单元82可包括执行软件指令的一个或多个处理器。在那种情况下,路由部件86可以包括各种软件模块或后台程序(例如,一个或多个路由协议进程、用户界面等等),并且控制单元82可以包括用于存储可执行指令的计算机可读存储介质,诸如,计算机存储器或硬盘。

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

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

典型地,路由信息经由距离向量路由协议(例如,BGP 98)通过到目的地的网络/网络内的前缀定义路由(即,一系列下一跳)或者用使用IGP 94的链路状态路由协议(例如,IS-IS或OSPF)获悉的互联链路定义网络拓扑。与此相反,FIB 106基于网络内的一定路由的选择而产生并且将分组密钥信息(例如,目的地信息以及来自分组报头的其他选择信息)映射至一个或多个具体下一跳并且最终映射至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会话发起方处理。更具体地,TWAMP110的扩展包括由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的扩展包括用于通过给定服务的数据会话发送一个或多个所选择的服务KPI的服务数据测量的TWAMP数据消息的扩展。待测量的服务KPI可以包括保活测量、往返时间测量、路径延迟测量、服务延迟测量、以及服务负载测量中的一个或多个。根据所公开的技术,TWAMP测试分组内的填充区域可以用于承载与TWAMP服务器相关联的会话反射方和与路由器80上的TWAMP控制客户端或TWAMP会话发起方相关联的会话发送方之间的给定服务的所选择的服务KPI的服务数据测量。服务KPI的TWAMP 110的扩展可以用在SDN和NFV架构以及其中TWAMP控制客户端和TWAMP会话发起方在相同的网络设备(例如,路由器80)上执行的传统网络架构中。

路由部件86将表示FIB 106的软件副本的数据传送至PFE 114中的每一个以控制在数据平面中转发流量。这就允许更新每个PFE 114内的存储器(例如,RAM)内所储存的软件FIB,而边界路由器80的分组转发性能并不退化。在一些情况下,路由部件86可以得出每个相应PFE 114的分开的且不同的软件FIB。此外,一个或多个PFE 114包括专用集成电路(ASIC 116),其中PFE 114利用被拷贝到每个相应的PFE 114的基于软件FIB的FIB硬件副本(即,软件FIB的硬件版本)进行编程。

例如,内核101在主控微处理器102上执行并且可以包括例如UNIX操作系统派生(UNIX operating system derivative),诸如,Linux或美伯克利软件发行中心(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存储包括进入标签、输出标签、以及分组的下一跳的标签信息。

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

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

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

通常,内核101可以产生FIB 106并且因此产生程序ASIC 116以存储与每个服务链相关联的转发结构。例如,ASIC 116可配置有指定流量工程信息的转发信息,诸如,IP报头信息或MPLS标签,以及使可编程的ASIC 116根据转发信息封装订户分组(subscriber packet)的操作。以这种方式,ASIC 116可以处理订户分组以选择每个分组的特定服务路径并且根据所选择的服务路径封装订户分组。路由部件86可以产生RIB 104和FIB106以基于与各个订户相关联的一个或多个服务配置文件使订户分组流与特定服务路径相关联,如可以从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包括耦接至网络接口220的控制单元202以通过入站链路222和出站链路224与其他网络设备交换分组。控制单元202可包含执行软件指令(例如,用以定义软件或计算机程序的软件指令)的一个或一个以上处理器(未示出),所述软件指令存储到计算机可读存储介质(未示出),例如,包括存储装置(例如,磁盘驱动器或光学驱动器)或存储器(例如,闪存或RAM)的非易失性计算机可读介质或存储使一个或多个处理器执行本文中所描述的技术的指令的任何其它类型的易失性或非易失性存储器。可替代地或另外地,控制单元202可包括专用硬件,诸如一个或多个集成电路、一个或多个专用特殊处理器(Specific Special Processor,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与网络设备之间通信的XMPP228作为可扩展标记语言(XML)文档发送。

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

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

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

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

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

在图8的实例中,网络设备300包括执行管理程序314的微处理器310以为一个或多个服务节点虚拟机(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的扩展包括用于选择要测量的给定服务的一个或多个服务KPI的TWAMP控制消息的扩展,以及用于通过给定服务的数据会话发送所选择的服务KPI的服务数据测量的TWAMP数据消息的扩展。待测量的服务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控制客户端的服务器招呼消息(sever greeting message)的示例性格式。TWAMP控制客户端可以使用例如TCP与TWAMP服务器发起控制连接。在图9中示出的服务器招呼消息包括几个字段(包括模式字段、CHALLENGE字段(challenge field)、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服务器发送包括在TWAMP服务器处支持的服务的数量的第一服务监控响应消息(图11A)。在这个消息之后,与TWAMP服务器相关联的TWAMP服务器或会话反射方发送包括用于识别所支持服务中的每一个的服务ID以及每个服务ID支持的服务KPI的列表的第二服务监控响应消息(图11B)。在一些情况下,可以针对所支持的每个服务设置该消息。TWAMP控制客户端然后用服务监控ACK消息(图11C)回复过去,服务监控ACK消息包括TWAMP控制客户端有兴趣监控的每个服务ID所支持的服务KPI的列表中所选择的服务KPI的列表。在一些情况下,可以针对所支持的每个服务设置该消息。

在一些实例中,服务KPI可以包括保活测量、往返时间测量、路径延迟测量、服务延迟测量、以及服务负载测量中的一个或多个。保活测量可以指示相应服务是否运行。服务延迟测量可以包括转接时间(transit time)和实际服务时间。服务负载测量可基于所服务的分组的计数(即,相应服务的入口和出口分组的数量)、所服务字节的计数(即,相应服务的入口和出口字节的数量)、或者所服务订户的计数(即,相应服务的订户的数量)中的一个。

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

如在图11B中示出的,第二服务监控响应消息包括几个字段,包括具有SKMC值的命令号码字段、具有值“指示”的子类型字段、服务ID字段、服务标识字符串字段、服务字段的服务KPI的支持比特掩码、以及HMAC字段、以及在一些情况下,每个字段的八位字节的相关联的数量。包含在第二服务监控响应消息中的八位字节数仅仅是示例性的。在其他实例中,每个字段的八位字节的数量可以与图11B中包含的那些不同。SKMC的命令数量值指示这是SKMC消息之一。“指示”的子类型字段值利用与TWAMP服务器相关联的会话反射方能够监控给定服务的什么服务KPI的细节来指示TWAMP服务器响应于TWAMP控制客户端。

服务ID字段可以是TWAMP服务器设置的专有数字以识别在TWAMP服务器处支持的给定服务。服务标识字符串字段可以是简要地指示由服务ID识别的给定服务的目的的文字数字式字符。服务字段的服务KPI所支持的比特掩码是指示与TWAMP服务器相关联的会话反射方支持给定服务的什么类型的服务KPI的比特掩码。TWAMP服务器可以将在图11B中示出的第二服务监控响应消息发送至给定服务的每个所支持的服务KPI的TWAMP控制客户端。

如在图11C中示出的,服务监控ACK消息包括几个字段,包括具有SKMC值的命令号码字段、具有值“ACK”的子类型字段、服务ID字段、服务标识字符串字段、服务字段的服务KPI的请求比特掩码、以及HMAC字段、以及在一些情况下,每个字段的八位字节的相关联的数量。包含在服务监控ACK消息中的八位字节数仅仅是示例性的。在其他实例中,每个字段的八位字节的数量可以与图11C中包含的那些不同。SKMC的命令号码值指示这是SKMC消息之一。“ACK”的子类型字段值利用TWAMP控制客户端有兴趣监控的给定服务的哪些服务KPI的细节来指示TWAMP控制客户端确认TWAMP服务器。

服务ID字段和服务标识字符串字段具有与在第二服务监控响应消息(图11B)中接收的相同的值以便识别给定服务。所请求的服务字段的服务KPI的比特掩码基于在第二服务监控响应消息(图11B)中指示的所支持的服务KPI中TWAMP控制客户端TWAMP控制客户端有兴趣监控给定服务的服务KPI由TWAMP控制客户端设置。TWAMP服务器接收每个第二服务监控响应消息(图11B)发送的图11C中示出的服务监控ACK消息。如果没有接收到监控ACK消息(图11C)TWAMP服务器可以关闭控制连接。

图12示出了TWAMP控制客户端发送至TWAMP服务器的请求会话消息以请求在TWAMP服务器处支持的给定服务的数据会话的示例性格式。如在图12中示出的,请求会话消息包括几个字段,包括会话ID(SID)字段和服务ID字段,以及在一些情况下每个字段的八位字节的相关联的数量等。包含在请求会话消息中的八位字节数仅仅是示例性的。在其他实例中,每个字段的八位字节的数量可以与图12中包含的那些不同。

由请求给定服务的数据会话的TWAMP控制客户端发送的请求会话消息包括服务ID字段以识别TWAMP服务器的给定服务。服务ID字段可包括两个八位字节。如果未请求监控服务KPI作为所请求数据会话的一部分,那么服务ID字段具有0的值。如果服务ID字段具有非零值,那么填充长度字段没有任何意义,原因是根据通过数据会话监控的服务KPI的类型TWAMP测试分组的大小将会是不同的。

如果发送方地址字段或接收方地址字段具有零值,所请求的数据会话将在TWAMP控制客户端的源地址和目标地址上。如果接收方端口字段具有零值,意味着TWAMP控制客户端在所请求的数据会话的TWAMP服务器上没有任何优选的端口。超时字段(timeout field)指示与TWAMP服务器相关联的会话反射方在从TWAMP控制客户端接收停止会话消息之后需要等待的间隔。在图12中示出的请求会话消息中的SID字段总是具有0的值,因为TWAMP服务器还没向所请求的数据会话分配SID。

响应于请求会话消息(图12),TWAMP服务器可以用接受给定服务的数据会话的接受会话消息回复过去,并且包括用于识别所接受的数据会话的非零SID。SID值可以由所接受的数据会话的TWAMP服务器生成。在一些实例中,接受会话消息可以包括具有0-5的值的接受字段,且0是指成功并且非零值是指控制连接将会关闭,并且端口字段指示在所接受的数据会话的TWAMP服务器处的端口号。TWAMP控制客户端然后可以将开始会话消息发送至TWAMP服务器,并且TWAMP服务器可以用包括具有0-5的值的接受字段回复开始ACK消息,且0是指成功并且如果接受字段具有非零值控制连接将会关闭。

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

在某一点,TWAMP控制客户端可以将停止会话消息发送至包括具有0的值或非零值的接受字段的TWAMP服务器,0的值是指正常的但是可能过早完成数据会话,以及非零值指示存在某些故障。由于停止会话消息,TWAMP控制客户端与TWAMP服务器之间的控制连接将会关闭并且通过控制连接产生的所有的数据会话将会被认为无效。停止会话消息还可以包括大量会话字段。如果停止会话消息中的会话字段的数量与进行中的数据会话的数量不匹配,那么停止会话消息可以被认为是无效的。

图13至图14是示出了根据本公开的技术TWAMP控制客户端或TWAMP会话发起方与TWAMP服务器之间的TWAMP测试分组的示例性格式的概念图。可以交换TWAMP测试分组以请求并且传送与给定服务所建立的数据会话相关联的一个或多个所选择的服务KPI的服务数据测量。如上参照图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的每个服务数据测量的分开字段的会话反射方测试分组的报头的一部分。

图14A示出了由与TWAMP服务器相关联的会话反射方经由所建立的数据会话发送至与TWAMP控制客户端或TWAMP会话发起方相关联的会话发送方的认证并且加密模式的TWAMP测试分组的示例性格式。在一些情况下,该测试分组可被称为会话反射方回复消息或会话反射方测试分组。

如在图14B中示出的,会话反射方测试分组包括几个字段,包括序号字段、时间戳字段、误差估计字段、接收时间戳字段、发送序号字段、发送方时间戳字段、发送误差估计字段、发送方使用期限(TTL)字段、HMAC字段、服务字段的监控的服务KPI的比特掩码、以及可以包括一个或多个服务PDU的分组填充(packet padding),以及在一些情况下,每个字段的八位字节的相关联的数量。包含在会话反射方测试分组中的八位字节数仅仅是示例性的。在其他实例中,每个字段的八位字节的数量可以与图14B中包含的那些不同。

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

关于在图14A和图14B中示出的会话反射方测试分组,比特掩码中指示的服务KPI可以包括保活测量、往返时间测量、路径延迟测量、服务延迟测量、以及服务负载测量中的一个或多个。以下更详细地描述服务KPI及它们相关联的服务数据测量的部分。

保活测量(keepalive measurement)可以指示相应服务是否运行。对于服务保活监控,与TWAMP控制客户端或TWAMP会话发起方相关联的会话发送方可以在会话发送方测试分组的分组填充区域中发送SDU。当与TWAMP服务器相关联的会话反射方接收会话发送方测试分组时,其从会话发送方测试分组中提取SDU并且将SDU注入到通过给定服务进行服务处理的服务块中。基于会话反射方是否接收到分组,会话反射可以确定是否运行给定服务。

会话反射方用位X和位Y开始会话反射方测试分组的分组填充区域,后面是SDU,SDU可与会话发送方发送的SDU相同或者可以是从服务块接收的回复或响应分组。设置位X指示会话反射方将服务请求成功地发送至服务块并且接收服务响应包。如果未设置位X,然后其指示服务块不是功能性的。设置位Y指示后面的SDU是会话反射方从服务块接收的响应分组。如果未设置位Y,然后其指示后面的SDU与从会话发送方接收的相同。应注意即使当设置Y位时,存在会话反射方测试分组中的后面的SDU与在会话发送方测试分组中接收的SDU相似的可能性。例如,当服务块没有改变其所作用的SDU的任何内容时,可能会发生这种情况。

服务延迟测量可以包括转接时间(transit time)和实际服务时间。对于服务延迟监控,与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的服务数据测量。可以在SDN和NFV架构中使用这组新的控制消息,其中,TWAMP控制客户端在集中控制器上执行并且TWAMP会话发起方在分开的网络设备上执行,如在图1至图4中示出的。

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

10的消息标识符值指示这种消息是“发起数据会话”的类型、发送方端口字段指示TWAMP会话发起方的用户数据报协议(UDP)端口号,并且发送方地址字段指示TWAMP会话发起方的IP地址。接收方端口字段指示TWAMP服务器的UDP端口号,并且接收方地址字段指示TWAMP服务器的IP地址。SID字段指示通过用于识别待建立的数据会话的由TWAMP服务器生成的ID。以上参照图9至图12描述的,可在协商数据会话期间通过TWAMP控制客户端从TWAMP服务器获悉数据会话的SID。

响应于接收图15中示出的数据会话消息,TWAMP会话发起方将ACK消息发送至TWAMP控制客户端。在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会话发起方将ACK消息发送至TWAMP控制客户端。在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会话发起方可以将所收集的服务KPI的服务数据测量定期发送至TWAMP控制客户端,并且请求服务数据消息可以用于触发包含服务数据测量的即时ACK消息。

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

图18示出了响应于接收请求服务数据消息由TWAMP会话发起方发送至TWAMP控制客户端的ACK消息的示例性格式(图17)。ACK消息包括最近收集的所选择的服务KPI的服务数据测量以送回TWAMP控制客户端。以上参照图9至图12所描述的,包含在ACK消息中的服务数据测量可以基于在数据会话协商期间选择要监控的给定服务的服务KPI的类型而变化,ACK消息为例如,RTT时间戳、服务延迟测量时间戳、入口和出口分组的数量、入口和出口数据字节的数量、和/或订户数量。

如在图18中示出的,请求服务数据ACK消息包括几个字段,包括接受字段、容量字段、SID字段、HMAC字段、发送误差估计字段、接收误差估计字段、以及一个或多个服务数据测量字段、以及在一些情况下,每个字段的八位字节的相关联的数量。包含在请求服务数据ACK消息中的八位字节数仅仅是示例性的。在其他实例中,每个字段的八位字节的数量可以与图18中包含的那些不同。

接受字段指示服务数据请求是否成功,0的值是指成功。SID字段指示在请求服务数据消息(图17)中TWAMP控制客户端发送的相同的ID以识别从其收集服务KPI的数据会话。包含在图18中示出的请求服务数据ACK消息中的服务数据测量字段仅仅是示例性的。在其他实例中,根据待测量的给定服务的所选择的服务KPI,ACK消息可以包括服务数据测量的任何组合。

图19是示出了根据本公开的技术在网络的集中控制器上的TWAMP控制客户端的示例性操作的流程图。将参照图2的SDN控制器14上的TWAMP控制客户端32描述图19的示例性操作。在其他实例中,图19中示出的操作可在图3和图4中示出的示例性使用案例中的任何一个中,或者在TWAMP控制客户端在集中控制器上执行的其他情形中,通过TWAMP控制客户端32执行。

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

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

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

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

图20是示出了根据本公开的技术在网络的网络设备上的TWAMP会话发起方的示例性操作的流程图。将参照图2的第一网络设备8上的TWAMP会话发起方36描述图20的示例性操作。在其他实例中,可以由图3中的TWAMP会话发起方或图4中的TWAMP会话发起方72或者在其他情形(其中,TWAMP会话发起方在与TWAMP控制客户端分离的网络设备上执行)中,执行图20中示出的操作。

第一网络设备8上的TWAMP会话发起方36与网络的SDN控制器14上的TWAMP控制客户端32建立控制连接33(410)。TWAMP会话发起方36然后通过控制连接33从TWAMP控制客户端32接收指示TWAMP会话发起方36建立在网络中的第二网络设备30A上的TWAMP服务器38A处支持的给定服务的数据会话37A的一组TWAMP控制消息(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测试分组和与给定服务的数据会话37A相关联的所选择的服务KPI的服务数据测量,TWAMP测试分组包括包含在TWAMP测试分组中的所选择的服务KPI的列表。服务数据测量可以包含在分组填充区域、服务PDU、SDU、以及TWAMP测试分组的报头的一个中。

TWAMP会话发起方36通过控制连接33将与给定服务的数据会话37A相关联的所选择的服务KPI的服务数据测量发送至TWAMP控制客户端32(418)。在一些实例中,TWAMP会话发起方36可以从TWAMP控制客户端32接收请求与来自TWAMP会话发起方的给定服务的数据会话相关联的所选择的服务KPI的服务数据测量的请求服务数据消息作为这组控制消息的可选部分。在其他实例中,TWAMP会话发起方36可以将所选择的服务KPI的服务数据测量定期发送至TWAMP控制客户端32。

图21是示出了根据本公开的技术包括TWAMP控制客户端、TWAMP会话发起方、以及TWAMP服务器的系统的示例性操作的流程图。将参照图2的TWAMP控制客户端32、TWAMP会话发起方36、以及TWAMP服务器38A来描述图21的示例性操作。在其他实例中,在图3和图4中示出的示例性使用案例的任一个中,或者在TWAMP会话发起方在与TWAMP控制客户端分开的网络设备上执行的其他情形中,可由所包含的TWAMP单元执行图21中示出的操作。仍在其他实例中,在TWAMP会话发起方在与TWAMP控制客户端相同的网络设备上执行的情形中,可由TWAMP单元执行图21中示出的操作。

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测试分组发送至与TWAMP服务器38A相关联的会话反射方(426)。响应于来自TWAMP会话发起方36的TWAMP测试分组,与TWAMP服务器38A相关联的会话反射方通过数据会话37A将给定服务的所选择的服务KPI的服务数据测量发送至与TWAMP会话发起方36或者TWAMP控制客户端32相关联的会话发送方(428)。TWAMP会话发起方36通过数据会话37A从TWAMP服务器38A接收给定服务的所选择的服务KPI的服务数据测量(430)。另外,TWAMP控制客户端32还接收与给定服务的数据会话37A相关联的所选择的服务KPI的服务数据测量(432)。

在一些情况下,TWAMP控制客户端32和TWAMP会话发起方36可以在相同的网络设备上执行。在这种情况下,TWAMP控制客户端32可以与TWAMP服务器38A建立给定服务的数据会话37A,并且TWAMP控制客户端32或TWAMP会话发起方36可以通过给定服务的数据会话37A将TWAMP测试分组发送至TWAMP服务器38A并且通过数据会话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;将TWAMP测试分组通过给定服务的数据会话37A发送至TWAMP服务器38A;通过数据会话37A从TWAMP服务器38A接收给定服务的所选择的服务KPI的服务数据测量;以及将与给定服务的数据会话37A相关联的所选择的服务KPI的服务数据测量发送至TWAMP控制客户端32。由于TWAMP控制客户端32和TWAMP会话发起方36在分开的网络设备上,TWAMP控制客户端32通过控制连接33从TWAMP会话发起方36接收与给定服务的数据会话37A相关联的所选择的服务KPI的服务数据测量。

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

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

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

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

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