对分组进行采样以测量网络性能的制作方法

文档序号:11532318阅读:228来源:国知局
对分组进行采样以测量网络性能的制造方法与工艺

实施例大体上涉及网络服务。



背景技术:

网络可以提供受到规定特性和性能保证的服务级别协议(sla)约束的客户端之间的连接。例如,客户端可以建立具有指定专用带宽的虚拟以太网连接。

网络还可以向客户提供与服务性能有关的统计数据、报告和其他信息。例如,客户端可能希望看到其流量被网络延迟了多少、服务是否满足sla、网络是否造成瓶颈等。通常,网络连接中的端点可以测量端到端网络度量(例如,响应时间、吞吐量、抖动)。然而,通过从端点测量网络性能,客户端可能不知道路径的哪一部分导致任何延迟或者所采用的特定服务是否令人满意地执行。

为了估计流量性能(响应时间、吞吐量、抖动),许多机构(utility)不追踪流量本身。相反,它们发送与常规网络流量一起运行的附加分组,并测量网络如何发送这些分组。

虽然这可能有一些好处,但其可能并不总是准确的,因为网络可能会以不同的方式处理不同的分组。此外,通过发送附加分组,这些机构在网络上增加了附加负载,从而影响了其性能。此外,这些机构测量流经其网络组件的总体流量。然而,传统方法无法在每个应用程序或每个服务的基础上测量网络性能。



技术实现要素:

考虑到以上内容,提供用于单独地估计网络应用度量的改善机制是有利的。

在一个实施例中,网络提供网络应用和服务并针对各个应用和服务估计网络度量。在一个实施例中,第一路由设备接收分组并确定所述分组将被采样。第一路由设备通过存储与分组相关联的第一信息来对分组进行采样,并将第一信息发送到测量服务器。第一路由设备根据路由信息向目的地发送所述分组。第二路由设备接收分组并确定所述分组将被采样。第二路由设备通过存储与分组相关联的第二信息来对分组进行采样,并将第二信息发送到测量服务器。测量服务器基于第一信息和第二信息确定测量。

还公开了方法和计算机可读介质的实施例。

以下参考附图详细描述更多实施例和特征,以及各实施例的结构和操作。

附图说明

附图合并于此并形成说明书的一部分。

图1示出了根据示例实施例的说明用于提供网络应用的网络环境的图。

图2示出了根据示例实施例的说明加入了用于针对各个应用和服务估计网络度量的测量服务器的网络环境的图。

图3是根据示例实施例的描述了用于通过在边缘路由设备处封装分组来针对各个应用和服务估计网络度量的方法的流程图。

图4是根据示例实施例的描述了用于通过在边缘路由设备处接收封装的分组来针对各个应用和服务估计网络度量的方法的流程图。

图5是根据示例实施例的描述了用于通过在边缘路由设备处应用散列函数来针对各个应用和服务估计网络度量的方法的流程图。

在附图中,相似的附图标记一般指示相同或相似的要素。附加地,一般来说,附图标记最左的数字位标识首次出现该附图标记的附图。

具体实施方式

在实施例中,网络提供网络应用和服务并针对各个应用和服务估计网络度量。

图1示出了根据示例实施例的用于提供网络应用的网络环境100的图。

网络环境100包括通过网络120进行通信的示例端点110和112。网络120包括边缘路由设备122和124。端点110和112分别与边缘路由设备122和124通信以访问网络120。

示例性端点110和112可以是利用网络120的服务的一个或多个客户端计算设备。端点110和112可以是例如局域网(lan)、计算机、移动设备、服务器、集群等。在一个示例中,端点110和112本身可以是网络,并且可以使用网络120作为中转网络来彼此通信,如图1中的虚线箭头所示。

网络120可以是被配置为在客户端计算设备(例如个人计算机、服务器、移动设备、局域网(lan)等)之间发送数据的网络。在实施例中,网络120是广域网(wan)或城域网(man)。在实施例中,网络120提供虚拟网络服务,例如虚拟以太连接、虚拟局域网(vlan)、虚拟专用网(vpn)等。例如,网络120可以提供具有专用带宽的虚拟电路,用于远程位置的客户端之间的数据通信。网络120可以使用任何点对点、点对多点或多点对多点的网络协议。所使用的网络接入协议可以包括例如以太网、异步传输模式(atm)、高级数据链路控制(hdlc)、帧中继、同步光网络(sonet)/同步数字体系(sdh)、互联网协议(ip)、传输控制协议(tcp)、用户报文协议(udp)、多协议标签交换(mpls)等。

网络120提供多个端点之间的网络通信。在一个实施例中,网络120向多个端点提供可配置数据通信服务,收取服务费。

