模拟网络损伤的方法和装置的制作方法

文档序号:7973704阅读:124来源:国知局
专利名称:模拟网络损伤的方法和装置的制作方法
技术领域
本发明涉及网络测试领域,特别涉及一种模拟网络损伤的方法和装置。
背景技术
到目前为止,以太网仍然是计算机互连领域内最活跃的技术,以包传输网络为基础的以太网技术,凭借价格优势、通用性等特性,快速地得到普及,并且还在逐渐扩展服务领域。随着互联网的不断发展,一些传统的网络设备(如路由器)之间的带宽已经不能满足要求,需要更高更有效率的互连技术来连接这些网络设备构成互联网的骨干,1000M以太网成了首选的技术。用户通过以太网技术接入城域网,实现上网,文件下载,视频点播、专线、专网等业务,已经变得越来越流行。
最近出现的VoIP(Voice over Internet Protocol,基于网际协议的语音传输)、RTP(Real-timeTransport Protocol,实时传输协议)、CESop(Circuit Emulation Services over Packet-switchednetwork,基于包交换网络的电路仿真)、ToP(Timing over Packet-switched network,包交换网络传时钟)传输等技术,实现实时信号通过包交换网络传输信息。
实时信号的传输成为基于PSN(Packet-Switched Network,包分组交换网络)网络的新业务,但是,数据包可能在网络中发生丢帧和延迟;而且由于所经过的路由不同,以及网络设备的固有延迟,可能会出现PDV(Packet Delay Variation,包延迟抖动)和乱序;另外在中间站点故障时发生的路由倒换,也会出现一段时间的丢包或重复发送,以及目的站点可能收到各种错包。正是因为这些网络异常,可能导致所需要传输的实时信号的质量严重劣化,甚至导致业务中断。
参见图1,现有技术一是为了测试某个设备的性能,在实验室内利用现有的仪器模拟出小型组网环境进行测试。为了方便对发送信号和接收信号进行对比,得出延时、抖动、误码等测试数据,设置信号发生源和接收源为同一仪器,即图中的信号发生测试仪器。由信号发生测试仪器产生数据包(如视频流)并发送给待测设备一,待测设备一收到后将其转换成以太网数据包,并通过多个集线器和路由器进行传输,最后到达待测设备二,待测设备二收到以太网数据包后,将其转换成原始格式的数据包(即视频流),然后返回给信号发生测试仪器,信号发生测试仪器收到待测设备二发来的数据包后,将其与原始信号即发送给待测设备一的数据包进行比较,从而测试待测设备一和待测设备二的信号质量,即检测待测设备一的发送功能和待测设备二的接收功能。通过线路加扰制造错包,或利用网络设备固有的延迟,制造延迟和微弱的延迟抖动等测试环境。
现有技术一的缺点如下由于缺少外部因素的干扰,测试结果不足以反应真实情况,如果采用线路加扰的方式生成错包,则具有随机性,不易控制。由于设备的数量和连接信号线的长度的限制,测试效果非常有限,无法模拟较为复杂的真实网络环境,不能对错误种类和程度加以精确控制。
参见图2,为现有技术二在实际网络中测试设备的信号质量。测试环境可以是实际的包传输网络、基于SDH的以太网(Ethernet over Synchronous Digital Hierarchy,基于同步数字体系的以太网)、或者混合网络等等。信号发生测试仪器一首先发送一个原始信号(如视频流数据包)给待测设备一,待测设备一收到后将其转换成以太网数据包,然后通过多种媒介转发出去,如通过无线信道、卫星信道、WAN(Wide area network,广域网)、ATM(AsynchronousTransfer Mode,异步传输模式)或基于SDH的以太网等传输信号,最后到达待测设备二,待测设备二收到以太网数据包后将其转换成原始格式的数据包,并转发给信号发生测试仪器二;另外信号发生测试仪器一还会通过其他安全的方式将原始信号发送给信号发生测试仪器二,从而保证信号发生测试仪器二能够将原始信号与收到的信号进行比较,来验证待测设备一和待测设备二的实时信号质量和抗干扰情况,可以获得相当真实的实际测试数据。
现有技术二的缺点如下由于受包交换网络的路由功能所限,必须将发送端和接收端设定在不同的地点,通过较长的路径,才能得到理想的测试环境,否则无法通过预定的骨干网络,测试结果无参考价值。而异地或跨国测试往往费用昂贵,成本极高。测试环境的搭建也比较复杂,不同测试向量的更换常需要测试环境的重大变动,影响测试效率。测试的周期比较长,而且由于网络异常的不可预计性,无法对真实网络的特性进行控制,只有通过长时间的连续测试,才能得到较完整的测试报告。另外当测试过程中出现不预期状况时,由于网络的复杂性,不仅很难追查,也极难重现。

