[发明专利]一种消除系统处理时间的高精度网络往返延迟测量方法无效
申请号: | 201010178343.9 | 申请日: | 2010-05-19 |
公开(公告)号: | CN101848119A | 公开(公告)日: | 2010-09-29 |
发明(设计)人: | 张大陆;曹孝晶;胡治国 | 申请(专利权)人: | 同济大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08;H04L12/56;G06F17/50 |
代理公司: | 上海光华专利事务所 31219 | 代理人: | 王松 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消除 系统 处理 时间 高精度 网络 往返 延迟 测量方法 | ||
技术领域
本发明属于网络通信技术领域,涉及一种消除系统处理时间的高精度网络往返延迟测量方法。
背景技术
延迟是网络的固有属性之一,也是评价网络性能的基本指标。延迟测量在网络性能监测、网络行为分析、网络应用设计等领域有着广泛的应用,同时也是测量延迟抖动、网络带宽等性能指标的基础。
网络延迟测量主要分为单向延迟测量和往返延迟测量。目前单向延迟测量的主要误差是由于时钟不同步所造成的,主要研究方向是对采样数据的数据处理方法的改进,如Moon的线性规划等;往返延迟测量的误差主要是由于获取时间精度不够,不同系统平台提供的往返延迟测量精度各不相同,如windows下timeGetTime()只能达到微妙级,Linux下gettimeofday()却能达到毫秒级,主流的方法有Ping方法等。
Moon方法主要是对单向延迟测量中主要误差的源头、主机时钟不同步进行建模,得出线性模型,然后对单向延迟测量得到的值进行线性规划,得出相关参数,从而计算得到真实网络单向延迟值,其缺点是需要收集大量数据才能进行线性规划。
Ping是主流的往返延迟测量方法,其发送IP请求包和接收ICMP应答包得到网络往返延迟值,由于ICMP具有立即回复的特点,所以避免了由于应答方没有及时回复的误差,其缺点是,在windows下精度只有微妙,同时没有考虑整个系统处理时间,即回环测试时的延迟值不应计入网络往返延迟值中。
发明内容
本发明所要解决的技术问题是:提供一种高精度、跨平台同时不需要大量测试数据的消除系统处理时间的高精度网络往返延迟测量方法。
为解决上述技术问题,本发明采用如下技术方案。
一种消除系统处理时间的高精度网络往返延迟测量方法包括如下步骤:
步骤一,在本地主机上运行发送程序和接收程序获得本地主机的系统处理时间N;
步骤二,获取本地主机的主频值F;
步骤三,本地主机向外地主机发送测试包获得往返时间T;
步骤四,计算获得往返延迟值delay=(T-N)/F。
作为本发明的一种优选方案,所述步骤一的详细过程为:
本地主机的发送程序发送测试包,并同时记录下发送测试包时本地主机的TSC寄存器值n1;
本地主机的接收程序接收所述测试包,然后立刻回复一个应答包给发送程序;
发送程序接收到应答包后记录下此时本地主机的TSC寄存器值n2;
本地主机的系统处理时间N=n2-n1。
作为本发明的另一种优选方案,所述步骤二的详细过程为:
在本地主机上获取本地主机的TSC寄存器值n3,等待t秒,再获取本地主机的TSC寄存器值n4,从而得到本地主机的主频值F=(n4-n3)/t。
作为本发明的再一种优选方案,所述步骤三的详细过程为:
本地主机发送测试包给外地主机,同时记录下发送时本地主机的TSC寄存器值n5,然后等待接收外地主机的应答包;
本地主机接收到外地主机的应答包的同时时记录下此时本地主机的TSC寄存器值n6;
计算获得往返时间T=n6-n5。
作为本发明的再一种优选方案,所述方法包括如下详细步骤:
步骤A、本地主机A发送测试包,并获得此时本地主机的TSC寄存器值n1;
步骤B、本地主机A接收测试包,并发送应答包;
步骤C、本地主机A接收应答包,并得到此时本地主机的TSC寄存器值n2;
步骤D、计算得到本地主机的系统处理时间N=n2-n1;
步骤E、获取本地主机的TSC寄存器值n3;
步骤F、让程序等待t秒;
步骤G、再次获取本地主机的TSC寄存器值n4;
步骤H、计算得到本地主机的主频F=(n4-n3)/t;
步骤I、本地主机A发送测试包到外地主机B,并得到此时本地主机的TSC寄存器值n5;
步骤J、外地主机B接收测试包,并发送应答包;
步骤K、本地主机A接收应答包,并得到此时本地主机的TSC寄存器值n6;
步骤L、计算得到往返延迟值delay=((n6-n5)-N)/F。
本发明的有益效果在于:本发明所述方法利用TSC寄存器获取本地时间信息,由于现在主机频率一般在1GHz以上,即TSC的精度可以超过1us,且获取TSC不受操作系统平台限制,只需一条汇编语句,所以本方法具有高精度、跨操作系统平台的特点,从而有效解决获取时间精度低的问题;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010178343.9/2.html,转载请声明来源钻瓜专利网。