网测科技_UDP协议吞吐测试案例

一、UDP协议解析

1.1协议原理

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768 [1] 是UDP的正式规范。UDP在IP报文的协议号是17。
UDP协议与TCP协议一样用于处理数据包,在OSI模型中,两者都位于传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。

1.2 UDP协议特点

UDP协议有如下的特点:
1、UDP传送数据前并不与对方建立连接,即UDP是无连接的,在传输数据前,发送方和接收方相互交换信息使双方同步。
2、UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息(如TCP所采用的序号),而且报文不一定按顺序到达的,所以接收端无从排起。
3、UDP对接收到的数据报不发送确认信号,发送端不知道数据是否被正确接收,也不会重发数据。
4、UDP传送数据较TCP快速,系统开销也少。
1.3协议用途
UDP协议用途:UDP 适用于不需要 TCP 可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。 UDP 是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)。

二、UDP在supernova测试仪中可应用的场景

2.1 网关模式

测试仪同时模拟客户端和服务器,测试流量穿过受测设备(防火墙、交换机、路由器等),得到受测设备的性能。

2.2代理模式

测试仪同时模拟客户端和服务器,测试流量穿过受测设备(代理设备、负载均衡设备),得到受测设备的性能。

2.3应用服务模式

测试仪只模拟客户端,向受测的UDP服务器发送流量,获取响应,得到UDP服务器的性能。

2.4 终端模式

测试仪只模拟服务器,接收客户端的请求,并回复正确的回应,得到客户端的性能。

三、UDP用例功能介绍

3.1.分配cpu核

用例的运行需要分配cpu核数,UDP的最高性能需要分配一定的核数。

3.2限速配置

UDP用例支持多种流量模型,包括固定速率:设置一个限速数值,运行过程中速率将一直保持该数值,上下浮动不超过1%;
随机速率:限速方式为随机速率时,设置最小、最大限速数值,速率将按每秒从最小速率和最大速率之间随机速率值运行直到运行结束;
梯形速率:限速方式为梯形速率时,设置一个限速数值,运行开始阶段速率将按时间或者百分比递增到该数值,中间过程将一直保持设置的限速数值,运行结束前速率按时间或者百分比递减至0,中间过程上下浮动不超过1%;
雪崩速率:限速方式为雪崩速率时,设置最大、最小速率和保持时长,测试过程中速率将以最大速率保持一段时长,再以最小速率保持一段时长,交替进行;
正弦速率:限速方式为正弦速率时,设置最大、最小速率和渐变时长,测试过程中速率会在每一个渐变时长内完成一次正弦变化;
楼梯速率:限速方式为楼梯速率时,设置初始、最大、递增速率和保持时长,测试过程中速率将以初始速率保持一段时长,按递增速率每次递增并保持一段时长,最后按最大速率一直运行结束,形状类似楼梯。
支持链路层和应用层的限速,限速单位支持最低为bps,最高为Gbps,默认为Mbps。

3.3抓包设置

可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。

3.4 DPDK大页内存占比

DPDK大页内存占用例运行内存的百分比,运行UDP并发用例时,建议大页内存占比50%,剩余内存用于建立SSL会话,范围: 10% - 95%。

3.5虚拟用户数量

类似于并发数,可同时存在TCP的数量,如设置了256个用户,应建立256条TCP连接。

3.6 策略变换载体

端口变换,在一个端口上按照配置变换帧长和载荷。

3.7 载荷变换类型

UDP的载荷内容,固定时全为0,随机时为随机字符串。

3.8 帧长变换模式

支持固定、列表、步进、随机、imix等多种帧长变换模式。

3.9 发送报文速率

每次尝试发送的报文数量,DPDK只有在每次发送一个报文时,时延最小,帧间隙最均匀,但会降低吞吐率。

3.10 接收报文速率

每次尝试接收的报文数量,DPDK只有在每次接收一个报文时,时延最小,帧间隙最均匀,但会降低吞吐率。

3.11 每个虚拟用户每秒发送报文

会话层用户限速时启用,范围:1 - 10,000,每个虚拟用户每秒发送多少个报文。