本文所使用的术语“路由设备”包括网络层路由器和数据链路层交换机两者。路由设备122和124可以被配置为提供连接服务,例如虚拟以太网连接、mpls隧道、vlan路由、服务级别协议(sla)等。连接服务可以提供来自至少两个地理上不同的计算机的连接。网络120可以提供特定服务级别的连接,例如特定级别的带宽、时延或抖动。

示例性边缘路由设备122和124是端点110和112进入网络120的入口点。网络120可以包括多个附加路由设备和在多个端点之间发送数据的其他网络元件。在一个实施例中,网络120收集并提供描述由网络120提供的服务的性能的测量。网络管理员可能希望向客户端提供关于服务网络120提供给客户端的性能的统计数据,例如吞吐量、分组丢失、时延等。在一个实施例中,这些统计数据是按服务收集的。例如,客户端可以获得端点110和112之间的虚拟以太网连接。网络120可能想要测量与虚拟以太网连接相关联的流量,以便评估连接的性能并且向客户端报告服务进行得如何。通过这种方式,网络120可以向客户端通知网络120在提供特定服务方面的表现如何。

图2示出了根据示例实施例的说明加入了用于针对各个应用和服务估计网络度量的测量服务器的网络环境100的图。

测量服务器230可以配置网络路由设备并与之进行通信,以测量与网络服务相关联的统计数据。例如,测量服务器230配置网络路由设备传送关于与特定服务相关联的分组的信息。在一个实施例中,测量服务器230配置边缘路由器传送与服务分组相关联的标识信息和指示分组到达特定边缘路由器的时间的时间戳。测量服务器230然后可以使用该信息来确定服务的网络度量。

在一个实施例中,测量服务器230包括配置器模块232、分组采样器模块234、分组数据库236和流量分析器模块238。

配置器模块232指示并配置路由设备122和124对分组进行采样并将经过采样的分组发送到测量服务器230。例如,配置器模块可以指示路由设备对被确定为满足特定标准的分组进行采样。配置器模块232还可以配置路由设备向测量服务器230发送标识经过采样的分组的信息和指示各个路由设备何时接收到经过采样的分组的时间戳。

分组采样器模块234接收与服务分组相关联的标识信息和时间戳,并将该信息和时间戳存储在分组数据库236中。

流量分析器模块238分析接收到的采样分组信息以确定网络性能和统计数据。例如,流量分析器模块238可以向分组数据库236查询与相同分组相对应的信息。流量分析器模块238然后可以比较分组的进入时间戳和离开时间戳以确定性能测量。

在一个示例中,网络120在端点110和112之间建立虚拟以太网连接服务。测量服务器230可以配置边缘路由设备122和124来发送分组的标识信息和路由设备何时接收所述分组的时间戳。例如,当路由设备122从端点110接收到指向端点112的分组时,路由设备122可以向测量服务器120发送所述分组的标识信息和时间戳。通过这种方式,测量服务器230可以获知分组进入网络120的时间。测量服务器230还可以配置边缘路由设备122和124发送相同分组的标识信息和路由设备何时在出口点从网络120接收分组的时间戳。通过这种方式,测量服务器230可以获知分组离开网络120的时间。测量服务器230然后可以使用时间戳信息来测量与服务相关联的度量。

测量服务器230可以使用各种技术来配置路由设备标识分组并向分组施加时间戳。在一个实施例中,测量服务器230配置边缘路由设备使用唯一地标识分组的采样报头来封装进入网络120的服务分组。路由设备然后将分组和时间戳信息发送到测量服务器210。当分组在离开网络120的途中到达边缘路由设备时,路由设备识别出采样报头并发送标识和时间戳信息。

在另一实施例中,测量服务器230配置路由设备将散列函数应用于服务分组。路由设备可以发送关于散列到一个或多个预定值的分组的标识和时间戳信息。由于散列函数对于相同的分组将产生相同的值,所以边缘路由设备可以在网络120的边缘点上对相同分组进行采样。在一个实施例中,边缘路由设备将散列函数应用于服务分组中不沿路线改变的部分,例如源地址和目的地地址以及源端口和目的地端口、有效载荷的一部分、分组序列号等。

如上所述,从边缘路由设备传送到测量服务器的采样数据包括分组标识信息和时间戳。分组标识信息可以包括分组中将该分组与其他分组区分的任何部分。在一个实施例中,边缘路由设备通过应用附加报头来应用标识信息。在一个实施例中,标识信息是分组的一部分,诸如报头的一部分、或有效载荷的一部分、或这些的任何组合。标识信息可以或可以不唯一地标识分组,即,两个分组可能具有相同的标识信息。

入口点和出口点边缘路由设备可以被任意定义以获得任何网络的性能统计数据。例如,网络管理员可以定义想要得到性能统计数据的网络或网络的一部分,并相应地配置边缘路由设备。

图3是根据示例实施例的描述了用于通过在边缘路由设备处封装分组来针对各个应用和服务估计网络度量的方法300的流程图。

