CN108028782A - 用于安全地测量网络中端到端的服务质量的方法和装置 - Google Patents
用于安全地测量网络中端到端的服务质量的方法和装置 Download PDFInfo
- Publication number
- CN108028782A CN108028782A CN201680055644.8A CN201680055644A CN108028782A CN 108028782 A CN108028782 A CN 108028782A CN 201680055644 A CN201680055644 A CN 201680055644A CN 108028782 A CN108028782 A CN 108028782A
- Authority
- CN
- China
- Prior art keywords
- packet
- marked
- qos
- identification metadata
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用以安全地测量网络中端到端的服务质量的方法和装置。第一和第二端点被配置成检测被标记用于QoS测量的分组,把使用安全时钟的时间标记与这样的已标记分组相关联,并且把时间标记连同分组标识元数据报告到外部监控器。外部监控器使用分组标识元数据匹配时间标记,并且计算对应于由分组在穿越第一与第二端点之间的分组处理路径时所引发的等待时间的QoS测量。端点可以被实现在物理设备(比如以太网控制器和物理交换机)中以及可以被实现在包括虚拟交换机的软件定义的虚拟组件中。
Description
背景技术
对计算机网络的访问已经成为现今的计算机使用的一个无所不在的部分。不管是访问企业环境中的局域网(LAN)以便访问共享网络资源还是通过LAN或其他接入点访问因特网,似乎总是让用户登录到通过计算机网络访问的至少一项服务。此外,基于云端的服务的快速扩张已导致更进一步的计算机网络使用,并且预测这些服务会变得比以往更加普遍。
通过各种类型的装备来促进联网,各种类型的装备包括路由器、交换机、桥接器、网关和接入点。大型网络基础设施通常包括使用电信级网络元件,包括由例如思科系统(Cisco Systems)、瞻博网络(Juniper Networks)、阿尔卡特朗讯(Alcatel Lucent)、IBM和惠普(Hewlett-Packard)之类的公司所生产的交换机和路由器。这样的电信交换机非常复杂,在非常高的带宽下操作并且提供先进的路由功能以及支持不同的服务质量(QoS)水平。例如局域网(LAN)之类的私有网络由企业和家庭用户最普遍地使用。许多企业网络还普遍地采用基于硬件和/或软件的防火墙等等。
近年来,特别在服务器部署和数据中心中,计算机系统的虚拟化已经观察到增长快速。在传统的方法下,服务器直接在物理硬件资源上运行操作系统的单个实例,所述物理硬件资源比如有CPU、RAM、存储设备(例如硬盘)、网络控制器、I/O端口等等。在使用虚拟机(VM)的一种虚拟化方法下,物理硬件资源被采用来支持虚拟资源的相应实例,从而使得多个VM可以运行在服务器的物理硬件资源上,其中每一个虚拟机包括其自身的CPU分配、存储器分配、存储设备、网络控制器、I/O端口等等。相同或不同操作系统的多个实例于是运行在多个VM上。此外,通过使用虚拟机管理器(VMM)或“管理程序”,能够在服务器正在运行的同时动态地分配虚拟资源,从而能够实现添加、关停VM实例或者把VM实例改作他用而不需要关停服务器。这就为服务器利用提供了更大的灵活性以及对于服务器处理资源的更好的使用,特别对于多核处理器和/或多处理器服务器尤其是如此。
在另一种虚拟化方法下,使用基于容器的OS虚拟化,其采用虚拟化的“容器”而不使用VMM或管理程序。取代在对应的VM上主控操作系统的分开的实例,基于容器的OS虚拟化跨多个容器共享单个OS内核,其中对于每一个容器具有系统和软件库的分开的实例。与VM一样,还有为每一个容器分配的虚拟资源。
软件定义联网(SDN)和网络功能虚拟化(NFV)的部署在过去的几年里也已经观察到了增长快速。在SDN下,作出关于把通信业务发送到何处的决定的系统(控制平面)与把通信业务转发到所选目的地的底层系统(数据平面)解除耦合。SDN概念可以被采用来促进网络虚拟化,从而使服务提供者能够通过软件应用和API(应用程序接口)来管理其网络服务的各个方面。在NFV下,通过把网络功能虚拟化成软件应用,网络服务提供者可以获得网络配置中的灵活性,从而允许包括可用带宽的优化、成本节省以及针对新的服务进行市场营销的更快时间在内的显著好处。
网络服务提供者通常给出不同的服务水平,这使愿意付费更多的顾客能够以更快的数据速率发送其数据,而较低优先级通信业务则(实际上)以较低数据速率来传输。网络服务提供者通常提供服务水平协议(SLA),其规定将为服务提供的性能水平。典型的SLA包括与网络数据传输速率和等待时间相关的可测量性能属性。
安全地测量网络中端到端的服务质量(QoS)是一个存在挑战的问题。存在多种方法,比如使用探通(ping)来聚合网络跳跃等待时间等等,但是其结果不是那么令人满意,并且可能会把可变的网络栈处理等待时间添加到测量中,从而产生人为抖动。所述问题对于采用SDN组件和NFV的虚拟化环境甚至更加具有挑战性。
附图说明
本发明的前述方面和许多伴随的优点将变得更容易领会,正如通过参照后面结合附图作出的详细描述,它们变得被更好地理解,其中除非另行规定,否则相同的附图标记遍及各视图指代相同的部分:
图1是示出根据一个实施例的实现在端点处以便实现网络中安全的端到端的QoS测量的组件集合的示意性框图;
图2是示出根据一个实施例的包括一对以太网控制器的两个端点100a与100b之间QoS测量的示例性实现方式的示意性框图;
图3是示出由外部监控器使用来计算QoS测量的示例性数据集合的表;
图4是示出用于主控虚拟化环境的计算节点的架构的示意图,所述虚拟化环境包括具有被配置成执行用以促进安全的端到端的QoS测量的操作的端口的虚拟交换机;
图4a是示出计算节点架构的第二视图的示意图,第二视图示出了在虚拟交换机中实现的图1的组件;
图4b是示出计算节点架构的第三视图的示意图,第三视图聚焦在由IP分组所采取的处理路径上;以及
图5是可以在其下实现本文中的实施例的方面的主机平台硬件和软件架构的示意图。
具体实施方式
在本文中描述了用以安全地测量网络中端到端的服务质量的方法和装置的实施例。在后面的描述中阐述了许多具体细节,以便提供对本发明的实施例的彻底理解。然而,相关领域技术人员将认识到:可以在没有其中一项或多项具体细节的情况下实践本发明,或者通过其他方法、组件、材料等等来实践本发明。在其他实例中,没有详细示出或描述众所周知的结构、材料或操作,以避免使本发明的某些方面模糊化。
遍及本说明书对“一个实施例”或“某一实施例”的提及意味着结合该实施例所描述的特定的特征、结构或特性被包括在本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在某一实施例中”遍及本说明书的各处的出现不一定全都指代相同的实施例。此外,所述特定的特征、结构或特性可以按照任何适当的方式被组合在一个或多个实施例中。
为了清楚起见,本文中的附图中的各个单独的组件也可以通过其在附图中的标签来指代,而不通过特定的附图标记来指代。此外,指代特定类型的组件(与特定组件对照)的附图标记可以被示出为在附图标记之后跟随有“(typ)”(意味着“typical(典型)”)。应当理解的是,这些组件的配置将是可能存在但是为了简单和清楚起见而未在附图中示出的类似组件或者未用分开的附图标记加标记的另外的类似组件的典型。相反,“(typ)”不要被解释成意味着所述组件、元件等等被典型地用于其所公开的功能、实现方式、目的等等。
根据本文中所公开的实施例的各个方面,提供了用于安全地测量端到端的网络服务质量的方法和装置。在所公开的技术下,有可能通过使用不需要对虚拟网络功能作出改变的带外(OOB)机制来测量端到端的QoS。
在一个实施例中,使用被配置成由以太网控制器等等辨识出的特别标识出的分组。在接收到该分组后(在进入时)并且/或者在传输所述分组时(在外出时),使用时间标记来测量等待时间,并且把相应的测量报告到外部控制系统。这就允许服务质量测量在不对虚拟网络功能作出任何改变的情况下作出。此外,这种方法可以被实现在虚拟交换机(例如软件解决方案)中,其中遵循类似技术。这就允许把时间标记的VNF部分与虚拟交换机(vSwitch)部分分开。可选的是,两种机制可以被一起使用,从而支持精确地确定何处存在QoS问题。
这种方法与例如IP探通之类的现有解决方案的不同之处在于,其绕过了通常可能会引入可变的等待时间和/或抖动的主机的TCP/IP栈。此外,比如在英特尔数据平面开发工具包(DPDK)或开放数据平面(ODP)的情况中,例如IP探通之类的解决方案无法针对绕过通常的TCP/IP栈的加速数据路径来实现。所提议的解决方案可以被包括在现有的分组流中,并且不需要传输分开的分组。
在一个实施例中,端点和外部控制系统运行以基于英特尔架构(IA)为基础的(多个)防篡改时钟来源为基础的受信任时间同步协议(例如安全网络时间协议)。在一个实施例中,基于IA的安全时钟是从基于硬件的信任根部生成,并且在带外被递送到会使用该时钟的相同SoC(例如u服务器(userver))或不同处理器上的任何知识产权(IP)块。举例来说,基于硬件的信任根部可以包括使用聚合式安全和可管理性引擎(CSME)、聚合式安全引擎(CSE)、可管理性引擎(ME)和创新引擎(IE)或者支持安全防护扩展(SGX)的处理器/SoC。该实施例增强了所述协议以便允许用于测量跨越网络的端到端的QoS的防篡改能力。预期的是:对于安全的QoS测量和递送(它是运营商网络中的严格SLA协议中的一个要求),这一安全能力是必不可少的。
在图1中示出了根据一个实施例的用于实现安全的端到端的QoS测量的基本过程和组件。在该示例中,所述技术是使用以太网控制器或虚拟交换机100来实施的。如所示的,结合入站分组的处理(也就是在进入时),在框102中将分组分类为已标记(出于QoS测量目的)或未标记。可以使用各种方案来标记分组,比如使用分组报头字段中的标志,或者用于分组报头字段或子字段的预定数值,字段组合中的数值,或者一个或多个字段的数值上的散列。举例来说,下面的非限制性列表示出了可以被用于标记的可能字段。
来源和/或目的地地址
TCP或UDP端口
服务报头中的元数据(包括QoS类别信息,例如网络服务报头(NHS))
IP报头中的其他字段(例如IPv4中的TOS或IPv6中的流标签)
分组报头中的任何其他可用字段
一旦分组已被分类,将沿着已标记分组路径(如果分类得到匹配的话)或未标记分组路径对所述分组进行处理。
如所示的,在框104中使用安全时钟106为每一个已标记分组记录时间标记。在框108中,将时间标记连同可以从中识别出分组和/或分组流的信息(识别元数据)一起报告到外部监控器110。举例来说,取决于特定的分类方案,给定流的分组的标识元数据可以包括分组的报头字段之一中的流ID,或者另外地可以使用由相应的报头字段数值定义的n元组数值上的散列(例如来源IP地址、目的地IP地址、来源端口、目的地端口和协议字段数值上的5元组散列,或者任意数目的报头字段上的散列)动态地确定流ID。标识元数据还可以包括流的QoS类别,在这样的数据被包括在其中一个分组报头字段中的情况下就是如此。QoS类别还可以是基于分组协议(例如TCP、802.11等等),而不是单独的QoS字段。在一个实施例中,被报告到外部监控器的数据包括标识在该处添加时间标记的端点的信息(例如物理或虚拟端口的OOB或带内地址)。
在由框108处理之后,分组被转发以用于虚拟交换机的以太网控制器的正常分组处理,如通过正常处理框112所描述的。未被标记用于QoS测量的分组被直接从分组分类框102转发到正常处理框112;也就是说所述分组按照传统方式被处置。
通常来说,在框108中被采用来报告时间标记和标识元数据的机构可以采用硬件、软件或者二者的组合来实现。举例来说,在以太网控制器的一个实施例中,用于框108的逻辑是用硬件(例如使用基于硬件的嵌入式逻辑,比如逻辑门阵列等等)或者通过执行在以太网控制器上的嵌入式处理器上的嵌入式软件来实现。对于作为基于软件的实体的虚拟交换机而言,用于框108的逻辑同样采用软件来实现。
在一个实施例中,在执行记录的端点实体与外部监控器之间存在安全信道。举例来说,可以使用第三方证书或信任根部密钥来建立所述安全信道。外部监控器负责收集来自一个或多个以太网控制器和/或虚拟交换机的输入,以便确定分组在经过若干VNF穿越分组处理路径时所经历的总体QoS。
图2示出了包括以太网控制器1和2的两个端点100a和100b之间的QoS测量的示例性实现方式。在执行QoS测量之前,外部监控器110(或者通过某种其他机构)设置以太网控制器1和2以便报告所接收到的具有表明“QoS测量”的服务报头的任何分组。在该示例中,分类操作被实现在以太网控制器1上的进入(输入)端口100和以太网控制器2上的外出(输出)端口200处。
响应于在端口100处接收到IP分组200,由分类分组框102a执行QoS分类,该框根据前面所讨论的其中一种QoS标记方案来检测QoS匹配条件。分组被转发到记录时间标记框104a并且随后被转发到框108a,该框108a把第一时间标记连同分组标识元数据一起报告到外部监控器110。此时,进一步使用正常处理对分组进行处置,如通过正常处理框112所指示的。
在以太网控制器的输入端口处接收到的分组通常被内部转发到用于该以太网控制器被安装在其中的主机平台的OS,但是先进的以太网控制器可以被配置成在没有主机中的OS的帮助下执行一些分组处理操作(包括转发)。分组处理可以涉及由一个或多个物理或虚拟网络器具执行的操作,所述网络器具比如负载平衡器、防火墙、通信业务成形器等等。如图2中所示,IP分组200的处理路径包括N个NFV器具2021-202 N (也被加标签成NFV器具1,2,…N)。在虚拟化数据中心环境中常见的是按照所示出的方式把NFV器具链化(chain);然而,也有可能具有分开的NFV器具,以及物理网络器具和NFV器具二者的混合。每一个NFV器具被配置成执行与分组处理有关的一项或多项功能,这给分组流的总体分组处理过程增加了等待时间。
在由NFV器具202 N 完成处理之后,IP分组200被转发到表示第二端点的以太网控制器2上的外出端口200。与前面一样,通过分类分组框102b将分组确定为被标记用于QoS,在记录时间标记框104b中记录第二时间标记,并且通过框108b把第二时间标记连同分组标识元数据一起报告到外部监控器110。
在进行中的操作期间,外部监控器100将接收来自各种QoS测量端点(其被配置成执行QoS测量操作)的报告数据。报告数据随后可以被处理,以便测量所选择的QoS测量端点之间的端到端的等待时间。图3示出了被报告到外部监控器110的QoS测量数据的示例性表300。
在该实施例下,表300包括流ID列、时间标记列、端口ID列和逝去时间列。此外,出于解释的目的示出了分组号.(编号)列——这样列可以或者可以不被使用,这取决于实现方式。为了简单起见,仅示出了具有数值10385的流ID的数据;然而应当认识到,在进行中的操作期间通常会报告多个流的QoS数据。
可以通过减去两个端点处的时间标记数值之间的差异来确定端到端的QoS等待时间测量,所述两个端点在该示例中分别是端口100和200。可以使用各种方案来处置单独分组标识,所述各种方案包括隐式和显式方案二者。举例来说,分组序列编号或片段编号(其标识TCP片段中的第一分组)可以被用来显式定义单独分组标识符,其中流ID和序列/片段编号的组合可以唯一地标识该分组。作为隐式方案的一个实例,当在第一端点处接收到给定流的第一分组时,在表中将没有该流的数据,因此可以为第一分组指派隐式分组编号1。当在第二端点处接收到该相同的分组时,针对第二端点在该表中没有与该流相关联的数据,并且因此通过观察到该分组是击中第二端点的流的第一分组,可以为该分组指派隐式分组编号1。由于流中的分组无法越过彼此,因此在给定端点处为之报告QoS数据的(流中的)每一个分组的隐式分组编号可以被递增1。通过这种方式,用于流的各个单独的QoS分组的时间标记数值可以被匹配,以便识别将用来计算针对给定分组的等待时间的正确的时间标记对。
除了在物理组件处收集QoS数据之外,还可以在基于软件的组件(比如虚拟交换机中的虚拟端口)处收集QoS数据。虚拟交换机通常被使用在实现SDN和NFV的数据中心中的计算节点(例如像服务器之类的计算平台)中。还要注意的是,这样的虚拟交换机还可以被配置成执行虚拟路由功能;因此,如这里所使用的,虚拟交换机可以被配置成提供虚拟交换和/或虚拟路由功能。
图4示出了用于被配置成通过使用SDN和NFV来执行分组处理操作的计算节点的架构400。架构400包括耦合到网络接口404的计算平台402,网络接口404可以被集成在计算平台上(例如作为网络接口控制器(NIC))或者通过其他方式可操作地耦合到计算平台(例如作为安装在由主机平台提供的PCIe扩展槽中的PCIe(外围组件快速互连)卡)。计算平台402包括运行在OS存储器407中的主机操作系统(OS)406,主机操作系统(OS)406被配置成主控运行在应用存储器空间408中的多个应用,所述应用被绘制在主机OS 406上方。这包括虚拟交换机409和被配置成主控(如通过加有标签VM 1、VM 2和VM N的虚拟机所描绘的)N个虚拟机412的管理程序410。软件组件还包括SDN控制器414。
网络接口404包括加有标签端口1、端口2…端口M的M个网络端口416,其中M可以与N相同或不同。每一个网络端口416包括接收(Rx)缓冲器418和传送(Tx)缓冲器420。正如本文中的附图中所使用的那样,所描绘出的Rx和Tx缓冲器以及Rx和Tx队列还可以表示位于同一处的Rx和Tx端口;为了减少混乱,Rx和Tx端口未被分开示出,但是本领域技术人员将认识到,每一个Rx和Tx端口将包括一个或多个Rx和Tx缓冲器和/或队列。
通常来说,网络接口可以包括被实现在Rx和Tx端口中的相对小的Rx和Tx缓冲器,于是跨多个Rx和Tx端口共享可以被实现在网络接口上的输入/输出(IO)存储器中的更大的Rx和Tx缓冲器。在所示出的示例中,IO存储器的至少一部分是由主机OS 406的OS存储器407中的NIC驱动程序424配置的存储器映射IO(MMIO)422。MMIO 422被配置成支持MMIO 422中的存储器缓冲器与计算平台402上的系统存储器中的缓冲器之间的直接存储器存取(DMA)数据传输,正如后面更加详细地描述的那样。
虚拟交换机409是被配置成在计算平台402内部执行SDN交换操作的基于软件的实体。在所示出的示例中,虚拟交换机408包括针对网络接口404上的每一个物理Rx和Tx端口(例如端口1-端口M当中的每一个)的虚拟Rx和Tx端口和针对虚拟机VM 1-VM N当中的每一个的虚拟Rx和Tx端口。网络接口侧的虚拟端口被描绘成Rx虚拟端口426和Tx虚拟端口427,而VM侧的虚拟端口则被描绘成Rx虚拟端口428和Tx虚拟端口429。如还示出的,Rx和Tx虚拟端口426、427、428和429当中的每一个的一部分被描绘成与系统存储器地址空间的共享存储器区段434(也被称作共享地址空间)重叠。此外,各对Rx和Tx虚拟端口430和432还被描绘成延伸到通过vNIC1、vNIC2和vNICN示出的相应的虚拟NIC(vNIC)中,其中vNIC与相应的虚拟机VM 1、VM 2和VM N相关联。
虚拟机VM 1、VM 2和VM N当中的每一个被示出为包括系统镜像436和NFV应用438,标号标识出系统镜像和应用正在其上运行的相应VM。举例来说,对于VM 1,系统镜像加有标签“系统镜像1”,并且应用是负载平衡器438-1。其他示例性NFV应用包括防火墙438-2和通信业务成形器438-N。通常来说,每一个系统镜像436可以运行一个或多个NFV应用438,并且对于每一个VM包括一个NFV应用仅仅是出于说明的目的。NFV应用还可以被实现在基于容器的OS虚拟化架构(未示出)中。
架构400还描绘出网络栈442、Rx缓冲器444、流分类器446以及流表448和流表450。此外,NIC 404可以包括流分类器446a和/或流表448a。
在后面的描述中,将讨论结合分组在NIC端口处进入而执行的传统分组处理。该分组处理包括传统的分组分类操作;应当理解的是,可以使用分开的设施在分开的操作中执行用以确定分组是否被标记成QoS分组的QoS分组分类,或者所述QoS分组分类可以与在NIC端口处执行的分组分类操作相组合。
分组分类通常开始于检查分组的报头字段数值。通常来说,可以使用以下方案当中的一种或多种来进行分组报头检查。在一个实施例中,分组被从端口416中的Rx缓冲器DMA(使用DMA写入操作)到OS存储器407中的Rx缓冲器444中。举例来说,在一个实施例中,NIC端口Rx缓冲器中的存储器空间被分配用于采用环形FIFO指针的FIFO(先进先出)队列,并且FIFO头指针指向被DMA到Rx缓冲器444中的分组。作为一种替换方案,仅有分组报头被DMA到Rx缓冲器444中。作为再另一种选项,分组报头数据被“原位(in place)”读取,而无需把分组数据或报头拷贝到Rx缓冲器444中。在此实例中,少量分组的分组报头数据被读取到与主机OS 406中的网络栈442或流分类器446相关联的缓冲器中。类似地,对于由网络接口404执行的流分类,分组报头数据可以被原位读取;然而,在此实例中,缓冲器位于通常将与MMIO 422分开的网络接口404上的存储器中(未示出)。
流分类的结果返回分组的流标识符(流ID)。在一个实施例中,流ID被添加到所接收到的不具有显式流ID的分组的分组报头字段,或者可替换地附上(例如在前面加上(pre-pend))流ID标签,或者把分组封装在包括流ID的字段的“包装(wrapper)”中。
如图4中所示,在所示出的实施例中,由作为基于软件的OS分组处理组件的一部分的流分类器446执行分组分类。可选的是,可以通过类似流分类器446a按照绕过OS的方式在网络接口404中执行流分类。在一个实施例中,实现分离分类(split classification)方案,在分离分类方案下,由流分类器446a在网络接口404中识别现有的流(例如先前已分类的流),同时把不属于现有的流的分组转发到流分类器446以进行对应于新分组流的分组分类。随后把新分组流的信息提供到流分类器446a。在另一个实施例下,由流分类器446a保持的已分类流的列表少于由流分类器446保持的完整列表,并且按照类似于存储器高速缓存的方式操作,其中与更近期的分组有关的流被保持在NIC上的流分类器446a中,不太近期的分组的流则被替换。
流ID被用作进入到流表448中的查找,流表448被描绘成虚拟交换机409的一部分。在一个实施例中,流表包含一列流ID和一列vNIC Rx端口ID,从而使得在给定输入流ID的情况下,查找将返回相应的vNIC Rx端口ID。在一个实施例中,流表448中的全部或一部分数据被拷贝到VM中的流表450。
除了流表448实现在虚拟交换机409中之外,流表的全部或一部分可以被实现在主机OS 406或网络接口404中(这些实现方式都没有在图4中示出)。在采用网络接口404中的流表的全部或一部分的实施例中,流表条目通常将由主机OS 406中的软件确定,并且通过由NIC驱动程序424等等提供的接口来填充。使用NFV应用(比如负载平衡器438-1、防火墙438-2和通信业务成形器438-N)允许在软件中执行先前由独立或集成的基于硬件的网络器具和/或卡执行的功能。这就在数据中心部署中提供了很大的灵活性,从而允许通过基于软件的NFV组件的序列来使分组处理操作链化。此外,可以在无需对物理硬件作出任何改变的情况下添加、去除和/或重新配置NFV组件。图4a描绘出架构400的第二视图,第二视图示出了在虚拟交换机409中实现的图1的组件。具体来说,在虚拟交换机409中的多个虚拟端口(包括V1 Tx端口和VN Rx端口)处实现用于支持QoS端到端测量的基于软件的组件。如图4a和4b中进一步所示,实现为应用、服务或守护进程(daemon)等等的外部监控器110运行在主机操作系统406上。可选的是,外部监控器可以处于计算平台402的外部(未示出)。作为再另一种选项,外部监控器可以被实现在管理程序410中(未示出)。
图4b示出了架构400的第三视图,第三视图聚焦在由IP分组452采取的处理路径上。如所示的,IP分组452在NIC 404上的端口1的输入端口处被接收到,由流分类器446a或流分类器446分类,并且随后通过虚拟交换机409上的V1 Tx端口被转发到vNIC1的虚拟输入端口。对前面参照图1讨论的已标记分组的操作在V1 Tx端口处与转发IP分组相结合地执行,V1 Tx端口传递可以从中识别出分组和/或分组流的分组元数据连同时间标记。如所示的,IP分组由负载平衡器438-1处理,并且随后通过vNIC1、虚拟交换机409和vNIC2被转发到防火墙438-2。在分组由防火墙438-2处理之后,所述分组通过vNIC2、虚拟交换机409和vNIC3被转发到通信业务成形器438-N。
当在虚拟交换机409的VN Rx端口处进入后,生成QoS测量数据的第二集合并且将其报告给外部监控器110。IP分组随后通过虚拟交换机409的PM Tx端口被转发,以便通过端口M的Tx端口从NIC 404传送出站。
与前面一样,外部监控器110配置QoS测量端点以收集和报告QoS测量数据,并且保持相应数据结构(例如一个或多个表),所述数据结构包含报告给外部监控器110的时间标记和相关联的分组标识元数据。外部监控器110还被配置成计算端到端的QoS测量或者以其他方式把报告给它的数据转发到被配置成执行端到端的QoS测量的另一个组件(未示出)。如果端到端的QoS测量不满足SLA要求,则可以进行适当的调解,比如为一个或多个VNF增加容量。
在前面的实例中,QoS测量组件被实现在以太网控制器和虚拟交换机中。但是这些仅仅是示例性的使用,因为这里所公开的技术可以被实现在其他物理或基于软件的组件处。举例来说,前述方法的某些方面可以被实现在物理交换机(比如柜顶式(TOR)交换机)或软件交换机(比如基于通用IA服务器的软件交换机)处。
所述方法还可以在有网络覆盖技术存在的情况下实现,所述网络覆盖技术比如VXLAN(虚拟可扩展局域网)或NVGRE(网络虚拟化通用路由封装)以及服务链报头(如当前正在IETF(互联网工程任务组)中讨论的)。在服务功能链化的情况下,可以分开监控单独的服务,而例如探通之类的解决方案不会看到不同服务之间的任何差异。
基于硬件的安全时钟
为了保证所获取的QoS数据是有效并且可靠的,从基于硬件的安全时钟访问时间数据。通常来说,由安全时钟提供的主要功能是一种获得可靠的时间度量的“防篡改”方式。这样的基于硬件的安全时钟通常具有保持其运作的备用电源,并且在没有适当授权的情况下无法在平台上调节时间(或者可能完全无法调节)。在某些实施例中,使用可以管理/读取安全时钟的聚合式安全引擎(分开的IP)块。在另一个实施例中,使用受信任平台模块(TPM)来访问安全时钟。如果TPM作为安全性信任根部IP(比如CSME或CSE)上的固件/软件TPM运行,则这是一种良好的方法。可选的是,可以通过使用前面所讨论的支持SGX的ME、IE或处理器来实现安全时钟。在防篡改时钟下,运行在主机层级的软件没有能力修改时钟。在某些情况下,即使通过物理入侵到系统中也无法修改安全时钟。在物理篡改的情况下,一些安全时钟可以检测到物理篡改并且由相关联的逻辑电路禁用。此外,可以有分开的电源以用于确保为安全时钟持续供电。
更一般来说,安全时钟可以被具体实现成能够提供安全定时信号并且在其他方面执行本文中所描述的功能的任何(多个)硬件组件或电路。举例来说,在一个实施例中,安全时钟可以生成与计算节点或计算平台等等的其他时钟来源分开并且功能上独立的定时信号。相应地,在这样的实施例中,安全时钟可以对其他实体的改动免疫或者抵抗,其他实体比如例如执行在计算节点/平台上的软件。应当认识到,在某些实施例中,安全时钟可以被具体实现成(多个)独立组件或电路,而在其他实施例中,安全时钟可以与另一个组件(例如处理器或SoC)的安全部分集成在一起或者形成所述另一个组件的安全部分。举例来说,在某些实施例中,安全时钟可以通过芯片上振荡器来实现,和/或者被具体实现成ME的安全时钟。还应当认识到,安全时钟可以被同步到其他计算节点的安全时钟,并且粒度可以处于能够区分不同消息定时的量级。
图5示出了包括平台硬件502和各种基于软件的组件的示例性主机平台配置500。平台硬件502包括处理器,所述处理器包括通过互连510耦合到存储器接口506和输入/输出(I/O)接口508的芯片上系统(SoC)504。存储器接口506被配置成促进对通常将与SoC分开的系统存储器512的访问。互连510可以包括多个互连结构的互连分级结构,所述互连分级结构中的至少一个层级包括一致性互连。I/O接口508说明由平台硬件502提供的各种I/O接口。通常来说,I/O接口508可以被实现成分立的组件(比如ICH(I/O控制器集线器)等等),或者它可以被实现在SoC上。此外,I/O接口508也可以被实现成I/O分级结构,比如外围组件快速互连(PCIeTM)I/O分级结构。I/O接口508还促进各种I/O资源和设备与其他平台组件之间的通信。这些包括非易失性存储设备(比如通过盘控制器516可通信地耦合到I/O接口508的盘驱动器514)、固件存储库518、NIC 520以及各种其他I/O设备。在某些实施例中,固件存储库处于SoC 504的外部,而在其他实施例中,SoC固件的至少一部分被存储在SoC 504上。
SoC 504还包括用于从安全的防篡改时钟访问数据的装置。举例来说,在所示出的实施例中,具有作为基于硬件的信任根部组件或子系统的一部分的TPM的聚合式安全引擎(CSE)521被用来访问(例如读取)安全时钟523。在一个实施例中,CSE 521提供允许主机层级软件访问时钟数据(例如时钟时间标记数据)的软件API,同时防止任何平台软件修改安全时钟523。
一般来说,SoC 504可以包括单核处理器或者比如通过M个核心505描绘出的多核处理器。多个核心被采用来执行各种软件组件524(比如模块和应用),各种软件组件524被存储在由盘驱动器514所描绘出的一个或多个非易失性存储设备中。更一般来说,盘驱动器514代表各种类型的非易失性存储设备,包括基于磁性和光学二者的存储设备以及固态存储设备(比如固态驱动器(SSD)或闪存)。可选的是,软件组件524的全部或一部分可以被存储在通过网络526访问的一个或多个存储设备(未示出)上。
在引导或运行时间操作期间,各种软件组件524和固件组件528被加载到系统存储器512中并且作为包括执行线程等等的进程在核心505上执行。取决于具体的处理器或SoC架构,给定的“物理”核心可以被实现成一个或多个逻辑核心,进程被分配到各个逻辑核心。举例来说,在英特尔® 超线程TM架构下,每一个物理核心被实现成两个逻辑核心。在用于平台硬件502的典型系统引导下,固件528将在系统存储器512中被加载和配置,随后引导主机OS 530。随后,通常包括运行在主机OS 530上的应用的管理程序532将被启动。管理程序532随后可以被采用来启动各种虚拟机VM1-N ,其中的每一个虚拟机将被配置成使用系统存储器512的各个部分(也就是地址空间)。每一个虚拟机VM1-N 进而又可以被采用来主控相应的操作系统5341-N 。
在运行时间操作期间,管理程序532允许重新配置各种系统资源,比如系统存储器512、核心505以及(多个)盘驱动器514。一般来说,虚拟机提供其所主控的操作系统与底层平台硬件502之间的抽象(与管理程序532相组合),从而允许在VM1-N 之间共享硬件资源。从每一个所主控的操作系统的角度来看,该操作系统“拥有”整个平台,并且不知道运行在虚拟机上的其他操作系统的存在。实际上,每一个操作系统仅仅具有对管理程序532分配给它的资源和/或资源部分的访问权。
如图5中进一步示出的,每一个操作系统包括内核空间和用户空间,它们二者都被实现成系统存储器512中的存储器空间。内核空间受到保护并且被用来运行操作系统内核组件,包括联网栈。与此同时,操作系统的用户空间被用来运行用NFV器具1、2和N以及应用1A-C、2A-C和NA-C所描绘出的用户应用。
通常来说,NFV器具1、2和N说明可以运行在平台硬件502上的虚拟机上的各种SDN和NFV器具。为了简单起见,每一个VM1-N 被描绘成主控类似的软件应用集合;然而,这仅仅是出于说明的目的,因为给定平台的VM可以主控类似的应用,或者可以主控不同的应用。类似地,每一个VM1-N 可以主控单个虚拟网络器具(如图所示),可以主控多个虚拟网络器具,或者可以不主控任何虚拟网络器具。在运行时间操作期间,通过CSE 521从安全时钟523访问用在QoS测量中的定时数据。举例来说,这可以通过使用CSE设备驱动程序或类似装置来完成。因为这是访问安全时钟523的唯一手段,所以安全时钟是防篡改的,并且因此QoS定时数据是可靠的。
对于包括不共享相同安全时钟的分开的网络节点中的端点的实现方式,可以使用精确时间协议(PTP)来同步分开的网络节点上的时钟。PTP的第一版最初由2002年公布的IEEE 1588-2002“Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control System.(用于联网测量和控制系统的精确时钟同 步协议的标准)”定义。在2008年,IEEE 1588-2008被发布为修订标准;也被称作PTP第2版。
举例来说,在图2中示出的实施例下,第一和第二以太网控制器可以被安装在相同的服务器平台中,其中可以使用来自共同的安全时钟的信号,或者所述以太网控制器可以被安装在分开的服务器平台中,在这种情况下可以使用PTP第2版。
本文中所公开的实施例提供了优于现有的端到端的QoS测量的显著改进。值得注意的是,因为时间标记数据的来源是安全并且防篡改的,所以没有能够破坏时钟数据的方式,从而增强了测量的有效性和可靠性。此外,所述方案可以被实现成用于得到并且准确地测量采用NFV器具等等的虚拟化环境中的QoS。
在下面编号条款中阐述了本文中所描述的主题的其他方面:
1、一种用于安全地测量网络中端到端的服务质量(QoS)的方法,包括:
在第一端点处,
检测被标记用于QoS测量的第一分组;
使用安全时钟为第一分组生成第一时间标记;
为第一分组确定分组标识元数据;
把第一分组的第一时间标记和分组标识元数据报告到外部监控器;
在第二端点处,
检测到第一分组被标记用于QoS测量;
使用安全时钟为第一分组生成第二时间标记;
为第一分组确定分组标识元数据;
把第一分组的第二时间标记和分组标识元数据报告到外部监控器;以及
采用第一分组的第一和第二时间标记以及分组标识元数据来测量由第一分组从第一端点到第二端点引发的等待时间。
2、条款1的方法,其中,第一和第二端点是物理端点。
3、条款1的方法,其中,第一和第二端点是虚拟端点。
4、任一项在前条款的方法,还包括标记第一分组以用于QoS测量。
5、任一项在前条款的方法,其中,分组标识元数据包括流ID。
6、条款5的方法,还包括对第一分组中的多个报头字段数值执行散列以便确定流ID。
7、条款5的方法,其中,分组标识元数据包括QoS类别。
8、任一项在前条款的方法,其中,第一和第二端点的至少其中之一被实现在主机平台中,并且第一与第二端点之间的用于第一分组的分组处理路径不穿越用于主机平台的操作系统网络栈。
9、任一项在前条款的方法,其中,第一与第二端点之间的用于第一分组的分组处理路径包括多个网络功能虚拟化(NFV)器具。
10、任一项在前条款的方法,还包括:
在第一端点处,
接收第二分组;
检测到第二分组未被标记用于QoS测量;
沿着正常分组处理路径转发第二分组;
在第二端点处,
检测到第二分组未被标记用于QoS测量;以及
沿着正常分组处理路径转发第二分组。
11、任一项在前条款的方法,还包括:
使用从第一端点报告的分组标识元数据确定第一分组是将为之确定QoS测量的给定流的第一分组;
使用从第二端点报告的分组标识元数据确定第一分组是已到达第二端点的、将为之确定QoS测量的给定流的第一分组;以及
把QoS测量计算为第二时间标记与第一时间标记之间的差。
12、任一项在前条款的方法,还包括配置第一和第二端点当中的每一个对被标记用于QoS测量的分组加时间标记,并且把时间标记和分组标识元数据报告到外部监控器。
13、条款1的方法,还包括通过基于硬件的信任根部组件访问安全时钟。
14、一种以太网控制器,包括:
包括输入端口和输出端口的多个端口;
安全时钟或者用于接收由安全时钟生成的时间标记数据的接口的其中之一;
用于在以太网控制器操作时与外部监控器进行通信的接口;以及
被配置成在以太网控制器操作时执行操作的嵌入式逻辑,包括,
响应于在第一端口处接收到第一分组,
检测到第一分组被标记用于QoS测量;
使用安全时钟为第一分组生成第一时间标记,或者通过用于接收由安全时钟生成的时间标记数据的接口接收第一分组的第一时间标记;
为第一分组确定分组标识元数据;
把第一分组的第一时间标记和分组标识元数据报告到外部监控器;
在第二端口处,
检测到第一分组被标记用于QoS测量;
使用安全时钟为第一分组生成第二时间标记,或者通过用于接收由安全时钟生成的时间标记数据的接口接收第一分组的第二时间标记;
为第一分组确定分组标识元数据;
把第一分组的第二时间标记和分组标识元数据报告到外部监控器,
其中,第一分组的第一和第二时间标记以及分组标识元数据被配置成使得外部监控器能够测量由第一分组在穿越第一端口与第二端口之间的分组处理路径时所引发的等待时间。
15、条款14的以太网控制器,其中,所述嵌入式逻辑包括至少一个处理器以及用以存储指令的存储器,所述指令被配置成由所述至少一个处理器执行来实现操作。
16、条款14或15的以太网控制器,其中,分组标识元数据包括流ID。
17、条款16的以太网控制器,其中,所述嵌入式逻辑被配置成对第一分组中的多个报头字段数值执行散列以便确定流ID。
18、条款16的以太网控制器,其中,分组标识元数据包括QoS类别。
19、条款14-18当中的任一项的以太网控制器,其中,所述嵌入式逻辑被配置成执行包括以下的另外操作:
在第一端口处,
接收第二分组;
检测到第二分组未被标记用于QoS测量;
沿着正常分组处理路径转发第二分组;
在第二端口处,
检测到第二分组未被标记用于QoS测量;以及
沿着正常分组处理路径转发第二分组。
20、一种具有在其上存储的指令的非瞬态机器可读介质,所述指令被配置成在具有安全时钟的计算平台中的一个或多个处理器上执行,其中执行指令执行包括以下的操作:
实现虚拟交换机,所述虚拟交换机具有多个虚拟端口;
在第一虚拟端口处,
检测被标记用于QoS测量的第一分组;
使用安全时钟为第一分组生成第一时间标记;
为第一分组确定分组标识元数据;
把第一分组的第一时间标记和分组标识元数据报告到外部监控器;
在第二虚拟端口处,
检测到第一分组被标记用于QoS测量;
使用安全时钟为第一分组生成第二时间标记;
为第一分组确定分组标识元数据;
把第一分组的第二时间标记和分组标识元数据报告到外部监控器,
其中,第一分组的第一和第二时间标记以及分组标识元数据被配置成使得外部监控器能够测量由第一分组在穿越第一虚拟端口与第二虚拟端口之间的分组处理路径时所引发的等待时间。
21、条款20的非瞬态机器可读介质,其中,虚拟交换机连接到共同主控多个网络功能虚拟化(NFV)器具的多个虚拟机,并且分组处理路径包括由所述多个NFV器具对第一分组执行的处理。
22、条款20或21的非瞬态机器可读介质,其中,执行指令执行包括以下的另外操作:
在第一虚拟端口处,
接收第二分组;
检测到第二分组未被标记用于QoS测量;
沿着正常分组处理路径转发第二分组;
在第二虚拟端口处,
检测到第二分组未被标记用于QoS测量;以及
沿着正常分组处理路径转发第二分组。
23、条款20-22当中的任一项的非瞬态机器可读介质,还包括用于实现由外部监控器执行的操作的指令,包括:
使用从第一虚拟端口和第二虚拟端口报告的分组标识元数据确定第一和第二时间标记对应于第一分组的时间标记;
确定第一分组与之相关联的流;
把QoS测量计算为第二时间标记与第一时间标记之间的差;以及
把所计算的QoS测量与把第一分组与之相关联的流相关联。
24、条款20-23当中的任一项的非瞬态机器可读介质,还包括用于实现由外部监控器执行的操作的指令,包括:
使用从第一虚拟端口报告的分组标识元数据确定第一分组是将为之确定QoS测量的给定流的第一分组;
使用从第二虚拟端口报告的分组标识元数据确定第一分组是已到达第二虚拟端口的、将为之确定QoS测量的给定流的第一分组;以及
把QoS测量计算为第二时间标记与第一时间标记之间的差。
25、条款20的非瞬态机器可读介质,其中,通过基于硬件的信任根部组件访问安全时钟,并且所述指令包括用于通过软件接口访问由安全时钟生成的数据的指令,所述软件接口是用于所述基于硬件的信任根部组件。
26、条款20-25当中的任一项的非瞬态机器可读介质,还包括用于把第一分组标记成用于QoS测量的指令。
27、条款20-26当中的任一项的非瞬态机器可读介质,其中,分组标识元数据包括流ID。
28、条款27的非瞬态机器可读介质,还包括用于对第一分组中的多个报头字段数值执行散列以便确定流ID的指令。
29、条款27的非瞬态机器可读介质,其中,分组标识元数据包括QoS类别。
30、一种以太网控制器,包括:
包括输入端口和输出端口的多个端口;
用于安全地生成时间标记数据的装置;
用于在以太网控制器操作时与外部监控器进行通信的装置;以及
用于在以太网控制器操作时执行操作的装置,包括,
响应于在第一端口处接收到第一分组,
检测到第一分组被标记用于QoS测量;
安全地为第一分组生成第一时间标记;
为第一分组确定分组标识元数据;
把第一分组的第一时间标记和分组标识元数据报告到外部监控器;
在第二端口处,
检测到第一分组被标记用于QoS测量;
安全地为第一分组生成第二时间标记;
为第一分组确定分组标识元数据;
把第一分组的第二时间标记和分组标识元数据报告到外部监控器,
其中,第一分组的第一和第二时间标记以及分组标识元数据被配置成使得外部监控器能够测量由第一分组在穿越第一端口与第二端口之间的分组处理路径时所引发的等待时间。
31、条款30的以太网控制器,其中,用于在以太网控制器操作时执行操作的装置包括至少一个处理器以及用以存储指令的存储器,所述指令被配置成由所述至少一个处理器执行来实现操作。
32、条款30或31的以太网控制器,其中,分组标识元数据包括流ID。
33、条款32的以太网控制器,还包括用于对第一分组中的多个报头字段数值执行散列以便确定流ID的装置。
34、条款30-33当中的任一项的以太网控制器,其中,分组标识元数据包括QoS类别。
35、条款30-34当中的任一项的以太网控制器,还包括用于执行包括以下的另外操作的装置:
在第一端口处,
接收第二分组;
检测到第二分组未被标记用于QoS测量;
沿着正常分组处理路径转发第二分组;
在第二端口处,
检测到第二分组未被标记用于QoS测量;以及
沿着正常分组处理路径转发第二分组。
虽然参照特定实现方式描述了某些实施例,但是根据某些实施例,其他实现方式是可能的。此外,在附图中示出和/或在本文中描述的元件或其他特征的安排和/或顺序不需要按照所示出和描述的特定方式来安排。根据某些实施例,许多其他安排是可能的。
在附图中示出的每一个系统中,所述元件在某些情况下均可以具有相同的附图标记或者不同的附图标记,从而表明所表示的元件可以是不同的和/或类似的。然而,元件可以灵活到足以具有不同的实现方式,并且与本文中示出或描述的其中一些或所有系统一起工作。附图中示出的各个元件可以是相同的或不同的。哪一个被称作第一元件和哪一个被称作第二元件是任意的。
在说明书和权利要求中,可以使用术语“耦合”和“连接”及其衍生术语。应当理解的是,这些术语不意图作为彼此的同义词。相反,在特定实施例中,“连接”可以被用来表明两个或多个元件彼此直接物理或电气接触。“耦合”可以意味着两个或多个元件处于直接物理或电气接触。然而,“耦合”还可以意味着两个或多个元件彼此不直接接触,但是仍然还彼此协作或交互。
实施例是本发明的实现方式或示例。在说明书中对“实施例”、“一个实施例”、“某些实施例”或“其他实施例”的提及意味着结合所述实施例所描述的特定特征、结构或特性被包括在本发明的至少一些实施例中但不一定是所有实施例中。各处所出现的“实施例”、“一个实施例”或“某些实施例”不一定都指代相同的实施例。
并非本文中所描述和示出的所有组件、特征、结构、特性等等都需要被特定的一个或多个实施例中。如果本说明书提到组件、特征、结构或特性例如“可以”、“可能”或者“能够”被包括,则该特定组件、特征、结构或特性不要求被包括。如果本说明书或权利要求提到“一个”元件,那并不意味着仅有一个所述元件。如果本说明书或权利要求提到“一个附加的”元件,那并不排除有多于一个所述附加的元件。
正如前面所讨论的那样,本文中的实施例的各个方面可以通过相应的软件和/或固件组件和应用(比如由嵌入式处理器执行的软件和/或固件等等)来促进。因此,本发明的实施例可以被用作或者支持执行在以下各项上的软件程序、软件模块、固件和/或分布式软件:某种形式的处理器,处理核心或嵌入式逻辑,运行在处理器或核心上或者通过其他方式实施或实现在计算机可读或机器可读的非瞬时性存储介质之上或之内的虚拟机。计算机可读或机器可读的非瞬时性存储介质包括用于以可由机器(例如计算机)读取的形式存储或传送信息的任何机构。举例来说,计算机可读或机器可读的非瞬时性存储介质包括以可由计算机或计算机器(例如计算设备、电子系统等等)访问的形式提供(也就是存储和/或传送)信息的任何机构,比如可记录/不可记录介质(例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备等等)。内容可以是可直接执行的(“对象”或“可执行程序”形式)、源代码或差异代码(“增量”或“补丁”代码)。计算机可读或机器可读的非瞬时性存储介质还可以包括可以从该处下载内容的存储装置或数据库。计算机可读或机器可读的非瞬时性存储介质还可以包括在销售或递送时具有在其上存储的内容的设备或产品。因此,递送存储有内容的设备或者提供内容以供通过通信介质下载可以被理解成提供制造品,所述制造品包括具有本文所描述的此类内容的计算机可读或机器可读的非瞬时性存储介质。
本文中所描述的在前面被称作过程、服务器或工具的各种组件可以是用于执行所描述的功能的装置。由本文中所描述的各种组件执行的操作和功能可以通过运行在处理元件上的软件来实现,通过嵌入式硬件等等来实现,或者通过硬件与软件的任意组合来实现。这样的组件可以被实现成软件模块、硬件模块、专用硬件(例如应用特定硬件、ASIC、DSP等等)、嵌入式控制器、硬连线电路、硬件逻辑等等。软件内容(例如数据、指令、配置信息等等)可以通过包括计算机可读或机器可读的非瞬时性存储介质的制造品来提供,所述计算机可读或机器可读的非瞬时性存储介质提供表示可以被执行的指令的内容。所述内容可以导致计算机执行本文中所描述的各种功能/操作。
如本文中所使用的,通过术语“至少其中之一”结合在一起的项目列表可以意味着所列出的项目的任意组合。举例来说,短语“A、B或C的至少其中之一”可以意味着A;B;C;A和B;A和C;B和C;或者A、B和C。
前面对本发明的所示出的实施例的描述(包括在摘要中所描述的内容)不意图作出穷举或者把本发明限制到所公开的精确形式。虽然在本文中出于说明的目的描述了本发明的特定实施例和示例,但是正如相关领域内的技术人员将认识到的那样,各种等效的修改在本发明的范围内是可能的。
可以根据前面的详细描述对本发明作出这些修改。在所附权利要求中使用的术语不应当被解释成把本发明限制到在本说明书和附图中公开的具体实施例。相反,本发明的范围完全由所附权利要求确定,应当根据权利要求解释的已确立的教义来解释所附权利要求。
Claims (25)
1.一种用于安全地测量网络中端到端的服务质量(QoS)的方法,包括:
在第一端点处,
检测被标记用于QoS测量的第一分组;
使用安全时钟为第一分组生成第一时间标记;
为第一分组确定分组标识元数据;
把第一分组的第一时间标记和分组标识元数据报告到外部监控器;
在第二端点处,
检测到第一分组被标记用于QoS测量;
使用安全时钟为第一分组生成第二时间标记;
为第一分组确定分组标识元数据;
把第一分组的第二时间标记和分组标识元数据报告到外部监控器;以及
采用第一分组的第一和第二时间标记以及分组标识元数据来测量由第一分组从第一端点到第二端点引发的等待时间。
2.根据权利要求1所述的方法,其中,第一和第二端点是物理端点。
3.根据权利要求1所述的方法,其中,第一和第二端点是虚拟端点。
4.根据权利要求1所述的方法,还包括标记第一分组以用于QoS测量。
5.根据权利要求1所述的方法,其中,分组标识元数据包括流ID。
6.根据权利要求5所述的方法,还包括对第一分组中的多个报头字段数值执行散列以便确定流ID。
7.根据权利要求5所述的方法,其中,分组标识元数据包括QoS类别。
8.根据权利要求1所述的方法,其中,第一和第二端点的至少其中之一被实现在主机平台中,并且第一与第二端点之间的用于第一分组的分组处理路径不穿越用于主机平台的操作系统网络栈。
9.根据权利要求1所述的方法,其中,第一与第二端点之间的用于第一分组的分组处理路径包括多个网络功能虚拟化(NFV)器具。
10.根据权利要求1所述的方法,还包括:
在第一端点处,
接收第二分组;
检测到第二分组未被标记用于QoS测量;
沿着正常分组处理路径转发第二分组;
在第二端点处,
检测到第二分组未被标记用于QoS测量;以及
沿着正常分组处理路径转发第二分组。
11.根据权利要求1所述的方法,还包括:
使用从第一端点报告的分组标识元数据确定第一分组是将为之确定QoS测量的给定流的第一分组;
使用从第二端点报告的分组标识元数据确定第一分组是已到达第二端点的、将为之确定QoS测量的给定流的第一分组;以及
把QoS测量计算为第二时间标记与第一时间标记之间的差。
12.根据权利要求1所述的方法,还包括配置第一和第二端点当中的每一个对被标记用于QoS测量的分组加时间标记,并且把时间标记和分组标识元数据报告到外部监控器。
13.根据权利要求1所述的方法,还包括通过基于硬件的信任根部组件访问安全时钟。
14.一种以太网控制器,包括:
包括输入端口和输出端口的多个端口;
安全时钟或者用于接收由安全时钟生成的时间标记数据的接口的其中之一;
用于在以太网控制器操作时与外部监控器进行通信的接口;以及
被配置成在以太网控制器操作时执行操作的嵌入式逻辑,包括,
响应于在第一端口处接收到第一分组,
检测到第一分组被标记用于QoS测量;
使用安全时钟为第一分组生成第一时间标记,或者通过用于接收由安全时钟生成的时间标记数据的接口接收第一分组的第一时间标记;
为第一分组确定分组标识元数据;
把第一分组的第一时间标记和分组标识元数据报告到外部监控器;
在第二端口处,
检测到第一分组被标记用于QoS测量;
使用安全时钟为第一分组生成第二时间标记,或者通过用于接收由安全时钟生成的时间标记数据的接口接收第一分组的第二时间标记;
为第一分组确定分组标识元数据;
把第一分组的第二时间标记和分组标识元数据报告到外部监控器,
其中,第一分组的第一和第二时间标记以及分组标识元数据被配置成使得外部监控器能够测量由第一分组在穿越第一端口与第二端口之间的分组处理路径时所引发的等待时间。
15.根据权利要求14所述的以太网控制器,其中,所述嵌入式逻辑包括至少一个处理器以及用以存储指令的存储器,所述指令被配置成由所述至少一个处理器执行来实现操作。
16.根据权利要求14所述的以太网控制器,其中,分组标识元数据包括流ID。
17.根据权利要求16所述的以太网控制器,其中,所述嵌入式逻辑被配置成对第一分组中的多个报头字段数值执行散列以便确定流ID。
18.根据权利要求16所述的以太网控制器,其中,分组标识元数据包括QoS类别。
19.根据权利要求14所述的以太网控制器,其中,所述嵌入式逻辑被配置成执行包括以下的另外操作:
在第一端口处,
接收第二分组;
检测到第二分组未被标记用于QoS测量;
沿着正常分组处理路径转发第二分组;
在第二端口处,
检测到第二分组未被标记用于QoS测量;以及
沿着正常分组处理路径转发第二分组。
20.一种具有在其上存储的指令的非瞬态机器可读介质,所述指令被配置成在具有安全时钟的计算平台中的一个或多个处理器上执行,其中执行指令执行包括以下的操作:
实现虚拟交换机,所述虚拟交换机具有多个虚拟端口;
在第一虚拟端口处,
检测被标记用于QoS测量的第一分组;
使用安全时钟为第一分组生成第一时间标记;
为第一分组确定分组标识元数据;
把第一分组的第一时间标记和分组标识元数据报告到外部监控器;
在第二虚拟端口处,
检测到第一分组被标记用于QoS测量;
使用安全时钟为第一分组生成第二时间标记;
为第一分组确定分组标识元数据;
把第一分组的第二时间标记和分组标识元数据报告到外部监控器,
其中,第一分组的第一和第二时间标记以及分组标识元数据被配置成使得外部监控器能够测量由第一分组在穿越第一虚拟端口与第二虚拟端口之间的分组处理路径时所引发的等待时间。
21.根据权利要求20所述的非瞬态机器可读介质,其中,虚拟交换机连接到共同主控多个网络功能虚拟化(NFV)器具的多个虚拟机,并且分组处理路径包括由所述多个NFV器具对第一分组执行的处理。
22.根据权利要求20所述的非瞬态机器可读介质,其中,执行指令执行包括以下的另外操作:
在第一虚拟端口处,
接收第二分组;
检测到第二分组未被标记用于QoS测量;
沿着正常分组处理路径转发第二分组;
在第二虚拟端口处,
检测到第二分组未被标记用于QoS测量;以及
沿着正常分组处理路径转发第二分组。
23.根据权利要求20所述的非瞬态机器可读介质,还包括用于实现由外部监控器执行的操作的指令,包括:
使用从第一虚拟端口和第二虚拟端口报告的分组标识元数据确定第一和第二时间标记对应于第一分组的时间标记;
确定第一分组与之相关联的流;
把QoS测量计算为第二时间标记与第一时间标记之间的差;以及
把所计算的QoS测量与把第一分组与之相关联的流相关联。
24.根据权利要求20所述的非瞬态机器可读介质,还包括用于实现由外部监控器执行的操作的指令,包括:
使用从第一虚拟端口报告的分组标识元数据确定第一分组是将为之确定QoS测量的给定流的第一分组;
使用从第二虚拟端口报告的分组标识元数据确定第一分组是已到达第二虚拟端口的、将为之确定QoS测量的给定流的第一分组;以及
把QoS测量计算为第二时间标记与第一时间标记之间的差。
25.根据权利要求20所述的非瞬态机器可读介质,其中,通过基于硬件的信任根部组件访问安全时钟,并且所述指令包括用于通过软件接口访问由安全时钟生成的数据的指令,所述软件接口是用于所述基于硬件的信任根部组件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/865,136 US20170093677A1 (en) | 2015-09-25 | 2015-09-25 | Method and apparatus to securely measure quality of service end to end in a network |
US14/865136 | 2015-09-25 | ||
PCT/US2016/053583 WO2017053893A1 (en) | 2015-09-25 | 2016-09-23 | Method and apparatus to securely measure quality of service end to end in a network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108028782A true CN108028782A (zh) | 2018-05-11 |
CN108028782B CN108028782B (zh) | 2022-04-15 |
Family
ID=58387522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680055644.8A Active CN108028782B (zh) | 2015-09-25 | 2016-09-23 | 用于安全地测量网络中端到端的服务质量的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170093677A1 (zh) |
EP (1) | EP3353958B1 (zh) |
CN (1) | CN108028782B (zh) |
WO (1) | WO2017053893A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558029B2 (en) | 2015-05-17 | 2017-01-31 | Nicira, Inc. | Logical processing for containers |
US9973401B2 (en) * | 2015-09-30 | 2018-05-15 | Intel Corporation | Service function path performance monitoring |
US10078527B2 (en) | 2015-11-01 | 2018-09-18 | Nicira, Inc. | Securing a managed forwarding element that operates within a data compute node |
KR20170052002A (ko) * | 2015-11-03 | 2017-05-12 | 한국전자통신연구원 | 가상 네트워크 기능 체이닝 시스템 및 방법 |
US10063469B2 (en) * | 2015-12-16 | 2018-08-28 | Nicira, Inc. | Forwarding element implementation for containers |
KR101953546B1 (ko) * | 2015-12-30 | 2019-06-03 | 한국전자통신연구원 | 가상 스위칭 장치 및 방법 |
US10541900B2 (en) * | 2016-02-01 | 2020-01-21 | Arista Networks, Inc. | Hierarchical time stamping |
US10908941B2 (en) * | 2016-03-11 | 2021-02-02 | Tektronix Texas, Llc | Timestamping data received by monitoring system in NFV |
US10079767B2 (en) * | 2016-06-13 | 2018-09-18 | Cisco Technology, Inc. | Multi-mobile core networks and value-added services |
US10361969B2 (en) * | 2016-08-30 | 2019-07-23 | Cisco Technology, Inc. | System and method for managing chained services in a network environment |
US10318723B1 (en) * | 2016-11-29 | 2019-06-11 | Sprint Communications Company L.P. | Hardware-trusted network-on-chip (NOC) and system-on-chip (SOC) network function virtualization (NFV) data communications |
US11178023B2 (en) * | 2017-06-30 | 2021-11-16 | Intel Corporation | Data plane interface network quality of service in multi-tenant data centers |
US20190028409A1 (en) * | 2017-07-19 | 2019-01-24 | Alibaba Group Holding Limited | Virtual switch device and method |
US11265291B2 (en) | 2017-08-25 | 2022-03-01 | Red Hat, Inc. | Malicious packet filtering by a hypervisor |
US10616099B2 (en) | 2017-08-28 | 2020-04-07 | Red Hat, Inc. | Hypervisor support for network functions virtualization |
CN116962221A (zh) | 2018-04-10 | 2023-10-27 | 瞻博网络公司 | 计算机网络的测量指标 |
US10387356B1 (en) * | 2018-10-02 | 2019-08-20 | Teradyne, Inc. | Generating timestamps on a packet-oriented bus |
EP3648409A1 (en) * | 2018-11-02 | 2020-05-06 | Siemens Aktiengesellschaft | Application end-point aware monitoring |
CN109347701B (zh) * | 2018-11-09 | 2024-05-17 | 公安部第三研究所 | 实现对网络隔离产品性能进行测试控制的系统及方法 |
US11805065B2 (en) * | 2019-02-27 | 2023-10-31 | Intel Corporation | Scalable traffic management using one or more processor cores for multiple levels of quality of service |
US11438252B2 (en) | 2019-04-04 | 2022-09-06 | Microsoft Technology Licensing, Llc | Packet drop detection in local networking stack through packet correlation |
FR3095282A1 (fr) * | 2019-04-19 | 2020-10-23 | Orange | Procédé de fourniture d’attestations mis en œuvre par une plateforme informatique virtualisée. |
US11709716B2 (en) | 2019-08-26 | 2023-07-25 | Red Hat, Inc. | Hardware offload support for an operating system offload interface using operation code verification |
US11283699B2 (en) * | 2020-01-17 | 2022-03-22 | Vmware, Inc. | Practical overlay network latency measurement in datacenter |
US11240163B2 (en) * | 2020-01-17 | 2022-02-01 | Vmware, Inc. | Practical overlay network latency measurement in datacenter |
US20220350694A1 (en) * | 2020-04-29 | 2022-11-03 | Red Hat, Inc. | Memory page fault handling for network interface devices in a virtualized environment |
US11336533B1 (en) | 2021-01-08 | 2022-05-17 | Vmware, Inc. | Network visualization of correlations between logical elements and associated physical elements |
CN115550225A (zh) * | 2021-06-30 | 2022-12-30 | 瞻博网络公司 | 使用具有处理单元的网络接口卡来确定延迟 |
US11973855B2 (en) * | 2021-08-25 | 2024-04-30 | Siemens Canada Limited | PTP transparent clock with inter-VLAN forwarding |
US11706109B2 (en) | 2021-09-17 | 2023-07-18 | Vmware, Inc. | Performance of traffic monitoring actions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6975656B1 (en) * | 2000-03-29 | 2005-12-13 | Microsoft Corporation | Method and system for accurately calculating latency variation on an end-to-end path in a network |
CN101056218A (zh) * | 2006-04-14 | 2007-10-17 | 华为技术有限公司 | 一种网络性能测量方法及系统 |
US20130329584A1 (en) * | 2012-06-06 | 2013-12-12 | Tirthankar Ghose | Finding latency through a physical network in a virtualized network |
US20150089082A1 (en) * | 2013-09-25 | 2015-03-26 | Cisco Technology, Inc. | Path optimization in distributed service chains in a network environment |
WO2015040624A1 (en) * | 2013-09-18 | 2015-03-26 | Hewlett-Packard Development Company, L.P. | Monitoring network performance characteristics |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097699A (en) * | 1998-06-05 | 2000-08-01 | Gte Laboratories Incorporated | Method and system for monitoring broadband quality of services |
JP4328459B2 (ja) * | 2000-10-27 | 2009-09-09 | Necエンジニアリング株式会社 | ネットワークのサービス品質測定システム及びその方法 |
FR2851707B1 (fr) * | 2003-02-21 | 2005-06-24 | Cit Alcatel | Sonde de mesure de parametres de qualite de service pour un reseau de telecommunication |
US7349340B2 (en) * | 2003-06-18 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | System and method of monitoring e-service Quality of Service at a transaction level |
EP1548980A1 (en) * | 2003-12-26 | 2005-06-29 | Alcatel | A method of monitoring a network |
US8145760B2 (en) * | 2006-07-24 | 2012-03-27 | Northwestern University | Methods and systems for automatic inference and adaptation of virtualized computing environments |
JP4469900B2 (ja) * | 2008-02-27 | 2010-06-02 | 富士通株式会社 | 通信品質測定システム、通信品質測定装置、管理サーバおよび通信品質管理方法 |
EP2401683A4 (en) * | 2009-02-27 | 2015-07-29 | Broadcom Corp | METHOD AND SYSTEM FOR NETWORKING VIRTUAL MACHINES |
EP2531917B1 (en) * | 2010-02-04 | 2019-11-27 | Telefonaktiebolaget LM Ericsson (publ) | Network performance monitor for virtual machines |
US20130238785A1 (en) * | 2012-03-06 | 2013-09-12 | Rackspace Us, Inc. | System and Method for Metadata Discovery and Metadata-Aware Scheduling |
US9898317B2 (en) * | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
JP5851363B2 (ja) * | 2012-08-08 | 2016-02-03 | 株式会社日立製作所 | ネットワーク・ノード、通信方法、及びシステム |
US9356871B2 (en) * | 2013-03-15 | 2016-05-31 | Cisco Technology, Inc. | Programmable management engine for networks |
EP2987277B1 (en) * | 2013-03-15 | 2017-12-06 | Telefonaktiebolaget LM Ericsson (publ) | Hypervisor and physical machine and respective methods therein for performance measurement |
US9953166B2 (en) * | 2013-07-04 | 2018-04-24 | Microsemi SoC Corporation | Method for securely booting target processor in target system using a secure root of trust to verify a returned message authentication code recreated by the target processor |
US20150033222A1 (en) * | 2013-07-25 | 2015-01-29 | Cavium, Inc. | Network Interface Card with Virtual Switch and Traffic Flow Policy Enforcement |
US9654372B2 (en) * | 2013-09-06 | 2017-05-16 | Nec Corporation | Patent latency monitoring in software-defined networks |
US9838272B2 (en) * | 2015-04-13 | 2017-12-05 | Ciena Corporation | Service enhancement discovery for connectivity traits and virtual network functions in network services |
US10142353B2 (en) * | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
-
2015
- 2015-09-25 US US14/865,136 patent/US20170093677A1/en not_active Abandoned
-
2016
- 2016-09-23 CN CN201680055644.8A patent/CN108028782B/zh active Active
- 2016-09-23 EP EP16849814.5A patent/EP3353958B1/en active Active
- 2016-09-23 WO PCT/US2016/053583 patent/WO2017053893A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6975656B1 (en) * | 2000-03-29 | 2005-12-13 | Microsoft Corporation | Method and system for accurately calculating latency variation on an end-to-end path in a network |
CN101056218A (zh) * | 2006-04-14 | 2007-10-17 | 华为技术有限公司 | 一种网络性能测量方法及系统 |
US20130329584A1 (en) * | 2012-06-06 | 2013-12-12 | Tirthankar Ghose | Finding latency through a physical network in a virtualized network |
WO2015040624A1 (en) * | 2013-09-18 | 2015-03-26 | Hewlett-Packard Development Company, L.P. | Monitoring network performance characteristics |
US20150089082A1 (en) * | 2013-09-25 | 2015-03-26 | Cisco Technology, Inc. | Path optimization in distributed service chains in a network environment |
Also Published As
Publication number | Publication date |
---|---|
WO2017053893A1 (en) | 2017-03-30 |
CN108028782B (zh) | 2022-04-15 |
EP3353958B1 (en) | 2020-11-04 |
EP3353958A1 (en) | 2018-08-01 |
US20170093677A1 (en) | 2017-03-30 |
EP3353958A4 (en) | 2019-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108028782A (zh) | 用于安全地测量网络中端到端的服务质量的方法和装置 | |
US9733973B2 (en) | Automatically determining sensor location in a virtualized computing environment | |
KR101747518B1 (ko) | 소프트웨어 정의 네트워크에서의 가상화된 컨테이너 및 가상 머신을 통한 로컬 서비스 체이닝 | |
CN105207873B (zh) | 一种报文处理方法和装置 | |
US10225631B2 (en) | Computing infrastructure optimizations based on tension levels between computing infrastructure nodes | |
US10637781B2 (en) | Method for reliable data delivery between tunnel endpoints using BFD protocol | |
US20150071072A1 (en) | Traffic Flow Classification | |
CN107431666A (zh) | 用于在数据中心网络环境中实现低时延的技术 | |
CN108432189A (zh) | 多个隧道端点上的负载平衡 | |
Riccobene et al. | Automated generation of VNF deployment rules using infrastructure affinity characterization | |
Cha et al. | Design and evaluation of container-based networking for low-latency edge services | |
CN107592370A (zh) | 一种网络负载均衡方法及装置 | |
CN107249038A (zh) | 业务数据转发方法及系统 | |
Garcia et al. | An nsh-enabled architecture for virtualized network function platforms | |
Rygielski et al. | Model-based throughput prediction in data center networks | |
EP3853708B1 (en) | Scalable cell based packet processing service using client provided decision metadata | |
Yang et al. | Accurate and efficient monitoring for virtualized SDN in clouds | |
US12007865B2 (en) | Machine learning for rule evaluation | |
Caron et al. | Smart resource allocation to improve cloud security | |
US10581749B2 (en) | Automatic discovery of maximum transmission unit size for a software defined network | |
US20220150147A1 (en) | Flow-based latency measurement for logical overlay network traffic | |
US11973671B1 (en) | Signal based node relationship identification | |
EP4261752A1 (en) | Machine learning for rule recommendation | |
US20230195544A1 (en) | Event log management | |
EP4261751A1 (en) | Machine learning for metric collection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |