一种网络性能测量方法、装置及系统与流程

文档序号:18374693发布日期:2019-08-07 02:00阅读:154来源:国知局
一种网络性能测量方法、装置及系统与流程

本发明涉及通信技术领域,尤其涉及一种网络性能测量方法、装置及系统。



背景技术:

随着人们对网络性能要求的进一步精确和提高,针对网络性能的分析开始逐步向更高层扩展。双向主动测量协议(TWAMP,Two-Way Active Measurement Protocol)作为测量网络协议(IP,Internet Protocol)网络性能的标准协议,满足了对UDP(User Datagram Protocol,用户数据报协议)层网络性能的测试需求。按照协议要求,该协议由建立性能测量会话(TWAMP-Control)以及测试报文的传送和接收(TWAMP-Test)两部分组成。其中,TWAMP-Control阶段主要进行连接的建立,以及创建、启动测试会话;TWAMP-Test阶段在此基础上,通过传送和接收测试报文,进行网络性能结果统计。目前,市场上大都遵循协议要求,分上述两个阶段对该协议进行实现。

然而,针对TWAMP协议本身而言,实现上较为复杂。一方面,从处理流程的角度来看,测试开始前,需要先通过控制报文的交互建立会话连接,从而确保后续测试报文能够正常收发。若非简单网络拓扑,会使得通过控制报文多次交互协商建立非直连设备的会话连接变得更加困难,同时也更加耗时。另一方面,从涉及的逻辑模型的角度来看,需要以下四个逻辑实体:(1)发射节点(Session-Sender),作为会话发起端,应用于TWAMP-Test阶段,负责测量报文的发送;(2)反射节点(Session-Reflector),作为会话回应端,应用于TWAMP-Test阶段,负责对收到的测量报文进行响应,返回测量报文;(3)服务端(Server),应用于TWAMP-Control阶段,负责处理一个或多个TWAMP-Test会话,在会话端点配置每个会话的状态;(4)控制客户端(Control-Client),应用于TWAMP-Control阶段,负责初始化TWAMP-Test会话请求,以及开启、停止测试会话。



技术实现要素:

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本发明实施例提供一种网络性能测量方法、装置及系统,通过轻量级TWAMP协议实现UDP层网络性能测量,使得SLA(Service Level Agreements,服务等级协议)支持UDP层网络性能测量。

本发明实施例提供一种网络性能测量方法,用于测量第一设备和第二设备之间通信链路的网络性能参数,其中,所述第一设备配置为实施有TWAMP的控制客户端和会话发起端,所述第二设备配置为实施有TWAMP的服务端和会话回应端;

所述网络性能测量方法,应用于所述第一设备,包括:

在接收创建作业命令之后,创建TWAMP类型的SLA作业;

在接收启动作业调度命令之后,开始调度所述TWAMP类型的SLA作业;

通过调度所述TWAMP类型的SLA作业,实现以下操作:

与所述第二设备协商在交互测试报文时所使用的UDP端口号;

使用协商确定的UDP端口与所述第二设备交互测试报文;

根据交互的所述测试报文,测量所述网络性能参数。

其中,所述创建TWAMP类型的SLA作业之前,所述网络性能测量方法还可以包括:

在接收链路测试命令之后,检测所述第一设备与所述第二设备之间通信链路的连通性。

其中,所述与所述第二设备协商在交互测试报文时所使用的UDP端口号,可以包括:

通过探测报文与所述第二设备协商在交互测试报文时所使用的UDP端口号,其中,所述探测报文为序列号为预先设定的且唯一标识本报文为UDP端口号协商报文的固定值的测试报文。

其中,所述通过探测报文与所述第二设备协商在交互测试报文时所使用的UDP端口号,可以包括:

向所述第二设备发送探测报文,其中,所述探测报文携带所述第一设备可用的一个UDP端口号;

接收所述第二设备针对所述探测报文返回的探测响应报文,其中,所述探测响应报文携带一个UDP端口号;

确定在交互测试报文时,所述第一设备使用所述探测报文携带的UDP端口号,所述第二设备使用所述探测响应报文携带的UDP端口号;

或者,判断所述探测响应报文携带的UDP端口号与所述探测报文携带的UDP端口号是否一致;若一致,则确定在交互测试报文时,所述第一设备和所述第二设备均使用所述探测报文携带的UDP端口号;若不一致,则所述第一设备判断所述探测响应报文携带的UDP端口号是否可用,若可用,则确定在交互测试报文时,所述第一设备和所述第二设备均使用所述探测响应报文携带的UDP端口号;若所述第一设备确认所述探测响应报文携带的UDP端口号不可用,则重新执行向所述第二设备发送探测报文的步骤,其中,所述重新发送的探测报文携带所述第一设备可用的另一个UDP端口号。