3.12 每个虚拟用户发送报文时长(s)

会话层用户限速时启用,范围:0 - 测试时长,每个虚拟用户发送报文的时长,单位为秒,0表示无限制。

3.13 首包后延迟(s)

会话层用户限速时启用,范围:0 - 60,发送第一个报文之后,等待多长时间,再发送第二个报文,0表示不等待。

3.14 IP头DF位

IPv4报文头DF比特位,禁止分片控制,0表示可以分片,1表示禁止分片。

3.15 IPV4报文分片

是否启用报文分片,启用报文分片时,分片大小与设置的报文帧长和MTU有关;如果报文帧长大于MTU+18字节(18字节为14字节链路层头部长度+4字节CRC),就会触发IP报文分片,每个报文最多分4片(MTU可在对象–>协议栈选项中进行设置)。

3.16 双向流量

是否启用双向流量,开启双向流量时,既有客户端到服务器的流量,又有服务器到客户端的流量。

3.17 时延计算

发送报文时,通过clock_gettime (CLOCK_REALTIME, struct timespec * tp) 获取系统实时时间,在报文尾部插入时间戳,接收报文时,再次通过clock_gettime函数获取系统实时时间,两者相减,算出时延,因为时间戳占用16个字节,所以IPv4的最小报文长度为64+16=80字节,IPv6的最小报文长度为66+16=82字节。

3.18等待响应超时秒数

发送命令后等待对端响应的秒数,范围 1 - 60 秒。

3.19 发送免费ARP

发送ARP报文,获取网关或受测设备的MAC地址之前,IPv4是否发送免费ARP报文。

3.20 ping连通性检查

在测试开始之前,是否发送ping报文,检查客户端和服务端之间的连通性。

3.21协议栈选项

各种协议栈选项,所有参数含义与Linux内核相同。

3.22 IP变换算法

网络套接字源和目的IP的更换策略,可以选择增加或随机。

3.23 端口变换算法

网络套接字源和目的端口的更换策略,可以选择增加或随机。

3.24 二层字节统计

是否对报文进行收发字节数统计。

3.25 四层报文统计

是否对TCP/UDP报文进行收发数量的统计。

3.26 测试老化时长

测试到时或者被用户强行终止后,等待报文传输或会话完成,也可以用来关闭TCP连接,单位为秒,范围为2-600。

四、UDP测试案例

4.1 UDP用例拓扑图

网关设备测试拓扑图:
在这里插入图片描述

说明:Supernova测试仪同时模拟UDP客户端和服务端,客户端发送指定帧长的报文,测试流量经过网关设备转发到服务端,通过统计发送/接收包数、发送/接收速率等信息,得到受测网关设备的吞吐性能。

4.2 UDP吞吐用例目的

本次案例测试网关模式下,获取受测网关设备(防火墙)的UDP最大吞吐量。

4.3 UDP测试预计结果

4.3.1 网关模式过防火墙,双向1518帧,UDP吞吐量可以达到1000M,每个口各1000M。

4.3.2 网关模式过防火墙,单向64帧,UDP吞吐量可以达到1000M。

五、测试步骤

5.1创建UDP吞吐用例,配置参数。

(1)在网关模式中,创建UDP吞吐用例,由于过的是防火墙,需要配置网关,选择路由模式。
在这里插入图片描述在这里插入图片描述

(2)分配CPU核数
在这里插入图片描述

(3)抓包设置。
在这里插入图片描述

(4)参数设置
在这里插入图片描述

5.2启动用例,查看监控,结果,报告

(1)点击启动用例
在这里插入图片描述

(2)在监控中查看运行界面
在这里插入图片描述

(3)生成报告
用例手动终止或者到时后,可在报告页面生成报告。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

六、对预期结果进行验证

6.1网关模式过防火墙,双向1518帧,UDP吞吐量可以达到1000M,每个口各1000M。

在这里插入图片描述
在这里插入图片描述

结论:符合4.3.1的预期结果

6.2网关模式过防火墙,单向64帧,UDP吞吐量可以达到1000M。

在这里插入图片描述在这里插入图片描述

结论:符合4.3.2的预期结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值