欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种基于会话放大的高速网络流量构造方法独创技术10736字

一种基于会话放大的高速网络流量构造方法

2021-03-08 18:26:42

一种基于会话放大的高速网络流量构造方法

  技术领域

  本发明属于网络流量系统测试技术领域,具体涉及一种基于会话放大的高速网络流量构造方法。

  背景技术

  随着网络技术、计算机技术的不断发展,衍生出了非常多需要对网络流量进行处理的系统。随着网络流量规模的不断扩大,网卡的规格也从10G扩展到了40G、100G甚至400G,市场对网络流量处理系统的能力要求也越来越高。在对这些网络流量处理系统进行开发测试时,都需要有相应规模的网络流量输入,如需要10Gbit/s、40Gbit/s甚至100Gbit/s的网络流量,但是在测试环境中一般没办法做到像实际生产环境那样,生成如此高速的网络流量,因此在测试环境中一般采用的是网络流量回放或者网络流量模拟等方法。

  传统的基于数据包文件的网络流量回放方法的速度上限一般取决于硬盘的读取速度,常规的机械硬盘的读取速度很低,如果需要更高的速度,则需要配置更多的硬盘或者采用速度更高的固态硬盘,但是即便如此,要发送40Gbit/s的网络流量也很困难,更不用说100Gbit/s了。

  另一种网络流量模拟方法则是预先选取很小一部分数据包文件作为模板,全部读入内存,然后在内存中进行复制,再根据需要对复制的数据包进行修改,然后发送出去,以达到放大的效果。这种方案有两种较为典型的策略,一种策略是仅仅对数据包层面进行放大,这样产生的流量一般仅适用于在单包层面进行处理的网络流量处理系统;另一种策略是在会话层面进行放大,一般需要持续记录数据包与会话层面的关联信息,这种策略既能做到流量的放大,也能适用于在会话层面处理的场景。但是不管是哪种策略,由于需要提前将数据包模板文件读入内存,因此模板文件一般比较小,这样就需要很大的放大倍数才能产生出高速的网络流量,这样产生的网络流量在应用层内容方面过于单一,不能较好地模拟出真实流量中的数据内容。

  因此急需研发出一种基于会话放大的高速网络流量构造方法来解决以上问题。

  发明内容

  为解决上述背景技术中提出的问题。本发明提供了一种基于会话放大的高速网络流量构造方法。

  为实现上述目的,本发明提供如下技术方案:

  一种基于会话放大的高速网络流量构造方法,包括以下步骤:

  S1、从网卡或者数据包文件中读入一定数量的数据包,保存到内存中;

  S2、对读入的数据包进行解析,判断数据链路层协议是否为以太网协议,网络层协议是否为IP协议;如数据链路层协议是以太网协议,网络层协议是IP协议的数据包则进入下一步骤,其余情况将数据包发送入步骤S9;

  S3、根据指定的需要放大的倍数N,将步骤S2中筛选出的每个数据包分别复制N-1份;获取其源IP、目的IP为SIP、DIP,源MAC地址、目的MAC地址分别为SMAC、DMAC;

  S4、对步骤S3中复制得到的N-1个数据包的源IP、目的IP分别修改为(SIP+1,DIP+1),(DIP+2,DIP+2)…(SIP+N-1,DIP+N-1);

  S5、根据具体场景,决定是否需要对步骤S4修改后的数据包重新计算并设置IP头部校验值;如需要则进入下一步骤,如不需要则进入步骤S7;

  S6、对步骤S4修改后的N-1个数据包重新计算其IP协议的头部校验值,并将计算后的IP协议的头部检验值覆盖填充到IP协议的头部检验值字段中;

  S7、根据具体场景,决定是否需要对步骤S5或步骤S6得到的数据包进行以太网MAC地址的调整;如需要则进入下一步骤,如不需要则进入步骤S9;

  S8、对步骤S7中得到的N-1个数据包进行修改,将这N-1个数据包的以太网协议的源MAC地址、目的MAC地址修改为(SMAC+1,DMAC+1),(SMAC+2,DMAC+2)…(SMAC+N-1,DMAC+N-1);

  S9、将数据包通过指定网卡发送出去。

  在步骤S4中,修改后的源IP、目的IP的结果是合法IP值,如果超过IP范围的最大值,则直接回绕即可。

  在步骤S8中,数据包的以太网协议的源MAC地址、目的MAC地址修改后的结果是合法的MAC地址值,如果超过MAC地址范围的最大值,则直接回绕即可。

  与现有技术相比,本发明的有益效果是:

  1、本申请既能够提供高速的网络流量,又能够做到原来从属于一条会话的数据包在经过复制修改后,仍然从属于同一条会话,同时本发明需要的放大倍数相对较小,能够提供更加丰富、真实的网络流量。

  附图说明

  图1为本申请的方法流程示意图;

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  本发明提供以下技术方案:

  如图1所示,一种基于会话放大的高速网络流量构造方法,包括以下步骤:

  S1、从网卡或者数据包文件中读入一定数量的数据包,保存到内存中;

  S2、对读入的数据包进行解析,判断数据链路层协议是否为以太网协议,网络层协议是否为IP协议;如数据链路层协议是以太网协议,网络层协议是IP协议的数据包则进入下一步骤,其余情况将数据包发送入步骤S9;

  S3、根据指定的需要放大的倍数N,将步骤S2中筛选出的每个数据包分别复制N-1份;获取其源IP、目的IP为SIP、DIP,源MAC地址、目的MAC地址分别为SMAC、DMAC;

  S4、对步骤S3中复制得到的N-1个数据包的源IP、目的IP分别修改为(SIP+1,DIP+1),(DIP+2,DIP+2)…(SIP+N-1,DIP+N-1);

  S5、根据具体场景,决定是否需要对步骤S4修改后的数据包重新计算并设置IP头部校验值;如需要则进入下一步骤,如不需要则进入步骤S7;

  S6、对步骤S4修改后的N-1个数据包重新计算其IP协议的头部校验值,并将计算后的IP协议的头部检验值覆盖填充到IP协议的头部检验值字段中;

  S7、根据具体场景,决定是否需要对步骤S5或S6得到的数据包进行以太网MAC地址的调整;如需要则进入下一步骤,如不需要则进入步骤S9;

  S8、对步骤S7中得到的N-1个数据包进行修改,将这N-1个数据包的以太网协议的源MAC地址、目的MAC地址修改为(SMAC+1,DMAC+1),(SMAC+2,DMAC+2)…(SMAC+N-1,DMAC+N-1);

  S9、将数据包通过指定网卡发送出去。

  在步骤S4中,修改后的源IP、目的IP的结果是合法IP值,如果超过IP范围的最大值,则直接回绕即可。如对IP 255.255.255.255进行加1操作后得到0.0.0.0;应当指出,原来从属于一条IP会话的分别来自于源和目的方向的数据包,在经过复制并做了相同的IP修改后形成的数据包,可以关联到一条新的IP会话上,如原来的会话的IP对为1.1.1.1、2.2.2.2,对IP对加1后得到的IP对为1.1.1.2、2.2.2.3,对IP对加2后得到的IP对为1.1.1.3、2.2.2.4。进一步的,原来从属于一条TCP流会话或者UDP流会话的数据包,经过复制并做了相同的IP修改后形成的数据包,可以关联到一条新的TCP流会话或者UDP流会话上。这样就做到了在会话层面的放大。

  在步骤S8中,数据包的以太网协议的源MAC地址、目的MAC地址修改后的结果是合法的MAC地址值,如果超过MAC地址范围的最大值,则直接回绕即可。如对MAC地址FF-FF-FF-FF-FF-FF进行加1操作后得到00-00-00-00-00-00。

  本申请中的会话,指的是网络层的IP会话以及基于IP对的其他协议会话,如TCP流会话、UDP流会话、HTTP会话等。

  本申请中的网络流量来源既可以是离线的数据包文件,也可以是网卡。

  在以下实施例中,目标是构造出40Gbit/s的网络流量,具体包含以下步骤:

  S1、从网络流量速度为10Gbit/s的网卡中读入一定数量的数据包,保存到内存中;

  S2、对读入的数据包进行解析,判断数据链路层协议是否为以太网协议,网络层协议是否为IP协议;如数据链路层协议是以太网协议,网络层协议是IP协议的数据包则进入下一步骤,其余情况将数据包发送入步骤S9;

  S3、根据指定的需要放大的倍数4((40Gbit/s)/(10Gbit/s)=4),将步骤S2中筛选出的每个数据包分别复制3份;获取其源IP、目的IP为SIP、DIP,源MAC地址、目的MAC地址分别为SMAC、DMAC;

  S4、对步骤S3中复制得到的3个数据包的源IP、目的IP分别修改为(SIP+1,DIP+1),(DIP+2,DIP+2)…(SIP+3,DIP+3);

  S5、根据具体场景,决定是否需要对步骤S4修改后的数据包重新计算并设置IP头部校验值;如需要则进入下一步骤,如不需要则进入步骤S7;

  S6、对步骤S4修改后的3个数据包重新计算其IP协议的头部校验值,并将计算后的IP协议的头部检验值覆盖填充到IP协议的头部检验值字段中;

  S7、根据具体场景,决定是否需要对步骤S5或步骤S6得到的数据包进行以太网MAC地址的调整;如需要则进入下一步骤,如不需要则进入步骤S9;

  S8、对步骤S7中得到的3个数据包进行修改,将这3个数据包的以太网协议的源MAC地址、目的MAC地址修改为(SMAC+1,DMAC+1),(SMAC+2,DMAC+2)…(SMAC+3,DMAC+3);

  S9、将数据包通过指定网卡发送出去。

  本实施例中以10Gbit/s的网络流量作为输入,对接收的流量复制3份并进行相应的修改,做到了对原来流量的会话层面的4倍放大,最终以40Gbit/s的速度发送出去,作为其他网络处理系统的输入源。

  尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

《一种基于会话放大的高速网络流量构造方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)