设备或网络的远程动态测试方法

文档序号:7666921阅读:224来源:国知局
专利名称:设备或网络的远程动态测试方法
技术领域
本发明通常涉及联网和通信技术,尤其是涉及测试网络和其中的设备的方法。
背景技术
通信网络在今天被广泛地使用;网络的种类包括互联网、广域网(WANs)、局域网 (LANs)、电话网络和无线网络。网络监控和测试的重要性以及对有关方法和设备的需要正在增长。网络测试的一个具体方面是,当例如数据包发生器的测试设备将测试业务注入被测设备或进入被测试网络的一部分时的动态测试。传统的测试设备支持多个协议,其中它们可以产生业务。因此,测试设备不得不被布置成利用这些协议来工作;该测试设备应当包括与每一个被支持协议有关的数据。这增加了设备的复杂性,这样可增大它们的尺寸和处理时间,这是不希望的。此外,这种复杂性增大了制造测试设备所需要的时间和资源。在不断变化的环境中,测试设备将经常被更新,以确保能测试包括最近协议的全部协议。测试设备的该更新或者甚至替换是不方便的,并与成本相关。因此期望测试设备能产生新的协议格式的数据流包,而该新协议是该测试设备所并未配置的且不知道的。于2003年12月4日公布,Elliott等人的U. S.专利申请20030223376,以及于 2004年10月21日公布,Old等人的U. S.专利申请200402081 代表了用于网络动态测试的传统系统。在这种系统中,测试数据发生器产生包括与不同的网络服务相关的多个数据流的业务。通过网络被传输,然后通过另一设备接收业务,并根据对所产生的业务的知识来评估传输质量。用于测试通信设备或网络的一部分的传统设备被直接连接至监控器端口或无源网络抽头(passive net work tap)的开关或元件处。换句话说,应局部生成测试业务载荷, 接近被测试网络,否则测试结果将受到被测设备(DUT)和测试设备之间的链路上的网络环境的影响。因此用于动态测试比如网络分析器的传统设备将被经常地移动,这是不方便和昂贵的,或者在网络上的多个位置处被连接,考虑到用于多个协议的动态测试的设备的复杂性,这是成本所不允许的。因此,需要减轻上述的缺点,并提供用于动态测试通信网络或其中设备的新颖方法和系统。

发明内容
本发明提出一种方法用于被测设备或网络的远程动态测试。该方法包括在远程测试系统处,生成被时间间隔分开的测试包部分,封装测试包部分,因此形成封装包,并添加定时信息至封装包,从而保存测试包部分和涉及时间间隔的信息;通过传输网络从远程测试系统将封装包传输至本地测试设备;在本地测试设备处,解封(decapsulating)封装包,从而获得重放(r印lay)包和定时信息,其中重放包包括测试包部分;以及,从本地测试设备传输被时间间隔分开的重放包至被测通信设备或网络,其中时间信息用于复制时间间隔,以模拟在远程测试系统处生成的测试包的数据流。本发明的另一方面提供一种测试被测通信设备或网络的方法。该方法包括在本地测试系统处,(i)经由传输网路从远程测试系统接收封装包,(ii)从封装包中抽取时间信息,(iii)对封装包解封装以获得测试包部分,以及(iv)形成重放包,其中重放包包括测试包部分;以及,从本地测试设备传输重放包至被测通信设备或网络,其中通过时间间隔分开重放包,以模拟通过远程测试系统处产生的测试包,并且其中利用定时信息复制时间间隔。本发明的又一方面提供一种测试装置,包括包输入接收器,用于接收来自网络的封装包;包阅读器,用于从封装包抽取定时信息,用于对封装包解封以便获得测试包,以及用于以FIFO队列布置测试包;包控制器,用于阅读来自FIFO队列的测试包和依据定时信息将测试包写入去抖动缓冲器,用于去抖动缓冲器的存储器,用于存储重新排序的测试包;以及,包输出发生器,用于对目标设备提供测试包,其中利用定时信息复制测试包之间的时间间隔。