其中,所述与所述第二设备交互测试报文,可以包括:

周期性地重复执行以下操作:

向所述第二设备发送测试报文;

接收所述第二设备针对所述测试报文返回的测试响应报文;

其中,所述第一设备发送的测试报文携带第一时间戳以及第一报文序列号;所述第一时间戳标识所述第一设备发送所述测试报文的时刻,所述第一报文序列号标识所述第一设备发送的所述测试报文的序列号;

所述第一设备收到的测试响应报文携带第二报文序列号、第一时间戳、第二时间戳以及第三时间戳;所述第二时间戳标识所述第二设备接收到所述测试报文的时刻,所述第三时间戳标识所述第二设备发送测试响应报文的时刻,所述第二报文序列号标识所述第二设备发送的所述测试响应报文的序列号。

其中,所述网络性能参数可以包括以下至少之一:时延、抖动值、双向丢包率、单向丢包率。

其中,所述根据交互的所述测试报文,测量所述网络性能参数,可以包括以下至少之一:

计算所述第一设备发送测试报文的时刻与所述第一设备收到针对所述测试报文返回的测试响应报文的时刻之间的差值,作为第一差值;计算所述第二设备针对所述测试报文返回测试响应报文的时刻与所述第二设备收到所述测试报文的时刻之间的差值,作为第二差值;根据所述第一差值与所述第二差值之间的差值,确定时延;

根据相邻两个时延的差值,确定抖动值;

计算所述第一设备发送的测试报文的个数与接收的测试响应报文的个数之间的差值,作为第三差值;根据所述第三差值与所述第一设备发送的测试报文的个数之间的百分比,确定双向丢包率;

计算所述第一设备发送的测试报文的个数和第二设备发送的测试响应报文的个数之间的差值,作为第四差值;根据所述第四差值与所述第一设备发送的测试报文的个数之间的百分比,确定前向丢包率;

计算所述第二设备发送的测试响应报文的个数和所述第一设备收到的测试响应报文的个数之间的差值,作为第五差值;根据所述第五差值与所述第二设备发送的测试响应报文的个数之间的百分比,确定后向丢包率。

其中,所述网络性能测量方法还可以包括:在接收停止作业调度命令之后,停止调度所述TWAMP类型的SLA作业。

本发明实施例还提供一种网络性能测量装置,用于测量第一设备和第二设备之间通信链路的网络性能参数,其中,所述第一设备配置为实施有TWAMP的控制客户端和会话发起端,所述第二设备配置为实施有TWAMP的服务端和会话回应端;

所述网络性能测量装置,应用于所述第一设备,包括:命令接收模块、创建模块、调度模块、端口协商模块、测试报文交互模块以及测量模块;

所述创建模块,用于在所述命令接收模块接收创建作业命令之后,创建TWAMP类型的SLA作业;

所述调度模块,用于在所述命令接收模块接收启动作业调度命令之后,开始调度所述TWAMP类型的SLA作业;

所述端口协商模块,用于在所述调度模块调度所述TWAMP类型的SLA作业时,与所述第二设备协商在交互测试报文时所使用的UDP端口号;

所述测试报文交互模块,用于使用协商确定的UDP端口与所述第二设备交互测试报文;

所述测量模块,用于根据交互的所述测试报文,测量所述网络性能参数。

其中,所述网络性能测量装置还可以包括:链路测试模块,用于在所述命令接收模块接收链路测试命令之后,检测所述第一设备与所述第二设备之间通信链路的连通性。

其中,所述端口协商模块,可以用于通过探测报文与所述第二设备协商在交互测试报文时所使用的UDP端口号,其中,所述探测报文为序列号为预先设定的且唯一标识本报文为UDP端口号协商报文的固定值的测试报文。

其中,所述端口协商模块,可以包括:

第一发送单元,用于向所述第二设备发送探测报文,其中,所述探测报文携带所述第一设备可用的一个UDP端口号;

第一接收单元,用于接收所述第二设备针对所述探测报文返回的探测响应报文,其中,所述探测响应报文携带一个UDP端口号;

处理单元,用于确定在交互测试报文时,所述第一设备使用所述探测报文携带的UDP端口号,所述第二设备使用所述探测响应报文携带的UDP端口号;或者,判断所述探测响应报文携带的UDP端口号与所述探测报文携带的UDP端口号是否一致;若一致,则确定在交互测试报文时,所述第一设备和所述第二设备均使用所述探测报文携带的UDP端口号;若不一致,则判断所述探测响应报文携带的UDP端口号是否可用,若可用,则确定在交互测试报文时,所述第一设备和所述第二设备均使用所述探测响应报文携带的UDP端口号;若确认所述探测响应报文携带的UDP端口号不可用,则指示所述第一发送单元重新向所述第二设备发送探测报文,其中,所述重新发送的探测报文携带所述第一设备可用的另一个UDP端口号。

