第一部分:什么是IPv6地址跳变?

IPv6地址跳变是指IPv6地址进行一系列有规则的变化,Renix支持对IPv6地址进行递增、递减、列表和随机变化。

如当用户想要仿真大量的源IPv6地址变化的数据时,就可以使用Modifier进行规则的编辑,来达到源IPv6递增、递减、列表或随机的变化。

第二部分:跳变说明

Renix支持每个跳变域的大小只有4个字节,每条流最多支持4个跳变域。

对于跳变的大小只有4个字节,可以这么理解,当你需要跳变的字段内容是112233445566,长度是6字节已经超过了4个字节,你就只能在11223344、22334455或33445566这些字节里面去进行跳变,因为跳变域的大小只有4个字节。

怎么选择在那个区域去进行跳变的呢?通过offset(偏移量)的值去指定。Offset的值指定了字段中跳变的位置,即从Offset值对应位置开始连续的4个字节。如offset值为0,它就是指从左往右,第0字节后面的连续4个字节跳变,也就是1、2、3、4字节跳变,对于字段112233445566来说就是在11223344范围内进行跳变; 如offset值为是2,它就是指从左往右,第2字节后面的连续4个字节跳变,也就是3、4、5、6字节跳变,对于字段112233445566来说就是在33445566范围内进行跳变。

而对于4个跳变域来说,意思就是,一条流里面,如果你已经在源MAC地址、目的MAC地址、源IP地址、目的IP地址进行了跳变,你已经在4个地方进行了跳变,当你还需要在UDP端口号进行跳变时,因为这已经是在第5个地方进行跳变,不支持。

第三部分:如何配置IPv6地址跳变?

接下来介绍如何配置源IPv6地址如何在64bit进行跳变

一、添加和连接机箱

打开软件,在软件的开始界面,点击“预约端口”,然后点击“新增机箱”添加机箱,在“机箱名或IPv6地址”处输入机箱IPv6地址,例如10.0.11.104(机箱的前面板液晶屏上会显示机箱IPv6地址),最后点击“确定”

二、预约端口

预约用作测试的端口,勾选相应的复选框,点击“确定”

三、添加流量

选中测试端口并展开,选择“流模板”,鼠标右键,选择“新建流”,弹出编辑流量的窗口,选择“数据包、编辑”,切换到数据包的内容界面,对报文进行编辑

四、编辑报文(源IPv6字段)

删除IPv4 Hader,增加IPv6 Header

点击“Expand all” 将报文展开,选中Source Address字段,点击跳变按钮,弹出跳变的编辑窗口

五、配置IPv6地址为固定值

选择“Single value”,在编辑框填写指定的IPv6地址的值

六、配置IPv6地址递增变化

选择 “Increment”,字段的值可进行递增的变化

参数说明:

1、Start:字段的初始值

2、Count:该字段的值变化的次数

3、Step:字段的值增加的步长大小

4、Stream Type:一个字段的多个值将产生多个stream/flow,Stream Type决定产生的是多条stream还是多条flow

IntraModifier:值将在一个StreamBlock的一条stream的多个flow中进行变化

InterModifier:值将在一个StreamBlock的多条stream间发生变化

StreamBlock、Stream、Flow的关系如下:

※注意:Renix最多统计到Stream这一级,具体每一个Flow的信息是统计不到的,只能在所属的Steam上统一查看收发等信息

5、Offset:偏移量的大小,用来指定字段中的变化的位置,即由左至右从Offset值对应位置开始连续的4个字节。Offset的取值从0开始,且0对应字段值的第一个字节(从左往右),1对应字段值的第二个字节,以此类推。

※注意:Renix每个跳变域的长度是4个字节,最多支持4个跳变域

6、Mask(hex):掩码,用来指定该变化域中参与变化的位。值为1的位参与变化,值为0的位不参与变化,参考Mask(bit)的值。

举例:IPv6地址2001:2002:2003:2004:2005:2006:2007:2008需要在64bit的位置跳变。

分析:IPv6总共长度是16字节,1个字节为8个bit,所以总长是128bit。如果需要在第64bit位置递增,那也就是第8个字节的最后1位跳变,offset值的配置X+4应该包含第8字节,所以可以值可以是4~7。取4的时候跳变域刚好是5、6、7、8字节,取7的时候跳变域刚好是8、9、10、11字节。相应的Mask的配置也要随之变化。

当offset取4时,64bit在最后一个bit,之前也描述过参与跳变的位掩码值置为1,不参与的变化的位值置为0,所以掩码需要配置为0000 0000 0000 0001(bit),换成16进制为00000001(hex)或者简写为1(hex)。

如下图,可以看到如下变化

为了更好看到变化,我们可以将更多的掩码置为1,让更多的位参与跳变,如将掩码改为0000 0000 0000 1111(bit),换算成16进制为0000000F(hex)或者简写为F。

如下图,可以看到如下变化:

七、配置IPv6地址递减变化

选择 “Decrement”,字段的值可进行递减的变化

参数说明:

1、Start:字段的初始值

