基于UDP的网络质量监测软件的设计与实现
作者:许子敬
来源:《电脑知识与技术》2014年第32期
摘要:随着业务IP化、承载综合化的深入,IP网已变为各种业务融合的综合承载平台。为了打破了IP网络“best effort”的传统概念,实现IP网络由业务网络向承载网络转变,将IP网络打造成为合格的“承载网”,已成为当前和未来开展网络转型的基础。但是由于IP网络本身“尽力而为”的特点,其网络机制、质量指标、保护手段以及维护要求等各方面与IP可靠性业务的要求不相匹配,导致当业务质量下降时无法实现及时的告警,从而引起当网络质量的下降时将影响客户的使用感知,影响客户满意度,并可能导致客户的流失。针对UDP特性,采用Java Socket通信技术,设计开发一款能粗略计算出当前网络质量,包括带宽、延时、抖动、丢包率。
关键词:承载网;尽力而为;网络质量
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)32-7603-02
Abstract: With the development of IP business, bearing the integrated depth, IP network has become the comprehensive bearing platform for various business integration. In order to break the traditional concept of \"best effort\" in the IP network, the realization of IP network by business network to the bearer network transformation, the IP network to become \"bearer network\" qualified, has become the current and future development of the basic network transformation. Because the IP network itself \"best effort\" features, the network mechanism, quality index, means of protection and maintenance requirements and other aspects of IP and reliability of business requirements do not match, resulting in unable to achieve timely alarm when the service quality decline, causing decreased when the network quality will affect the use of customer perception. The impact of customer satisfaction, and may result in the loss of customers. According to the characteristic of UDP, using the Java Socket communication technology,the design and development of a rough calculation of the current network quality, including bandwidth, delay, jitter, packet loss rate.
Key words: bearer network; best effort;network quality
在引入网络质量监测之前,大多数的IT管理工作都在于:面对时常的系统警告及故障,忙于处理故障、将损失降低在最小化。这是因为,无法掌握当前网络质量状况,在故障到来之前没有任何防备,导致事件频频发生,而手忙脚乱。
龙源期刊网 http://www.qikan.com.cn
如果一旦掌握了网络质量状态,并从长期监测数据中发现压力到来的征兆,就可以提前制定调整计划,并以战略性的眼光对自身的IT系统进行长远规划,变被动防御为主动进攻。我们就可以投入更多的精力用于思考发展战略,运筹帷幄,掌握先机,而不再充当救火队长。 1 系统设计 1.2软件架构
网络质量监测客户端和网络质量监测服务器端通过Java Socket建立连接,然后客户端发送一定大小的测试数据,对服务器端来说,就是在连接建立时间内,接收的总数据除以所花时间即为服务器端所测得的带宽。测试UDP的性能,客户端可以指定UDP数据流的速率。客户端发送数据时将根据客户提供的速率计算数据报发送之间的时延。另外客户还可以指定发送数据报的大小。每个发送的数据报包含一个ID号,用来惟一的标识该报文。服务器端则根据该ID号来确定数据报丢失和乱序。当把UDP报文大小设置可以将整个报文放入I P层的包 (packet)内时,那么UDP所测得的报文丢失数据即为IP层包的丢失数据。这提供了一个有效的测试包丢失情况的方法。数据报传输延迟抖动(Jitter的测试由服务器端完成,客户发送的报文数据包含有发送时间戳,服务器端根据该时间信息和接收到报文的时间戳来计算传输延迟抖动。
1.3测试方法的设计
网络监测软件主要任务是测试网络带宽、延时、抖动、丢包率。选用已知带宽的电信宽带(2M、3M、4M、6M、8M)环境。 1) 测试带宽。
原理:网络质量监测客户端利用ByteArrayOutputStream与ObjectOutputStream[3-4]把Java Object转化成Byte序列,使用DatagramPacket[3-4]接受Byte序列并生成数据报,然后通过Socket的send方法将该数据报发送出去;网络质量监测服务端通过Socket的receive方法接受来自网络质量监测客户端的数据,利用ByteArrayInputStream与ObjectInputStream[3-4]把Byte序列数据转化成Java Object。其中,数据报的大小限定为1KB,网络质量监测服务端一直处于监听状态,当有数据到达时,侦听程序便开始读取数据,每隔10s,系统根据该时间段内接受到的数据大小,计算出当前网络的带宽。 2) 测试丢包率。
原理:网络质量监测客户端为每次发送的Object创建一个ID号且是连续的,数据报以不同的发送速度发送出去,网络质量监测服务端在规定时间内根据数据报的ID统计接收到的数据报,计算出UDP不同发送速度下的丢包率。
龙源期刊网 http://www.qikan.com.cn
3) 测试延时和抖动。
原理:网络质量监测客户端为每次发送的Object创建一个发送时间戳,根据网络质量监测服务端接收到数据报时的时间节点,计算出延时,然后统计一段时间内数据报的延时情况,计算出抖动。
4) 定时刷新。当系统运行一段时间后,设置定时刷新不断刷新UDP质量数据,将系统内最新的UDP质量显示出来。 1.4测试过程的分析
1)测试带宽。以使用电信4M带宽为例(其他类似),首先在三台电脑上部署网络质量监测客户端软件,然后三台电脑同时向服务端发送数据报,之后每台电脑逐渐增加发送线程,并观察网络质量监测服务端在给定的每个时间段内收到的UDP数据报总量,当数据报总量达到稳定状态时,计算的结果即为该网络带宽。
2) 测试丢包率。以使用电信4M带宽为例(其他类似),UDP数据报发送速度从250KB/s开始,逐渐以+10递增,观察丢包率,测试结果发现当发送速度达到460KB/s时,出现丢失UDP数据报,丢包率为2%左右,之后速度越大丢包越严重。
3) 测试延时和抖动。网络质量监测服务端把接收到数据报时的时间记为recetime,而数据报中网络质量监测客户端标记的发送时间记为sendtime,然后recetime-sendtime,计算出延时,之后统计一段时间内数据报的延时情况,计算出抖动。 2 模拟实验与分析
实验设备包括4台PC机(3台作为网络质量监测客户端、1台作为网络质量监测服务端)、2台路由器。
通过系统实验测试,平台各项功能运行正常,所有设备通过电信网络进行连接,网络质量监测客户端不断的发送测试数据,而网络质量监测服务端能够根据所获取的测试数据,计算出当前网络质量,最后反馈给网络质量监测客户端。需要指出的是,在研究方法上,现有的监测方法对Internet环境的复杂性不够完善,测量模型之假设有些理想化,会导致测试结果不是很精确,实用性会大打折扣。 3 结束语
随着IP网络容量的不断扩大、技术种类的不断增加,使得IP网络愈加复杂,为业务质量的保障以及网络运行和维护工作带来了巨大的压力。面对网络运行中急需解决的诸多问题,通过对网络和业务质量的实时监控,在网络质量恶化时能够做到自动发现,实时告警,使得维护
龙源期刊网 http://www.qikan.com.cn
人员能够主动处理,在大范围用户受影响前业务能恢复正常,从而提升整体运维水平,缩短故障修复时间,改善客户感知度。 参考文献:
[1] 谢希仁.计算机网络[M].北京:电子工业出版社,2011.
[2] BehrouzA.Forouzan.TCP/IP PROTOCOL SUITE[M].北京:清华大学出版社,2009. [3] 孙卫琴. Java网络编程精解[M].北京:电子工业出版社,2007. [4] Bruce Eckel.Thinking in Java[M].北京:机械工业出版社,2007.
因篇幅问题不能全部显示,请点此查看更多更全内容