其中,所述调度模块,还可以用于在所述命令接收模块接收停止作业调度命令之后,停止调度所述TWAMP类型的SLA作业。

本发明实施例还提供一种网络性能测量系统,用于测量第一设备和第二设备之间通信链路的网络性能参数;所述网络性能测量系统包括:第一设备以及第二设备,其中,所述第一设备配置为实施有TWAMP的控制客户端和会话发起端,所述第二设备配置为实施有TWAMP的服务端和会话回应端;

所述第一设备,用于在接收创建作业命令之后,创建TWAMP类型的SLA作业;在接收启动作业调度命令之后,开始调度所述TWAMP类型的SLA作业;通过调度所述TWAMP类型的SLA作业,实现以下操作:与所述第二设备协商在交互测试报文时所使用的UDP端口号;使用协商确定的UDP端口与所述第二设备交互测试报文;以及根据交互的所述测试报文,测量所述网络性能参数。

其中,所述第一设备,可以用于向所述第二设备发送探测报文,其中,所述探测报文为序列号为预先设定的且唯一标识本报文为UDP端口号协商报文的固定值的测试报文,所述探测报文携带所述第一设备可用的一个UDP端口号;

所述第二设备可以包括接收模块以及发送模块;

所述接收模块可以用于接收所述探测报文;

所述发送模块可以用于在所述接收模块接收所述探测报文之后,返回探测响应报文,其中,所述探测响应报文携带所述第二设备可用的一个UDP端口号;或者,所述发送模块可以用于在所述接收模块接收所述探测报文之后,在确认所述探测报文携带的UDP端口号可用时,返回携带所述UDP端口号的探测响应报文,在确认所述探测报文携带的UDP端口号不可用时,返回携带所述第二设备可用的一个UDP端口号的探测响应报文。

其中,所述第一设备可以用于向所述第二设备发送测试报文;所述第二设备的所述接收模块可以用于接收所述测试报文;所述发送模块,可以用于在所述接收模块接收所述测试报文之后,返回测试响应报文;

其中,所述第一设备发送的测试报文携带第一时间戳以及第一报文序列号;所述第二设备发送的测试响应报文携带第一时间戳、第二时间戳、第三时间戳以及第二报文序列号;

其中,所述第一时间戳标识所述第一设备发送所述测试报文的时刻,所述第二时间戳标识所述第二设备收到所述测试报文的时刻,所述第三时间戳标识所述第二设备发送所述测试响应报文的时刻;所述第一报文序列号标识所述第一设备发送的测试报文的序列号;所述第二报文序列号标识所述第二设备发送的测试响应报文的序列号。

本发明实施例简化了双向主动测量协议(TWAMP)的实现,将TWAMP作为SLA的一种特殊作业类型,采用SLA创建作业、开启和停止作业调度的方式,简化了TWAMP测试会话创建、启动、停止的控制报文交互过程;而且,实现了对网络时延、抖动、丢包率等性能参数的测试;也使得SLA的测量范围进一步扩大到UDP层。

而且,在本实施例中,通过命令下发及非协议要求链路连通性检测机制简化了连接建立过程。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为基于TWAMP标准协议实现的网络性能测量流程图;

图2为TWAMP标准协议的连接建立过程示意图;

图3为TWAMP标准协议的测试会话的创建和启动示意图;

图4为本发明实施例提供的网络性能测量方法的流程图;

图5为本发明实施例的探测报文的格式示意图;

图6为本发明实施例的探测响应报文的格式示意图;

图7为本发明实施例的用于计算网络性能参数的测试报文的格式示意图;

图8为本发明实施例提供的网络性能测量装置的示意图;

图9为本发明实施例提供的网络性能测量系统的示意图。

具体实施方式

以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

TWAMP协议中简单提出了一种轻量级TWAMP的概念,即控制客户端和会话发起端实施在一个物理设备(比如,客户端)中,而服务端和会话回应端实施在执行双向测量的另一个物理设备(比如,服务器)中。

下面先结合图1至图3,对基于TWAMP标准协议实现的网络性能测量流程进行说明。

如图1所示,基于TWAMP标准协议实现的网络性能测量流程包括以下步骤:

步骤101:服务端(Server)与控制客户端(Control-Client)通过某些特殊协议报文交互,建立连接;

