RENIX_Python_如何实现调速——网络测试仪实操
1.Renix如何进行调速
Renix通过两种方式对流量进行调速一种是基于端口调速(Base On Port),一种是基于流调速(Base On Stream)。
1.1Base On Port
基于端口调速。这种调速方式的单位和数值是统一在端口上进行配置,端口下的流量均分负载。

编辑
1.2Base On Stream
基于流调速。这种调速方式的单位和数值是在每一条流量上去配置,端口下所有流量的负载之和不能大于端口线速。因为不同的流量可以选择不同的单位,所以选择该调速方式时,还需要先选择一个换算的标准(Frames per Second/ Bytes per Second),这样有利于计算端口的总负载。

编辑

编辑
2.基于端口调速涉及的API
2.1InterFrameGapProfile

编辑
这个API的作用就是进行端口调速,通过该API对端口速率进行配置,修改数值和单位。

编辑
2.2StreamPortConfig

编辑
这个API的对于调速的作用就是选择调速方式:Base On Port/Base On Stream,默认的调速方式就是Base On Port;它的‘lower’就是‘InterFrameGapProfile’,也就是端口调速要用到的API。

编辑
注意:
StreamPortConfig的‘upper’是Port,只有当端口上线成功时,StreamPortConfig的‘lower’才有‘InterFrameGapProfile’;当端口上线失败时,StreamPortConfig的‘lower’为‘[ ]’,是空的。
3.基于流调速涉及的API
3.1StreamTemplateLoadProfile

编辑
这个API的作用就是进行流调速,通过该API对每一条流量的速率进行配置,修改数值和单位

编辑
3.2StreamLoadProfile

编辑
这个API的作用就是选择一个换算的标准(Frames per Second/ Bytes per Second)。因为不同的流量可以选择不同的单位,有不同的负载值,有一个基准的换算单位,便于计算端口的总负载。
(建议客户就使用Frames per Second或者 Bytes per Second,Percent是内部使用,兼容时用到,不建议使用)

编辑
3.3StreamPortConfig

编辑
这个API的对于调速的作用就是选择调速方式:Base On Port/Base On Stream,基于流的调速需要将LoadProfileType改为Base On Stream;它的‘lower’就是‘StreamLoadProfile’,是基于流调速会涉及到的API。

