赞
踩
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768 [1] 是UDP的正式规范。UDP在IP报文的协议号是17。
UDP协议与TCP协议一样用于处理数据包,在OSI模型中,两者都位于传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用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服务器发送流量,获取响应,得到UDP服务器的性能。
测试仪只模拟服务器,接收客户端的请求,并回复正确的回应,得到客户端的性能。
用例的运行需要分配cpu核数,UDP的最高性能需要分配一定的核数。
UDP用例支持多种流量模型,包括固定速率:设置一个限速数值,运行过程中速率将一直保持该数值,上下浮动不超过1%;
随机速率:限速方式为随机速率时,设置最小、最大限速数值,速率将按每秒从最小速率和最大速率之间随机速率值运行直到运行结束;
梯形速率:限速方式为梯形速率时,设置一个限速数值,运行开始阶段速率将按时间或者百分比递增到该数值,中间过程将一直保持设置的限速数值,运行结束前速率按时间或者百分比递减至0,中间过程上下浮动不超过1%;
雪崩速率:限速方式为雪崩速率时,设置最大、最小速率和保持时长,测试过程中速率将以最大速率保持一段时长,再以最小速率保持一段时长,交替进行;
正弦速率:限速方式为正弦速率时,设置最大、最小速率和渐变时长,测试过程中速率会在每一个渐变时长内完成一次正弦变化;
楼梯速率:限速方式为楼梯速率时,设置初始、最大、递增速率和保持时长,测试过程中速率将以初始速率保持一段时长,按递增速率每次递增并保持一段时长,最后按最大速率一直运行结束,形状类似楼梯。
支持链路层和应用层的限速,限速单位支持最低为bps,最高为Gbps,默认为Mbps。
可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。
DPDK大页内存占用例运行内存的百分比,运行UDP并发用例时,建议大页内存占比50%,剩余内存用于建立SSL会话,范围: 10% - 95%。
类似于并发数,可同时存在TCP的数量,如设置了256个用户,应建立256条TCP连接。
端口变换,在一个端口上按照配置变换帧长和载荷。
UDP的载荷内容,固定时全为0,随机时为随机字符串。
支持固定、列表、步进、随机、imix等多种帧长变换模式。
每次尝试发送的报文数量,DPDK只有在每次发送一个报文时,时延最小,帧间隙最均匀,但会降低吞吐率。
每次尝试接收的报文数量,DPDK只有在每次接收一个报文时,时延最小,帧间隙最均匀,但会降低吞吐率。
会话层用户限速时启用,范围:1 - 10,000,每个虚拟用户每秒发送多少个报文。
会话层用户限速时启用,范围:0 - 测试时长,每个虚拟用户发送报文的时长,单位为秒,0表示无限制。
会话层用户限速时启用,范围:0 - 60,发送第一个报文之后,等待多长时间,再发送第二个报文,0表示不等待。
IPv4报文头DF比特位,禁止分片控制,0表示可以分片,1表示禁止分片。
是否启用报文分片,启用报文分片时,分片大小与设置的报文帧长和MTU有关;如果报文帧长大于MTU+18字节(18字节为14字节链路层头部长度+4字节CRC),就会触发IP报文分片,每个报文最多分4片(MTU可在对象–>协议栈选项中进行设置)。
是否启用双向流量,开启双向流量时,既有客户端到服务器的流量,又有服务器到客户端的流量。
发送报文时,通过clock_gettime (CLOCK_REALTIME, struct timespec * tp) 获取系统实时时间,在报文尾部插入时间戳,接收报文时,再次通过clock_gettime函数获取系统实时时间,两者相减,算出时延,因为时间戳占用16个字节,所以IPv4的最小报文长度为64+16=80字节,IPv6的最小报文长度为66+16=82字节。
发送命令后等待对端响应的秒数,范围 1 - 60 秒。
发送ARP报文,获取网关或受测设备的MAC地址之前,IPv4是否发送免费ARP报文。
在测试开始之前,是否发送ping报文,检查客户端和服务端之间的连通性。
各种协议栈选项,所有参数含义与Linux内核相同。
网络套接字源和目的IP的更换策略,可以选择增加或随机。
网络套接字源和目的端口的更换策略,可以选择增加或随机。
是否对报文进行收发字节数统计。
是否对TCP/UDP报文进行收发数量的统计。
测试到时或者被用户强行终止后,等待报文传输或会话完成,也可以用来关闭TCP连接,单位为秒,范围为2-600。
网关设备测试拓扑图:
说明:Supernova测试仪同时模拟UDP客户端和服务端,客户端发送指定帧长的报文,测试流量经过网关设备转发到服务端,通过统计发送/接收包数、发送/接收速率等信息,得到受测网关设备的吞吐性能。
本次案例测试网关模式下,获取受测网关设备(防火墙)的UDP最大吞吐量。
(1)在网关模式中,创建UDP吞吐用例,由于过的是防火墙,需要配置网关,选择路由模式。
(2)分配CPU核数
(3)抓包设置。
(4)参数设置
(1)点击启动用例
(2)在监控中查看运行界面
(3)生成报告
用例手动终止或者到时后,可在报告页面生成报告。
结论:符合4.3.1的预期结果
结论:符合4.3.2的预期结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。