一种基于TCP协议的网络延迟测量方法与流程

文档序号:11709987阅读:1122来源:国知局

本发明涉及计算机网络,特别涉及一种基于tcp协议的网络延迟测量方法。



背景技术:

网络性能的衡量和评估是网络运营和维护中重要的组成部分,通过分析传输延迟可以了解多个网络站点的基本特性,为网络的控制和改进提供帮助,当传输延迟超过一定值时,多站点的应用性能就会大大降低。现有技术中传输延迟测量包括以下两种:发送特定的探针包来计算网络的路径和链路属性,这往往会导致网络的高负载,使网络情况不真实;分析记录在交换机或者控制器中的报文数据得到传输延迟,这一般需要全局的时钟校准,在多点网络中受到网络环境的影响而测量不精确。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于tcp协议的网络延迟测量方法,包括:

建立前向延迟的第一优化目标函数;

建立返回延迟的第二优化目标函数;

对于第一和第二目标进行加权,得到总的优化目标函数;

利用蚁群算法对总的目标函数进行迭代优化搜索,求解网络延迟的估计值。

优选地,在建立第一和第二目标函数之前,还包括:

记录tcp发送端时钟的初始值t0s、实际时间s0,频率λs,计数时对应于标准时钟的相应时刻值s1,s2,…sn,发送时的标准时间ts,则发送端时钟以t0s为参考点,时钟函数ts为:

记录tcp接收端时钟的初始值t0d,实际时间d0,频率λd,接收端对应于标准时钟的相应时刻值d1,d2,…dn,计数时相应时刻值,接收的标准时间为td,接收端的时钟函数td(t)为

此时,延迟的真实值为dlt=td-ts

而测量得到的值为dlm=td(td)-ts(ts)

整理得

dlt=(1/λd)dlm-((λd-λs)/λdλs)(ts-t0s)-[((t0d-t0s)/λd)+(s0-d0)]

如果以接收端的时钟为参考,则λd=1,若d0=t0d=0,则

dlt=dlm-((1-λs)/λs)(ts-t0s)+t0s-s0

其中t0s-s0为tcp通信双方的时钟差值,记为δ,此时

dlt=dlm-ηtsn+δ

其中tsn=ts-t0s;η=(1-λs)/λs;

然后测量返回延迟,即

dlrt=(1/λs)dl’m-((λs-λd)/λsλd)(t’d-t0d)-[((t0s-t0d)/λs)+(d0-s0)]

其中为dl’m、t’d分别为dlm,td对应的返回链路的值;

如果以接收端的时钟为参考时钟,则

dlrt=(1/λs)dl’m-ηt’d-ηt0s-δ

对于tcp链路,网络延迟dlt还表示为

dlt=tg+tp+τ×l+tq,其中tg为链路传输延迟、tp为处理延迟而tq为缓冲延迟;l为分组长度,τ为所有中继节点的带宽的倒数之和;

同理返回延迟还表示为

dlrt=t’g+t’p+τ’×l+t’q

其中t’g,t’p,τ’分别表示了返回路径上对应于tg,tp,τ的数值;

要确定网络延迟,则需要估计出参数η和δ,利用往返两个单向测量来估计出收发时钟的初始差值。

优选地,所述建立第一和第二目标函数进一步包括:

设置以下第一优化目标,对于第n次测量:

其中,

保证以下约束条件:

对于返回链路,为估计出返回链路的参数,设置第二优化目标为:

加上约束条件

所述对于第一和第二目标进行加权,得到总的优化目标函数,进一步包括:

对于这两个目标进行加权,即总的优化目标为

f=min[σαf1+(1-α)f2]。

本发明相比现有技术,具有以下优点:

本发明提出了一种基于tcp协议的网络延迟测量方法,既不需要发送大量的探针包,也不需要进行全局时钟校准,简单有效地计算网络传输延迟。

附图说明

图1是根据本发明实施例的基于tcp协议的网络延迟测量方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种基于tcp协议的网络延迟测量方法。图1是根据本发明实施例的基于tcp协议的网络延迟测量方法流程图。

本发明记录tcp发送端时钟的初始值t0s、实际时间为s0,频率为λs,发送端时钟以t0s为参考点,在计数时对应于标准时钟的相应时刻值为s1,s2,…sn,发送时的标准时间为ts,故发送端的时钟函数ts为

记录tcp接收端时钟的初始值为t0d,实际时间为d0,频率为λd,d1,d2,…dn为接收端时钟以t0d为参考点,在计数时对应于标准时钟的相应时刻值,接收的标准时间为td,故接收端的时钟函数td(t)为

此时,延迟的真实值为dlt=td-ts

而测量得到的值为dlm=td(td)-ts(ts)

整理得

dlt=(1/λd)dlm-((λd-λs)/λdλs)(ts-t0s)-[((t0d-t0s)/λd)+(s0-d0)]

如果以接收端的时钟为参考,则λd=1,若d0=t0d=0,则

dlt=dlm-((1-λs)/λs)(ts-t0s)+t0s-s0

其中t0s-s0为tcp通信双方的时钟差值,记为δ,上式可写为

dlt=dlm-ηtsn+δ

其中tsn=ts-t0s;η=(1-λs)/λs;

然后测量返回延迟,即

dlrt=(1/λs)dl’m-((λs-λd)/λsλd)(t’d-t0d)-[((t0s-t0d)/λs)+(d0-s0)]

其中为dl’m、t’d分别为dlm,td对应的返回链路的值。

如果以接收端的时钟为参考时钟,则

dlrt=(1/λs)dl’m-ηt’d-ηt0s-δ

另一方面网络延迟包括链路传输延迟tg、分组传输延迟tt、处理延迟tp以及在缓冲区中的缓冲延迟tq。对于tcp链路,网络延迟dlt为

dlt=tg+tp+τ×l+tq

其中l为分组长度,τ为所有中继节点的带宽的倒数之和;

同理返回延迟为

dlrt=t’g+t’p+τ’×l+t’q

其中t’g,t’p,τ’分别表示了返回路径上对应于tg,tp,τ的数值。

要确定网络延迟必须估计出参数η和δ,利用往返两个单向测量来估计出收发时钟的初始差值。

设置以下第一优化目标,对于第n次测量:

其中,

为保证获得的缓冲延迟非负,应保证以下约束条件:

对于返回链路,为估计出返回链路的参数,设置第二优化目标为:

为保证估计的延迟为正值,加上约束条件

对于这两个目标进行加权,即总的优化目标为

f=min[σαf1+(1-α)f2]

利用蚁群算法进行迭代优化搜索,得到参数η、δ和代入可得网络延迟的估计值。

具体地,设置惩罚因子来惩罚超出约束的解,然后初始化参数η、δ和的信息素值,由此可定义一个由s个搜索者组成的群体。在每次循环计算中,均需要为第k个搜索者对应于目标随机选取一个随机数,该随机数用于在每次循环中改变每个搜索者k对于各个目标的搜索权值,各搜索者不断进行搜索寻优,当所有搜索者均到达目的地,本次循环结束。随后根据各个搜索者k所找到解的优劣,分别对参数η、δ和的信息素进行更新。

每代循环的更新过程中,找出本循环中目标对应的最小值解与次小值解,对其搜索过程中的沿途信息素进行更新。重复以上转移概率计算、状态转移、信息素更新步骤直至到达预定的循环次数,将搜索过程中的可行解进行输出。

综上所述,本发明提出了一种基于tcp协议的网络延迟测量方法,既不需要发送大量的探针包,也不需要进行全局时钟校准,简单有效地计算网络传输延迟。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1