2、Count:该字段的值变化的次数

3、Step:字段的值减少的步长大小

4、Stream Type:一个字段的多个值将产生多个stream/flow,Stream Type决定产生的是多条stream还是多条flow

IntraModifier:值将在一个StreamBlock的一条stream的多个flow中进行变化

InterModifier:值将在一个StreamBlock的多条stream间发生变化

StreamBlock、Stream、Flow的关系如下:

※注意:Renix最多统计到Stream这一级,具体每一个Flow的信息是统计不到的,只能在所属的Steam上统一查看收发等信息

5、Offset:偏移量的大小,用来指定字段中的变化的位置,即由左至右从Offset值对应位置开始连续的4个字节。Offset的取值从0开始,且0对应字段值的第一个字节(从左往右),1对应字段值的第二个字节,以此类推。

※注意:Renix每个跳变域的长度是4个字节,最多支持4个跳变域

6、Mask(hex):掩码,用来指定该变化域中参与变化的位。值为1的位参与变化,值为0的位不参与变化,参考Mask(bit)的值。

举例:IPv6地址2001:2002:2003:2004:2005:2006:2007:2008需要在64bit的位置跳变。

分析:IPv6总共长度是16字节,1个字节为8个bit,所以总长是128bit。如果需要在第64bit位置递增,那也就是第8个字节的最后1位跳变,offset值的配置X+4应该包含第8字节,所以可以值可以是4~7。取4的时候跳变域刚好是5、6、7、8字节,取7的时候跳变域刚好是8、9、10、11字节。相应的Mask的配置也要随之变化。

当offset取4时,64bit在最后一个bit,之前也描述过参与跳变的位掩码值置为1,不参与的变化的位值置为0,所以掩码需要配置为0000 0000 0000 0001(bit),换成16进制为00000001(hex)或者简写为1(hex)。

如下图,可以看到如下变化

为了更好看到变化,我们可以将更多的掩码置为1,让更多的位参与跳变,如将掩码改为0000 0000 0000 1111(bit),换算成16进制为0000000F(hex)或者简写为F。

如下图,可以看到如下变化:

八、配置IPv6地址在列表中选择

选择“List”,字段的值将是列表中填写的值

单击Add,表中列出了一个条目 ,单击条目的单元格,输入适当的值 。重复之前的操作可以填加更多值

如有必要,请在表中选择一个条目,然后单击Delete按钮删除不需要的条目

举例:IPv6从2001::2002、3001:3002、4001:4002这几个值变化

九、配置IPv6地址随机变化

选择 “Random”,字段的值可进行随机的变化

参数说明:

1、Start:字段的初始值

2、Count:该字段的值变化的次数

3、Range:字段的值变化的最大值,和Start的值决定随机的范围

4、Stream Type:一个字段的多个值将产生多个stream/flow,Stream Type决定产生的是多条stream还是多条flow

IntraModifier:值将在一个StreamBlock的一条stream的多个flow中进行变化

InterModifier:值将在一个StreamBlock的多条stream间发生变化

StreamBlock、Stream、Flow的关系如下:

※注意:Renix最多统计到Stream这一级,具体每一个Flow的信息是统计不到的,只能在所属的Steam上统一查看收发等信息

5、Offset:偏移量的大小,用来指定字段中的变化的位置,即由左至右从Offset值对应位置开始连续的4个字节。Offset的取值从0开始,且0对应字段值的第一个字节(从左往右),1对应字段值的第二个字节,以此类推。

※注意:Renix每个跳变域的长度是4个字节,最多支持4个跳变域

6、Mask(hex):掩码,用来指定该变化域中参与变化的位。值为1的位参与变化,值为0的位不参与变化,参考Mask(bit)的值。

7、Seed:随机种子,当跳变类型为随机时,设置参与随机算法随机源的数量,其与Count项的值一起结合参与运算(其默认值是变化的,不同字段的默认值是不一样的)

※注意:种子的取值范围0-4294967295值越大,随机出来的数值越离散

注意:当我们配置随机的Start值和Range值的时候,在跳变域的位置取出来的值要有大小关系,Range的值要大于Start的值。比如我们配置了offset的值为4,那么就是5、6、7、8字节属于跳变域,,按照正常的理解:如果配置Start为::1,Range配置1::,让值在::1和1::之间去随机变化,这样是可以的,但是当你把地址写全0000 0000 0000 0000 0000 0000 0000 0001和0001 0000 0000 0000 0000 0000 0000 0000,我们把5、6、7、8字节的内容提取出来都是0000 0000,不存在大小之分,所以这么配置就会报错。

正确的配置应该是如下图:

地址为0000 0000 0000 0000 0000 0000 0000 0001和0000 0000 0000 000F 0000 0000 0000 0001,提取出跳变域的值为0000 0000和0000 000F,随机值就在这个范围内变化,当然Mask同样也会决定参加变化的位,和之前递增递减类似,就不多介绍。

