一种IP网络损伤仿真方法及仿真仪转让专利

申请号 : CN201510429819.4

文献号 : CN105119740B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴恒奎胡亚平刘宇黄文南包思云王凯

申请人 : 中国电子科技集团公司第四十一研究所

摘要 :

本发明提出了一种IP网络损伤仿真方法及仿真仪,端口接收数据包,该数据包经过定时恢复电路、错误检测电路和帧统计电路,然后经过流量管制和过滤,最后经过损伤后输出。其中,MAC帧处理与测试模块完成以太网帧同步检测和定时恢复,同时检测和统计MAC层的各种错误参数,得到并行包数据;线路管制模块模拟网络的流量控制;过滤模块根据包内容,将数据分为多组,每组都具有独立的损伤参数和损伤电路,用于模拟多子网损伤;端口每个场景的损伤都顺序支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失等损伤。本发明能够模拟实际IP网络场景,为科研或者实验提供了良好的模拟仿真平台。

权利要求 :

1.一种IP网络损伤仿真方法,其特征在于,接收的数据包经过定时恢复、错误检测和帧统计,然后经过流量管制和过滤,最后经过损伤后输出;其中,MAC帧处理与测试模块完成以太网帧同步检测和定时恢复,同时检测和统计MAC层的各种错误参数,得到并行包数据;

所述并行包数据经过IP帧处理与测试模块得到IP层的各种定时并统计各种帧的总数;

通过IP帧处理后输出的数据在TCP/UDP帧处理与测试模块进行TCP/UDP包定时信号恢复,并检测TCP/UDP校验和错误;

然后进入管制模块模拟网络的流量控制,管制共有两级:线路级和场景级;线路管制单元对整个端口的数据流量进行管制;场景管制单元对每个场景的数据独立进行管制;

过滤模块根据包内容,将数据分为多组,每组都具有独立的损伤参数和损伤电路,用于模拟多子网损伤;

端口每个场景的损伤支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失损伤;端口每个场景的损伤顺序支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失损伤;

还包括复用模块,复用模块将各个场景的数据流进行复用,复用采用顺序优先权的方式,从场景1开始查看每个场景缓存中数据包,当缓存器满或有完整的数据包时,将优先输出,否则从当前有数据包输入的场景缓冲器输出数据;

还包括整形模块,整形模块对端口输出数据流的速率和突发长度进行控制,采用缓冲器将数据流进行缓存,缓存器数据流输出按照连续状态令牌桶算法,使输出数据流平均速率和最大突发长度符合规定要求;

还包括载波丢失模块,其通过禁止链路脉冲输出来模拟链路断开的情况。

2.如权利要求1所述的IP网络损伤仿真方法,其特征在于,还包括输出环回控制模块,用于选择端口输出的数据源,其中,双向损伤是转发另一端口的数据包,或者选择本端口的输入数据在损伤后再通过本端口输出。

3.一种IP网络损伤仿真仪,其特征在于,从端口输入的数据首先经过MAC帧处理与测试模块,完成以太网帧同步检测和定时恢复,同时检测和统计MAC层的各种错误参数,得到并行包数据;

所述并行包数据经过IP帧处理与测试模块得到IP层的各种定时并统计各种帧的总数;

经过IP帧处理后输出的数据在TCP/UDP帧处理与测试模块进行TCP/UDP包定时信号恢复,并检测TCP/UDP校验和错误;

然后经过管制模块模拟网络的流量控制,管制模块共有两级:线路级和场景级;线路管制单元对整个端口的数据流量进行管制;场景管制单元对每个场景的数据独立进行管制;

过滤模块根据包内容,将数据分为多组,每组都具有独立的损伤参数和损伤电路,用于模拟多子网损伤,最后输出经过损伤后的数据;

端口每个场景的损伤支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失损伤;端口每个场景的损伤顺序支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失损伤;

还包括复用模块,复用模块将各个场景的数据流进行复用,复用采用顺序优先权的方式,从场景1开始查看每个场景缓存中数据包,当缓存器满或有完整的数据包时,将优先输出,否则从当前有数据包输入的场景缓冲器输出数据;