编辑
4.脚本示例(Python)
4.1基于端口调速
from renix_py_api.renix import *
initialize()
#获取根节点SysEntry
sys_entry = get_sys_entry()
#预约测试仪10.0.11.106槽位1上的的端口1和端口2
port_location = ('//10.0.11.106/1/15','//10.0.11.106/1/16')
port1 = Port(upper=sys_entry,Location=port_location[0])
port2 = Port(upper=sys_entry,Location=port_location[1])
bring_port_online_cmd = BringPortsOnlineCommand(PortList=[port1.handle,port2.handle])
bring_port_online_cmd.execute()
assert port1.Online
#在端口1下创建流量s1
s1 = StreamTemplate(upper=port1)
print(port1.__dict__)
#指定端口的负载模式——Base On Port
stream_port_config = port1.get_children('StreamPortConfig')[0]
stream_port_config.get()
print(stream_port_config.__dict__)
inter_frame_gap_profile = stream_port_config.get_children('InterFrameGapProfile')[0]
print(inter_frame_gap_profile.__dict__)
#修改端口速率的单位和数值(先修改单位,再修改数值,单位和数值不要同时修改,否则配置会不生效)
inter_frame_gap_profile.edit(Unit=EnumFrameGapUnit.FRAME_PER_SEC)
inter_frame_gap_profile.edit(Rate=200)
inter_frame_gap_profile.get()
print(inter_frame_gap_profile.__dict__)
4.2基于流调速
from renix_py_api.renix import *
initialize()
#获取根节点SysEntry
sys_entry = get_sys_entry()
#预约测试仪10.0.11.106槽位1上的的端口1和端口2
port_location = ('//10.0.11.106/1/15','//10.0.11.106/1/16')
port1 = Port(upper=sys_entry,Location=port_location[0])
port2 = Port(upper=sys_entry,Location=port_location[1])
bring_port_online_cmd = BringPortsOnlineCommand(PortList=[port1.handle,port2.handle])
bring_port_online_cmd.execute()
assert port1.Online
#在端口1下创建流量s1
s1 = StreamTemplate(upper=port1)
print(port1.__dict__)
#查看StreamPortConfig的信息
stream_port_config = port1.get_children('StreamPortConfig')[0]
stream_port_config.get()
print(stream_port_config.__dict__)
#修改端口的负载模式——Base On Stream
stream_port_config.edit(LoadProfileType=EnumLoadProfileType.STREAM_BASE)
stream_port_config.get()
print(stream_port_config.__dict__)
#选择换算的基准单位(不同的流量有不同的单位和数值,要计算端口总负载,需要选择一个基准单位)
stream_load_profile = stream_port_config.get_children('StreamLoadProfile')[0]
stream_load_profile.get()
print(stream_load_profile.__dict__)
stream_load_profile.edit(Unit=EnumRateUnit.BYTE_PER_SEC)
print(s1.get_children())
print(stream_load_profile.__dict__)
#修改端口速率的单位和数值(先修改单位,再修改数值,单位和数值不要同时修改,否则配置会不生效)
stream_template_load_profile = s1.get_children('StreamTemplateLoadProfile')[0]
print(stream_template_load_profile.__dict__ )
stream_template_load_profile.edit(Unit=EnumFrameLoadUnit.FRAME_PER_SEC)
print(stream_template_load_profile.__dict__)
stream_template_load_profile.edit(Rate=10000)
print(stream_template_load_profile.__dict__)
RENIX_Python_如何实现调速——网络测试仪实操的更多相关文章
- Renix中如何实现流调速——网络测试仪实操
在Renix操作中有时我们需要进行流调速,那么如何实现呢?接下来为您详细介绍. 第一步:预约测试资源 首先打开Renix软件,连接机箱, 预约端口 第二步:流调速 例如:端口下有3条流,分别设置为10 ...
- RFC2889广播时延测试——网络测试仪实操
一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...
- RIP协议测试——信而泰网络测试仪实操
一.简介: RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递.RIP协议基于 ...
- ISISv4协议测试——网络测试仪实操
文章关键词 ISIS协议:路由协议:协议测试: 一.文章简介: isis是一种与ospf很相似的网络协议(属于动态路由协议),它被应用在巨大规模网络,如运营商以及银行等.同样的它也是基于链路状态算法, ...
- IGMP协议测试-网络测试仪实操
一.前言:IGMP协议用于IPv4系统向任何邻居组播路由器报告其组播成员资格.IP组播路由器自己本身也可以是一到多个组播组的成员.这时,组播路由器要实现协议的组播路由器部分. IGMP存在三个不同版本 ...
- 基于IPv6的RIPng路由协议测试——信而泰网络测试仪实操
关键词 IPv6; RIPng; 协议测试; 内部网关协议; 外部网关协议 前言:在国际性网络中,如因特网,拥有很多应用于整个网络的路由选择协议.形成网络的每一个自治系统(AS),都有属于自己的路由选 ...
- IPv6 OSPFv3路由协议测试——信而泰网络测试仪实操
关键词 IPv6; OSPFv3; OSPFv2. 前言:在网络部署中,动态路由协议是重要的组成部分.良好的路由协议,是保证网络可靠.稳定运行的基础.为了适应IPv6协议栈的变化,OSPFv3协议在保 ...
- BGP协议测试—信而泰网络测试仪实操
关键词 BGP; 协议仿真; 测试原理. 前言:当前信息化时代之下,数据传输已经成为了日常工作和生活必不可少的重要组成部分,网络服务的易得性和可靠性也因此得到广泛关注.这其中负责网络正常工作的诸多协 ...
- RFC2544丢包率测试——信而泰网络测试仪实操
文章关键词:RFC2544.丢包率.吞吐量. 丢包率概述: 丢包率(Frame Loss Rate)测试的目的是确定DUT在不同的负载和帧长度条件下的丢包率.在稳定负载下,由于网络设备资源缺乏,应该正 ...
- Internet/Custom路由配置——网络测试仪实操
一.测试说明以及功能原理 本文主要介绍Internet/Custom路由配置方法以及实验: ◆作用:可以通过此功能模拟注入不同百分比掩码的路由 ◆特点:只针对路由协议(目前RIP协议不支持,因为RIP ...
随机推荐
- C# WinForms 实现打印监听组件
一.组件简介 打印监听组件是一款集成于 Windows 桌面环境的打印任务管理与监控工具,适用于企业级应用场景.它不仅支持多打印机任务的实时监控,还能通过 WebSocket 与外部系统集成,实现自动 ...
- 快来玩玩便捷、高效的Demo练习场
Demo练习场 Vonajs 提供了一个 Demo 练习场的功能,允许我们非常方便.快捷的对代码做测试,对想法做验证 步骤 简而言之,Demo练习场的使用只需两步:第一步写代码,第二步执行终端命令.具 ...
- VKProxy新增速率限制功能
VKProxy 是使用c#开发的基于 Kestrel 实现 L4/L7的代理(感兴趣的同学烦请点个github小赞赞呢) 目前新添加了速率限制(限流)功能 什么是速率限制? 速率限制是限制可以访问的资 ...
- 我的 Vibe Coding 的第一个项目
大家好,我是 Immerse,一名独立开发者.内容创作者. 关注公众号:#沉浸式趣谈,获取最新文章(更多内容只在公众号更新) 个人网站:https://yaolifeng.com 也同步更新. 转载请 ...
- window10本地搭建DeepSeek R1(三) 'NoneType' object has no attribute 'encode'
上面两章介绍了在本地安装DeepSeek+OpenWebUI.这里介绍一下几个需要注意的地方. 1:文件上传失败,上传文件是报错:python "'NoneType' object has ...
- Oracle中数值型及处理方法
数值型 理解精度 number类型的精度表示可以标识数据精确度的位数.对于数字13245.977,当精确到小数点后2位,数据为12345.98,此时精度为7.而当精确到小数点前2位,数据为12300, ...
- Luogu P10590 磁力块
P10590 磁力块 有一个很显然的 BFS,对于每一个吸到的新磁力块,遍历序列,把所有它能吸到的磁力块加入一个队列进行扩展.这样时间复杂度是 \(O(n^2)\),不能通过. 考虑影响是否能吸到的两 ...
- 前端开发系列070-JQuery篇之框架事件处理
JavaScript以事件驱动来实现页面的交互,其核心是以消息为基础,以事件来驱动.虽然利用传统的JavaScript事件处理方式也能够完成页面交互,但jQuery框架增加并扩展了基本的事件处理机制, ...
- from gi.repository import Gtk, GObject
Traceback (most recent call last): File "/usr/bin/software-center", line 25, in from gi.re ...
- powerline 美化,命令行美化.
废话不多说直接开干 首先 powerline 一般是一个 python脚本. so 在你想要使用的地方加上这个python脚本即可 比如 首先安装这个脚本 sudo pip3 install powe ...