配置IPv6地址跳变——网络测试仪实操的更多相关文章

  1. RENIX报文字段跳变——网络测试仪实操

    什么是报文字段跳变? 报文字段跳变是指字段的值进行一些列有规则的变化,Renix支持对字段进行递增.递减.列表和随机变化. 如当用户想要仿真大量的源IP变化的数据时,就可以使用Modifier进行规则 ...

  2. RFC2889MAC地址学习速率——网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...

  3. 基于IPv6的RIPng路由协议测试——信而泰网络测试仪实操

    关键词 IPv6; RIPng; 协议测试; 内部网关协议; 外部网关协议 前言:在国际性网络中,如因特网,拥有很多应用于整个网络的路由选择协议.形成网络的每一个自治系统(AS),都有属于自己的路由选 ...

  4. RFC2889广播时延测试——网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...

  5. 在 Linux 中自动配置 IPv6 地址

    在 Linux 中自动配置 IPv6 地址 在本文中,我们将学习如何为 ULA 自动配置 IP 地址. 何时使用唯一本地地址 唯一本地地址unique local addresses(ULA)使用 f ...

  6. 第11章 拾遗4:IPv6(2)_给计算机配置IPv6地址

    4. 给计算机配置IPv6地址 4.1 无状态自动配置IPv6地址 (1)网络拓扑 ①无状态地址自动配置是指不需要DHCP服务器进行管理,由客户端向路由器发送前缀请求(RS)询问其所在网段.路由器收到 ...

  7. IPv6系列-彻底弄明白有状态与无状态配置IPv6地址

    深入研究自动分配IPv6地址的Stateless(无状态)与Stateful(有状态)方式 小慢哥的原创文章,欢迎转载 目录 ▪ 一. Link-Local Address的生成方式 ▪ 二. Glo ...

  8. 工程师技术(一):启用SELinux保护、自定义用户环境、配置IPv6地址、配置聚合连接、配置firewalld防火墙

    一.启用SELinux保护 目标: 本例要求为虚拟机 server0.desktop0 配置SELinux: 确保 SELinux 处于强制启用模式 在每次重新开机后,此设置必须仍然有效 方案: SE ...

  9. IPv6 OSPFv3路由协议测试——信而泰网络测试仪实操

    关键词 IPv6; OSPFv3; OSPFv2. 前言:在网络部署中,动态路由协议是重要的组成部分.良好的路由协议,是保证网络可靠.稳定运行的基础.为了适应IPv6协议栈的变化,OSPFv3协议在保 ...

随机推荐

  1. 【刷题-LeetCode】306. Additive Number

    Additive Number Additive number is a string whose digits can form additive sequence. A valid additiv ...

  2. 【算法】Manacher算法

    最长回文串问题 manacher算法是用来求解最长回文串的问题.最长回文串的解法一般有暴力法.动态规划.中心扩展法和manacher算法. 暴力法的时间复杂度为\(O(n^3)\),一般都会超时: 动 ...

  3. 观察者模式(Observer模式)

    模式的定义与特点 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.这种模式有时又称作发布-订阅模式.模型- ...

  4. 命令行传参是否只能针对main方法

    先上结论 命令行传参只能针对main方法而言,而且格式严格 这里在原有主类test基础上创建了另一个类,名字为testCMD,但里面创建的方法并不是main方法,在cmd内编译后进行命令行传参,结果如 ...

  5. (DDS)正弦波形发生器——幅值、频率、相位可调(一)

    (DDS)正弦波形发生器--幅值.频率.相位可调 一.项目任务: 设计一个幅值.频率.相位均可调的正弦波发生器. 频率每次增加1kHz. 相位每次增加 2*PI/256 幅值每次增加两倍 二.文章内容 ...

  6. resp.getWriter().print(categoryList)、resp.getWriter().write(String)与new ObjectMapper().writeValue(resp.getOutputStream(),categoryList)的区别

    前言:最近在复习原生的servlet的时候,对其输出流不理解,故总结一下: resp.getWriter().print(categoryList) 可以输出字符串,也可以输出对象,可能还有其他类型, ...

  7. Nginx 配置 HTTPS 服务器

    Nginx 配置 HTTPS 服务器 Chrome 浏览器地址栏标志着 HTTPS 的绿色小锁头从心理层面上可以给用户专业安全的心理暗示,本文简单总结一下如何在 Nginx 配置 HTTPS 服务器, ...

  8. docker容器编排 (4)

    容器编排 我们的项目可能会使用了多个容器,容器多了之后管理容器的工作就会变得麻烦.如果要对多个容器进行自动配置使得容器可以相互协作甚至实现复杂的调度,这就需要进行容器编排.Docker原生对容器编排的 ...

  9. Git Push 免输 用户名和密码

    前言 在大家使用github的过程中,一定会碰到这样一种情况,就是每次要push 和pull时总是要输入github的账号和密码,这样不仅浪费了大量的时间且降低了工作效率.在此背景下,本文在网上找了两 ...

  10. Python—经典练手题目汇总

    Python-经典练手题目汇总 # 1.有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两# 个,问几天以后能卖完? day=0 xg=1020 for i in rang ...