还包括整形模块,整形模块对端口输出数据流的速率和突发长度进行控制,采用缓冲器将数据流进行缓存,缓存器数据流输出按照连续状态令牌桶算法,使输出数据流平均速率和最大突发长度符合规定要求;

还包括载波丢失模块,其通过禁止链路脉冲输出来模拟链路断开的情况。

4.如权利要求3所述的一种IP网络损伤仿真仪,其特征在于,还包括:

输出环回控制模块,用于选择端口输出的数据源,其中,双向损伤是转发另一端口的数据包,或者选择本端口的输入数据在损伤后再通过本端口输出。

说明书 :

一种IP网络损伤仿真方法及仿真仪

技术领域

[0001] 本发明涉及测试技术领域,特别涉及一种IP网络损伤仿真方法,还涉及一种IP网络损伤仿真仪。

背景技术

[0002] IP网络通信应用非常广泛,小到一个设备,大到国家的战略网都有IP通信网络在使用。如果一个通信设备只是在正常情况下测试通过,就好比是在理想的环境下测试没有任何问题。但是,一个真实的网络不可避免的存在着各种不同的损伤和异常情况,如何模拟网络的真实情况,需要IP网络损伤仿真仪来实现。
[0003] 现有的实验室环境或者一般局域网内,难以模拟实际IP网络场景,因此,如何模拟网络的真实情况是目前亟待解决的问题。

发明内容

[0004] 本发明提出了一种IP网络损伤仿真方法及仿真仪,解决了实验室环境或者一般局域网内,难以模拟实际IP网络场景的问题。
[0005] 本发明的技术方案是这样实现的:
[0006] 一种IP网络损伤仿真方法,接收的数据包经过定时恢复、错误检测和帧统计,然后经过流量管制和过滤,最后经过损伤后输出;其中,
[0007] MAC帧处理与测试模块完成以太网帧同步检测和定时恢复,同时检测和统计MAC层的各种错误参数,得到并行包数据;
[0008] 所述并行包数据经过IP帧处理与测试模块得到IP层的各种定时并统计各种帧的总数;
[0009] 通过IP帧处理后输出的数据在TCP/UDP帧处理与测试模块进行TCP/UDP包定时信号恢复,并检测TCP/UDP校验和错误;
[0010] 然后进入管制模块模拟网络的流量控制,管制共有两级:线路级和场景级;线路管制单元对整个端口的数据流量进行管制;场景管制单元对每个场景的数据独立进行管制;
[0011] 过滤模块根据包内容,将数据分为多组,每组都具有独立的损伤参数和损伤电路,用于模拟多子网损伤。
[0012] 可选地,端口每个场景的损伤支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失损伤。
[0013] 可选地,端口每个场景的损伤顺序支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失等损伤。
[0014] 可选地,本发明的仿真方法还包括复用模块,复用模块将各个场景的数据流进行复用,复用采用顺序优先权的方式,从场景1开始查看每个场景缓存中数据包,当缓存器满或有完整的数据包时,将优先输出,否则从当前有数据包输入的场景缓冲器输出数据。
[0015] 可选地,本发明的仿真方法还包括整形模块,整形模块对端口输出数据流的速率和突发长度进行控制,采用缓冲器将数据流进行缓存,缓存器数据流输出按照连续状态令牌桶算法,使输出数据流平均速率和最大突发长度符合规定要求。
[0016] 可选地,本发明的仿真方法还包括载波丢失模块,其通过禁止链路脉冲输出来模拟链路断开的情况。
[0017] 可选地,本发明的仿真方法还包括输出环回控制模块,用于选择端口输出的数据源,其中,双向损伤是转发另一端口的数据包,或者选择本端口的输入数据在损伤后再通过本端口输出。
[0018] 本发明还提供了一种IP网络损伤仿真仪,从端口输入的数据首先经过MAC帧处理与测试模块,完成以太网帧同步检测和定时恢复,同时检测和统计MAC层的各种错误参数,得到并行包数据;
[0019] 所述并行包数据经过IP帧处理与测试模块得到IP层的各种定时并统计各种帧的总数;
[0020] 经过IP帧处理后输出的数据在TCP/UDP帧处理与测试模块进行TCP/UDP包定时信号恢复,并检测TCP/UDP校验和错误;
[0021] 然后经过管制模块模拟网络的流量控制,管制模块共有两级:线路级和场景级;线路管制单元对整个端口的数据流量进行管制;场景管制单元对每个场景的数据独立进行管制;
[0022] 过滤模块根据包内容,将数据分为多组,每组都具有独立的损伤参数和损伤电路,用于模拟多子网损伤,最后输出经过损伤后的数据。
[0023] 可选地,端口的每个场景的损伤都顺序支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失损伤。
[0024] 可选地,本发明的IP网络损伤仿真仪还包括:
[0025] 复用模块,将各个场景的数据流进行复用,复用采用顺序优先权的方式,从场景1开始查看每个场景缓存中数据包,当缓存器满或有完整的数据包时,将优先输出,否则从当前有数据包输入的场景缓冲器输出数据;
[0026] 整形模块,对端口输出数据流的速率和突发长度进行控制,采用缓冲器将数据流进行缓存,缓存器数据流输出按照连续状态令牌桶算法,使输出数据流平均速率和最大突发长度符合规定要求;
[0027] 载波丢失模块,其通过禁止链路脉冲输出来模拟链路断开的情况;
[0028] 输出环回控制模块,用于选择端口输出的数据源,其中,双向损伤是转发另一端口的数据包,或者选择本端口的输入数据在损伤后再通过本端口输出。
[0029] 本发明的有益效果是:
[0030] 端口每个场景的损伤都支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失等损伤,能够模拟实际IP网络场景,为科研或者实验提供了良好的模拟仿真平台。

