CN107547302A - 网络质量评估方法及装置 - Google Patents
网络质量评估方法及装置 Download PDFInfo
- Publication number
- CN107547302A CN107547302A CN201710481722.7A CN201710481722A CN107547302A CN 107547302 A CN107547302 A CN 107547302A CN 201710481722 A CN201710481722 A CN 201710481722A CN 107547302 A CN107547302 A CN 107547302A
- Authority
- CN
- China
- Prior art keywords
- test
- server
- client
- message
- test packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及网络质量评估方法及装置。该方法包括:向服务器发送测试启动报文,在接收到确认报文的情况下,向服务器发送测试报文,并接收服务器响应于测试报文返回的测试应答报文,接收来自于服务器的测试结束报文,测试结束报文包括第一测试报文数,根据第一测试报文数、第二测试报文数和测试应答报文数,对客户端和服务器之间的网络质量进行评估。本公开的网络质量评估方法及装置,客户端能够准确地获取服务器在本次测试中接收到的来自于客户端的测试报文的个数,从而准确地对客户端和服务器之间的网络质量进行评估。服务器能够准确地感知测试过程中客户端的异常,及时清理服务器的缓存数据,回收服务器的资源,不会造成服务器的资源浪费。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种网络质量评估方法及装置。
背景技术
目前,越来越多的商业应用在网络广泛开展,用户和运营商对网络的QoS(Qualityof Service,服务质量)要求越来越高,很多大型企业用户都建立了规范的SLA(ServiceLevel Agreement,服务等级协议),用以衡量运营商提供的网络服务。为了向用户提供不同等级的网络服务,运营商需要实时采集网络运行指标,例如时延、抖动、丢包率等,以便针对不同的网络性能进行相应的部署。
NQA(Network Quality Analyzer,网络质量分析)是一种实时的网络性能探测和统计技术,可以对时延、抖动、丢包率等网络信息进行统计。NQA通过发送测试报文,对链路状态、网络性能、网络提供的服务及服务质量进行分析,并为用户提供标识当前网络性能和服务质量的参数,例如时延、抖动时间、TCP(Transmission Control Protocol,传输控制协议)连接建立时间、FTP(File Transfer Protocol,文件传输协议)连接建立时间和文件传输速率等。利用NQA的分析结果,运营商可以及时了解网络的性能状况,针对不同的网络性能进行相应处理,同时可以对网络故障进行诊断和定位。
NQA提供了多种用于测量网络所运行的各种协议的性能的测量方法。各种协议可以包括ICMP(Internet Control Message Protocol,控制报文协议)、TCP、UDP-echo、HTTP和UDP-jitter等。其中,UDP-jitter测试可以用于测量网络单、双向的时延、抖动、丢包率等,以判断网络是否可以承载语音、视频等实时性业务。
图1示出相关技术中UDP-jitter测试组网的示意图。如图1所示,UDP-jitter测试需要NQA的客户端与服务器的配合,客户端负责发起测试,服务器则启动UDP(UserDatagram Protocol,用户数据报协议)侦听服务,接收到客户端的测试报文后进行响应处理并发送响应报文。UDP-jitter测试的过程如下:客户端以一定的时间间隔向服务器发送测试报文。服务器收到测试报文后,为测试报文打上时间戳,并在测试报文中记录当前收到的测试报文数目及最大报文序列号以生成测试应答报文。服务器将测试应答报文发送给客户端。客户端收到测试应答报文后,根据测试应答报文中的时间戳及报文信息,计算单、双向的时延、抖动、丢包率等。丢包率(数)计算方法如下:丢包率=(CS-CR)/CS,客户端到服务器的丢包数为SDLost=SMaxSeq-SR,服务器到客户端的丢包数为DSLost=SR-CR,其他未知方向丢包数为UnkownLost=(CS-CR)-SDLost-DSLost。其中,CS表示客户端发送的测试报文总数,CR表示客户端接收的测试应答报文总数,SR表示服务器接收的测试报文总数,SMaxSeq表示服务器接收的测试报文最大序列号。
采用上述方法,客户端无法准确地对客户端和服务器之间的网络质量进行评估,例如无法准确评估每个报文的丢包方向。客户端计算单向丢包的基础是准确获取服务器接收的测试报文数。由于UDP-jitter测试的测试报文为非面向连接的UDP测试报文,因此服务器的测试应答报文也有可能丢包。测试应答报文里携带了服务器接收的测试报文数,若测试应答报文丢包,则客户端无法明确报文的丢包方向。相关技术中,通过在测试应答报文中携带“服务器接收的测试报文最大报文序列号”,做到尽量准确地推算单向丢包,但仍无法精确的推算每个报文的丢包方向,这些报文会被统计到未知方向丢包数中。
采用上述方法,服务器无法感知客户端的异常。为实时监控网络状态,客户端通常会定时循环进行单向丢包测试,服务器需要单独存储客户端每次测试的接收到的测试报文数目及最大报文序列号。为了区分不同的测试,客户端需要在测试报文中携带可以唯一标识每次测试的标识符,例如序列号,服务器将序列号相同的测试报文识别为同一次测试的测试报文。客户端可以采用多种方法来生成序列号,例如随机值、全局递增的序列号或者测试启动的时间戳等。若客户端重启或者其他不可预知的操作,则可能导致新测试的序列号与已经使用过的序列号重复,造成服务器错误识别测试报文,引起测试结果异常。此外,服务器无法感知客户端终止测试,不能及时回收资源。
发明内容
有鉴于此,本公开提出了一种网络质量评估方法及装置,以解决相关技术中客户端无法准确地对客户端和服务器之间的网络质量进行评估的问题。
根据本公开的一方面,提供了一种网络质量评估方法,所述网络质量评估方法应用于客户端,所述方法包括:
向服务器发送测试启动报文,所述测试启动报文包括本次测试的结束判定信息;
在接收到来自于所述服务器的确认报文的情况下,向所述服务器发送测试报文,并接收所述服务器响应于所述测试报文返回的测试应答报文,所述确认报文用于表示所述服务器接收到所述测试启动报文;
接收来自于所述服务器的测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数;
记录所述客户端在本次测试中向所述服务器发送的测试报文的个数为第二测试报文数,记录所述客户端在本次测试中接收到的来自于所述服务器的测试应答报文的个数为测试应答报文数;
根据所述第一测试报文数、所述第二测试报文数和所述测试应答报文数,对所述客户端和所述服务器之间的网络质量进行评估。
根据本公开的另一方面,提供了一种网络质量评估方法,所述网络质量评估方法应用于服务器,所述方法包括:
接收来自于客户端的测试启动报文,所述测试启动报文包括本次测试的结束判定信息;
接收来自于客户端的测试报文,并向所述客户端发送响应于所述测试报文生成的测试应答报文;
在判定本次测试结束的情况下,向所述客户端发送测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数。
根据本公开的另一方面,提供了一种网络质量评估装置,所述网络质量评估装置应用于客户端,所述装置包括:
第一发送模块,用于向服务器发送测试启动报文,所述测试启动报文包括本次测试的结束判定信息;
第一处理模块,用于在接收到来自于所述服务器的确认报文的情况下,向所述服务器发送测试报文,并接收所述服务器响应于所述测试报文返回的测试应答报文,所述确认报文用于表示所述服务器接收到所述测试启动报文;
第一接收模块,用于接收来自于所述服务器的测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数;
记录模块,用于记录所述客户端在本次测试中向所述服务器发送的测试报文的个数为第二测试报文数,记录所述客户端在本次测试中接收到的来自于所述服务器的测试应答报文的个数为测试应答报文数;
评估模块,用于根据所述第一测试报文数、所述第二测试报文数和所述测试应答报文数,对所述客户端和所述服务器之间的网络质量进行评估。
根据本公开的另一方面,提供了一种网络质量评估装置,所述网络质量评估装置应用于服务器,所述装置包括:
第二接收模块,用于接收来自于客户端的测试启动报文,所述测试启动报文包括本次测试的结束判定信息;
第二处理模块,用于接收来自于客户端的测试报文,并向所述客户端发送响应于所述测试报文生成的测试应答报文;
第二发送模块,用于在判定本次测试结束的情况下,向所述客户端发送测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数。
本公开的网络质量评估方法及装置,通过向服务器发送测试启动报文,在接收到确认报文的情况下,向服务器发送测试报文,并接收服务器响应于测试报文返回的测试应答报文,接收来自于服务器的测试结束报文,测试结束报文包括第一测试报文数,根据第一测试报文数、第二测试报文数和测试应答报文数,对客户端和服务器之间的网络质量进行评估。本公开的网络质量评估方法及装置,客户端能够准确地获取服务器在本次测试中接收到的来自于客户端的测试报文的个数,从而准确地对客户端和服务器之间的网络质量进行评估。服务器能够准确地感知测试过程中客户端的异常,从而在发现客户端和服务器之间的连接断开的情况下,及时清理服务器的缓存数据,回收服务器的资源,不会造成服务器的资源浪费。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出相关技术中UDP-jitter测试组网的示意图。
图2示出根据本公开一实施例的网络质量评估方法的流程图。
图3示出根据本公开一实施例的测试启动报文的示意图。
图4示出根据本公开一实施例的测试启动报文的另一示意图。
图5示出根据本公开一实施例的测试报文的示意图。
图6示出根据本公开一实施例的测试应答报文的示意图。
图7示出根据本公开一实施例的测试结束报文的示意图。
图8示出根据本公开一实施例的网络质量评估方法的一示意性的流程图。
图9示出根据本公开一实施例的网络质量评估方法的一示意性的流程图。
图10示出根据本公开一实施例的网络质量评估方法的一示意性的流程图。
图11示出根据本公开一实施例的网络质量评估装置的框图。
图12示出根据本公开一实施例的网络质量评估装置的一示意性的框图。
图13示出根据本公开一实施例的网络质量评估装置的框图。
图14是根据一示例性实施例示出的一种用于网络质量评估装置900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图2示出根据本公开一实施例的网络质量评估方法的流程图。该方法应用于客户端。如图2所示,该方法包括步骤S201至S205。
在步骤S201中,向服务器发送测试启动报文,该测试启动报文包括本次测试的结束判定信息。
在一种可能的实现方式中,结束判定信息包括测试时间阈值。图3示出根据本公开一实施例的测试启动报文的示意图。客户端向服务器发送测试启动报文,测试启动报文可以包括测试时间阈值,服务器可以根据测试时间阈值判断本次测试是否结束。其中,测试时间阈值可以为预先设置的数值,例如测试时间阈值为30秒,本公开对此不作限制。
在一种可能的实现方式中,结束判定信息包括第三测试报文数和测试时间阈值。图4示出根据本公开一实施例的测试启动报文的另一示意图。客户端向服务器发送测试启动报文,测试启动报文可以包括第三测试报文数和测试时间阈值,服务器可以根据第三测试报文数和测试时间阈值判断本次测试是否结束。其中,第三测试报文数和测试时间阈值均可以为预先设置的数值,例如第三测试报文数为100个,测试时间阈值为30秒,本公开对此不作限制。
其中,第三测试报文数为客户端在本次测试中将向服务器发送的测试报文的个数(SendPacketNumber)。测试时间阈值为本次测试的最大持续时间(RecvPacketTimeout)。第三测试报文数和测试时间阈值的因特网标准可以使用八位组(octet),例如均可以为4octets。
在步骤S202中,在接收到来自于服务器的确认报文的情况下,向服务器发送测试报文,并接收服务器响应于该测试报文返回的测试应答报文,该确认报文用于表示服务器接收到该测试启动报文。
作为本实施例的一个示例,客户端在接收到来自于服务器的确认报文的情况下,向服务器发送本次测试的全部测试报文。其中,确认报文可以为ACK(Acknowledgement,确认字符),本公开对此不作限制。服务器在接收到来自于客户端的各个测试报文后,对各个测试报文进行处理以生成各个测试报文对应的测试应答报文,并向客户端发送各个测试应答报文。
图5示出根据本公开一实施例的测试报文的示意图。如图5所示,测试报文包括客户端发送测试报文的序列号(Sequence)和客户端发送测试报文的时间戳(OriginTimestamp)。图6示出根据本公开一实施例的测试应答报文的示意图。如图6所示,测试应答报文包括客户端发送的测试报文的序列号(Sequence)、客户端发送测试报文的时间戳(Origin Timestamp)、服务器接收测试报文的时间戳(Recv Timestamp)、服务器接发送测试应答报文的时间戳(Trans Timestamp)。以上参数的因特网标准可以使用八位组(octet),例如均可以为4octets。
需要说明的是,本领域技术人员应当理解,客户端在每次测试中向服务器发送的测试报文的个数可以相同,也可以不相同,本公开对此不作限制。例如,客户端可以在某一次测试中向服务器发送100个测试报文,可以在另一次测试中向服务器发送120个测试报文。
在步骤S203中,接收来自于服务器的测试结束报文,该测试结束报文包括第一测试报文数,第一测试报文数为服务器在本次测试中接收到的来自于客户端的测试报文的个数。
作为本实施例的一个示例,服务器可以根据测试启动报文中包括的结束判定信息判定本次测试是否结束。在服务器判定本次测试结束的情况下,服务器可以统计服务器在本次测试中接收到的来自于客户端的测试报文的个数(RecvPacketNumber),得到第一测试报文数。服务器向客户端发送包括第一测试报文数的测试结束报文。图7示出根据本公开一实施例的测试结束报文的示意图。如图7所示,测试结束报文包括第一测试报文数。第一测试报文数的因特网标准可以使用八位组(octet),例如可以为4octets。
在步骤S204中,记录客户端在本次测试中向服务器发送的测试报文的个数为第二测试报文数,记录客户端在本次测试中接收到的来自于服务器的测试应答报文的个数为测试应答报文数。
作为本实施例的一个示例,第二测试报文数和测试应答报文数可以由客户端根据本次测试的情况统计获得。例如,客户端在接收到来自于服务器的测试结束报文之后进行统计,若客户端在本次测试中向服务器发送100个测试报文,则本次测试的第二测试报文数为100。若客户端在本次测试中接收到80个来自于服务器的测试应答报文,则本次测试的测试应答报文数为80。
需要说明的是,本领域技术人员应当理解,本公开不限制步骤S203和步骤S204的顺序,例如可以先执行步骤S203再执行步骤S204,再例如可以先执行步骤S204再执行步骤S203。
在步骤S205中,根据第一测试报文数、第二测试报文数和测试应答报文数,对客户端和服务器之间的网络质量进行评估。
需要说明的是,本领域技术人员应当理解,一般而言,第二测试报文数与第三测试报文数相等。在客户端存在异常例如出现故障的情况下,第二测试报文数可能与第三测试报文数不相等。例如,客户端在本次测试中将向服务器发送100个测试报文,客户端在某一时刻出现故障并在本次测试过程中仅向服务器发送98个测试报文。在该种情况下,第二测试报文数小于第三测试报文数。
在一种可能的实现方式中,根据第一测试报文数、第二测试报文数和测试应答报文数,对客户端和服务器之间的网络质量进行评估(步骤S204中)包括:根据第一测试报文数、第二测试报文数和测试应答报文数,计算客户端和服务器之间的丢包率和丢包数中的至少一项。
其中,采用式1计算客户端和服务器之间的丢包率PLost;
PLost=(CS-CR)/CS 式1;
采用式2计算客户端到服务器之间的丢包数SDLost;
SDLost=CS-SR 式2;
采用式3计算服务器到客户端之间的丢包数DSLost;
DSLost=SR-CR 式3;
其中,SR表示第一测试报文数,CS表示第二测试报文数,CR表示测试应答报文数。
在一种可能的实现方式中,测试启动报文和测试结束报文为TCP报文。在向服务器发送测试启动报文之前,该方法还包括:与服务器建立TCP连接。
在一种可能的实现方式中,测试报文和测试应答报文为UDP报文。
作为该实现方式的一个示例,客户端可以在与服务器建立TCP连接之后,向服务器发送TCP测试启动报文以启动本次测试。客户端在接收到来自于服务器的确认报文的情况下,向服务器发送本次测试的全部UDP测试报文,并接收服务器根据UDP测试报文返回的UDP测试应答报文。客户端接收来自于服务器的TCP测试结束报文,TCP测试结束报文包括服务器在本次测试中接收到的来自于客户端的测试报文的个数。
在上述示例中,将测试过程分为控制阶段和测试阶段。其中,控制阶段包括启动和结束测试会话,测试阶段包括客户端与服务器之间交互测试报文和测试应答报文。服务器控制测试会话结束的时机。控制阶段基于TCP报文实现,测试阶段基于UDP报文实现。为了保证控制阶段报文和测试阶段报文之间的时序,客户端可以先与服务器建立测试会话后,再启动测试报文的发送,由此能够避免服务器接收测试启动报文与测试报文的时序对测试结果产生影响。
可以理解的是,TCP报文是一种面向连接的、可靠的、基于字节流的传输层通信协议的报文,由此客户端和服务器之间可以进行可靠的报文传输。服务器统计得到在本次测试中接收到的来自于客户端的测试报文的个数,然后发送给客户端。从而客户端能够准确地获取服务器在本次测试中接收到的来自于客户端的测试报文的个数,从而准确地对客户端和服务器之间的网络质量进行评估,由此能够准确地分析客户端和服务器之间的丢包方向,提供可靠的网络质量评估结果。
图8示出根据本公开一实施例的网络质量评估方法的一示意性的流程图。该方法应用于服务器。如图8所示,该方法包括步骤S801至S803。
在步骤S801中,接收来自于客户端的测试启动报文,该测试启动报文包括本次测试的结束判定信息。
在步骤S802中,接收来自于客户端的测试报文,并向客户端发送响应于该测试报文生成的测试应答报文。
在步骤S803中,在判定本次测试结束的情况下,向客户端发送测试结束报文,该测试结束报文包括第一测试报文数,第一测试报文数为服务器在本次测试中接收到的来自于客户端的测试报文的个数。
在一种可能的实现方式中,结束判定信息包括测试时间阈值,服务器可以根据测试时间阈值判断本次测试是否结束。例如,在服务器接收到来自于客户端的测试启动报文的情况下,启动计时器开始计时,并将计时器记载的时间作为本次测试的持续时间。在本次测试的持续时间达到测试时间阈值的情况下,判定本次测试结束。
在一种可能的实现方式中,结束判定信息包括第三测试报文数和测试时间阈值,服务器可以根据第三测试报文数和测试时间阈值判断本次测试是否结束。例如,在服务器接收到来自于客户端的测试启动报文的情况下,启动计时器开始计时,并将计时器记载的时间作为本次测试的持续时间。若服务器在测试时间阈值接内收到的测试报文的个数等于第三测试报文数,判定本次测试结束。否则在本次测试的持续时间达到测试时间阈值的情况下,判定本次测试结束。
需要说明的是,尽管以测试时间阈值、第三测试报文数和测试时间阈值作为示例介绍了判定本次测试结束的方法如上,但本领域技术人员能够理解,本公开不限于此。本领域技术人员可以根据实际应用场景灵活设定判定本次测试结束的方法。
在一种可能的实现方式中,在客户端与服务器建立TCP连接之前,该方法还包括:服务器启动网络监听。例如,在客户端与服务器建立TCP连接之前,服务器启动TCP和UDP监听。
本公开的网络质量评估方法,服务器能够准确地感知测试过程中客户端的异常,从而在发现客户端和服务器之间的TCP连接断开的情况下,及时清理服务器的缓存数据,回收服务器的资源,不会造成服务器的资源浪费。
图9示出根据本公开一实施例的网络质量评估方法的一示意性的流程图。如图9所示,该方法包括步骤S900至S910。
在步骤S900中,服务器启动TCP和UDP监听。
在步骤S901中,客户端与服务器建立TCP连接。
在步骤S902中,客户端向服务器发送测试启动报文,该测试启动报文包括本次测试的结束判定信息。
在步骤S903中,服务器接收来自于客户端的测试启动报文,并向客户端发送确认报文,该确认报文用于表示服务器接收到该测试启动报文。
在步骤S904中,客户端在接收到来自于服务器的确认报文的情况下,向服务器发送测试报文。
在步骤S905中,服务器接收来自于客户端的测试报文,并向客户端发送响应于该测试报文生成的测试应答报文。
在步骤S906中,客户端接收服务器响应于该测试报文返回的测试应答报文。
在步骤S907中,服务器在判定本次测试结束的情况下,向客户端发送测试结束报文,该测试结束报文包括第一测试报文数,第一测试报文数为服务器在本次测试中接收到的来自于客户端的测试报文的个数。
在步骤S908中,客户端接收来自于服务器的测试结束报文,该测试结束报文包括第一测试报文数。
在步骤S909中,客户端记录在本次测试中向服务器发送的测试报文的个数为第二测试报文数,记录在本次测试中接收到的来自于服务器的测试应答报文的个数为测试应答报文数。
在步骤S910中,根据第一测试报文数、第二测试报文数和测试应答报文数,对客户端和服务器之间的网络质量进行评估。
图10示出根据本公开一实施例的网络质量评估方法的一示意性的流程图。如图10所示,整个测试过程如下:服务器启动TCP与UDP侦听;客户端向服务器发起TCP连接,建立控制连接;客户端向服务器发送测试启动报文,服务器回复确认报文,测试会话建立;客户端与服务器进行UDP测试报文交互;服务器接收所有测试报文或等待测试报文超时,向客户端发送测试结束报文,测试会话结束。测试过程中服务器感知到TCP连接断开,则及时清理服务器的缓存数据,回收服务器的资源。
图11示出根据本公开一实施例的网络质量评估装置的框图。该装置应用于客户端。如图11所示,该装置包括:
第一发送模块11,用于向服务器发送测试启动报文,所述测试启动报文包括本次测试的结束判定信息;第一处理模块12,用于在接收到来自于所述服务器的确认报文的情况下,向所述服务器发送测试报文,并接收所述服务器响应于所述测试报文返回的测试应答报文,所述确认报文用于表示所述服务器接收到所述测试启动报文;第一接收模块13,用于接收来自于所述服务器的测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数;记录模块14,用于记录所述客户端在本次测试中向所述服务器发送的测试报文的个数为第二测试报文数,记录所述客户端在本次测试中接收到的来自于所述服务器的测试应答报文的个数为测试应答报文数;评估模块15,用于根据所述第一测试报文数、第二测试报文数和测试应答报文数,对所述客户端和所述服务器之间的网络质量进行评估。
图12示出根据本公开一实施例的网络质量评估装置的一示意性的框图。如图12所示:
在一种可能的实现方式中,所述测试启动报文和所述测试结束报文为TCP报文;所述装置还包括:连接建立模块10,用于在向所述服务器发送所述测试启动报文之前,与所述服务器建立TCP连接;和/或所述测试报文和所述测试应答报文为UDP报文。
在一种可能的实现方式中,所述结束判定信息包括第三测试报文数和测试时间阈值;或所述结束判定信息包括测试时间阈值;其中,所述第三测试报文数为所述客户端在本次测试中将向所述服务器发送的测试报文的个数,所述测试时间阈值为本次测试的最大持续时间。
在一种可能的实现方式中,所述评估模块用于:根据所述第一测试报文数、所述第二测试报文数和所述测试应答报文数,计算所述客户端和所述服务器之间的丢包率和丢包数中的至少一项;
其中,采用式1计算所述客户端和所述服务器之间的丢包率PLost;
PLost=(CS-CR)/CS 式1;
采用式2计算所述客户端到所述服务器之间的丢包数SDLost;
SDLost=CS-SR 式2;
采用式3计算所述服务器到所述客户端之间的丢包数DSLost;
DSLost=SR-CR 式3;
其中,SR表示所述第一测试报文数,CS表示所述第二测试报文数,CR表示所述测试应答报文数。
本公开的网络质量评估装置,客户端能够准确地获取服务器在本次测试中接收到的来自于客户端的测试报文的个数,从而准确地对客户端和服务器之间的网络质量进行评估,由此能够准确地分析客户端和服务器之间的丢包方向,提供可靠的网络质量评估结果。
图13示出根据本公开一实施例的网络质量评估装置的框图。该装置应用于服务器。如图13所示,该装置包括:
第二接收模块21,用于接收来自于客户端的测试启动报文,所述测试启动报文包括本次测试的结束判定信息;第二处理模块22,用于接收来自于客户端的测试报文,并向所述客户端发送响应于所述测试报文生成的测试应答报文;第二发送模块23,用于在判定本次测试结束的情况下,向所述客户端发送测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数。
在一种可能的实现方式中,所述结束判定信息包括第三测试报文数和测试时间阈值,所述装置还包括结束判定模块,所述结束判定模块用于:在所述服务器在测试时间阈值内接收到的测试报文的个数等于所述第三测试报文数的情况下,判定本次测试结束;或在所述服务器检测到本次测试的持续时间达到所述测试时间阈值的情况下,判定本次测试结束;其中,所述第三测试报文数为所述客户端在本次测试中将向所述服务器发送的测试报文的个数,所述测试时间阈值为本次测试的最大持续时间。
在一种可能的实现方式中,所述结束判定信息包括测试时间阈值,所述装置还包括结束判定模块,所述结束判定模块用于:在所述服务器检测到本次测试的持续时间达到所述测试时间阈值的情况下,判定本次测试结束;其中,所述测试时间阈值为本次测试的最大持续时间。
本公开的网络质量评估装置,服务器能够准确地感知测试过程中客户端的异常,从而在发现客户端和服务器之间的TCP连接断开的情况下,及时清理服务器的缓存数据,回收服务器的资源,不会造成服务器的资源浪费。
图14是根据一示例性实施例示出的一种用于网络质量评估装置900的框图。参照图14,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与网络质量评估逻辑对应的机器可执行指令以执行上文所述的网络质量评估方法。
本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种网络质量评估方法,其特征在于,所述网络质量评估方法应用于客户端,所述方法包括:
向服务器发送测试启动报文,所述测试启动报文包括本次测试的结束判定信息;
在接收到来自于所述服务器的确认报文的情况下,向所述服务器发送测试报文,并接收所述服务器响应于所述测试报文返回的测试应答报文,所述确认报文用于表示所述服务器接收到所述测试启动报文;
接收来自于所述服务器的测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数;
记录所述客户端在本次测试中向所述服务器发送的测试报文的个数为第二测试报文数,记录所述客户端在本次测试中接收到的来自于所述服务器的测试应答报文的个数为测试应答报文数;
根据所述第一测试报文数、所述第二测试报文数和所述测试应答报文数,对所述客户端和所述服务器之间的网络质量进行评估。
2.根据权利要求1所述的网络质量评估方法,其特征在于,所述测试启动报文和所述测试结束报文为传输控制协议TCP报文;
在向所述服务器发送所述测试启动报文之前,所述方法还包括:
与所述服务器建立TCP连接;和/或
所述测试报文和所述测试应答报文为用户数据报协议UDP报文。
3.根据权利要求1所述的网络质量评估方法,其特征在于,
所述结束判定信息包括第三测试报文数和测试时间阈值;或
所述结束判定信息包括测试时间阈值;
其中,所述第三测试报文数为所述客户端在本次测试中将向所述服务器发送的测试报文的个数,所述测试时间阈值为本次测试的最大持续时间。
4.根据权利要求1所述的网络质量评估方法,其特征在于,根据所述第一测试报文数、所述第二测试报文数和所述测试应答报文数,对所述客户端和所述服务器之间的网络质量进行评估,包括:
根据所述第一测试报文数、所述第二测试报文数和所述测试应答报文数,计算所述客户端和所述服务器之间的丢包率和丢包数中的至少一项;
其中,采用式1计算所述客户端和所述服务器之间的丢包率PLost;
PLost=(CS-CR)/CS 式1;
采用式2计算所述客户端到所述服务器之间的丢包数SDLost;
SDLost=CS-SR 式2;
采用式3计算所述服务器到所述客户端之间的丢包数DSLost;
DSLost=SR-CR 式3;
其中,SR表示所述第一测试报文数,CS表示所述第二测试报文数,CR表示所述测试应答报文数。
5.一种网络质量评估方法,其特征在于,所述网络质量评估方法应用于服务器,所述方法包括:
接收来自于客户端的测试启动报文,所述测试启动报文包括本次测试的结束判定信息;
接收来自于客户端的测试报文,并向所述客户端发送响应于所述测试报文生成的测试应答报文;
在判定本次测试结束的情况下,向所述客户端发送测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数。
6.根据权利要求5所述的网络质量评估方法,其特征在于,所述结束判定信息包括第三测试报文数和测试时间阈值,所述方法还包括:
在所述服务器在测试时间阈值内接收到的测试报文的个数等于所述第三测试报文数的情况下,判定本次测试结束;或
在所述服务器检测到本次测试的持续时间达到所述测试时间阈值的情况下,判定本次测试结束;
其中,所述第三测试报文数为所述客户端在本次测试中将向所述服务器发送的测试报文的个数,所述测试时间阈值为本次测试的最大持续时间。
7.根据权利要求5所述的网络质量评估方法,其特征在于,所述结束判定信息包括测试时间阈值,所述方法还包括:
在所述服务器检测到本次测试的持续时间达到所述测试时间阈值的情况下,判定本次测试结束;
其中,所述测试时间阈值为本次测试的最大持续时间。
8.一种网络质量评估装置,其特征在于,所述网络质量评估装置应用于客户端,所述装置包括:
第一发送模块,用于向服务器发送测试启动报文,所述测试启动报文包括本次测试的结束判定信息;
第一处理模块,用于在接收到来自于所述服务器的确认报文的情况下,向所述服务器发送测试报文,并接收所述服务器响应于所述测试报文返回的测试应答报文,所述确认报文用于表示所述服务器接收到所述测试启动报文;
第一接收模块,用于接收来自于所述服务器的测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数;
记录模块,用于记录所述客户端在本次测试中向所述服务器发送的测试报文的个数为第二测试报文数,记录所述客户端在本次测试中接收到的来自于所述服务器的测试应答报文的个数为测试应答报文数;
评估模块,用于根据所述第一测试报文数、所述第二测试报文数和所述测试应答报文数,对所述客户端和所述服务器之间的网络质量进行评估。
9.根据权利要求8所述的网络质量评估装置,其特征在于,所述测试启动报文和所述测试结束报文为TCP报文;
所述装置还包括:
连接建立模块,用于在向所述服务器发送所述测试启动报文之前,与所述服务器建立TCP连接;和/或
所述测试报文和所述测试应答报文为UDP报文。
10.根据权利要求8所述的网络质量评估装置,其特征在于,
所述结束判定信息包括第三测试报文数和测试时间阈值;或
所述结束判定信息包括测试时间阈值;
其中,所述第三测试报文数为所述客户端在本次测试中将向所述服务器发送的测试报文的个数,所述测试时间阈值为本次测试的最大持续时间。
11.根据权利要求8所述的网络质量评估装置,其特征在于,所述评估模块用于:
根据所述第一测试报文数、所述第二测试报文数和所述测试应答报文数,计算所述客户端和所述服务器之间的丢包率和丢包数中的至少一项;
其中,采用式1计算所述客户端和所述服务器之间的丢包率PLost;
PLost=(CS-CR)/CS 式1;
采用式2计算所述客户端到所述服务器之间的丢包数SDLost;
SDLost=CS-SR 式2;
采用式3计算所述服务器到所述客户端之间的丢包数DSLost;
DSLost=SR-CR 式3;
其中,SR表示所述第一测试报文数,CS表示所述第二测试报文数,CR表示所述测试应答报文数。
12.一种网络质量评估装置,其特征在于,所述网络质量评估装置应用于服务器,所述装置包括:
第二接收模块,用于接收来自于客户端的测试启动报文,所述测试启动报文包括本次测试的结束判定信息;
第二处理模块,用于接收来自于客户端的测试报文,并向所述客户端发送响应于所述测试报文生成的测试应答报文;
第二发送模块,用于在判定本次测试结束的情况下,向所述客户端发送测试结束报文,所述测试结束报文包括第一测试报文数,所述第一测试报文数为所述服务器在本次测试中接收到的来自于所述客户端的测试报文的个数。
13.根据权利要求12所述的网络质量评估装置,其特征在于,所述结束判定信息包括第三测试报文数和测试时间阈值,所述装置还包括结束判定模块,所述结束判定模块用于:
在所述服务器在测试时间阈值内接收到的测试报文的个数等于所述第三测试报文数的情况下,判定本次测试结束;或
在所述服务器检测到本次测试的持续时间达到所述测试时间阈值的情况下,判定本次测试结束;
其中,所述第三测试报文数为所述客户端在本次测试中将向所述服务器发送的测试报文的个数,所述测试时间阈值为本次测试的最大持续时间。
14.根据权利要求12所述的网络质量评估装置,其特征在于,所述结束判定信息包括测试时间阈值,所述装置还包括结束判定模块,所述结束判定模块用于:
在所述服务器检测到本次测试的持续时间达到所述测试时间阈值的情况下,判定本次测试结束;
其中,所述测试时间阈值为本次测试的最大持续时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710481722.7A CN107547302B (zh) | 2017-06-22 | 2017-06-22 | 网络质量评估方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710481722.7A CN107547302B (zh) | 2017-06-22 | 2017-06-22 | 网络质量评估方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547302A true CN107547302A (zh) | 2018-01-05 |
CN107547302B CN107547302B (zh) | 2020-10-09 |
Family
ID=60970315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710481722.7A Active CN107547302B (zh) | 2017-06-22 | 2017-06-22 | 网络质量评估方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547302B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064760A1 (en) * | 2002-09-27 | 2004-04-01 | Hicks Jeffrey Todd | Methods, systems and computer program products for assessing network quality |
CN102291594A (zh) * | 2011-08-25 | 2011-12-21 | 中国电信股份有限公司上海信息网络部 | 一种ip网络视频质量的检测评估系统与方法 |
CN104038845A (zh) * | 2014-06-30 | 2014-09-10 | 杭州华三通信技术有限公司 | 报文传输方法及装置 |
CN106487613A (zh) * | 2016-11-16 | 2017-03-08 | 北京华为数字技术有限公司 | 一种带宽测试方法、装置和系统 |
CN106603333A (zh) * | 2016-12-14 | 2017-04-26 | 瑞斯康达科技发展股份有限公司 | 一种网络性能测量方法、装置及系统 |
-
2017
- 2017-06-22 CN CN201710481722.7A patent/CN107547302B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064760A1 (en) * | 2002-09-27 | 2004-04-01 | Hicks Jeffrey Todd | Methods, systems and computer program products for assessing network quality |
CN102291594A (zh) * | 2011-08-25 | 2011-12-21 | 中国电信股份有限公司上海信息网络部 | 一种ip网络视频质量的检测评估系统与方法 |
CN104038845A (zh) * | 2014-06-30 | 2014-09-10 | 杭州华三通信技术有限公司 | 报文传输方法及装置 |
CN106487613A (zh) * | 2016-11-16 | 2017-03-08 | 北京华为数字技术有限公司 | 一种带宽测试方法、装置和系统 |
CN106603333A (zh) * | 2016-12-14 | 2017-04-26 | 瑞斯康达科技发展股份有限公司 | 一种网络性能测量方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107547302B (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10637771B2 (en) | System and method for real-time load balancing of network packets | |
CN100356733C (zh) | 记录介质、故障分析设备以及故障分析方法 | |
CN105264859B (zh) | 用于生成对基于web的应用的客户体验的洞悉的方法和装置 | |
WO2018121237A1 (zh) | 网络质量检测方法及装置 | |
TW536890B (en) | Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks | |
CN107409071B (zh) | 获得诊断测试结果的方法、控制模块及计算机可读存储介质 | |
EP2081321A2 (en) | Sampling apparatus distinguishing a failure in a network even by using a single sampling and a method therefor | |
US20090052332A1 (en) | Device, system, method and program for collecting network fault information | |
EP3849136A1 (en) | Service quality monitoring method, apparatus, and system | |
CN101164287A (zh) | 文件传输协议服务性能测试方法 | |
US9473346B2 (en) | System and method for network path validation | |
EP3682595B1 (en) | Obtaining local area network diagnostic test results | |
JP2009065277A (ja) | 情報収集装置、通信異常検知装置およびコンピュータプログラム | |
JP4583312B2 (ja) | 通信状況判定方法、通信状況判定システム及び判定装置 | |
Hu et al. | The need for end-to-end evaluation of cloud availability | |
JP2008283621A (ja) | ネットワーク輻輳状況監視装置、ネットワーク輻輳状況監視方法及びプログラム | |
EP1746769A1 (en) | Measurement system and method of measuring a transit metric | |
CN107547302A (zh) | 网络质量评估方法及装置 | |
CN103338131A (zh) | 检测日志传输丢失率的方法和设备 | |
CN104253712B (zh) | 一种利用深度包检测技术进行p2p网络识别的方法 | |
CN101164288A (zh) | IPv6网络应用层协议的检测方法 | |
Luo et al. | Novel approaches to end-to-end packet reordering measurement | |
CN113890950A (zh) | Voip终端网络检测方法、装置和voip终端 | |
JP2014116840A (ja) | 通信品質推定装置 | |
CN113660108B (zh) | 一种网络质量诊断方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |