一种检测网络质量的方法和系统的制作方法_2

文档序号:8925110阅读:来源:国知局
务端利用测量得到的各关键数据包的时间差,对客户真正体验感做出合理准确的客观评估。
【附图说明】
[0028]图1是本发明实施例一提供的在服务端进行数据探测的示意图;
[0029]图2是本发明实施例一提供的在客户端进行数据探测的示意图;
[0030]图3是本发明实施例二提供的检测网络质量的系统结构示意图。
【具体实施方式】
[0031]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0032]实施例一
[0033]如图1所示,本发明实施例提供了一种检测网络质量的方法,包括在服务端测量服务端首包时间的方法,包括如下步骤:客户端与服务端建立连接后,客户端向服务端发送数据包,服务端收到客户端发送的第一序号的数据后,向客户端发送准备好的数据报文,月艮务端收到第一个准备好的数据报文的有效确认后,测量并输出服务端首包时间,所述服务端首包时间为t5-t3,其中,t3为服务端收到客户端发送的第一序号的数据的时间点,t5为服务端收到第一个准备好的数据报文的有效确认的时间点;所述有效确认按照如下方法进行判断:
[0034]服务端向客户端发送准备好的数据报文,如果序号为N,数据有效载荷长度为L,则期望序号为N+L;如果客户端回复的ACK报文累计确认序号大于等于N+L,则为有效确认,否则为无效确认。
[0035]其中,在判断确认是否为有效确认时,由于考虑到网络数据乱序或丢包的问题,有可能客户端确认了一部分序号,或者确认了收包之后的序号但累计确认不到N+L,那么客户端回复的ACK不能视为首包的有效反馈,不能记为t5时间点。
[0036]客户端与服务端建立连接后,客户端向服务端发送数据包(如图1中的REQUEST),服务器收到客户端请求数据(如图1中的接收REQUEST的时间点t3)后,向客户端发送准备好的数据报文(如图1中的DATA1,发送时间点为t4),客户端收到该数据报文后,向服务端发送该数据报文的确认,(如图1中的DATA1ACKED,接收时间点为t5),则服务端收到准备好的第一个数据报文的有效确认(累计ACK确认序号大于或等于已发送首包的期望序号)的时间点是t5,则首包时间为t5-t3。本实施例中,以客户端完整收到报文、TCP重组后显性通知服务器作为时间点的判定标准,使用首个数据块的用户确认报文作为首个数据块传输截止的时间点,可以确保客户端收到首包。
[0037]而在传统的测量方法中,首包时间都是在客户端实现的,本领域技术人员没有动机想到可以在服务器端做首包的测量,也没有动机想到使用本实施例中提供的通过成功确认的时间点作为判定首包传输成功的截止时间。因此,本发明实施例提供的方法,不仅能够保证客户端能够收到完整报文,也为网络测量提供了新的思路,即在服务端测量首包时间,打破了传统的必须在客户端测量首包时间的观念,解决了服务端只能被动等待客户端探测数据才能得知服务质量的问题。进而通过使用服务端首包时间对服务端的服务质量进行正确的评估。
[0038]本发明实施例提供的检测网络质量的方法,除了可以在服务端检测服务端首包时间外,还可以在服务端检测内容下载时间,其中,测量服务端内容下载时间的方法,可以包括如下步骤:客户端与服务端建立连接后,客户端向服务端发送数据包,服务端收到客户端发送的第一序号的数据后,向客户端发送准备好的数据报文,服务端收到最后一个准备好的数据报文的有效确认后,测量并输出服务端内容下载时间,所述服务端内容下载时间为t6-t5,其中,t5为服务端收到第一个准备好的数据报文的有效确认的时间点,t6为服务端收到最后一个准备好的数据报文的有效确认的时间点。
[0039]本实施例中,将服务端收到第一个准备好的数据报文的有效确认至收到最后一个准备好的数据报文的有效确认的时延,做为内容下载时间。
[0040]上述确定服务端收到最后一个准备好的数据报文的有效确认的时间点的方法,与传统网络质量测量方法中最后数据块截止时间点的确定方法不同,传统测量方法中,一般都是在客户端进行,本领域技术人员没有动机想到在服务端测量内容下载时间,本领域技术人员更没有动机将最后数据报文的有效确认判定为最后数据块截止传输的时间点。
[0041]而本实施例中,采用上述方法选取最后数据块,判定最后数据块传输介质的时间点,以及在服务端测量内容下载时间,可以保证网络中传输的数据均是有效的,而且,可以根据服务端测量得到的内容下载时间,直接对服务质量进行评估,而无需等待客户端的检测数据。
[0042]本发明实施例提供的检测网络质量的方法,除了可以在服务端检测服务端首包时间外,还可以在客户端测量客户端首包时间,从而将服务端首包时间和客户端首包时间同时作为关键参数,评估网络质量。
[0043]其中,测量客户端首包时间的方法,可以包括如下步骤:
[0044]客户端与服务端建立连接后,客户端向服务端发送第一个含有有效载荷的数据,收到服务端第一个有效载荷的数据,且报文ACK累计确认号大于等于客户端向服务端发送的第一个含有有效载荷数据的期望序号后,测量并输出客户端首包时间T4-T3,其中,T3为客户端向服务端发送第一个含有有效载荷数据报文的时间点,T4为客户端收到服务端第一个有效载荷数据报文,且报文ACK累计确认序号大于等于客户端向服务端发送的第一个含有有效载荷数据报文期望序号时的时间点。
[0045]因为网络的一些丢包、乱序特性,有可能导致服务器一次性发出序号为3、4、5的三个序号报文,但因为网络丢包、乱序,有可能客户端收到的报文顺序为4、5、3的序号顺序,因此客户端以且仅以收到之前期望邻接序号为“3”的报文为判断首包的依据,因此选择T4为第一个含有TCP有效载荷数据报文的时间点,而现有技术中不存在使用期望邻接序号作为首包的判定标准的相关内容,所以,本实施例提供的方法,与现有技术中测量客户端首包时间的方法相比,得到的首包时间更加准确,更能够反映用户的真实体验。
[0046]本发明实施例提供的检测网络质量的方法,除了可以在服务端检测服务端首包时间外,还可以在服务端检测服务器响应时间,从而将服务端首包时间和服务器响应时间同时作为关键参数,评估网络质量。
[0047]其中,测量服务端服务器响应时间的方法,可以包括如下步骤:客户端与服务端建立连接后,客户端向服务端发送数据包,服务端收到客户端发送的第一序号的数据,向客户端发送准备好的数据报文后,测量并输出服务端服务器响应时间为t4-t3,其中,t3为服务端收到客户端发送的第一序号的数据的时间点,t4为服务端向客户端发送准备好的数据报文的起始时间点。
[0048]采用上述方法,实现了在服务端测量服务器响应时间的目的,而现有技术中,均是在客户端测量服务器响应时间,因此,本实施例提供的方法打破了现有技术的传统观念,为数据传输过程中服务器响应时间的测定提供了新的思路和方法。
[0049]而且,采用上述方法在服务端测量服务器响应时间,解决了现有技术中必须等待客户端的数据探测才能对服务质量进行评估的问题。
[0050]本发明实施例提供的检测网络质量的方法,除了可以在服务端检测服务端首包时间外,还可以在服务端测量服务端建连时间,从而将服务端首包时间和服务端建连时间同时作为关键参数,评估网络质量。
[0051]其中,测量服务端建连时间的方法,可以包括如下步骤:客户端向服务端发送第一序号的SYN请求,服务端收到SYN请求后,向客户端发送SYN/ACK确认并收到客户端的有效累计确认ACK后,测量并输出服务端建连时间为t2-tl,其中,tl为客户端向服务端发送第一序号的SYN请求的时间点,t2为服务端向客户端发送SYN/ACK确认并收到客户端的有效累计确认ACK的时间点。
[0052]如图1所示,服务器收到客户端的第一个SYN请求的时间点是11,发送SYN/ACK给客户端并收到客户端的有效累计确认ACK的时间点是t2,则建连时间为t2-tI。在服务端使用累计有效确认ACK的目的是为了确保客户端收到并正确回应了 ACK报文。这里使用有效累计ACK的时间点与第一个客户端的SYN请求时间点作为判定建连时间的标准。
[0053]在上述方法中,采用t2和tl之间的时差作为建连时间,体现的并不是TCP的往返时延,而是数据传输过程中的真实用户体验感。
[0054]因此,采用本实施例提供的方法测量建连时间,可以与首包时间一起,作为关键参数评估网络质量,且由于上述方法得到的建连时间能够体现数据传输过程中的真实用户体验感,所
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1