在步骤302处,网络入口点边缘路由设备接收进入网络的分组。路由设备检查分组报头以确定分组是否将被采样。路由设备可以使用任何机制来确定分组是否将被采样,例如选择去往或来自特定地址的分组、网络协议的分组、选择满足标准(例如具有特定散列或模数值)的分组,或随机选择分组。在一个实施例中,路由设备被配置为选择与指定的网络服务或应用相关联的分组。

如步骤304和310所示,如果分组将不被采样,则路由设备将该分组沿路线转发到下一跳。如果分组将要被采样,则路由设备将使用采样报头来封装分组,如步骤306所示。采样报头可以用作针对另一个路由设备的该分组将在网络的出口端被采样的指示。路由设备可以生成标识符并且包括在采样报头中,可以包含分组的标识符。在另一示例中,采样报头包含指示分组应被采样的值,并且路由设备使用其他分组数据作为标识信息。

在步骤308处,路由设备向测量服务器发送包括分组标识信息和时间戳的采样数据。最后,在步骤310处,路由设备将封装的分组转发到路线中的下一跳。

图4是根据示例实施例的描述了用于通过在边缘路由设备处接收封装的分组来针对各个应用和服务估计网络度量的方法400的流程图。

在步骤402处,网络出口点边缘路由设备从网络中的另一元件接收分组。路由设备检查分组报头以通过确定分组是否包含采样报头来确定分组是否将被采样。

如步骤404和410所示,如果分组将不被采样,则路由设备将分组转发到目的地端点。如果分组将被采样,则路由设备将从分组中移除采样报头,如步骤406所示。

在步骤408处,路由设备向测量服务器发送包括分组标识信息和时间戳的采样数据。因为测量服务器还从入口点路由设备接收采样数据,如上文参考方法300进行的描述的,所以测量服务器关于分组穿过网络的定时的信息。

最后,在步骤410处,路由设备将分组转发到目标地端点。

图5是根据示例实施例的描述了用于通过在边缘路由设备处应用散列函数来针对各个应用和服务估计网络度量的方法500的流程图。

在步骤502处,边缘路由设备接收分组,并将散列函数应用于分组的至少一部分。散列函数可以应用于分组中在路线中的各跳之间不变的任何部分,以使得相同的分组在不同边缘路由设备处具有相同的散列结果。

在步骤504处,路由设备基于散列结果确定分组是否将被采样。路由设备可以被配置为对散列结果具有一个或多个指定值或值的范围的分组进行采样。

如果分组将不被采样,则路由设备将该分组转发到沿路线的下一跳或目的地端点,如步骤508所示。如果分组将被采样,则路由设备将包括分组标识信息和时间戳的采样数据发送到测量服务器,如步骤506所述。

最后,如步骤508所示,路由设备将分组转发到沿路线的下一跳或目的地端点。

结论

测量服务器230可以是任何存储类型的结构化存储器,包括永久性存储器。在示例中,测量服务器可以是网络120的一部分,或者可以是与网络120进行通信的分离系统。

可以用硬件、软件、固件或其任意组合来实现图1和图2中的框和模块的每一个。

可以在相同或不同计算设备上实现图1和图2中的框和模块的每一个。这种计算设备可以包括但不限于个人计算机、移动设备(例如移动电话)、工作站、嵌入式系统、游戏控制台、电视、机顶盒或任意其他计算设备。此外,计算设备可以包括但不限于,具有处理器和存储器的设备,包括用于执行和存储指令的非瞬时性存储器。存储器可以有形地体现数据和程序指令。软件可以包括一个或多个应用和操作系统。硬件可以包括但不限于处理器、存储器和图形用户界面显示器。计算设备还可以具有多个处理器和多个共享或分离的存储器组件。例如,计算设备可以是集群计算环境或服务器群的一部分或全部。

诸如“(a)”、“(b)”、“(i)”、“(ii)”等的标识符有时用于不同的要素或步骤。使用这些标识符是为了清楚而不必需指定要素或步骤的顺序。

以上已经在示出指定功能及其关系的实施方式的功能构建块的辅助下,描述了本发明。为便于描述,本文已经任意定义了这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义备选边界。

特定实施例的上述描述将完全揭示本发明的总体性质,其他人可以在不过度实验,不脱离本发明的总体构思的情况下,通过应用本领域技术知识来容易地修改和/或适配这种特定实施例的各种应用。因此,基于本文提出的教导和引导,这种适应和修改旨在所公开的实施例的等同物的含义和范围内。将理解的是本文的措辞和术语用于描述而非限制的目的,使得本领域技术人员鉴于教导和引导来解释本说明书的措辞或术语。

本实施例的宽度和范围不应受任意上述示例的限制,而是应仅根据所附权利要求及其等同物来限定。

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