发明内容
为了解决现有技术中不能模拟较复杂的真实网络环境或测试费用高、周期长等问题,本发明提供了一种模拟网络损伤的方法,具体包括以下步骤
步骤A生成用于记录异常模拟信息的配置表;步骤B在接收到正常数据包时,根据所述异常模拟信息,生成异常数据包,并计算出所述异常数据包的发送时间;步骤C按照所述发送时间发送所述异常数据包。
本发明还提供了一种模拟网络损伤的装置,所述装置包括配置模块,用于生成用来记录异常模拟信息的配置表;异常加入模块,用于在接收到正常数据包时,根据所述异常模拟信息,生成异常数据包,并计算出所述异常数据包的发送时间;发送模块,用于按照所述异常加入模块计算出的发送时间发送所述异常数据包。
本发明的有益效果主要表现在1、通过单台仪表即可完成真实组网环境的模拟,不仅在实验室就能方便地搭建可配置的各种网络环境,而且极大地降低了测试成本,明显地缩短了测试周期。
2、通过简单变换配置表,能够构造出多种类型的异常,完成各种测试;由于配置表可随时更改,使测试完全可控制、可介入;而且便于分析定位,能实现简单问题的重现。
3、通过更改配置表中的异常类型和延迟时间,可对网络异常进行任意放大,实现网络容限的测试。例如,在真实网络中,最大的包延时会达到1秒,本发明可以使包延迟达到10秒或更高。
4、可精确构造异常,并进行微调,能得到精确的分析报告,可实现有针对性、有目的地对待测设备进行各种定性定量测试。


图1是现有技术一模拟组网测试结构图;图2是现有技术二实际网络测试结构图;图3是本发明网络损伤模拟仪器的应用示意图;图4是本发明模拟网络损伤的方法实施例流程图;图5是本发明帧存储器数据状态设置示意图;图6是本发明模拟网络损伤的装置实施例结构图;图7是本发明模拟网络损伤的装置工作原理示意图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
本发明基于逻辑电路,可以由可编程逻辑器件或微处理器实现,也可以批量制作为ASIC(Application Specific Integrated Circuit特定用途集成电路)或商用芯片。应用本发明可以制成专用测试仪器,通过单台仪器实现多种测试,如图3所示。
本发明将包交换网络的网络异常进行分离抽象,得到以下五种基本异常的类型丢包、延迟、错包、重发和乱序。实际网络中的各种异常都可以由这五种基本异常组合得出。通过简单变换配置表,能够构造出多种类型的异常,例如,丢包且延迟异常、错包且延迟异常、丢包且乱序、错包且乱序等等。
实施例一参见图4,本发明提供了一种模拟网络损伤的方法,具体包括以下步骤步骤101首先生成用于记录异常模拟信息的配置表,并将其保存在配置表存储器中。
用户可以通过软件生成配置表,也可以通过其他仪器的统计数据、或者数学公式(例如正态分布,背景噪音等)生成。配置表提供模拟包交换网络的配置数据,表中对每个正常数据包都有一个确定的配置项(即记录),这条配置项记录了异常模拟信息,它决定了对应的数据包的内容改变、延时变化、重发特性及丢弃状况等等,对每一数据包进行发送时间和发送内容的控制,从而实现网络损伤模拟的目的。每个记录的长度为16bit(比特位),内容包括要加入正常数据包中的异常类型和延迟时间,如表1所示。

