中自网

热门搜索:PID  plc  传感器  电机  变频器  工业以太网  无线通讯  低压 

当前位置:首页>>应用案例首页>>专业论文>>正文

基于树莓派的网络探针设计

发布日期:2016-07-21   来源:《智能机器人》6月   作者: 解攀科 郭伟秀   浏览次数:33144
分享到:
【摘   要】:本文探讨如何基于树莓派构建网络性能测试探针,用于大型网络各个节点上分布式的监测全网性能。树莓派具备强大的功能、低廉的价格和易于部署的特征,适合承担这个任务。Netperf是一个功能强大的TCP/UDP性能测试平台,将Netperf和树莓派结合起来进行尝试是一个不错的选择。

 1前言

为提升大规模网络的整体运行性能,对网络的运行质量需要进行有效的测量,可以使用大量的分布式探针来监测网络各个节点的数据。主流的网络测量标准分为主动式和被动式测量。为了监测大规模网络的性能,单点测量所关注的数据远远不够,往往需要在网络的关键节点处部署探针进行多点测量。树莓派功能强大、设备小巧、可整合丰富的Linux类软件,可以方便的在节点作为探针发起主动的TCP\UDP网络性能测试。使用树莓派网络探针可以测量内容包括吞吐量、延迟、丢包率,并作网络可靠性、稳定性、 可达性等方面的分析,保障网络服务质量。树莓派网络探针的网络性能测量指标主要关注如下内容:

    (1)可用性(Availability

    通过采用ICMP协议发送测试包测试样本测试点是否可达,根据ICMP测试的回显数据分析,从而监测网络的可用性。通过ICMP测试时,可以根据需要发送包的数量和包的大小。

    (2)网络时延(Network Delay

     监测端到端的网络时延是监测网络质量的一个重要指标,可以综合监测数据包的正向时延、反向时延、往返时延来分析评估。

    (3)丢包率(Packet Loss Rate

    网络丢包率是数据包丢失部分与所传数据包总数的比值。正常传输时网络丢包率应该控制在一定范围内。丢包率与数据包长度以及包发送频率相关。通常情况下,千兆网络丢包率应小于万分之五;百兆网络丢包率应小于万分之一。

    (4)网络吞吐量(Network Throughput

网络吞吐量是指在某个时刻,在网络中的端到端之间,实际可用的有效带宽。网络吞吐量非常依赖于当前的网络负载情况,必须综合多个情况的综合吞吐量测试,才能测量出相对准确的网络吞吐量。

   (5)网络抖动(Jitter

    网络抖动用于描述包在网络中的传输延时的变化,抖动越小,说明网络质量越稳定越好。抖动是评价一个网络性能好坏的较为重要的因素。

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

2树莓派及其开发环境

树莓派Raspberry PI是一个采用ARM架构的开放式嵌入式系统,外形小巧,却具有强大的系统功能和接口资源。它是以ARM11处理器为核心的单板计算机,拥有256MB 512MB甚至1G的内存,具有USB接口、快速以太网接口、SD插槽、HDMI输出接口。树莓派小巧玲珑,能提供 1080p 全高清影像输出。在搭载基于ARMDebianArchLinux的发行版后,便可使用大量现有的软件库,使用大量的开源软件,也便于实行开发扩展。

树莓派支持多种语言进行应用开发,包括C语言和Python脚本等。树莓派预装了Python运行环境,由于Python语言的简单易用,使得Python开发在树莓派上非常流行。Python是一门解释型语言,这意味着代码运行前不需要编译,即程序直接执行而不需要编译为机器语言,Python用在树莓派上进行编程开发就非常方便。Python语言发展多年,有着成熟而广泛的开发者社区,使得树莓派上的Python开发者具备了强大的社区支持。

3 Netperf网络测量

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

       Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。

Netperf支持如下模式的TCP流量性能测试:

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

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

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

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

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

2)请求/应答模式的UDP处理。

     在进行Netperf网络测试,可以设置基本的TCP_STREAMUDP_STREAM模式的网络流进行测试,也可以设置TCP_RRTCP_CRRUDP_RR的请求\应答网络流来进行测试。TCP_RR方式的支持多次同一TCP连接的TCP requestresponse的交互测试,各类数据库应用场景基本是这个模式,可以基于这种模式对数据库类TCP应用进行网络性能测试。TCP_CRR方式的支持多次新建TCP连接的TCP requestresponse的交互测试,各类无会话的TCP应用场景基本是这个模式,可以基于这种模式对无须会话保持的TCP应用(比如HTTP应用)进行网络性能测试。

4基于树莓派的网络探针

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

       安装Raspian操作系统,在网站http://raspbian.org下载基于DebianRaspian系统发行版压缩包。将压缩包解压缩后得到的映像文件,通过镜像写入工具Win32DiskImager将映像文件写入树莓派的SD卡。镜像写入成功后,将SD卡插入到树莓派的SD 卡插槽中,加电启动。第一次启动树莓派,要对进Raspian操作系统进行必要的配置。

1)在树莓派下安装Netperf

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

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

sudo apt-get update

sudo apt-get install netperf

2)使用树莓派作为网络探针测试网络性能:

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

       测试截图如图1所示


1树莓派TCP_RR测试

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


2树莓派TCP_CRR测试

5结语

       树莓派是一个优秀的ARM嵌入式平台,基于树莓派灵活的体系架构可方便灵活的部署网络测试软件,树莓派和功能强大的Netperf网络测试工具结合后,就可以灵活方便的在网络节点中部署网络探针监测网络性能,有助于大规模网络提升网络运行质量。

参考文献

[1]钱洁,邱航,吴晓晖.基于主动网络的多路径流量均衡模型研究[J].计算机工程与应用, 2007,45( 14):107110.

[2]徐武平,晏蒲柳,夏德麟,.主动网络中基于多代理系统的流量均衡[J].计算机应用研究, 2005( 5):227232.

[3]王群.物联网体系结构研究及模拟实验平台的组建[J].实验技术与管理, 2010,27(10):178181.

[4]孙利民,李建中,陈渝,.无线传感器网络[J].北京:清华大学出版社, 2005.

[5]汪鑫,彭丽薇.基于树莓派的网络监控系统的研究与发现[J]. Silicon Valley,2014,14(5):2326.

作者简介

解攀科(1981-   华中师范大学 工程师 研究方向:物联网,教育信息化和数字化学习

郭伟秀(1980-   华中师范大学一附中 工程师  研究方向:数字化学习


 
 
[ 应用案例搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]  [ 返回顶部 ]

0条 [查看全部]  网友评论