本步骤中,连接建立过程如图2所示,首先,控制客户端(Control-Client)请求创建TCP(Transmission Control Protocol,传输控制协议)连接;接着,服务端(Server)接收到请求后,发送服务问候(Server-Greeting)消息进行响应;控制客户端收到该消息后,回复建立响应(Set-Up-Response)消息,进行确认;最后,服务端返回服务开始(Server Start)消息,至此,连接建立完成。

步骤102:Server与Control-Client通过某些特殊协议报文交互,创建、启动测试会话;

本步骤中,创建、启动测试会话的过程如图3所示:

首先,创建测试会话;其中,控制客户端发送请求会话(Request-TW-Session)消息,请求建立测试会话,服务端通过回复接受会话(Accept-Session)消息,对该请求进行响应;主要通过该过程的报文交互,完成测试过程中使用的收、发包UDP(User Datagram Protocol,用户数据报协议)端口号的协商。

其次,启动测试会话;通过建立测试会话的协商后,控制客户端发送开始会话(Start-Session)消息,开启测试会话,服务端收到该消息后,通过回复开始确认(Start-Ack)消息进行确认。

步骤103:会话发起端(Session-Sender)与会话回应端(Session-Reflector)通过测试报文交互,进行测试会话。

其中,在测试会话启动后,进行测试报文的交互时,由会话发起端发送测试报文,会话回应端收到测试报文后进行回复。

步骤104:停止测试会话。

其中,控制客户端,通过发消息停止测试会话。

本申请提出一种通过对轻量级TWAMP协议的实现,用于进行UDP层网络性能测量。一方面,从处理流程角度简化轻量级TWAMP协议的实现,另一方面,将TWAMP作为SLA的一种特殊作业类型,在SLA原有二、三层网络性能统计的基础上,以更简便易实现的方式实现UDP层网络性能测试,从而实现对网络性能参数的测量,比如:时延、抖动值、双向丢包率、单向丢包率。

方法实施例

本实施例提供一种网络性能测量方法,可应用于任何通信网络中,尤其适用于传统以太网,可提高其电信级管理能力。本实施例提供的网络性能测量方法可以由通信网络中的任意两台通信设备配合执行,以实现对该两台设备间通信链路的网络性能测量。其中的一台通信设备(下面称为第一设备)可以为实施有TWAMP的控制客户端和会话发起端(发射节点)的物理装置,另一台通信设备(下面称为第二设备)可以为实施有TWAMP的服务端和会话回应端(反射节点)的物理装置。

如图4所示,本实施例提供的网络性能测量方法,应用于第一设备,包括以下步骤:

步骤401:在接收创建作业命令之后,创建TWAMP类型的SLA作业;

步骤402:在接收启动作业调度命令之后,开始调度TWAMP类型的SLA作业;

通过调度TWAMP类型的SLA作业,实现以下操作:

步骤403:与第二设备协商在交互测试报文时所使用的UDP端口号;

步骤404:使用协商确定的UDP端口与第二设备交互测试报文;

步骤405:根据交互的测试报文,测量网络性能参数。

在本实施例中,可以通过命令下发来指定第一设备和第二设备。比如,针对网络中的任两台设备,可以通过在其中一个设备下发命令,指定这个设备作为发射节点(对应前述的第一设备),用于实现TWAMP的控制客户端和会话发起端的功能;同样地,可以在另一个设备下发命令,指定这个设备作为反射节点(对应前述的第二设备),用于实现TWAMP的服务端和会话回应端的功能。

一些实现方式中,在步骤401之前,本实施例的网络性能测量方法还可以包括:

步骤400:在接收链路测试命令之后,检测第一设备与第二设备之间通信链路的连通性。

在步骤400中,可以通过非TWAMP协议要求的实现方式确保链路可用性。比如,通过执行如ping操作等已实现并可用于链路连通性检查的简单操作,来完成链路连通性检查,以排除链路故障,保证测试链路的连通性。一些实现方式中,第一设备作为测试发起端,主动发起ping操作,在第一设备和第二设备之间链路可用的情况下,第二设备作为ping操作响应端,对第一设备发起的ping操作进行回复,若第一设备收到第二设备的回复,则可确认第一设备和第二设备之间链路连通,可以进行后续测试,否则,需要进一步排查链路故障原因,直到排除故障。

在步骤400中,通过命令下发、非TWAMP协议要求链路连通性检测机制,简化了连接建立过程中控制报文的交互,从而简化TWAMP标准协议中的连接建立过程。

