CN104782079B - 通过估算端链路容量来测量端主机的数据包处理时间 - Google Patents
通过估算端链路容量来测量端主机的数据包处理时间 Download PDFInfo
- Publication number
- CN104782079B CN104782079B CN201280076734.7A CN201280076734A CN104782079B CN 104782079 B CN104782079 B CN 104782079B CN 201280076734 A CN201280076734 A CN 201280076734A CN 104782079 B CN104782079 B CN 104782079B
- Authority
- CN
- China
- Prior art keywords
- data packets
- probe
- processing data
- data packet
- host
- 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.)
- Expired - Fee Related
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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
总体描述了用于测量远程连接的主机设备的数据包处理时间的技术。根据一些示例,链路容量可以被测量来估算数据包处理时间(PPT)。连接至主机的链路的容量可以通过主机在接收到每个探测数据包后对每个探测数据包添加时间戳的主动探测来测量。因此,PPT信息可以被包括在数据包接收处理和由不同计算应用的类型限定的数据包经历的处理中,给数据包添加时间戳是涉及处理时间的处理的示例。
Description
技术领域
本公开涉及用于通过估算端链路容量来测量端主机的数据包处理时间的技术。
背景技术
除非本文另有指明,否则本部分中描述的材料不是本申请中的现有技术并且不通过被包括在本部分而被认为是现有技术。
分组交换网络中的网络时延可以被单向(从将发送数据包的源到接收数据包的目的地的时间)或往返(从源到目的地的单向时延加上从目的地返回源的单向时延)地测量。尽管往返时延更为经常使用,因为其可以从单点测量,但是其可能模糊/隐藏目的地系统花在处理数据包上的时间量。一些软件平台采用ping操作,ping操作可以被用来测量往返时延。Ping操作执行长数据包处理;当接收到数据包时,其仅仅发回响应。
但是,典型的数据包可以在许多链路上通过许多网关被传送,每一个网关可能直到其完全接收数据包才会开始传送该数据包。在此类网络中,最小时延可以被定义为每个链路的传输时延加上每个链路的最小时延之和。该时延可以进一步地增加排队延迟和处理延迟。在当网关从朝同一目的地的不同源接收多个数据包时,可能发生排队延迟。由于一般一次仅可以传输一个数据包,因此数据包中的一些数据包可能排队等候传输,从而产生额外的延迟。当网关确定如何处理新接收到的数据包时,发生处理延迟。传播延迟、序列化延迟、排队延迟和处理延迟的组合可以经常产生复杂且多变的网络时延情况。
在主机中-测量数据包处理时间-总网络时延的组成部分可能涉及复杂设置。如果主机远离管理员(例如,如在云中)被放置,则其复杂性可能增加。
发明内容
本公开总体描述了用于通过估算端链路容量来测量端主机的数据包处理时间的技术,其中,主机的端链路可以是直接连接至被测量主机的链路。
根据一些示例,描述了一种用于通过估算端链路容量来测量端主机的数据包处理时间的方法。示例方法可以包括从源主机向目的主机传输包括两个或多个数据包的复合探测,使所述复合探测在每个主机处一旦被接收即被添加时间戳,和/或基于所述复合探测的时间戳值来估算数据包处理时间。
根据另一其他示例,描述了一种用于通过估算端链路容量来测量端主机的数据包处理时间的计算设备。示例计算设备可以包括通信模块、存储器和处理器,所述通信模块被配置为在一个或多个网络上与多个其他计算设备通信,所述存储器被配置为存储指令,所述处理器被配置为执行数据包处理计时模块。所述数据包处理计时模块可以从源主机向目的主机传输包括一串探测数据包的复合探测,使所述探测数据包在每个主机处一旦被接收即被添加时间戳,并且基于所述探测数据包的时间戳值来估算数据包处理时间(PPT)。
根据另一些其他示例,描述了一种在其上存储有指令的计算机可读存储介质,所述指令用于通过估算端链路容量来测量端主机的数据包处理时间。当所述指令被执行时,所述指令可以引起方法被执行。所述方法可包括:从源主机向目的主机传输包括两个或多个数据包的复合探测,使所述复合探测在每个主机处一旦被接收即被添加时间戳,和/或基于所述复合探测的时间戳值来估算数据包处理时间。
前述发明内容仅用于说明性并且不旨在以任何方式进行限制。除上述示意性方面、实施方式和特征外,通过参考附图和以下详细描述,另外的方面、实施方式和特征将变得显而易见。
附图说明
组合附图,从以下描述及所附权利要求书,本公开的下述及其他特征将变得更加明显。理解的是,这些附图仅描绘了根据本公开的几个实施方式,并且因此将不被认为限制本公开的范围,通过使用附图,本公开的另外的特性及细节将被描述,其中:
图1是示意性示例网络通信系统的示意图,其中端主机的数据包处理时间可以通过估算端链路容量来测量;
图2示出在单跳路径上数据包P的示例端对端单向延迟(OWD);
图3示出用于通过估算端链路容量测量端主机的数据包处理时间的复合探测的概念性使用;
图4示出通用计算设备,其可以被用来实施通过估算端链路容量来测量端主机的数据包处理时间;
图5为示出用于可以由计算设备(如图4中的设备)执行的通过估算端链路容量来测量端主机的数据包处理时间的示例方法的流程图;以及
图6示出示例计算机程序产品的框图,所述计算机程序产品用于实施通过估算端链路容量来测量端主机的数据包处理时间;
所有均按照本文描述的至少一些实施方式布置。
具体实施方式
在以下详细说明中,参考附图,附图构成本说明的一部分。在附图中,除非上下文另有指明,否则相同符号一般指代相同部件。在详细说明、附图以及权利要求书中描述的示意性实施方式不意在限制。在不背离本文呈现的主题的精神或范围的情况下,其他实施方式可以被使用,并且可以做出其他改变。将很容易理解的是,如本文一般描述的以及在图中示出的本公开的方面可以以多种不同配置被布置、替换、组合、分离以及设计,所有这些都在本文被清晰的构思。
除其他之外,本公开一般地涉及与通过估算端链路容量来测量端主机的数据包处理时间的方法、装置、系统、设备和/或计算机程序产品。
简要来说,一般地描述了用于测量远程连接的主机设备的数据包处理时间的技术。根据一些示例,链路容量可以被测量来估算数据包处理时间(PPT)。被连接至主机的链路的容量可以通过在主机接收到每个探测数据包后对每个探测数据包添加时间戳的主动探测来测量。因此,PPT信息可以被包括在数据包接收处理以及数据包经历的由不同计算应用的类型限定的多个处理中,对数据包添加时间戳是涉及处理时间的处理的示例。
图1为根据本文描述的至少一些实施方式布置的示意性示例网络通信系统的示意图,其中,端主机的数据包处理时间可以通过估算端链路容量来测量。
示意图100示出在网络环境中多个不同主机设备。网络110可以代表一个或多个网络,包括但不限于,有线网络、无线网络、公共网络、企业网络、安全网络、不安全网络。多个主机设备,如台式计算机、膝上型计算机、便携式计算机、智能手机以及类似物,可以在网络110上与其他计算设备通信。
在示例配置中,主机设备组106可以通过一个或多个专用设备(例如,路由器108)和/或服务器104来访问网络。交换机112可以通过其他交换机、服务器和其他节点将数据包导向其目的地。在一些示例中,集中控制服务器可以管理网络操作、冗余、可靠性、等等。在其他示例中,网络管理可以被分布在多个服务器上。
一些带宽和延迟测量方案涉及端对端路径的链路容量的先验知识,其可以不是实际假定。其他方案可以发送探测数据包但方式宽松,使得结果倾向于嘈杂和不准确。这些探测数据包的分散间隙(dispersion gap)可以包括关于端对端路径的极少的信息。
端主机(例如,工作站)的数据包处理时间(PPT)是在数据包到达主机的输入队列(即,TCP/IP协议族的数据链路层)与数据包被应用层处理时之间经过的时间。在该时间内,在数据包在应用层被添加时间戳前,数据包可以从端主机的网络接口卡(NIC)的输入队列被传输至主存储器。由于链路速率增加值比处理速度快,因此PPT在测量不同网络参数中扮演愈加明显的作用。
根据一些实施方式的系统可以在多跳网络路径上测量端主机(106)中的PPT。被连接至端主机的链路(端链路)的容量测量可以基于使用复合探测的探测内间隙测量。复合探测可以是连续发送的一组两个数据包,其中数据包的大小可以被预定义。在不同路径配置和/或高网络拥塞条件下可以重复地进行探测来增加测量的稳健性。
图2示出根据本文描述的至少一些实施方式布置的单跳路径上的数据包P的示例端对端单向延迟(OWD)。
单向延迟(OWD)测量是PPT可以很大程度上影响的参数的示例。示意图200示出源(src)主机220和目的(dst)主机230间在端对端路径上的数据包P 224的单向延迟(OWD)。如示意图中所示,数据包P 224在OWD测量处理中可以在端主机(220,230)穿过IP协议栈的不同层。数据包P 224的传输时间(tr)、传播时间(tp)以及排队时间(tq)(在中间节点)可以发生在物理链路234上。
当数据包P 224在源主机220(PPT src 222)的主机应用层被创建时以及当数据包P 224在目的主机230(PPT dst 232)的主机应用层被接收时即可被添加时间戳。如果PPT被认为可以忽略,则OWD可以按以下等式进行估算:
[1]OWD′=tp+tr+tq.
但是,数据包P 224从源主机220到目的主机230经历的实际OWD可以表示为如下:
[2]OWD=PPTsrc+tp+tr+tq+PPTdst
所测量的OWD(其还可以被称为src-dst路径上的主机时间)可以主要由tr和tp确定。如果PPT被忽略,随着数据速率增加,tr的贡献可减少,并且100-Mb/s链路上针对不同数据包大小测量的OWD中的差错可能很大。
表1示出针对不同数据包大小的一些示例差错,其中差错=(OWD-OWD′)*100/OWD′,tp=tq≈0,并且主机具有小的PPT(例如,1μs/主机)。如在表中描述的,对于最小大小的IP数据包(即,20比特),差错可以高达125%。因此,为避免很大差错,在针对快速链路测量OWD时可需要考虑PPT。
表1:由于端主机的PPT造成OWD测量中的差错
在一个示例系统中,端主机的PPT可以通过使用端链路容量测量来测量,端链路容量测量在不同路径配置上均是可行的。即使对于不同路径配置和/或在网络中的高网络拥塞条件下,可能不需要大量探测负载用于准确地测量PPT。所述测量可以独立于距离和网络拥塞水平或路径的网络流量。
图3示出根据本文描述的至少一些实施方式被布置、用于通过估算端链路容量来测量端主机的数据包处理时间的复合探测的概念性使用。
根据一些实施方式的系统(如示意图300所示)可以在多跳网络路径上测量端主机的PPT。对连接至端主机的链路(端链路)的容量测量可以基于使用复合探测348的探测数据包内间隙测量。所述复合探测可以是从源342连续发送至目的地346的一组两个数据包(PT1,PT2),其中,数据包的大小可以被预定义。节点344可以代表中间主机,其可以被配置为多路径。可以在不同路径配置和/或高网络拥塞条件下重复探测以增加测量稳健性。数据包大小可以被设计为定义分散间隙的属性。
在使用基于链路容量测量的PPT估算的系统中,如果连接至主机的链路的容量可以通过主动探测被准确的测量,则主机的PPT可以从所测量的容量值被计算,而不需使用任何专业硬件。主动测量方法包括主机在接收到每个探测数据包后给每个探测数据包添加时间戳。因此,在给数据包添加时间戳的同时,PPT信息可以被包括在数据包接收处理中。
如上讨论的,两串探测数据包可以作为使用不同数据包大小的复合探测348在端对端路径上从源342被发送至目的地344。多个复合探测可以以零分散间隙(即,没有间隔)到达目的地348并且探测数据包内间隙值可以被用来确定端链路的容量。因为所测量的探测数据包内间隙值包括目的地节点的PPT-恒定参数-,所以可以从探测数据包内间隙与多个复合探测的数据包大小之间的线性关系来测量PPT,由恒定值偏移(offset)测量的PPT。
实施方式可以通过硬件和软件组件的组合被实施。软件组件可以包括现有或新的通信或信号系统。此外,实施方式不被限制于示例网络系统,但可以被实施在使用端主机间的基于数据包的通信的任意网络系统。
虽然通过使用图1至图3中的具体示例、组件、情形和配置已经讨论了多个实施方式,但是它们旨在提供被用于实施通过估算端链路容量来测量端主机的数据包处理时间的一般指导。这些示例不构成对实施方式的限制,其可以通过使用利用本文描述的原理的其他组件、优化方案和配置被实施。
图4示出根据本文描述的至少一些实施方式布置的、可以被用来实施通过估算端链路容量来测量端主机的数据包处理时间的通用计算设备。在最基本配置402中,计算设备400一般地包括一个或多个处理器404和系统存储器406。存储器总线408可以被用于处理器404和系统存储器406之间的通信。
根据想要的配置,处理器404可以是任意类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器404可以包括一个或多个级的缓存(如级缓存存储器412)、处理器核414以及寄存器416。示例处理器核414可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任意组合。示例存储器控制器418还可以与处理器404一起使用,或在一些实施中,存储器控制器414可以是处理器404的内在部分。
基于想要的配置,系统存储器406可以是任意类型的,包括但不限于易失性存储器(如随机存取存储器)、非易失性存储器(如只读存储器、闪存等等)或其任意组合。系统存储器406可以包括操作系统420、一个或多个应用422和程序数据424。应用422可以是网络管理应用、网络测试应用或可比较的应用并且包括PPT估算模块426,其被布置用于通过估算端链路容量来测量端主机的数据包处理时间。程序数据424可以包括一个或多个计时数据428和以上结合至少与图1至图3被讨论的类似数据。该数据有利于测量如本文中描述的远程连接的主机设备的数据包处理时间。该描述的基本配置402在图4中通过内虚线内的部件示出。
计算设备400可以具有另外的特征或功能性以及另外的接口,来促进基本配置402和任意需要的设备和接口间的通信。例如,总线/接口控制器430可以被用来促进基本配置402和一个或多个数据存储器设备432通过存储器接口总线434的通信。数据存储器设备432可以是可移除存储器设备436、不可移除存储器设备438或其组合。举几个例子,示例可移除存储器和不可移除存储器设备包括磁盘设备(如软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(如压缩盘(CD)驱动器或数字通用盘(DVD)驱动器)、固态驱动器(SSD)以及磁带驱动器等等。示例计算机存储媒介可以包括由用于信息存储的任意方法或技术实施的易失性和非易失性、可移除和不可移除媒介,如计算机可读指令、数据结构、程序模块或其他数据。
系统存储器406、可移除存储器设备436和不可移除存储器设备438均是计算机存储媒介的示例。计算机存储媒介包括,但不限于,随机存取存储器、只读存储器、EEPROM、闪存或其他存储技术,CD-ROM、数字通用盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储器或其他磁存储器设备,或可以用来存储想要的信息并且可以被计算设备400访问的任意其他介质。任意此类计算机存储媒介可以是计算设备400的部分。
计算设备400还可以包括接口总线440,其用于促进多种接口设备(例如,输出设备442、外围接口444及通信设备446)和基本配置402通过总线/接口控制器430的通信。示例输出设备442包括图形处理单元448和音频处理单元440,其可以被配置为与多种外部设备(如显示器或扬声器)通过一个或多个A/V端口442通信。示例外围接口444包括串行接口控制器444或并行接口控制器446,其可以被配置为与外部设备如输出设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等等)或其他外围设备(例如,打印机、扫描仪等等)通过一个或多个I/O端口448通信。示例通信设备466包括网络控制器460,其可以被布置为促进经过一个或多个通信端口464通过网络通信链路与一个或多个其他计算设备462的通信。
网络通信链路可以是通信媒介的一个示例。通信媒介可以一般地被体现为计算机可读指令、数据结构、程序模块、或其他调制数据信号中的其他数据,如载波或其他运输机制,并且可以包括任意信息递送媒介。“调制的数据信号”可以是具有一个或多个其自身特征被设置或改变使得可以在信号中编码信息的信号。举例来说,但不限制,通信媒介可以包括有线媒介(如有线网络或直接有线连接)、及无线媒介(如声学、射频(RF)、微波、红外(IR)及其他无线媒介)。如本文使用的术语计算机可读媒介可以包括存储器媒介和通信媒介。
计算设备400可以被实施为物理服务器、虚拟服务器、计算云或包括任意以上功能的混合设备的一部分。计算设备400还可以被实施为包括便携式计算机和非便携式计算机配置的个人计算机。另外,计算设备400可以被实施为联网系统或通用或专用服务器的一部分。
用于包括计算设备400的联网系统的网络可以包括服务器、客户机、交换机、路由器、调解解调器、网络服务提供者以任意合适的通信媒介(例如,有线或无线通信)的任意拓扑结构。根据实施方式的系统可以具有静态或动态网络拓扑结构。网络可以包括安全网络,如企业网络(例如,LAN,WAN或WLAN),不安全网络,如无线开放网络(例如,IEEE 802.11无线网络),或世界范围网络(例如因特网)。网络还可以包括多个被适于共同操作的不同网络。此类网络被配置为提供本文描述的节点间的通信。举例来说,但不限制,这些网络可以包括无线媒介,如声学、RF、红外及其他无线媒介。另外,网络可以是同一网络或不同网络的部分。
图5为示出根据本文描述的至少一些实施方式布置的、用于通过估算端链路容量来测量端主机的数据包处理时间的示例方法的流程图,所述示例方法可以被如图4中的设备的计算设备执行。
因此,控制器设备510可以被实现为计算设备400,或用于执行被存储在计算机可读介质520中的指令来实施所述方法的类似设备。用于通过估算端链路容量来测量端主机的数据包处理时间的处理可以包括如由一个或多个块522、524、526和/或528示出的一个或多个操作、功能或行动。
一些示例处理可以从操作522开始,“从源主机向目的主机传输两个或多个数据包的复合探测”。在操作522,一串探测数据包可以从源主机342发送到目的主机346。
操作522可以后接操作524,“使所述复合探测在每个主机处一旦被接收即被添加时间戳”。在操作524,探测数据包可以在主机处被接收时被添加时间戳。
操作524可以后接可选的操作526,“使用基于目的主机类型的预定义恒定值来偏移所述估算的数据包处理时间”。在可选的操作526,所述PPT估算模块426可以使用恒定值来偏移计算的值。所述恒定值可以基于目的主机类型被预定义。
可选的操作526可以后接操作528,“基于所述复合探测的时间戳值估算所述数据包处理时间”。在操作528,PPT估算模块可以基于时间戳值来计算所述估算的PPT。在一些示例中,受影响的间隙过滤方案可以在操作528之前被执行。根据取样数据的质量(例如,是否具有太多噪声),所述受影响的间隙过滤方案可以是迭代的并且可以包括可选的迭代。
为消除差错,所述过滤方案可以首先识别取样组中较少且频繁的探测数据包内间隙,以确定数据包处理抖动的水平,并且随后计算所述取样组的标准方差来找到探测数据包内间隙可接受的范围(即,不受背景流量(cross traffic)的影响)。接下来是用于针对取样组中受影响的探测数据包内间隙的示例过滤技术的步骤:(1)识别所述取样组的最小探测数据包内间隙;(2)确定所述取样组中探测数据包内间隙的频率(即,真方图);(3)选择具有最高频率出现的最小探测数据包内间隙;(4)估算探测数据包内间隙方差或数据包处理抖动,并且丢弃所述取样组中大于峰值间隙(步骤3)和间隙的方差的总和的数据元素;(5)计算新取样组(在步骤4之后)的平均探测数据包内间隙和标准方差;以及(6)确定所述探测数据包内间隙的下界和上界。
被包括在上述图5中的处理的操作是出于示意性目的。通过估算端链路容量来测量端主机的数据包处理时间可以被具有较少或额外操作的类似处理实施。在一些示例中,所述操作可以以不同的顺序被执行。在一些其他示例中,多种操作可以被消除。在另一些其他示例中,多种操作可以被分成另外的操作、或组合成较少操作。尽管被示出为按顺序排列的操作,在一些实施中,多种操作可以以不同的顺序被执行,或在一些情况下,多种操作可以在大体上同一时间被执行。
图6示出根据本文描述的至少一些实施方式被布置的示例计算机程序产品的框图。
在一些示例中,如图6中所示,计算机程序产品600可以包括信号承载介质602,所述信号承载介质602还可以包括机器可读指令604,例如,当被处理器执行时,所述机器可读指令604可以提供以上关于图1至图3描述的功能性。因此,例如,参考处理器404,图6中示出的任务的一个或多个可以响应于由介质602传达给处理器404的指令604来执行与本文描述的通过估算端链路容量来测量端主机的数据包处理时间相关的行动。这些指令中的一些可以包括:如此前描述的,从源主机向目的主机传输包括两个或多个数据包的复合探测,使得所述复合探测在每个主机处一旦被接收即被添加时间戳,可选地使用基于所述目的主机类型的预定恒定值来偏移所述估算的数据包处理时间,并且基于所述复合探测的时间戳值来估算所述数据包处理时间。
在一些实施中,图6中描述的信号承载介质602可以包含计算机可读介质606,例如但不限于,硬盘驱动器、压缩盘(CD)、数字通用盘(DVD)、数字磁带、存储器等等。在一些实施中,信号承载介质602可以包含可记录介质608,例如但不限于,存储器、读/写(R/W)CD、R/WDVD等等。在一些实施中,信号承载介质602可以包含通信介质610,例如但不限于,数字和/或模拟通信介质(例如,纤维光缆、波导、有线通信链路、无线通信链路等等)。因此,例如,计算机程序产品600可以通过RF信号承载介质602被传送给处理器604,其中所述信号承载介质602被无线通信介质610(例如,遵从IEEE 802.11标准的无线通信介质)传送。
根据一些示例,描述了用于通过估算端链路容量来测量端主机的数据包处理时间的方法。示例方法可以包括从源主机向目的主机传输包括两个或多个数据包的复合探测,使得所述复合探测在每个主机处一旦被接收即被添加时间戳,和/或基于所述复合探测的时间戳值来估算所述数据包处理时间。
根据其他示例,方法进一步地包括在不同大小的复合探测中选择数据包,选择数据包大小来定义分散间隙的属性,或基于测量一个或多个探测数据包内间隙来估算所述端链路容量。所述探测数据包内间隙可以基于时间戳值的比较来测量。
根据进一步的示例,方法还可以包括从探测数据包内间隙与各个复合探测数据包的数据包大小之间的线性关系来估算所述数据包处理时间,使用基于目的主机类型的预定恒定值来偏移所述估算的数据包处理时间,或在多个多跳网络路径上估算所述数据包处理时间。方法还可以包括重复地传输所述复合探测并且在不同网络路径条件下估算所述数据包处理时间。可选地,方法可以包括重复地传输所述复合探测和在高网络拥塞条件下估算所述数据包处理时间。
根据其他示例,描述了用于通过估算端链路容量来测量端主机的数据包处理时间的计算设备。示例计算设备可以包括通信模块、存储器和处理器;所述通信模块被配置为在一个或多个网络上与多个其他计算设备通信;所述存储器被配置为存储指令;所述处理器被配置为执行数据包处理计时模块。所述数据包处理计时模块可以从源主机向目的主机传输包括一串探测数据包的复合探测,使得所述探测数据包在每个主机处一旦被接收即被添加时间戳,并且基于所述探测数据包的时间戳值来估算PPT。
根据进一步的示例,所述PPT模块可以进一步地从不同大小的复合探测中选择探测数据包,选择探测数据包大小来定义分散间隙的属性,或基于测量一个或多个探测数据包内间隙来估算所述端链路容量。所述探测数据包内间隙可以基于时间戳值的比较被测量。
根据另一些其他示例,所述PPT模块可以从所述探测数据包内间隙与各个探测数据包的数据包大小之间的线性关系来估算PPT,使用基于目的主机类型的预定恒定值来偏移所估算的PPT,和/或在多个多跳网络路径上估算PPT。所述PPT模块可以在不同网络路径条件下重复地传输所述复合探测并且估算PPT,或在高网络拥塞条件下重复地传输所述复合探测并且估算PPT。所述计算设备可以是网络管理服务器。另外,所述源主机和目的主机可以是用户端设备、工作站或服务器。
根据进一步的示例,描述了用于通过估算端链路容量测量端主机的数据包处理时间的、在其上存储有指令的计算机可读存储介质。当被执行时,所述指令可以引起方法被执行。所述方法可以包括从源主机向目的主机传输包括两个或多个数据包的复合探测,使得所述复合探测在每个主机处一旦被接收即被添加时间戳,和/或基于所述复合探测的时间戳值来估算所述数据包处理时间。
根据一些示例,所述方法可以进一步地包括从不同大小的复合探测中选择数据包,选择数据包大小来定义分散间隙的属性,或基于测量一个或多个探测数据包内间隙来估算端链路容量。可以基于时间戳值的比较来测量所述探测数据包内间隙。
根据另一些其他示例,所述方法还可以包括从探测数据包内间隙和各个复合探测数据包的数据包大小之间的线性关系来估算所述数据包处理时间,使用基于目的主机类型的预定恒定值偏移所估算的数据包处理时间,或在多个多跳网络路径上估算所述数据包处理时间。所述方法还可以包括在不同网络路径条件下重复地传输所述复合探测和估算所述数据包处理时间。可选地,所述方法可以包括在高网络拥塞条件下重复地传输所述复合探测和估算所述数据包处理时间。
在系统的多个方面的硬件实现和软件实现之间保留了极小的区别;硬件或软件的使用通常是(但并不总是,因为在一些背景下硬件和软件之间的选择会变得重要)表示成本相对于效率权衡的设计选择。存在各种可以影响(例如,硬件、软件和/或固件)本文所描述的过程和/或系统和/或其它技术的媒介物,并且优选的媒介物将随着部署处理和/或系统和/或其它技术的背景而变化。例如,如果实施者确定速度和精度重要,则实施者可以选择主硬件和/或固件媒介物;如果灵活性重要,则实施者可以选择主软件实现;或者,另外可选地,实施者可以选择硬件、软件和/或固件的一些组合。
前面的详细说明已经通过框图、流程图和/或示例阐述了设备和/或过程的各个实施例。在这些框图、流程图和/或示例包含一项或多项功能和/或操作的程度上,本领域技术人员将理解的是可以通过各种各样的硬件、软件、固件或几乎其任意组合来单独地和/或统一地实现这些框图、流程图或示例内的每项功能和/或操作。在一个实施例中,本文所描述的主题的多个部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成格式来实现。然而,本领域技术人员将理解的是,在本文公开的实施例的一些方面可以整体地或部分地等同地实现为集成电路、在一个或多个计算机上运行的一个或多个计算机程序(例如,实现为在一个或多个计算机系统上运行的一个或多个程序)、在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序)、固件、或几乎任何组合,并且根据本公开的内容,设计电路和/或编写用于软件和/或固件的代码将在本领域技术人员的技能范围内。
本公开不限于本文所描述的特定实施例,这些实施例意在为各方面的示例。能够在不偏离其精神和范围的情况下做出多种改进和变型,这对于本领域技术人员而言是显而易见的。通过前面的说明,除了本文所列举的那些之外,在本公开的范围内的功能上等同的方法和装置对于本领域技术人员而言将是显而易见的。此类改进和变型旨在落入所附权利要求书的范围内。本公开仅受所附权利要求书以及这些权利要是所给予权利的等同方案的整个范围所限制。应当理解的是,本公开不限于特定的方法、系统、部件,当然这些会变化。还应理解的是,本文所使用的术语是仅仅是为了描述特定实施例的目的,而不意在限制。
另外,本领域技术人员将理解的是,本文所描述的主题的机制能够以各种形式分布为程序产品,并且本文所描述的主题的示例性实施例适用,无论实际上用于实施分布的特定类型的信号承载介质如何。信号承载介质的示例包括但不限于以下:可记录型介质,诸如软盘、硬盘驱动器、压缩盘(CD)、数字通用盘(DVD)、数字带、计算机存储器等;以及传输型介质,诸如数字和/或模拟通信媒介(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。
本领域技术人员将认识到,用本文提到的方式来描述设备和/或过程并且此后使用工程实践来将这些描述的设备和/或过程整合到数据处理系统中是在本领域中是常见的。也就是说,本文描述的设备和/或过程的至少一部分可以通过合理量的实验被整合到数据处理系统中。本领域技术人员将认识到,典型的数据处理系统一般包括系统单元壳、视频显示设备、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、如操作系统、驱动器、图形用户界面和应用程序的计算实体、如触模板或屏幕的一个或多个交互设备、和/或包括反馈回路的控制系统中的一个或多个。
典型的数据处理系统可利用任何适合的商业上提供的部件来实现,诸如在数据计算/通信和/或网络计算/通信系统中常见的部件。本文所描述的主题有时说明了包含在不同的其它部件内的不同部件或与不同的其它部件连接的不同部件。应理解的是,这些所描绘的体系结构仅是示例性的,并且实际上可以实施实现相同功能的许多其它体系结构。在概念意义上,实现相同功能的任何部件的布置有效地“关联”,使得实现期望功能。因此,在此处组合以实现特定功能的任何两个部件可视为彼此“关联”,使得实现期望功能,无论体系结构或中间部件如何。同样,任意两个如此关联的部件还可视为彼此“可操作地连接”、或“可操作地耦合”以实现期望的功能,并且能够如此关联的任意两个部件还可视为彼此“能够可操作地耦合”以实现期望功能。能够可操作耦合的具体示例包括但不限于能够物理上可配合和/或物理交互的部件和/或能够无线交互和/或无线交互的部件和/或逻辑上交互和/或能够逻辑上交互的部件。
关于本文中基本上任何复数和/或单数术语的使用,本领域技术人员能够根据上下文和/或应用适当地从复数变换成单数和/或从单数变换成复数。为了清晰的目的,本文中明确地阐明了各单数/复数的置换。
本领域内技术人员将理解,一般地,本文所使用的术语,尤其是随附权利要求(例如,随附权利要求的主体)中所使用的术语,通常意在为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”,等等)。本领域技术人员还理解,如果意图表达引导性权利要求记述项的具体数量,该意图将明确地记述在权利要求中,并且在不存在这种记述的情况下,不存在这样的意图。例如,为辅助理解,下面的随附权利要求可能包含了引导性短语“至少一个”和“一个或多个”的使用以引导权利要求记述项。然而,这种短语的使用不应解释为暗指不定冠词“一”或“一个”引导权利要求记述项将包含该所引导的权利要求记述项的任何特定权利要求局限于仅包含一个该记述项的实施例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及例如“一”或“一个”的不定冠词(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引导权利要求记述项的定冠词的使用。另外,即使明确地记述了被引导的权利要求记述项的具体数量,本领字段技术人员将理解到这些记述项应当解释为至少表示所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或两个以上的记述项)。
此外,在使用类似于“A、B和C等中的至少一个”的惯用法的那些示例中,通常这样的构造旨在表达本领字段技术人员理解该惯用法的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。在使用类似于“A、B或C等中的至少一个”的惯用法的那些示例中,通常这样的构造旨在表达本领字段技术人员理解该惯用法的含义(例如,“具有A、B或C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。本领字段技术人员将进一步理解,呈现两个以上可选项的几乎任何分离词和/或短语,无论是在说明书、权利要求或附图中,都应理解为设想包括一项、任一项或两项的可能性。例如,术语“A或B”将理解为包括“A”或“B”或“A和B”的可能性。
另外,在根据马库什组(Markush group)描述本公开的特征或方面的情况下,本领域技术人员将理解的是本公开也因此以马库什组的任何独立成员或成员的子组来描述。
本领域内技术人员将理解的是,为了任何以及全部的目的,例如在提供所撰写的说明书方面,本文所公开的全部范围也涵盖了任何和全部的可能的子范围及其子范围的组合。能够容易地认识到任何所列范围都充分地描述了同一范围并且使同一范围分解成至少均等的一半、三分之一、四分之一、五分之一、十分之一等等。作为非限制示例,本文所论述的每个范围能够容易地分解成下三分之一、中三分之一和上三分之一,等等。本领域技术人员还将理解的是,例如“多达”、“至少”、“多于”、“少于”等所有的语言包括所记述的数量并且是指如上文所论述的随后能够分解成子范围的范围。最后,本领域技术人员将理解的是,范围包括每个独立的成员。因此,例如,具有1-3个单元的组是指具有1个、2个或3个单元的组。类似地,具有1-5个单元的组是指具有1个、2个、3个、4个、或5个单元的组,等等。
尽管本文已经公开多个方面和实施方式,其他方面和实施方式对本领域技术人员将显而易见。本文公开的多个方面和实施方式仅出于说明目的并且不旨在限制,真正的范围和精神由随附的权利要求表示。
Claims (20)
1.一种用以通过估算端链路容量来测量端主机的数据包处理时间的方法,所述方法包括:
从源主机向目的主机传输包括两个或多个数据包的复合探测;
使所述复合探测在每个主机处在被接收之后被添加时间戳;
基于一个或多个探测数据包内间隙与各个复合探测数据包的数据包大小之间的线性关系,来估算所述数据包处理时间,其中所述一个或多个探测数据包内间隙是基于时间戳值的比较来测量。
2.根据权利要求1所述的方法,进一步地包括:
选择所述复合探测中不同大小的所述两个或多个数据包。
3.根据权利要求2所述的方法,进一步地包括:
选择所述两个或多个数据包大小来定义分散间隙的属性。
4.根据权利要求1所述的方法,进一步地包括:
使用基于所述目的主机类型的预定义恒定值来偏移所估算的数据包处理时间。
5.根据权利要求1所述的方法,进一步地包括:
在不同网络路径条件下重复地传输所述复合探测和估算所述数据包处理时间。
6.根据权利要求1所述的方法,进一步地包括:
在高网络拥塞条件下重复地传输所述复合探测和估算所述数据包处理时间。
7.一种用于通过估算端链路容量来测量端主机的数据包处理时间的计算设备,所述计算设备包括:
通信模块,所述通信模块被配置为在一个或多个网络上与多个其他计算设备通信;
存储器,所述存储器被配置为存储计算机程序;和
处理器,所述处理器被配置为执行数据包处理时间估算模块,其中,所述数据包处理时间估算模块被配置为:
从源主机向目的主机传输包括一串探测数据包的复合探测;
使所述探测数据包在每个主机处在被接收之后被添加时间戳;
基于一个或多个探测数据包内间隙与各个复合探测数据包的数据包大小之间的线性关系,估算所述数据包处理时间,其中,基于时间戳值的比较来测量一个或多个探测数据包内间隙。
8.根据权利要求7所述的计算设备,其中,所述数据包处理时间估算模块被进一步地配置为:
选择探测数据包大小来定义分散间隙的属性。
9.根据权利要求7所述的计算设备,其中,所述数据包处理时间估算模块被进一步地配置为:
基于一个或多个探测数据包内间隙的测量来估算所述端链路容量。
10.根据权利要求7所述的计算设备,其中,所述数据包处理时间估算模块被进一步地配置为:
使用基于所述目的主机类型的预定义恒定值来偏移所估算的数据包处理时间。
11.根据权利要求7所述的计算设备,其中,所述数据包处理时间估算模块被配置为:
在多个多跳网络路径上估算所述数据包处理时间。
12.根据权利要求7所述的计算设备,其中,所述数据包处理时间估算模块被配置为:
在不同网络路径条件下重复地传输所述复合探测和估算所述数据包处理时间。
13.根据权利要求7所述的计算设备,其中,所述计算设备是网络管理服务器。
14.根据权利要求7所述的计算设备,其中,所述源主机和目的主机是用户端设备、工作站或服务器中的一个。
15.一种在其上存储有用以通过估算端链路容量来测量端主机的数据包处理时间的计算机程序的计算机可读存储介质,所述计算机程序响应于执行而使得方法被执行,其中,所述方法包括:
从源主机向目的主机传输包括两个或多个数据包的复合探测;
使所述复合探测在每个主机处在被接收后被添加时间戳;
基于一个或多个探测数据包内间隙与各个复合探测数据包的数据包大小之间的线性关系来估算所述数据包处理时间,其中所述一个或多个探测数据包内间隙是基于时间戳值的比较来测量。
16.根据权利要求15所述的计算机可读存储介质,其中,所述方法进一步地包括:
选择所述复合探测中不同大小的两个或多个数据包。
17.根据权利要求15所述的计算机可读存储介质,其中,所述探测数据包到达所述目的主机时具有零分散间隙,并且所述方法进一步地包括:
基于一个或多个探测数据包内间隙的测量来估算所述端链路容量。
18.根据权利要求15所述的计算机可读存储介质,其中,所述方法进一步地包括:
使用基于所述目的主机类型的预定义恒定值来偏移所估算的数据包处理时间。
19.根据权利要求15所述的计算机可读存储介质,其中,所述方法包括:
在多个多跳网络路径上估算所述数据包处理时间。
20.根据权利要求15所述的计算机可读存储介质,其中,所述方法包括:
在高网络拥塞条件下重复地传输所述复合探测和估算所述数据包处理时间。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/062586 WO2014070143A1 (en) | 2012-10-30 | 2012-10-30 | Measurement of packet processing time of end hosts through estimation of end link capacity |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104782079A CN104782079A (zh) | 2015-07-15 |
CN104782079B true CN104782079B (zh) | 2018-08-07 |
Family
ID=50547100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280076734.7A Expired - Fee Related CN104782079B (zh) | 2012-10-30 | 2012-10-30 | 通过估算端链路容量来测量端主机的数据包处理时间 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9118557B2 (zh) |
CN (1) | CN104782079B (zh) |
WO (1) | WO2014070143A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10181994B2 (en) * | 2012-12-18 | 2019-01-15 | Koninklijke Kpn N.V. | Probing a network |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133368B2 (en) * | 2002-02-01 | 2006-11-07 | Microsoft Corporation | Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same |
US8170022B2 (en) * | 2006-07-10 | 2012-05-01 | Cisco Technology, Inc. | Method and apparatus for actively discovering internet protocol equal cost multiple paths and associate metrics |
CN101197647A (zh) * | 2006-12-13 | 2008-06-11 | 四川川大智胜软件股份有限公司 | 多通道实时三维视景渲染显示方法 |
US8441930B2 (en) | 2009-12-21 | 2013-05-14 | Microsoft Corporation | Estimating communication conditions |
US8914537B2 (en) * | 2012-08-07 | 2014-12-16 | Intel Mobile Communications GmbH | Methods and apparatuses for rate adaptation of quality of service based application |
-
2012
- 2012-10-30 CN CN201280076734.7A patent/CN104782079B/zh not_active Expired - Fee Related
- 2012-10-30 WO PCT/US2012/062586 patent/WO2014070143A1/en active Application Filing
- 2012-10-30 US US13/882,687 patent/US9118557B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN104782079A (zh) | 2015-07-15 |
WO2014070143A1 (en) | 2014-05-08 |
US9118557B2 (en) | 2015-08-25 |
US20140119215A1 (en) | 2014-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9294944B2 (en) | Method and apparatus to monitor and analyze end to end flow control in an Ethernet/enhanced Ethernet environment | |
US10230599B2 (en) | System and method for network traffic profiling and visualization | |
Luckie | Scamper: a scalable and extensible packet prober for active measurement of the internet | |
Kandula et al. | The nature of data center traffic: measurements & analysis | |
Wei et al. | Continuous-time hidden Markov models for network performance evaluation | |
JP4854078B2 (ja) | 注釈付きネットワーク・トポロジを生成する方法、システム、及びプログラム | |
CN110247784A (zh) | 确定网络拓扑结构的方法和装置 | |
Lin et al. | Netview: Towards on-demand network-wide telemetry in the data center | |
JP6293283B2 (ja) | ソフトウェア定義ネットワークにおけるオフラインクエリ | |
Liao et al. | An efficient and accurate link latency monitoring method for low-latency software-defined networks | |
US9501093B2 (en) | Measurement of clock skew between two remote hosts connected through computer networks | |
CN108199913A (zh) | 一种实现时延测试的方法及设备 | |
EP3935816A1 (en) | Breaking down the load time of a web page into coherent components | |
CN104782079B (zh) | 通过估算端链路容量来测量端主机的数据包处理时间 | |
CN103532931B (zh) | 数据流传输性能的测试方法、服务器及测试系统 | |
Prokkola | Opnet-network simulator | |
Roughan | A case study of the accuracy of SNMP measurements | |
US20220337502A1 (en) | Systems and methods for net neutrality testing | |
US9069052B2 (en) | Determining the physical location of a client | |
Qian et al. | dDrops: Detecting silent packet drops on programmable data plane | |
Momeni et al. | Partov: a network simulation and emulation tool | |
Ford | Workshop report: reducing internet latency, 2013 | |
Hayes | Scalability and Performance Considerations for Traffic Classification in Software-Defined Networks | |
Vishwanath et al. | Wide-Area experiments with LambdaStream over dedicated high-bandwidth networks | |
Hughes-Jones et al. | High data rate transmission in high resolution radio astronomy—VlbiGRID |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180807 Termination date: 20191030 |