一种并发检测多站点网络延迟的方法与流程

文档序号:11234486阅读:791来源:国知局

本发明涉及计算机网络,特别涉及一种并发检测多站点网络延迟的方法。



背景技术:

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



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种并发检测多站点网络延迟的方法,包括:

接收来自多站点网络中的路由器镜像数据的报文;

计算网络报文的延迟;

对数据结果的可视化展示。

优选地,所述接收来自多站点网络中的路由器镜像数据的报文,进一步包括:

测量数据经过路由器进行转发后,发送到各个站点,所述各个站点节点组成多站点网络,当数据发送到接收站点后,接收站点的本地主机进行转换处理,将需要的测度以文本格式输出到文件系统;

优选地,所述计算网络报文的延迟,进一步包括:对于无采样的报文进行返回时间测量,将分散在不同站点中的返回报文进行整合;然后在整个系统中统一计算返回时间;

输入数据报文的各种信息,比较源mac地址和目的mac大小,然后将大mac地址作为源mac地址,小mac地址作为目的mac地址。连接大mac地址对应端口,连接小mac地址对应端口组成的四元组作为主键,然后设置标识位,如果本身就是大mac地址为源mac地址,小mac地址为目的mac地址,则设置报文的标识位为1,如果需要进行调整,则报文标识位为2;

处理具有相同主键值的标识位的集合,然后根据每一个主键,在计算返回时间的时候,使用两个哈希数组分别存储标识1和标识2的数据,使用链表来解决哈希冲突;只选择连续发送报文的两头报文用于计算,当对同一个主键的所有标识位计算完成后,用标识1的哈希数组加上报文负载长度作为主键求解标识2的相应位置是否有数据,如果有数据记录,则确定从标识1的报文有一个标识2反方向的报文回复,即计算得到半个方向的返回时间ts,然后用同样的方法反方向计算,然后得到另外半个方向的返回时间tr,将返回时间ts加上tr,得到这个报文中两个mac地址通信之间的延迟时间。

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

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

附图说明

图1是根据本发明实施例的并发检测多站点网络延迟的方法的流程图。

具体实施方式

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

本发明的一方面提供了一种并发检测多站点网络延迟的方法。图1是根据本发明实施例的并发检测多站点网络延迟的方法流程图。

本发明建立网络延迟检测系统来并发检测多站点网络延迟,包括数据收集模块,运算模块,输出模块。数据收集模块接收数据报文,这些数据来自分布在多站点网络中的路由器镜像数据;运算模块用于计算网络报文的延迟,为多站点平台提供网络状况参考数据;输出模块负责对数据结果的可视化展示。

测量数据经过路由器进行转发后,发送到各个站点,各个站点节点组成多站点网络,当数据发送到接收站点后,接收站点的本地主机进行转换处理,将需要的测度以文本格式输出到文件系统。对于无采样的报文进行返回时间测量,将分散在不同站点中的返回报文进行整合;然后在整个系统中统一计算返回时间。

具体地,本发明采用了一种重新定义报文方向的方法保证返回报文聚合在一起。输入数据报文的各种信息,处理过程中,比较源mac地址和目的mac大小,然后将大mac地址作为源mac地址,小mac地址作为目的mac地址。连接大mac地址对应端口,连接小mac地址对应端口组成的四元组作为主键,然后设置标识位,本身就是大mac地址为源mac地址,小mac地址为目的mac地址的报文设置标识为1,对于需要进行调整的报文,标识为2。

处理具有相同主键值的标识位的集合,然后根据每一个主键,在计算返回时间的时候,使用两个哈希数组分别存储标识1和标识2的数据,使用链表来解决哈希冲突。

只选择连续发送报文的两头报文用于计算,当对同一个主键的所有标识位计算完成后,用标识1的哈希数组加上报文负载长度作为主键求解标识2的相应位置是否有数据,如果有数据记录,则确定从标识1的报文有一个标识2反方向的报文回复,即可计算得到半个方向的返回时间ts,然后用同样的方法反方向计算,有可得到另外半个方向的返回时间tr,将返回时间ts加上tr可以得到这个报文中两个mac地址通信之间的延迟时间。

所述运算模块还通过时钟的同步性来计算多站点相邻报文的传输延迟之差序列,然后计算第一个报文的传输延迟,最后得到所有报文的传输延迟。用tsi表示第i个报文从发送站点发往接收站点的开始时间,tri表示第i个报文在接收站点接收完毕的时间。

发送站点将第i个报文的发送时间tsi同报文一起传给接收站点。如果接收站点和发送站点的时钟是同步的,则直接计算出传输延迟di=tri-tsi。

如果时钟不同步,并且时钟周期相等。用tsi’表示如果发送站点得知报文i是何时到达接收站点,在发送站点记录的报文到达时间,用tri’表示如果接收站点得知报文i何时从发送站点出发,在接收站点记录的报文开始发送时间。则有:

di+1-di=tri+1-tsi+1’–(tri–tri’)。

如果接收站点和发送站点有相同的时钟周期,即两者之间只存在开始的时间差值,则从上式中得到数列{(d2-d1),(d3-d1),…,(dn-d1)},然后得到第一个报文的传输延迟,从中求出所有报文的传输延迟。

若时钟不同步,时钟周期不相等,则本发明将接收站点的时钟作为参考时钟,则di+1-di=tri+1-tri–(tsi+1’–tri’)/1-sw,其中sw为发送站点相对于接收站点的时钟频差。

当多个报文在接收站点到达时间出现不按序情况时,选择乱序报文之后的第一个后继报文作为参考,得到报文之间的传输延迟差,并将这个时间差也作为乱序报文之间的传输延迟差。

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

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

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

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