本实施例中,步骤401为创建测试会话的过程,其中,将TWAMP作为一种全新的SLA作业类型,通过创建TWAMP类型的SLA作业,完成TWAMP作业的建立。步骤402为启动测试会话的过程,通过开启TWAMP类型SLA作业的调度,实现TWAMP测试会话的启动。步骤403至步骤405为TWAMP测试会话执行过程的操作。本实施例利用已有的SLA实现机制,通过SLA创建作业、开启作业调度命令的下发,在第一设备(测试发起端)完成对TWAMP测试的相应控制。

其中,步骤403可以包括:

通过探测报文与第二设备协商在交互测试报文时所使用的UDP端口号,其中,探测报文为序列号为预先设定的且唯一标识本报文为UDP端口号协商报文的固定值(比如,0)的测试报文。

在本实施例中,对现有的TWAMP-Test阶段使用的测试报文进行修改,采用序列号为0的测试报文,与第二设备进行UDP端口号协商,其中,测试报文携带可用的UDP端口号;而没有采用TWAMP-Control阶段的控制报文实现UDP端口号协商(如图3所示)。如此,简化了TWAMP标准协议中创建测试会话的控制报文交互过程。

其中,步骤403可以包括:

向第二设备发送探测报文,其中,探测报文携带第一设备可用的一个UDP端口号;

接收第二设备针对探测报文返回的探测响应报文,其中,探测响应报文携带一个UDP端口号;

确定在交互测试报文时,第一设备使用探测报文携带的UDP端口号,第二设备使用探测响应报文携带的UDP端口号;

或者,判断探测响应报文携带的UDP端口号与探测报文携带的UDP端口号是否一致;若一致,则确定在交互测试报文时,第一设备和第二设备均使用探测报文携带的UDP端口号;若不一致,则第一设备判断探测响应报文携带的UDP端口号是否可用,若可用,则确定在交互测试报文时,第一设备和第二设备均使用探测响应报文携带的UDP端口号;若第一设备确认探测响应报文携带的UDP端口号不可用,则重新执行向第二设备发送探测报文的步骤,其中,重新发送的探测报文携带第一设备可用的另一个UDP端口号。

本实施例中,利用开启SLA测试后先发送探测报文的机制,在开启测试时,进行TWAMP探测报文交互,协商测试报文发送、接收所使用的UDP端口号。

一些实现方式中,第一设备和第二设备可以协商使用不同的UDP端口。在本实现方式中,第一设备在探测报文(报文序列号为0的测试报文)中携带自身可用UDP端口号(比如,PORT1),第二设备收到该探测报文后,记录下第一设备可用的UDP端口号(PORT1)。接着,第二设备在回复的探测响应报文中携带自身可用的UDP端口号(比如,PORT2),第一设备接收到该探测响应报文后,记录第二设备可用的UDP端口号(PORT2)。至此,UDP端口号协商成功,后续通过第一设备的PORT1和第二设备的PORT2进行测试报文交互。

一些实现方式中,为了满足特定场景的需求,需第一设备和第二设备协商使用相同的UDP端口。在本实现方式中,第一设备(Session-Sender)在探测报文(报文序列号为0的测试报文)中携带期望使用的UDP端口号,比如PORT1;第二设备(Session-Reflector)收到该探测报文后,确认本端的PORT1是否可用,若可用,直接在回复的探测响应报文的UDP Port字段填充PORT1,否则查找本端可用的另一UDP端口号,比如PORT2,填充在回复的探测响应报文的UDP Port字段。第一设备收到回复的探测响应报文后,解析UDP Port字段,若该字段携带的UDP端口号与PORT1相同,则说明PORT1对于两端都可用,协商成功,后续通过第一设备的PORT1和第二设备的PORT1进行测试报文交互;若不同,则说明第二设备的PORT1不可用,并且第二设备提出使用另一UDP端口号(比如,PORT2),那么第一设备需要进一步判断本端的PORT2是否可用,若可用,协商成功,后续通过第一设备的PORT2和第二设备的PORT2进行测试报文交互。否则,第一设备继续向第二设备发送第二个探测报文,其中携带与PORT1不同的本端另一可用的UDP端口号,并重复上述步骤,以确定两端都可用且相同的UDP端口号。需要说明的是,每次调度开启后第一设备最多发送三个探测报文,若三次协商均失败,则测试开启失败,并在第一设备进行错误提示,说明当前无可用的UDP端口。

其中,第一设备(Session-Sender)发送的探测报文的格式如图5所示,第二设备(Session-Reflector)回复的探测响应报文的格式如图6所示。其中,第一设备(Session-Sender)发送序列号(Sequence Number)固定为0的TWAMP测试报文作为探测报文,并增加UDP端口(Port)字段,用于携带UDP端口号。第二设备(Session-Reflector)收到TWAMP测试报文后,解析出TWAMP测试报文中Sequence Number字段为0,表示该TWAMP测试报文为探测报文。在第二设备(Session-Reflector)其余处理流程保持不变的前提下,判断该UDP端口号是否可用,并根据判断结果,填充回复的探测响应报文的UDP Port字段。