下面将参考代表其中的优选实施方式的附图更详细地描述本发明,其中图1是用于远程测试设备或网络的测试系统的示意图;图2是远程测试设备或网络的方法的流程图;图3是测试重放设备的示意图;图4是测试重放设备的结构示意图;图5是测试在本地测试设备处执行的设备或网络的方法的流程图;图6是用于监控网络中业务的网络测试系统的示意图;图7是监控数据包业务的方法的流程图;图8是监控数据包业务的方法的流程图;以及,图9是用户的网络中的IPD通信流和命令元件的语境的示意图。
具体实施例方式参考图1,测试系统包括远程测试系统510和比如探针512或探针502到504的一个或多个本地测试设备;远程测试系统510通过传输网络112与本地测试设备通信,所述传输网络可以是任一种数据包网络。探针512和探针502到504可互换。在图1中示出的系统中,探针在它们用途方面有所不同探针512与被测通信设备(DUT)514连接;探针502 到504与被测网络101连接。远程测试系统510产生测试包,该测试包通过传输网络112被传送至例如本地测试设备512,并从那里重放至被测设备514 ;测试包被封装,并在封装包中保存它们的时间。 在本地测试设备512处,对封装包解封;根据从封装包中重新得到的时间戳重新存储测试包的顺序和包间的时间间隔。
被测网络101与传输网络112可以是同一个网络,或另一网络。远程测试系统510可被规则地更新,以结合另外的测试结构和协议。有利地,比如探针512的本地测试设备不需要存储涉及被测试协议的测试结构和信息。换句话说,本地测试设备是独立于协议以及与测试结构无关。因此,当需要测试新的协议或执行新的测试时,本地测试设备不需要更新。此外,封装允许减轻与通过网络112的传输测试包相关的延迟和抖动。因此以这种方式进行远程测试可使连接数据包始发者和被测设备的网络是透明的,并且不影响测试业务。封装保存测试包的头部,例如目的地地址,其已被布置用于通过远程测试系统510 的具体测试。测试包通过网络112没有变化地被传输,而当数据包没有封装通过网络被常规传送时发生变化。图2是DUT514或网络101的测试方法的流程图。在业务生成步骤520中,远程测试系统510生成测试包或通过时间间隔分开的测试包部分。测试包可以是包括头部和帧检查顺序的完全和整个形成的包,或者可以是不完全的包部分。测试包部分的例子仅包括头部,故意截去的包,比如短帧(runts),其中不填充地址字段的完全形成的包,以及包括头部和净荷的一些部分的切片包。它可用于发送测试包部分,以减小上行数据流网络带宽利用。在下文中,术语“测试包”和“测试包部分 (portions of test packets) ”被可互换地使用,并且包括具有非零长度,达到以及包括整个包的任何部分。 生成的测试包之间的时间间隔可以是周期性或非周期性的间隔。在封装步骤512过程中,测试包部分被封装,因此形成被封装包,从而保存测试包部分。比如时间戳和任意定序信息的时间信息被添加至封装包,从而保存涉及时间间隔的信息。该时间信息可以指示产生的包的数据流中期望的测试时间;例如当发送包至被测系统时,发送包多少次,以及什么将是时间间隔。任意地,在封装之前,测试包被分段和/或加
Γ t [ O传输步骤522包括将封装包通过传输网络112从远程测试系统510传输至本地测试设备512或502 ;在本地测试设备处执行解封步骤524,或者用于测试DUT514的探针512,或者在用于测试网络101的探针502处。解封步骤5M包括解封封装包,以获得重放包和定时信息, 优选时间戳,其中重放包包括测试包部分。如果在封装步骤512中已被分段和/或加密,解封步骤5M任意地包括解密和/或重装测试包。本地测试步骤525包括从本地测试设备512至被测通信设备514传输通过时间间隔分开的重放包,或从本地测试设备502进入被测网络101。时间戳被用于复制时间间隔, 从而模拟在远程测试系统510处生成的测试包的数据流。当不完全的测试包部分被传输至被测设备或网络时,通过本地测试设备可以添加包中丢失的信息。例子包括插入有效的源和目的地地址,以用于分段将被传输的测试包,对包添加封装,因此它可以在网络上被路由,添加随机或定义的净荷字节,以将包做成期望的长度,或者计算和插入有效的包的检查和以及帧检查顺序至数据包。此外,它可用于不添加数据地发送测试包部分至数据包。这可用于当数据包被破坏时的否定测试和网络上的误差环境。
远程控制系统510包括包发生器和封装器。包发生器允许建立用户包或选择在通信网络上将被生成的预先定义的包。系统510的包发生器和封装器可被单独地实施或在同一个设备中被实施。在前者的情况中,比如JDSU J6800网络分析器,Spirent TestCenter, Ixia IX load或类似的设备的传统的商业上可利用的数据包发生器可以用于将包提供给封装器。可以以软件和硬件的组合实施封装器,比如特定用途集成电路(ASIC),现场可编程门阵列(FPGA),网络处理器,比如具有集成的ARM的FPGA或微处理器的芯片上的系统,复杂可编程逻辑装置(CPLD),可擦除可编程逻辑装置(EPLD),简单可编程逻辑装置(SPLD), 或者宏单元阵列。封装包可以具有下面的通用形式网络封装,其可以包括TCP/UDP头部,命令和控制头部,测试包。网络封装包括对应于向上引导至TCP (或UDP)层的网络上使用的协议的一个或多个头部。一个例子将是Khernet/IP。该网络封装可以包括虚拟局域网(VLAN),多协议标签切换(MPLS),普通路由封装(GRE),或者任何其它路由或隧穿协议。TCP/UDP头部。被传输至本地测试设备的封装包通过TCP被传送,以允许可靠的传输。任意地,传输可以是UDP,其是不可靠的传输。在封装步骤521过程中形成命令和控制(CC)头部(图幻。该CC头部包括定时信息,例如指示在包发生器处产生测试包时的时间戳。该CC头部可以包括序号,本地测试设备的标识号,包长度等。测试包是在远程测试系统510中的发生器处产生的包,用于测试DUT514或被测网络101。该测试包可被加密;它在几个封装包中可被分段和封装;也可能仅原始测试包的片段(部分)被封装,并传送至本地测试设备;否则,测试包是不能改变的。通过例子,测试包可以包括在远程测试系统510处生成的测试包的Khernet头部。参照图3,本地测试设备512和502到504可以包括接收来自网络112的封装包 405的包输入接收器410,包阅读器/解析器420,其抽取比如时间戳和任意序号的定时信息,并对封装包解封,从而获得测试包。本地测试设备进一步包括用于分配FIFO队列430的存储器,其中阅读器420布置测试分包。包控制器450从FIFO队列430读出测试包,利用在测试设备的存储器中被分配的去抖动缓冲器440重排包,并且依据定时信息提供测试包给包输出发生器460,以用于发送重放包至目标设备或网络,在这种情况中,DUT514或任何设备被直接连接至本地测试设备的输出端口。可以以软件和硬件的组合执行上面的元件,比如特定用途集成电路(ASIC),现场可编程门阵列(FPGA),网络处理器,比如具有集成的ARM 的FPGA或微处理器的芯片上的系统,复杂可编程逻辑装置(CPLD),可擦除可编程逻辑装置 (EPLD),简单可编程逻辑装置(SPLD),或者宏单元阵列。此外,本地测试设备512和502到 504可以包括没有在图3中示出的解密元件和整理碎片元件。本地测试设备充当保存远程准备用于测试的测试包的最初数据流的定时的测试重放设备。图4描述了比如本地测试设备512和502到504的测试重放设备的体系结构。 NICl和NIC2是单独的网络接口卡(NIC)或同一个NIC上的单独端口。从而使包重放再也不出现在接收包供给的同一个端口上。重放应用包括两个线程(threads)和共用包去抖动缓冲器。主应用通过用户接口(Ul)管理布置。它也生成,布置,运行和停止系统中的全部其它目标。执行顺序如下应用和记录的初始化;具有命令行的记录起始时间;语法分析,验证命令行参数;执行命令行参数特定初始化,包括生成包FIFO和去抖动缓冲器;例示/初始化包供给阅读器/解析器& 包重放线程,以及等待将被打印至控制台的状态信息或用于切断的信号。由于封装包横越网络地到来,可以确定,供给中的包将具有一些抖动地到达。换句话说,包横越传输网络112所花费的时间对于全部的包将不相同。尽管可以接近,但在传输时间方面常常存在一些差别,所述传输时间在这里被称作抖动。由于重放是定时灵敏的,为了保持原始包间隔时间,必须具有一些缓冲来允许抖动被去除;因此,重放设备具有去抖动缓冲器。包供给阅读器/解析器线程如下工作根据布置,打开用于UDP或TCP供给的插座;拜访用于来临的包的插座;如果切断来自主应用的信号,离开线程。该线程抽取原始包净荷,并依据头部中的时间戳以时间顺序将它排队进入包FIFO。如果包被分段,在这里必须出现重装。线程插入原始净荷加上象时间戳和序号的有关信息进入包FIFO ;然后发信号重放线程,并等待更多即将到来的包。包重放线程(Packet Playback Thread)如下工作打开NIC2上的RAW传输接口,以用于传输具有它们的最初帧检查顺序(FCS)字段的包。等待来自包供给阅读器或来自睡眠计时器的信号。第一个包到达基本开始去抖动缓冲时间。如果定时器终止信号。获得来自队列前端的包并且在NIC2上传输它,等待更多即将到来的包;如果信号来自包阅读器线程,得到来自包FIFO的头部的包。如果这是第一个包,在去抖动缓冲器中排列该包,对于去抖动缓冲器的深度而设置睡眠计时器,等待更多即将到来的包。查看新的包的时间戳。如果新的包的时间戳早于当前时间,然后包到达的太晚,并且去抖动缓冲器太小, 放弃该包,并等待更多即将到来的包。如果新的包的时间戳等于当前时间,传输OTC2上的包;等待更多即将到来的数据包。如果新的包的时间戳大于当前时间,包需要被更晚地传输。将包排队至去抖动缓冲器的头部。调解睡眠定时器以在包将被传输时醒来。等待更多即将到来的包。如果新的包的时间戳晚于队列的头部,以时间顺序排队该包进入去抖动缓冲器; 等待更多即将到来的数据包。如果从睡眠定时器接收信号,使来自去抖动缓冲器头部的包出列,并通过NIC2传输它;设置睡眠定时器,以在去抖动缓冲器中的下一个包将被传输时醒来;等待更多即将到来的数据包。可以以存储于通过一个或多个处理器来来执行的有形媒介上的一组指令来实施前述的重放算法。上面方法的优点包括时间以及设置感兴趣的数据供给所需的源的减小,因为这可以在用户的位置处有效地做到,不需要直接访问远程位置处的设备;这种布置不需要附加的元件端口或网络/元件布置。该解决方案是网络-元件不可知论,这意味着用户不需要在多个元件特征或用于存取数据的操作系统方面熟练。对来自单独位置的多个测试点的同步访问允许测试工具的减小/局部化投资。利用精确的定时和定序复制数据流,从而使测试工具得到数据的接近实时的复制,这导致更早的分析和问题解决。许多网络工具具有受限的媒体连接选项,而网络中的点可以具有各种媒体类型。该方法解决了对来自一个或多个远程位置的感兴趣数据的远程访问的问题,具有过滤远程数据和以绝对定时和定序局部重放它的能力,所述绝对定时和定序将校正在从远程位置传输的过程中出现任何传输定时或定序损伤。本地测试设备512和502到504可以利用各种时间同步协议,比如网络时间协议 (NTP)或IEEE1588,或者比如GPS的其它时间同步方法,以便同步横越多个本地测试设备的时间,从而同步经由多个探针502到504被抽取进入被测网络101的测试包的数据流。本地测试设备512和502到504可以与远程测试系统510通信,例如通过利用在US 专利7,336,673中描述的技术,其包括通过将包插入高带宽包数据流而形成低带宽信道。图5描述了在比如本地测试设备(探针)502和512到514的本地测试设备处执行的方法。接收步骤530包括经由传输网络112接收来自远程测试系统510的封装包。时间戳步骤532包括从封装包抽取时间戳。在解封步骤534中,解封封装包,以获得测试包部分。该解封步骤534可以包括解密,如果测试包部分已经被加密,以及重装测试包,如果在封装之前它们已被分段。在重放包步骤536中,形成重放包以包括测试包部分。在仅例如头部的不完全包已被封装并通过网络112被传送的情况中,在本地测试设备512或502处,重放包可被扩展,以具有通过协议规定的全部字段和长度。在其中包被扩展超过被封装的头部的情况中, 命令和控制头部提供字节的长度和任何图案,以对包增补来获得它期望的尺寸;有效帧检查顺序(FCQ字段也可被添加至包中。测试业务传输步骤538包括从本地测试设备传输重放包至被测设备或网络。本地测试设备512可以传输重放包至被测通信设备514,以及本地测试设备502到504-至被测网络101。重放包被时间间隔分开,从而模拟在远程测试系统510处起源的测试包,并且其中利用时间戳复制时间间隔。为了最小化在网络上需要的IP地址的总数,本地测试设备512和502到504可不被赋予唯一的IP地址。然而,测试系统可以执行与这种未编址设备通信的方法。此外,远程测试系统510可以与本地测试设备512通信,因为它未编址,所以不管本地测试设备是否具有网络地址还是不具有,都有效地使它为未编址设备。远程测试系统510可以通过网络112发送被封装的测试包至未编址的设备512, 其中被封装的包的目的地地址是下游设备的网络地址,所述下游设备相对于远程测试系统 510位于本地测试设备512的下游。优选地,全部封装包具有相同的目的地地址,从而最小化包路由之间的差别。然而,可以使用几个下游设备的地址。未编址测试设备包括识别码,所述识别码用于确定通过未编址设备接收的包是否打算至该具体设备或对于该具体设备是否感兴趣。该未编址内嵌测试设备在可配置的协议头部语法分析程序的帮助下检查每一个接收的包。根据头部中的信息和净荷,未编址内嵌网络测试设备识别被指定给该设备的信息。当包被识别为具有被指定给该测试设备的信息或具有对于该测试设备感兴趣的信息时,抽取和处理该信息,并且测试设备解封试图在通信网络上传输的净荷。用于通过将包插进高带宽包数据流而形成低带宽信道的在US专利7,336,673中描述的技术可以用于将被解封的测试包插进通信网络。参照图6,用于监控网络101中的业务的网络测试系统包括智能包导向器 (IPD) 100和间介器120,任意地,该系统可以包括路由引擎150。该网络101可以是任何种类的包网络。在网络入口点130处连接智能包导向器100至网络101,以用于捕获通过那里的业务包,或者至少部分包,例如头部。在下文中,术语“业务包”和“业务包部分”可交换地使用,并包括具有非零长度,一直到和包括整个包的任何部分。分开业务包的时间间隔可以是非周期性的时间间隔。IPD100可以捕获通过那里的全部包,或者可以应用过滤器,从而仅获得特别的包例如通过字节图案,目的地或协议选择出的。IPD100执行封装捕获的业务包,从而形成被封装包。封装是必须的,以便保存捕获的数据和通过网络112没有改变地传输它至不同的位置,所述改变比如对于目的地地址字段的改变,其在包通过网络没有封装地被常规发送时出现。该网络112可以是其中包被捕获的同一个网络101或另一网络。IPD100可以是在能够通过通信网络进行信息通讯的一个或多个元件之间插入内嵌的测试设备。该IPD100可以利用各种时间同步协议,比如网络时间协议(NPT)或 IEEE1588,或者任何其它时间同步方法,比如GPS,以便同步横越多个测试设备的时间。 IPD100包括需要在内嵌子信道上通信数据包需要的信息。该IPD100监控通过那里的业务, 并选择性或非选择性地复制业务。对于选择性的复制,该IPD100可以具有用于选择一些通过包的存储于其中的规格。该IPD100检查包括在通过它的网络包中的数据。可配置的协议头部语法分析程可以用于IPD100,以便识别和检查已知和未知的协议头部。当IPD100识别包符合特别的标准,复制该包或它的部分,标记时间,并存储于弹性缓冲器中。该IPD100 构造封装包,该封装包包括定时信息,比如时间戳和任意排序的信息,并利用存储于存储器中的地址响应。该IPD100可以利用在US专利7,336,673中描述的技术来通过将包插进高带宽包数据流而形成低带宽信道。如上面讨论的,通过拷贝一些业务包给附加的输出端口,网络节点可以充当探针; 该探针可以具有IPD能力。可替代地,IPD100可以是单独的装置,或者具有网络地址,或者未编址的网络设备。IPD100添加时间戳给封装包,从而保存涉及时间间隔的信息。任意地,比如序号的顺序信息可被添加给封装包。利用传统的加密方法可以加密捕获的数据。被添加给捕获的包的封装部分的时间戳被称作“捕获时间戳”,因为它们表示当每一个包被IPD100捕获时的时间。捕获时间戳不同于在捕获之前已经存在于包中的时间戳, 比如实时传输协议(RTP)时间戳或MPEG解码时间戳(DTS)以及表示时间戳(PTS);这些预先存在的时间戳被保存作为捕获的包的一部分,所述捕获的包被封装,从而不改变地传输至远程设备。
捕获数据和封装的过程导致当数据被捕获时的时刻与捕获时间戳被添加给封装包之间的延迟。然而,延迟是非常小的,并且从包至包基本上相同。当恢复包间间隔阂并重放包时,系统地延迟不呈现问题。IPD100通过网络112传输封装包至间介器120。图6示出了作为两个单独的网络的网络112和101。通过例子,两个网络中的一个可以是无线网络,并且另一个是有线(光学或电)网络。IPD100和间介器120可经由宽域网(WAN)连接;可以使用路由引擎150从多个IPD设备路由封装包至比如在图6中示出的间介器120的一个或多个间介器设备。间介器(mediator) 120,也被称作包传送门(PDG) 120,被连接至与IPD100连接的同一个网络112,并通过网络112接收来自IPD100的封装的包;网络112可以是其中捕获业务包的同一个网络101。PDG可以是独立的元件或者可以以软件执行,比如虚拟网络接口控制器(NIC)或安装在通用或专用计算机上的网络驱动器接口规格(NIDQ驱动器。间介器120抽取捕获时间戳并解封封装包,并重装它们,如果它们已被横越多个包地分段,从而获得原始包,或者已经被IPD100捕获的包部分。间介器120利用该被解封的数据来形成与在探针100处所获得的业务包相同的重放包。在仅例如头部的不完全包已被封装并通过网络112从IPD100发送至间介器120 的情况中,在间介器120处,重放包可被扩展,从而具有通过协议预先描述的全部字段和长度;有效帧检查顺序(FCQ字段也可被添加至包中。间介器120传输重放包至目标设备140,例如网络分析器,比如Wireshark。该重放包被与在探针100处被捕获的对应业务包相同的时间间隔分开,其中时间戳用于复制时间间隔,以模拟通过入口点130的业务包。序号可以用于识别丢失的数据和对解封之前接收的封装包定序,并因此补偿 IPD100和间介器120之间路径上的任何抖动或错误定序。在IPD100处可以加密捕获的数据,并在间介器120处解密,以确保通过公用网的传输;可以使用多种传统的加密算法。间介器120可以接收在几个探针处捕获的被封装的包,所述几个探针例如在图6 中示出的探针103和104。除了从远程源接收被封装的包之外,间介器120可以接收和缓冲来自本地源的包。间介器120可以合并全部接收的数据流,并利用来自捕获时间戳的精确定时重放它们,从而使目标设备140从网络中的多个点接收时间对准的数据流。如果探针 100,103和104被同步,多个数据流可以用于测量网络中不同点之间的延迟。参照图7,监控包业务的方法包括捕获步骤210,所述捕获步骤210包括捕获通过时间间隔分开的通过那里的业务包的部分,以及封装步骤22,所述封装步骤22包括封装业务包的部分,因此形成封装包,并添加时间戳和任意序号和/或附加的包规格至被封装的包,从而保存业务包部分和涉及时间间隔的信息,在第一入口点处执行步骤210和220。该方法也包括传输步骤230,其中通过网络112传输被封装的包,所述网络112可以是被监控的网络101或另一网络。在已从网络112接收被封装的包之后,它们在解封步骤240中被解封,从而获得重放包和捕获时间戳,其中重放包包括业务包部分。在重放步骤250中,被时间间隔分开的重放包被传输至包分析设备;时间戳用于复制包间时间间隔;并且序号可以用于识别丢失的包。因此,在分析设备处接收的数据流模拟通过其中保存包间间隔的第一入口点的业务包。任意地,如果包被确定为被丢失,间介器120可以产生替代丢失的包的识别包,以便识别它的丢失。图8描述了通过远程设备监控通过第一入口点的业务包的方法;在间介器120处执行该方法,并包括下面的步骤接收用于提供在第一入口点处被捕获的业务包部分给远程设备的请求,信息请求步骤310 ;向间介器登记PRE或IPD,从而接收在第一入口点处被捕获的业务包部分,登记步骤 320 ;从PRE或IPD通过网络接收被封装的包,接收步骤330 ;从被封装的包抽取时间戳,抽取步骤340 ;解封被封装的包,从而获得在第一入口点处被捕获的业务包部分,解封步骤350 ;形成重放包,其中重放包包括业务包部分,重放包步骤360 ;以及,从间介器传输重放包至远程设备,其中重放包被时间间隔分开,从而模拟通过第一入口点的业务包,并且其中利用时间戳复制时间间隔,传输步骤370。参照图3,间介器140包括接收来自网络112的被封装的包405的包输入接收器 410,抽取时间戳和任意序号和包规格,并解封包的包阅读器/解析器420。间介器140进一步包括用于分配FIFO队列430和去抖动缓冲器440的存储器元件,包控制器450,以及包输出发生器460,所述包输出发生器460用于提供重放包给目标设备,如参照测试设备512 和502至504在上面讨论的。可以以软件和硬件的组合实施上面的元件,比如特定用途集成电路(ASIC),现场可编程门阵列(FPGA),网络处理器,比如具有集成的ARM的FPGA或微处理器的片上系统,复杂可编程逻辑装置(CPLD),可擦除可编程逻辑装置(EPLD),简单可编程逻辑装置(SPLD),或者宏单元阵列。IPD可被内嵌安装边缘设备,象开关,路由器,数字用户线路入口多路复用器 (DSLAMs),宽带远程访问服务器(BRAk),线缆调制解调器终端系统(CMT&),光学线路终端(OLTs),以及以太网节点Bs。IPD可被安装在布置传统的小波形因数可插入(SFP)收发器的任何地方。IPDs可被指示以查看在链路上通过的全部帧和基于每一个数据包执行匹配的过滤器逻辑。当匹配出现,如果需要,IPD析去来自拷贝的数据,并构造封装拷贝的结果包。被封装的包可以包括整个原始包或它的部分,例如头部或被截数据。被封装的包可被赋予间介器120或路由引擎150的目的地地址。在一个实施例中,被封装的包被赋予包路由引擎(PRE) 150的目的地地址,然后被插进通信子信道,以获得至包路由引擎(PRE) 150的它们的路线。包路由引擎(PRE) 150被赋予一组IPD设备,以对来自那些设备的被封装的包讲话和接收来自那些设备的被封装的包。包路由引擎150处理被封装的包以用于指定目标应用,并发送它们至合适的终端用户应用,例如中心局处。终端用户应用利用PDG软件或驱动器来解封原始捕获的包。如果期望,可以从PRE150发送被封装的包至多个目标。间介器120可被经由在图 9中示出的系统管理器160登记多个包路由引擎,以用于各个被封装的包宽网络的接收。当接收被路由的被封装的包时,PRE或系统管理器进行它的分析预处理,并转换原始包数据成报告或用于其它用途或分析。通过允许/禁止其他过滤器和/或通过打开的应用编程集成接口(API)供给可替代的源和目的地地址给包路由引擎150,用户应用也可以动态地指示系统管理器改进IPDs监控。在PDG120处接收的被封装的包可以具有下面的通用形式网络封装,TCP/UDP头部,命令和控制头部,原始包。网络封装是对应于一直引导到TCP (或UDP)层的网络上使用的协议的一个或多个头部。一个例子是肚hernet/IP。网络封装可以包括e VLAN,多协议标记切换(MPLS),一般路由封装(GRE),或任何其他路由或隧穿协议。TCP/UDP头部。被传输至PDG的包净荷基于TCP被传送,以允许可靠的传输。任意地,传输可以是UDP,其是不可靠的传输。在封装步骤220过程(图7)中形成命令和控制(CC)头部。该CC头部包括捕获指示在发送它的IPD处捕获原始包时的时间戳。该CC头部可以包括序号,捕获业务或具体包的规格,IPD识别码,包长度等。原始包是如通过IPD捕获的的业务包。原始包在几个封装包之间可被分段,和/ 或仅是原始包的片断(部分);另外捕获的包是不能改变的。通过例子,原始包部分可以包括被捕获的包的Khernet头部。图9示出了业务监控系统的基础分布配置。IPDslOO通常被插进边缘处的路由器, DSLAMs和OLTs,但可被贯穿服务供应商的网络使用。包路由引擎(PRE) 150通常位于生产和返回信程网络之间的客户网络上,并充当命令代理以及结果路由器,以便终止应用,象Wireshark,Snort,下一生成网络分析系统 (NGNAS),在 U. S.专利 No. 7,688,754 中公开的 Triple Play Analyzer (TPA),第三方工具 (3rd party tools)等,可以用于分析或测量网络包或数据;这种工具包括协议分析器,服务质量(QoQ监控器,信令分析器,安全应用,指令检测系统,合法截取应用,辩论,性能和响应时间测量以及其他网络监控和故障诊断工具。它们为IPD以及从滤波操作捕获的结果包提供用于全部命令和控制通信的单独的目的地。包传送门(PDGs) 120可以位于客户的信任网络中,并提供用于处理来自一个或多个PREs或IPDs的结果包数据流的端点目的地。PDGs包括用于反编集来自PREs或IPDs的结果包的功能性的核心驱动器程序库,以用于被其他应用所使用(图6)。主时钟可以通过PREs为IPDs提供时间同步。PREs通过它的命令和控制协议堆栈利用IPDs执行全部的时间同步。主配置系统和数据库服务器160可被定位在客户核心管理位置处,并是控制的中心点。依据该方法的一个实施例,具有时间戳和任意滤波能力(IPD100)的捕获设备从网络拷贝具有任意滤波的包;感兴趣的包被封装,以用于传输至远程目的地;被封装的包被标记时间,并任意地具有序号和其他规格。传输网络112从捕获装置IPD 100传输感兴趣的被封装的包至包重放层。在包重放层处,PDG设备120从一个或多个设备接收来自传输网络的感兴趣的被封装的包;它也可以接收被标记时间和缓冲的交替端口上的局部数据流;PDG120从远程数据流移走传输封装,定序和去抖动包,以平滑包的重放,可以合并多个数据流保存定时,也可以利用被缓冲的局部数据流合并远程数据流,并且利用精确的包间定时复制重放本地网络端口上的复制的包数据流至目标设备140 ;本地网络端口可以是测试重放设备PDG120中的物理网络端口或逻辑通信端口。
用户布置和控制接口允许用户选择比如IPD100的网络入口设备,并且可以布置过滤器以用于网络入口设备,从而识别感兴趣的包;用户可以布置多个包来捕获或包捕获的持续时间;并且用户开始包捕获。当几个PDG设备可利用时,用户可以选择测试重放设备来从那里接收包。可以以系统管理器160实施用户布置和控制接口 ;可替代地,可以在PDG, PRE或接收数据流的可替代设备中执行该功能性。包分析工具140与测试重放设备120上的本地网络端口连接,并执行期望的包的分析。在操作中,利用IPD100上的过滤器选择业务包,并被封装和向上传送至IPD的固有的PRE150。原始业务包在IPD处可被上游或下游移动。通过在IPD100上如何编程过滤器确定哪些作为供给的一部分被发送至PRE150。优选地,每一个IPD100传送被封装的包至PRE150,其发送包供给至被登记以接收它们的任何应用;在这种情况中,应用是PDG120。 该PDG120然后解封业务包,并在本地网络上重放它们。包分析器140提供被重放的包的客户。图4描述了 PDG层的体系结构。可以以在通过一个或多个处理器来执行的有形媒介上存储的一组指令执行参照图4在上面描述的重放算法本地测试设备512和502到504以及间介器140充当保存测试包的原数据流的定时的测试重放设备,或者远程准备用于测试,如在本地测试设备的情况中,或者在测试过程中远程获得,如在间介器140的情况中。上面方法的优点包括需用于设置感兴趣的数据供给的时间和资源的减小,因为这可以在用户的位置处有效地做到,不需要直接访问远程位置处的设备;这种布置不需要附加的元件端口或网络/元件布置。该解决方案是网络-元件不可知论,这意味着用户不需要在多个元件特征或用于存取数据的操作系统方面熟练。将数据汇集到一个位置多个点的同步访问允许测试工具的减小/局部化投资。利用精确的定时和定序复制数据流,从而使测试工具得到数据的接近实时的复制,这导致更早的分析和问题解决。许多网络工具具有受限的媒体连接选项,而网络中的点可以具有各种媒体类型。该方法允许从多种不同的媒体类型收集感兴趣的数据,并同时在单独的支持媒体接口上传输它们。该方法解决了对来自一个或多个远程位置的感兴趣数据的远程访问的问题,具有过滤远程数据和以绝对定时和定序局部重放它的能力,所述绝对定时和定序将校正在从远程位置传输的过程中出现的定时或定序损伤。于此公开的方法提供了内嵌测试设备以对它们被捕获的包记录时间和排序。这是有利的,因为接收设备将能够精确地复制包出现在测试设备处的时间和序列。系统将被复制的包输送至不与本地连接的接收设备,可以利用被监控的同一个网络。该方法允许接收设备接收被封装的复制包,并传输在出口端口上的携带包内容至不能够干扰携带包的二次接收设备。根据携带包中的时间戳和序号,它进一步提供了基于出口端口传输的包被以精确的包间定时和定序来传输。间介器允许利用当前的包业务分析工具来分析包,即使它们在本地网络上原始出现。在上面的描述中,为了解释而不是限制的目的,阐述了特定的细节例如特定的结构、接口、技术等,以便提供对本发明的彻底理解。然而,对本领域的技术人员将明显,可在不偏离这些特定细节的其它实施方式中实践本发明。也就是说,本领域的技术人员将能够设计各种布置,其虽然没有在这里被明确地描述或示出,但体现本发明的原理并包括在其精神和范围内。在一些实例中,公知的设备、电路和方法的详细描述被省略,以便由于不必要的细节使本发明的描述难理解。在这里详述本发明的原理、方面和实施方式的所有陈述以及其中的特定例子旨在包括其结构和功能等效形式。此外,意图是这样的等效形式包括目前已知的等效形式以及在未来发展的等效形式,即,执行相同的功能的被发展的任何元件,而不考虑结构。因此,例如,本领域技术人员将认识到,这里的方框图可表示体现技术的原理的例证性电路的概念图。类似地,将认识到,任何流程图、状态转变图、伪代码等表示可实质上在计算机可读介质中表示的并由计算机或处理器这样执行的各种过程,不管这样的计算机或处理器是否被明确地示出。通过使用专用硬件以及能够与适当的软件结合来执行软件的硬件可提供包括被标注或描述为“处理器”或“控制器”的功能块的各种元件的功能。当被处理器提供时,功能可由单个专用处理器、单个共享处理器、或多个单独的处理器提供,其中一些可被共享或分布。而且,术语“处理器”或“控制器”的明确使用不应被解释为排他地指能够执行软件的硬件,并可没有限制地包括数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、 随机存取存储器(RAM)和非易失性存储器。
权利要求
1.一种被测通信设备或网络的测试方法,包括在远程测试系统处,生成被时间间隔分开的测试包部分,封装所述的测试包部分,因此形成封装包,并增加定时信息至封装包,从而保存测试包部分和与时间间隔有关的信息; 通过传输网络从远程测试系统将所述的封装包传输至本地测试设备; 在所述的本地测试设备处,对所述的封装包解封,从而获得重放包和所述的定时信息, 其中所述的重放包包括所述的测试包部分;以及,从所述的本地测试设备传输被时间间隔分开的所述的重放包至所述的被测通信设备或网络,其中所述的定时信息用于复制所述的时间间隔,以模拟在所述的远程测试系统处生成的所述的测试包的数据流。
2.如权利要求1所述的方法,其中所述的测试包之间的时间间隔是非周期性的间隔。
3.如权利要求1所述的方法,其中在所述的封装包中加密所述的测试包部分。
4.如权利要求1所述的方法,其中所述的封装包的目的地地址是下游设备的网络地址,所述的下游设备相对于所述的远程测试系统在所述的本地测试设备的下游。
5.如权利要求1所述的方法,其中所述的本地测试设备是未编址的设备。
6.如权利要求1所述的方法,其中所述的本地测试设备是同步测试被测网络的多个本地测试设备中的一个。
7.如权利要求1所述的方法,其中所述的定时信息包括时间戳。
8.一种被测通信设备或网络的测试方法,包括 在本地测试设备处(i)经由传输网路接收来自远程测试系统的封装包, ( )从所述的封装包中抽取定时信息,(iii)解封所述的封装包,从而获得测试包部分,以及(iv)形成重放包,其中所述的重放包包括所述的测试包部分;以及,从所述的本地测试设备传输所述的重放包至被测通信设备或网络,其中通过时间间隔分开所述的重放包,以模拟远程测试系统产生的测试包,并且其中利用定时信息复制所述的时间间隔。
9.如权利要求8所述的方法,其中对所述的封装包的解封包括解密。
10.如权利要求8所述的方法,其中所述的时间间隔的复制包括利用去抖动缓冲器对所述的包进行去抖动。
11.如权利要求10所述的方法,其中所述的时间间隔的复制包括根据所述的封装包的序号对所述的重放包定序。
12.如权利要求8所述的方法,其中所述的被测网络和传输网络是同一个网络。
13.如权利要求8所述的方法,其中所述的定时信息包括时间戳。
14.一种测试装置,包括包输入接收器,用于接收来自网络的封装包;包阅读器,用于从所述的封装包中抽取定时信息,用于解封封装包以便获得测试包,以及用于以FIFO队列布置所述的测试包;包控制器,用于阅读来自FIFO队列的所述的测试包和依据所述的定时信息将所述的测试包写入去抖动缓冲器中,用于去抖动缓冲器的存储器,用于存储重新排序的测试包;以及, 包输出发生器,用于对目标设备提供所述的测试包,其中利用所述的定时信息复制所述的测试包之间的时间间隔。
全文摘要
本发明提供一种测试设备,包括用于接收来自网络的被封装包的包输入接收器;包阅读器,用于从被封装包抽取定时信息,用于解封被封装包以便获得测试包;用于以FIFO队列布置测试包;包控制器,用于阅读来自FIFO队列的测试包和依据定时信息将测试包写入去抖动缓冲器;用于去抖动缓冲器的存储器,用于存储重排序的测试包;以及包输出发生器,用于对目标设备提供测试包,其中利用定时信息复制测试包之间的时间间隔。
文档编号H04J3/16GK102291272SQ201110125638
公开日2011年12月21日 申请日期2011年5月16日 优先权日2010年6月15日
发明者乔·哈弗尔, 坎宁·薛, 山姆·鲍尔, 比田井隆史 申请人:Jds尤尼弗思公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1