表1本实施例中数据包的类型有以下8种0000正常包;0001丢包;0010CRC错包;0011目的地址错误;0100源地址错误;0101净荷错误;1000重发;1001超长时间重发。
对于目的地址错误、源地址错误或净荷错误类型,异常的处理是把正常数据包的内容改成错误的。
根据配置表中的值,可以将收到的原始正常数据包,处理为包含上述各种异常的数据包。每条记录对于一个数据包,可以直接配置后12bit的延迟时间,生成延迟加入及延迟抖动。配置表具体长度应匹配配置表存储器的深度或深度的整数倍。
为避免同时对电路中的存储器进行读写而产生冲突,也为了实现配置表的动态更换、和大量配置数据的连续配置,进一步地,可以采用2块存储器作为配置表存储器,一块为读状态,即正在被读取的存储器不能进行写操作;另一块为写状态,即只能用来写入数据。当写操作完成后,状态切换,原只可读的存储器转换为只可写状态,原只可写的存储器转换为只可读状态。两块存储器不能同时为读状态,或同时为写状态。这种利用两块存储器进行读写切换的功能,还可以实现超大或无限大配置表进行连续配置。
步骤102在接收到正常的数据包时,按照配置表中该数据包对应的异常类型,在正常的数据包中加入异常,生成异常数据包;并将异常数据包存储到帧存储器中,异常数据包的写入操作按地址的顺序写入。如果该异常数据包为重发或超长重发的数据包,则将被重复写入。
由于接收到的正常数据包可能为任意长度,所以生成的异常数据包的长度也各不相同。为了识别出异常数据包是否结束,进一步地,可以在包尾添加标识。例如,一个数据包的宽度是8bit,则使用9bit宽的存储器,把最后1bit作为标识,当标识为1时,表明该数据包已经结束,当标识为0时,表明该数据包未结束。
步骤103按照配置表中该正常数据包对应的延迟时间,计算出生成的异常数据包的发送时间;并将异常数据包的起始地址和发送时间存储到地址和时间存储器中。
为了提高数据的精确性,进一步地,可以对异常数据包的状态进行记录,在存储异常数据包情况下记录其为有效状态,在读出异常数据包并发送情况下记录其为无效状态,即增加下面的步骤步骤104在帧存储器的两侧各连接一块单比特宽、与帧存储器同样深的存储器,一块作为SIG_I(写入标识),另一块作为SIG_O(读出标识),初始化时均设为0。在向帧存储器写入异常数据包时,将SIG_I中对应的比特位取非,从帧存储器中读出异常数据包时,将SIG_O中对应的比特位取非。在发送异常数据包时,先对两侧的标识进行异或取值,如果结果为1,则该异常数据包有效;如果结果为0,则该异常数据包无效。参见图5,灰色的记录为有效记录,即已写入且未被读出,白色的为无效记录,即未被写入或已被读出(由于同一个数据包不允许被重复发送,所以认为已发送的数据包为无效数据包)。
步骤105循环检索地址和时间存储器,当发送时间符合标准时钟的当前时间时,取出起始地址。本实施例提供模拟网络的标准时钟,为了便于测试,参考数据包延迟的最大时间,一般将标准时钟值的宽度设为24bit或32bit或以上(大于16bit)。
由于检索地址和时间存储器的时间决定了计算得到的发送时间和实际发送异常数据包的时间的误差,为了提高精度,进一步地,可以对地址和时间存储器进行分成多个区域,进行并行检索,缩短查询的时间,提高时间精度。例如,如果地址和时间存储器是4k地址空间,检索一轮的时间为4k×时钟周期。将4k地址空间划分成4块,每块为1k,对4块区域同时进行检索,则只需花费1k×时钟周期。假设检索地址和时间存储器需要1ms的时间,则延迟发送和重发数据包的时间的误差在1ms之内为可以接收的范围。
步骤106根据得到的起始地址从帧存储器中读出异常数据包,如果该异常数据包有效,则发送该异常数据包,并将SIG_O中对应的比特位取非,使该记录失效。
实施例二参见图6和图7,本发明还提供了一种模拟网络损伤的装置,包括1)配置模块,用于生成用来记录异常模拟信息的配置表;2)异常加入模块,用于在接收到正常数据包时,根据配置表中的异常模拟信息,生成异常数据包,并计算出异常数据包的发送时间;3)发送模块,用于按照异常加入模块计算出的发送时间发送异常数据包。
配置表中对应每个正常数据包都有一条相关异常模拟信息的记录,异常模拟信息通常包括异常类型和延迟时间等;异常加入模块根据正常数据包对应的异常类型和延迟时间来生成异常数据包;生成的异常数据包的发送时间按标准时钟的当前时间加上延迟时间来计算。
上述配置模块还包括配置表存储器,用于存储配置模块生成的配置表,配置表存储器包括两个存储器,在任一时刻,其中一个为读状态,另一个为写状态;在向处于写状态的存储器写入配置表后,将该存储器的状态转为读状态,相应地,将另一个存储器的状态转为写状态。
上述异常加入模块还包括帧存储器,用于存储异常加入模块生成的异常数据包;地址和时间存储器,用于存储异常加入模块生成的异常数据包的起始地址和异常加入模块计算得到的发送时间。
上述发送模块具体用于启动发送时间检索器对地址和时间存储器循环检索,当检索到符合标准时钟当前时间的发送时间时,读出对应的起始地址,然后按照起始地址从帧存储器中读出异常数据包并发送。
上述模拟网络损伤的装置还包括状态记录模块,用于在异常加入模块生成异常数据包后,记录异常数据包的状态为有效状态;在发送模块发送异常数据包后,记录该异常数据包的状态为无效状态。
以上所述的实施例,只是本发明较优选的具体实施方式
的几种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种模拟网络损伤的方法,其特征在于,所述方法包括步骤A生成用于记录异常模拟信息的配置表;步骤B在接收到正常数据包时,根据所述异常模拟信息,生成异常数据包,并计算出所述异常数据包的发送时间;步骤C按照所述发送时间发送所述异常数据包。
2.根据权利要求1所述的模拟网络损伤的方法,其特征在于,所述异常包括丢包、延迟、错包、重发和乱序中的一种或几种。
3.根据权利要求1所述的模拟网络损伤的方法,其特征在于,所述异常模拟信息包括异常类型和延迟时间。
4.根据权利要求1所述的模拟网络损伤的方法,其特征在于,所述步骤A还包括将所述配置表存储在配置表存储器中的步骤;所述配置表存储器包括两个存储器,在任一时刻,其中一个为读状态,另一个为写状态;在向处于写状态的存储器写入配置表后,将该存储器的状态转为读状态,相应地,将另一个存储器的状态转为写状态。
5.根据权利要求1所述的模拟网络损伤的方法,其特征在于,所述步骤B还包括在生成异常数据包后记录其为有效状态的步骤;所述步骤C还包括在发送所述异常数据包之后,记录其为无效状态的步骤。
6.根据权利要求1所述的模拟网络损伤的方法,其特征在于,所述步骤B还包括将所述异常数据包存储到帧存储器中,并将所述异常数据包的起始地址和发送时间存储到地址和时间存储器中;所述步骤C具体为循环检索所述地址和时间存储器,检索到发送时间符合标准时钟的当前时间的起始地址时,按照所述起始地址从所述帧存储器中读出异常数据包并发送。
7.根据权利要求6所述的模拟网络损伤的方法,其特征在于,将所述地址和时间存储器划分成多块存储区,所述检索为对所有存储区同时进行检索。
8.一种模拟网络损伤的装置,其特征在于,所述装置包括配置模块,用于生成用来记录异常模拟信息的配置表;异常加入模块,用于在接收到正常数据包时,根据所述异常模拟信息,生成异常数据包,并计算出所述异常数据包的发送时间;发送模块,用于按照所述异常加入模块计算出的发送时间发送所述异常数据包。
9.根据权利要求8所述的模拟网络损伤的装置,其特征在于,所述配置模块还包括配置表存储器,用于存储所述配置表,所述配置表存储器包括两个存储器,在任一时刻,其中一个为读状态,另一个为写状态;在向处于写状态的存储器写入配置表后,将该存储器的状态转为读状态,相应地,将另一个存储器的状态转为写状态。
10.根据权利要求8所述的模拟网络损伤的装置,其特征在于,所述异常加入模块还包括帧存储器,用于存储所述异常数据包;地址和时间存储器,用于存储所述异常数据包的起始地址和发送时间。所述发送模块具体用于循环检索所述地址和时间存储器,检索到发送时间符合标准时钟的当前时间的起始地址时,按照所述起始地址从所述帧存储器中读出异常数据包并发送。
11.根据权利要求8所述的模拟网络损伤的装置,其特征在于,所述装置还包括状态记录模块,用于在所述异常加入模块生成异常数据包后,记录所述异常数据包的状态为有效状态;在所述发送模块发送所述异常数据包后,记录该异常数据包的状态为无效状态。
全文摘要
本发明提供了一种模拟网络损伤的方法和装置,属于网络测试领域。为了解决现有技术中不能模拟较复杂的真实网络环境或测试费用高、周期长等问题,本发明提供了一种模拟网络损伤的方法,包括以下步骤生成包含异常模拟信息的配置表,根据异常模拟信息生成异常数据包并计算发送时间,按发送时间发送异常数据包。本发明还提供了一种模拟网络损伤的装置,包括配置模块、异常加入模块和发送模块。本发明简单易行,极大降低测试成本,明显缩短测试周期;测试可控制,能方便进行问题的重现。可对网络异常进行任意放大,实现网络容限的测试。可精确构造异常,能得到精确的分析报告,可完成各种定性定量测试。
文档编号H04L12/24GK1964247SQ200610161079
公开日2007年5月16日 申请日期2006年12月4日 优先权日2006年12月4日
发明者俞亮 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1