其中,步骤404可以包括:周期性重复执行以下操作:

向第二设备发送测试报文;

接收第二设备针对测试报文返回的测试响应报文;

其中,第一设备发送的测试报文携带第一时间戳以及第一报文序列号;第一时间戳标识第一设备发送测试报文的时刻,第一报文序列号标识第一设备发送的测试报文的序列号;

第一设备收到的测试响应报文携带第二报文序列号、第一时间戳、第二时间戳以及第三时间戳;第二时间戳标识第二设备接收到测试报文的时刻,第三时间戳标识第二设备发送测试响应报文的时刻,第二报文序列号标识第二设备发送的测试响应报文的序列号。

其中,第一设备发送的测试报文的格式可以如图5所示,第二设备收到测试报文之后,进行解析,并封装测试响应报文。第二设备封装完成并最终发出的测试响应报文可以如图6所示。其中,第二设备会将收到的测试报文整体封装到测试响应报文。如图6所示,第二设备会在测试响应报文的“反射端接收时间戳”字段记录第二时间戳,在“反射端发送时间戳”字段记录第三时间戳,“发起端发送时间戳”对应第一时间戳。第一设备收到测试响应报文后,会在“发起端接收时间戳”字段,插入第四时间戳,如图7所示。

换言之,在第一设备和第二设备交互测试报文时,第一设备会通过时间戳将本端发送报文和接收报文的时刻信息记录到相应的报文中,并且通过报文的序列号字段记录本端发送的报文个数;第二设备也会通过时间戳将本端发送报文和接收报文的时刻信息记录到相应的报文中,并且通过报文的序列号字段记录本端发送的报文个数。而且,第一设备还会在本端记录自己已发送的报文个数以及收到的报文个数;第二设备也会在本端记录自己已发送的报文个数。

其中,第一设备和第二设备通过探测报文交互之后,可以确定测试报文交互时,第一设备使用的UDP端口以及第二设备使用的UDP端口。第一设备通过本端的UDP端口向第二设备的协商确定的UDP端口发送测试报文,其中,测试报文可以携带第一设备使用的UDP端口号;第二设备在本端的UDP端口接收到测试报文之后,识别到测试报文来自协商确定的第一设备的UDP端口时,确认接收到测试报文,并封装针对此测试报文的测试响应报文。关于第二设备使用协商确定的UDP端口发送测试响应报文的发送方式可以参照第一设备发送测试报文的过程,故于此不再赘述。

其中,步骤405测量的网络性能参数可以包括以下至少之一:时延、抖动值、双向丢包率、单向丢包率。

其中,步骤405可以包括以下至少之一:

计算第一设备发送测试报文的时刻与第一设备收到针对测试报文返回的测试响应报文的时刻之间的差值,作为第一差值;计算第二设备针对测试报文返回测试响应报文的时刻与第二设备收到测试报文的时刻之间的差值,作为第二差值;根据第一差值与第二差值之间的差值,确定时延;

根据相邻两个时延的差值,确定抖动值;

计算第一设备发送的测试报文的个数与接收的测试响应报文的个数之间的差值,作为第三差值;根据第三差值与第一设备发送的测试报文的个数之间的百分比,确定双向丢包率;

计算第一设备发送的测试报文的个数和第二设备发送的测试响应报文的个数之间的差值,作为第四差值;根据第四差值与第一设备发送的测试报文的个数之间的百分比,确定前向丢包率;

计算第二设备发送的测试响应报文的个数和第一设备收到的测试响应报文的个数之间的差值,作为第五差值;根据第五差值与第二设备发送的测试响应报文的个数之间的百分比,确定后向丢包率。

其中,关于第一时间戳、第二时间戳、第三时间戳以及第四时间戳的添加方式同前所述,故于此不再赘述。其中,第一时间戳用于标识第一设备的发包时刻T1,第二时间戳用于标识第二设备的收包时刻T2,第三时间戳用于标识第二设备的发包时刻T3,第四时间戳用于标识第一设备的收包时刻T4。因此,第一设备可以根据下式计算一个时延:(T4-T1)-(T3-T2)。

其中,第一设备每收到第二设备的一个回包,便可计算出一个时延,从计算出第二个时延开始,便可计算出相邻两个时延的差值,此差值即为抖动值。

其中,在测试报文交互过程中,第一设备会记录发送的测试报文的个数TxCount以及接收的测试响应报文的个数RxCount,并可以根据下式计算双向丢包率:

其中,第一设备每发送一个测试报文,测试报文携带的报文序列号加1;第二设备每发送一个测试响应报文,测试响应报文携带的报文序列号加1;其中,报文序列号由报文中的序列号(Sequence Number)字段携带。

其中,第一设备发送的测试报文的个数记为TxCount,第二设备回复的测试响应报文中携带的序列号记为SequenceNum,则可以根据下式计算前向丢包率:

其中,第一设备收到的测试响应报文的个数记为RxCount,第二设备回复的测试响应报文中携带的序列号记为SequenceNum,则可以根据下式计算后向丢包率:

一些实现方式中,本实施例的网络性能测量方法还可以包括:

步骤406:在接收停止作业调度命令之后,停止调度TWAMP类型的SLA作业。通过在第一设备(测试发起端)下发停止命令,可以停止测试会话。

本实施例在处理流程方面,简化了建立性能测量会话(TWAMP-Control)的过程,链路的连通性通过非协议要求手段保证。通过非协议要求的链路连通性检查手段,整体简化了测试开启前,一系列控制报文交互的过程。仅利用SLA相关架构,进行TWAMP测试会话的建立、开启、停止,无需对SLA做任何改进,同时又能简化TWAMP协议中描述的创建、启动、停止测试会话的协议报文交互过程。而且,本实施例通过两个逻辑实体,一个逻辑实体作为控制客户端和发射节点,另一个逻辑实体作为服务端和反射节点,完整地实现了通过轻量级TWAMP协议对UDP层网络性能的测试功能,在很大程度上降低了TWAMP协议实现的复杂度。另外,也使得SLA的测量范围进一步扩大到UDP层。

装置实施例

基于与本发明实施例提供的一种网络性能测量方法相同的发明构思,本发明实施例还提供了一种网络性能测量装置,用于测量第一设备和第二设备之间通信链路的网络性能参数,其中,第一设备配置为实施有TWAMP的控制客户端和会话发起端,第二设备配置为实施有TWAMP的服务端和会话回应端。

如图8所示,本实施例提供的网络性能测量装置,应用于第一设备,包括:命令接收模块801、创建模块802、调度模块803、端口协商模块804、测试报文交互模块805以及测量模块806;

其中,创建模块802,用于在命令接收模块801接收创建作业命令之后,创建TWAMP类型的SLA作业;

调度模块803,用于在命令接收模块801接收启动作业调度命令之后,开始调度TWAMP类型的SLA作业;

端口协商模块804,用于在调度模块803调度TWAMP类型的SLA作业时,与第二设备协商在交互测试报文时所使用的UDP端口号;

测试报文交互模块805,用于使用协商确定的UDP端口与第二设备交互测试报文;

测量模块806,用于根据交互的测试报文,测量网络性能参数。

其中,测量模块806测量的网络性能参数可以包括以下至少之一:时延、抖动值、双向丢包率、单向丢包率。

其中,本实施例的网络性能测量装置还可以包括:链路测试模块800,用于在命令接收模块801接收链路测试命令之后,检测第一设备与第二设备之间通信链路的连通性。

其中,端口协商模块804,可以用于通过探测报文与第二设备协商在交互测试报文时所使用的UDP端口号,其中,所述探测报文为序列号为预先设定的且唯一标识本报文为UDP端口号协商报文的固定值的测试报文。

其中,端口协商模块804可以包括:

第一发送单元8041,用于向第二设备发送探测报文,其中,探测报文携带第一设备可用的一个UDP端口号;

第一接收单元8043,用于接收第二设备针对探测报文返回的探测响应报文,其中,探测响应报文携带一个UDP端口号;

处理单元8042,用于确定在交互测试报文时,第一设备使用探测报文携带的UDP端口号,第二设备使用探测响应报文携带的UDP端口号;或者,判断探测响应报文携带的UDP端口号与探测报文携带的UDP端口号是否一致;若一致,则确定在交互测试报文时,第一设备和第二设备均使用探测报文携带的UDP端口号;若不一致,则判断探测响应报文携带的UDP端口号是否可用,若可用,则确定在交互测试报文时,第一设备和第二设备均使用探测响应报文携带的UDP端口号;若确认探测响应报文携带的UDP端口号不可用,则指示第一发送单元重新向第二设备发送探测报文,其中,重新发送的探测报文携带第一设备可用的另一个UDP端口号。

其中,测试报文交互模块805可以包括:

第二发送单元8051,用于向第二设备发送测试报文;

第二接收单元8052,用于接收第二设备针对测试报文返回的测试响应报文;

其中,第二发送单元8051发送的测试报文携带第一时间戳以及第一报文序列号;第一时间戳标识第一设备发送测试报文的时刻,第一报文序列号标识第一设备发送的测试报文的序列号;