附图说明

[0031] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032] 图1为本发明一种IP网络损伤仿真仪的原理框图。

具体实施方式

[0033] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034] 本发明提出了一种IP网络损伤仿真方法和仿真仪,解决了实验室环境或者一般局域网内,难以模拟实际IP网络场景的问题。
[0035] 本发明的IP网络损伤仿真方法及仿真仪,端口接收数据包,该数据包经过定时恢复电路、错误检测电路和帧统计电路,然后经过流量管制和过滤,最后经过损伤后输出。其中,MAC帧处理与测试模块完成以太网帧同步检测和定时恢复,同时检测和统计MAC层的各种错误参数,如FCS错误、碎片等,得到8比特并行包数据;线路管制模块用于模拟网络的流量控制功能;过滤模块可以根据包内容,将数据分为多组,本发明的实施例将数据分为1~16组,每组都具有独立的损伤参数和损伤电路,用于模拟多子网损伤;端口每个场景的损伤都顺序支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失等损伤。本发明的IP网络损伤仿真方法及仿真仪,能够模拟实际IP网络场景,为科研或者实验提供了良好的模拟仿真平台。
[0036] 图1为本发明IP网络损伤仿真仪的原理框图。
[0037] 如图1所示,本发明IP网络损伤仿真仪的端口1和端口2分别表示所模拟网络的两个端口,从端口1输入的数据经过损伤后通过端口2输出;同样,从端口2输入的数据经过损伤后通过端口1输出;端口1和端口2输入的数据也可经过损伤后在本端口输出。
[0038] 从端口1/2输入的数据首先经过MAC帧处理与测试模块,完成以太网帧同步检测和定时恢复,同时检测和统计MAC层的各种错误参数,如FCS错误、碎片等,得到8比特并行包数据;该数据经过IP帧处理与测试模块得到IP层的各种定时并统计各种帧的总数;通过IP帧处理后输出的数据在TCP/UDP帧处理与测试模块进行TCP/UDP包定时信号恢复,并检测TCP/UDP校验和错误,然后经过管制和过滤,最后经过损伤后输出。
[0039] 管制模块用于模拟网络的流量控制功能,流量管制采用连续状态令牌桶算法。管制模块共有两级:线路级和场景级。线路管制单元对整个端口的数据流量进行管制;场景管制单元对每个场景的数据独立进行管制。
[0040] 过滤模块可以根据包内容,将数据分为1~16组,每组都具有独立的损伤参数和损伤电路,用于模拟多子网损伤。
[0041] 端口1/2的每个场景的损伤都顺序支持包丢失、包修改、包损坏、CRC损坏、包乱序、包复制、路由翻转、延时、抖动以及载波丢失等损伤。
[0042] 包丢失模块按照一定的分布从数据流中选取指定比率的包进行丢弃损伤。
[0043] 包修改模块共有6组,每组支持连续8个字节的替换修改。包修改模块首先按照一定的分布和比率选取要修改的包,然后按照所设定的偏移位置对所选中的字段进行替换修改。
[0044] 包损坏模块将包中被选中的内容取反。包损坏模块首先按照设定的分布和比率选取需要损伤的包,同时指定该包中参与损伤的字节,然后按照设定的字节损伤比率和损伤突发长度在指定的字节范围内进行损伤。
[0045] CRC损坏模块是将MAC帧中的FCS字段取反,首先按照设定的分布和比率从数据流中选取参与损伤的数据包,然后找到该包中FCS字段并将其取反。
[0046] 包乱序模块是从数据流中抽取部分数据包,然后将它偏移一定的位置后插入到发送队列中。该模块首先按照设定的分布和比率从数据流中抽取参与乱序损伤的包,并将该包存储在缓冲器中,每个场景共设置9个缓冲器,可以同时缓存8个需要乱序损伤的包,当乱序的偏移位置符合时则将抽取的包插入到发送队列中,此时若有数据包达到,将会暂存在其中的一个缓存器中。
[0047] 包复制模块实现数据包的复制功能,首先按照设定的分布和比率从数据流中选取参与复制的数据包,每个包的复制次数可在一定范围内随机选取,包复制会导致线路流量超过最大限值,因此,当复制后的流量超限时会自动停止复制。
[0048] 路由翻转模块模拟由于更新路由表所导致的重复性路由切换的现象,通过周期性改变数据流的延时来实现。
[0049] 延时/抖动模块模拟数据包在网络中传输所导致的时延和时延变化。延时和抖动损伤模块原理是基本相同的,都是先记录包到达时刻,然后将该时刻值与时延值相加作为输出时刻。在输出时刻到达前,所有等待输出的数据包都被缓存在FIFO中,当输出时刻一到或超时,FIFO中的数据包就被输出到发送队列中。
[0050] 累计进发模块将延时/抖动模块输出的数据包进行累积,然后进发发送到复用模块。该电路采用FIFO将数据包进行缓存,当累积的包数达到设定的突发长度,或虽然未达到突发长度但超过一定的时间,则将累积的数据包以背靠背的方式输出到发送队列中。
[0051] 复用模块将1~16个场景的数据流进行复用,其输出端连接到整形模块。复用采用顺序优先权的方式,它总是从场景1开始查看每个场景缓存中数据包,当缓存器满或有完整的数据包时,将优先输出,否则从当前有数据包输入的场景缓冲器输出数据;
[0052] 整形模块对端口输出数据流的速率和突发长度进行控制,它采用缓冲器将数据流进行缓存,缓存器数据流输出按照连续状态令牌桶算法,使输出数据流平均速率和最大突发长度符合规定要求。
[0053] 载波丢失模块接收整形模块输出数据流,模拟链路断开的情况,其通过禁止链路脉冲输出来实现。
[0054] 输出环回控制模块用于选择端口输出的数据源,双向损伤是转发另一端口的数据包,即端口1的输入数据损伤后通过端口2输出,端口2的输入数据损伤后通过端口1输出,端口1和端口2的数据交换是通过CPCI背板进行的。输出环回模块也可以选择本端口的输入数据在损伤后再通过本端口输出。
[0055] 本发明提供了一种IP网络损伤仿真方法和仿真仪,能够模拟实际IP网络场景情况,为科研或者实验提供了良好的模拟仿真平台。
[0056] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。