第一部分:什么是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. 学习AJAX必知必会(4)~同源策略、解决跨域问题(JSONP、CORS)

    一.同源策略(Same-Origin Policy),是浏览器的一种安全策略. 1.同源(即url相同):协议.域名.端口号 必须完全相同.(请求是来自同一个服务) 2.跨域:违背了同源策略,即跨域. ...

  2. golang汇总gomodules的初始化与改变模块的依赖关系

    1. gomodules的初始化 2. 改变模块的依赖关系

  3. 为什么ConcurrentHashMap是线程安全的?

    ConcurrentHashMap 是 HashMap 的多线程版本,HashMap 在并发操作时会有各种问题,比如死循环问题.数据覆盖等问题.而这些问题,只要使用 ConcurrentHashMap ...

  4. linux单用户模式修改密码与系统启动级别

    目录 一:系统启动级别 二:单用户模式修改密码 一:系统启动级别 系统启动级别: 0 关机 1 单用户模式(无法通过xshell方式使用)(虚拟机操作)(系统云服务商后台) 2 多用户无网络模式 3 ...

  5. 记一次 .NET 某智能交通后台服务 CPU爆高分析

    一:背景 1. 讲故事 前天有位朋友加微信求助他的程序出现了CPU爆高的问题,开局就是一个红包,把我吓懵了! 由于是南方小年,我在老家张罗处理起来不方便,没有第一时间帮他处理,朋友在第二天上午已经找出 ...

  6. 微服务架构 | 7.2 构建使用 JWT 令牌存储的 OAuth2 安全认证

    目录 前言 1. JWT 令牌存储基础知识 1.1 JSON Web Token 2. 构建使用 JWT 令牌存储的 OAuth2 服务器 2.1 引入 pom.xml 依赖文件 2.2 创建 JWT ...

  7. 解读WPF中的Binding

    1.Overview 基于MVVM实现一段绑定大伙都不陌生,Binding是wpf整个体系中最核心的对象之一这里就来解读一下我花了纯两周时间有哪些秘密.这里我先提出几个问题应该是大家感兴趣的,如下: ...

  8. ApacheCN 计算机视觉译文集 20211110 更新

    OpenCV3 和 Qt5 计算机视觉 零.前言 一.OpenCV 和 Qt 简介 二.创建我们的第一个 Qt 和 OpenCV 项目 三.创建一个全面的 Qt + OpenCV 项目 四.Mat和Q ...

  9. 新手应该如何学习 PHP 语言?

    其实php开发,不只是一个简单的php开发,而是整个一个行业,一般叫web开发,或者php后端开发,所以从html,css,js,jq,php,sql基本这些都要有了解.当然你有html,css基础, ...

  10. Java 自定义窗体(标题栏、窗体背景)

    感谢大佬:https://blog.csdn.net/ltx06/article/details/28996839 最近在书上看到这篇文章,觉得挺有意思.与大家分享一下,具体可以参见明日科技出版的&l ...