第二接收单元8052收到的测试响应报文携带第二报文序列号、第一时间戳、第二时间戳以及第三时间戳;第二时间戳标识第二设备接收到测试报文的时刻,第三时间戳标识第二设备发送测试响应报文的时刻,第二报文序列号标识第二设备发送的测试响应报文的序列号。

其中,测量模块806可以包括以下至少之一:

第一测量单元8061,用于计算第一设备发送测试报文的时刻与第一设备收到针对测试报文返回的测试响应报文的时刻之间的差值,作为第一差值;计算第二设备针对测试报文返回测试响应报文的时刻与第二设备收到测试报文的时刻之间的差值,作为第二差值;根据第一差值与第二差值之间的差值,确定时延;

第二测量单元8062,用于根据相邻两个时延的差值,确定抖动值;

第三测量单元8063,用于计算第一设备发送的测试报文的个数与接收的测试响应报文的个数之间的差值,作为第三差值;根据第三差值与第一设备发送的测试报文的个数之间的百分比,确定双向丢包率;

第四测量单元8064,用于计算第一设备发送的测试报文的个数和第二设备发送的测试响应报文的个数之间的差值,作为第四差值;根据第四差值与第一设备发送的测试报文的个数之间的百分比,确定前向丢包率;

第五测量单元8065,用于计算第二设备发送的测试响应报文的个数和第一设备收到的测试响应报文的个数之间的差值,作为第五差值;根据第五差值与第二设备发送的测试响应报文的个数之间的百分比,确定后向丢包率。

其中,调度模块803,还可以用于在命令接收模块801接收停止作业调度命令之后,停止调度TWAMP类型的SLA作业。

关于本实施例的网络性能测量装置的操作细节可以参照前述的方法实施例,故于此不再赘述。

系统实施例

基于与本发明实施例提供的一种网络性能测量方法相同的发明构思,本发明实施例还提供了一种网络性能测量系统,用于测量第一设备和第二设备之间通信链路的网络性能参数。

如图9所示,本实施例提供的网络性能测量系统,包括:第一设备901以及第二设备902;其中,第一设备901配置为实施有TWAMP的控制客户端和会话发起端,第二设备902配置为实施有TWAMP的服务端和会话回应端;

第一设备901,用于在接收创建作业命令之后,创建TWAMP类型的SLA作业;在接收启动作业调度命令之后,开始调度TWAMP类型的SLA作业;通过调度TWAMP类型的SLA作业,实现以下操作:与第二设备协商在交互测试报文时所使用的UDP端口号;使用协商确定的UDP端口与第二设备交互测试报文;以及根据交互的测试报文,测量网络性能参数。

其中,测量的网络性能参数可以包括以下至少之一:时延、抖动值、双向丢包率、单向丢包率。

关于第一设备901的结构可以参照前述的网络性能测量装置的描述,故于此不再赘述。

其中,第二设备902可以包括接收模块9021和发送模块9022。

其中,第一设备901用于向第二设备902发送探测报文,其中,探测报文为序列号为预先设定的且唯一标识本报文为UDP端口号协商报文的固定值(比如,0)的测试报文,探测报文携带第一设备901可用的一个UDP端口号;

第二设备902的接收模块9021用于接收探测报文;

发送模块9022用于在接收模块9021接收探测报文之后,返回探测响应报文,其中,探测响应报文携带第二设备902可用的一个UDP端口;或者,发送模块9022用于在接收模块9021接收探测报文之后,在确认探测报文携带的UDP端口号可用时,返回携带所述UDP端口号的探测响应报文,在确认探测报文携带的UDP端口号不可用时,返回携带第二设备902可用的一个UDP端口号的探测响应报文。

其中,第一设备901可以用于向第二设备902发送测试报文;第二设备902的接收模块9021用于接收测试报文;发送模块9022用于在接收模块9021接收测试报文之后,返回测试响应报文;

其中,第一设备901发送的测试报文携带第一时间戳以及第一报文序列号;第二设备902发送的测试响应报文携带第一时间戳、第二时间戳、第三时间戳以及第二报文序列号;

其中,第一时间戳标识第一设备901发送测试报文的时刻,第二时间戳标识第二设备902收到测试报文的时刻,第三时间戳标识第二设备902发送测试响应报文的时刻;第一报文序列号标识第一设备901发送的测试报文的序列号;第二报文序列号标识第二设备902发送的测试响应报文的序列号。

另外,关于本实施例的网络性能测量系统的其他操作细节可以参照前述的方法实施例和装置实施例所述,故于此不再赘述。

此外,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的网络性能测量方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理单元的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请范围内。

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