使用树莓派网络探针的网络性能测量指标

树莓派支持多种语言进行应用开发,包括C语言和Python脚本等。树莓派预装了Python运行环境,由于Python语言的简单易用,使得Python开发在树莓派上非常流行。Python语言发展多年,有着成熟而广泛的开发者社区,使得树莓派上的Python开发者具备了强大的社区支持。

(1) 可用性

使用ICMP协议发送测试报文来测试样本测试点是否可达,并分析ICMP测试的回显数据来监控网络可用性。 通过 ICMP 测试时,您可以根据需要发送任意数量的数据包和数据包大小。

(2)网络延迟

监控端到端网络时延是监控网络质量的重要指标。 可以通过综合监测数据包的前向时延、反向时延、往返时延进行分析评估。

(3)丢包率

网络丢包率是指丢失的数据包与传输的数据包总数的比率。 正常传输时,网络丢包率应控制在一定范围内。 丢包率与数据包的长度和数据包传输的频率有关。 正常情况下,千兆网络丢包率应小于5/10,000; 100M网络丢包率应小于1/10,000。

(4)网络吞吐量

网络吞吐量是指某一时刻网络中端到端之间实际可用的有效带宽。 网络吞吐量很大程度上取决于当前的网络负载情况。 必须结合多种情况进行综合吞吐量测试,才能测出相对准确的网络吞吐量。

(5)网络抖动(Jitter)

网络抖动用于描述网络中数据包传输延迟的变化。 抖动越小,网络质量越稳定、越好。 抖动是评估网络性能的重要因素。

为了全面测量网络的整体性能指标,需要利用分布在网络各个节点的易于部署的测试设备进行测量,从而对整个网络的数据进行整体监控。 Raspberry Pi是一个成熟的嵌入式ARM开发平台,适合承担这项任务。

2 树莓派及其开发环境

Raspberry PI 是一个采用 ARM 架构的开放式嵌入式系统。 它体积虽小,但具有强大的系统功能和接口资源。 它是一款以ARM11处理器为核心的单板计算机,具有256MB、512MB甚至1G内存、USB接口、快速以太网接口、SD插槽、HDMI输出接口。 Raspberry Pi小巧精致,可提供1080p全高清图像输出。 配备基于ARM的Debian、Arch等Linux发行版后,可以使用大量现有的软件库,使用大量开源软件,方便开发和扩展。

Raspberry Pi支持多种语言进行应用程序开发,包括C语言和Python脚本。 Raspberry Pi 预装了 Python 操作环境。 由于Python语言的简单易用,Python开发在Raspberry Pi上非常流行。 Python是一种解释性语言,这意味着代码在运行前不需要编译,即程序不被编译成机器语言而直接执行。 Python在Raspberry Pi上编程和开发非常方便。 Python语言已经发展多年,拥有成熟而广泛的开发者社区,为Raspberry Pi上的Python开发者提供了强大的社区支持。

3 Netperf网络测量

Netperf是著名的网络性能测试工具,支持测试TCP和UDP应用程序的网络性能。 Netperf 工具以客户端/服务器模式工作。 Netperf 服务器运行 netserver 守护程序来侦听来自 Netperf 客户端的连接。 Netperf客户端通过多种方式向Netperf服务器发起网络测试。 客户端发起测试后,首先与服务器建立控制连接,并初始化该连接的基本网络测试信息。 初始化控制连接成功后,Netperf客户端和Netperf服务器之间将建立特定的网络性能测试连接,以预设的测试流量模式传输测试网络数据,以测试网络的性能并返回各种测试结果。 项目信息。 Netperf可以模拟Client/Server长连接或短连接场景,因此可以更接近实际的网络使用环境进行测试和评估。

根据应用的不同,Netperf可以以不同的模式进行网络性能测试,即批量数据传输模式和请求/响应模式。

Netperf支持以下几种模式的TCP流量性能测试:

(1)单个TCP连接,批量传输大量单个TCP连接;

(2)单个TCP连接,客户端请求/服务器响应TCP连接;

(3) 多个TCP连接,每个连接支持请​​求/响应处理。

Netperf支持以下模式的UDP流量测试:

(1) UDP客户端/服务器模式单向批量传输;

(2)请求/响应模式下的UDP处理。

在进行Netperf网络测试时,您可以设置基本的TCP_STREAM和UDP_STREAM模式网络流进行测试,也可以设置TCP_RR、TCP_CRR和UDP_RR请求响应网络流进行测试。 TCP_RR模式支持对同一个TCP连接的TCP请求和响应的多个交互式测试。 各种数据库应用场景基本都是这种模式。 基于该模式,可以进行数据库TCP应用的网络性能测试。 TCP_CRR 模式支持对多个新 TCP 连接的 TCP 请求和响应进行交互式测试。 各种无会话的TCP应用场景基本都是这种模式。 基于这种模式,不需要会话维护的TCP应用(如HTTP应用)可以联网。 性能测试。

4 基于Raspberry Pi的网络探针

在树莓派上安装Netperf作为网络探针来测试各个节点的网络性能是一个相对方便快捷的解决方案。 在树莓派的Raspian系统上安装Netperf客户端,执行Netperf客户端对专门部署的Netperf服务器发起测试,检测综合测试的网络性能数据。

安装Raspian操作系统,并从网站下载基于Debian的Raspian系统发行压缩包。 将压缩包中得到的镜像文件解压,通过镜像写入工具Win32DiskImager将镜像文件写入树莓派的SD卡中。 镜像写入成功后,将SD卡插入树莓派的SD卡槽并上电。 首次启动Raspberry Pi时,需要进行必要的配置才能进入Raspian操作系统。

(1)树莓派下安装Netperf:

您可以到Netperf官网(ftp:///netperf/)下载最新版本的netperf-2.7.0.tar.gz并手动编译安装,也可以直接通过Raspian软件库安装。

通过SSH客户端工具登录树莓派后,执行以下步骤,通过Raspian软件库安装完成Netperf客户端的安装:

sudo apt-get 更新

须藤 apt-get 安装 netperf

(2)使用Raspberry Pi作为网络探针来测试网络性能:

下面的测试使用8字节请求包/512字节响应包进行模拟测试。 使用测试参数-r设置请求包大小响应包大小参数进行测试。

测试截图如图1

使用树莓派网络探针的网络性能测量指标

图1 树莓派TCP_RR测试

下面的测试模拟大量新建连接的TCP测试。 树莓派模拟客户端向目标TCP服务器发起大量TCP新连接请求。 具体测试结果如图2所示:

使用树莓派网络探针的网络性能测量指标

图2 树莓派TCP_CRR测试

5 结论

Raspberry Pi 是一个优秀的 ARM 嵌入式平台。 基于Raspberry Pi灵活的架构,可以方便灵活地部署网络测试软件。 Raspberry Pi与强大的Netperf网络测试工具结合后,可以灵活方便地部署在网络上。 在节点部署网络探针来监控网络性能,可以帮助大规模网络提高网络运行质量。

单片机

8051介绍单片机C语言的优越性和坚固性的因素

2024-5-1 2:02:54

单片机

嵌入式如何编写第一个单片机程序?

2024-5-1 3:02:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索