CN103475530A - 一种互联网中的测速方法和装置 - Google Patents
一种互联网中的测速方法和装置 Download PDFInfo
- Publication number
- CN103475530A CN103475530A CN2012101839749A CN201210183974A CN103475530A CN 103475530 A CN103475530 A CN 103475530A CN 2012101839749 A CN2012101839749 A CN 2012101839749A CN 201210183974 A CN201210183974 A CN 201210183974A CN 103475530 A CN103475530 A CN 103475530A
- Authority
- CN
- China
- Prior art keywords
- time
- packet
- speed
- communication
- tcp
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种互联网中的测速方法和装置。该方法包括:第一通信端向第二通信端发起TCP连接,记录建立TCP连接阶段的数据包交互时间,其中:记录一次数据交互中第一通信端的第一数据包到达第二通信端时的第一时间,记录该次数据交互中所述第一通信端回应于所述第二通信端对所述第一数据包的回应的第二数据包的第三数据包到达所述第二通信端时的第二时间,通过所述第一时间和所述第二时间,对所述第一通信端和所述第二通信端之间的网络连接进行测速。应用本发明,能够提高测速方法或装置的通用性、并降低对现有客户端和服务器的改造成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种互联网中的测速方法和装置。
背景技术
在互联网服务中,为了准确地掌握用户的访问体验,往往需要对用户访问进行测速。目前常用的测速方法有以下两种:
其一,客户端测速方法:客户端测量某个动作所需要的时间,并主动上报给服务器,服务器收集各个客户端上报的数据,然后进行综合分析,得到服务器的访问速度。
其二,服务器端测速方法:服务器根据自身业务特点,对用户的业务请求时间进行收集和综合分析,得到服务器的访问速度。例如,HTTP服务器可以测量用户下载某个文件所用的时间,据此得到HTTP服务器的访问速度;邮件服务器可以测量用户读取一封邮件所用的时间,据此得到邮件服务器的访问速度。
可见,目前互联网的测速方法存在以下缺陷:
客户端的测速方法需要对客户端进行改造,例如,需要在客户端中增加完成测速和上报功能的模块,由于互联网中存在着海量的客户端,要对海量的客户端进行改造,其改造成本较高。
目前服务器端的测速方法需要对具体的业务应用模块进行改动,即在业务应用模块中,根据业务类型特点,嵌入进行测速的模块,这使得服务器端的测速模块依赖于服务器上所运行的业务类型,适用于一种业务类型的测速模块常常不能用于另一种业务类型的测速,测速方法和模块的通用性较差,不够灵活,并且由于需要对服务器上的不同业务应用模块分别进行改造,因此改造成本也较高。
发明内容
有鉴于此,本发明提供了一种互联网中的测速方法和装置,以便提高测速方法或装置的通用性、并降低对现有客户端和服务器的改造成本。
本发明的技术方案具体是这样实现的:
一种互联网中的测速方法,该方法包括:
第一通信端向第二通信端发起TCP连接,记录建立TCP连接阶段的数据包交互时间,其中:
记录一次数据交互中第一通信端的第一数据包到达第二通信端时的第一时间,
记录该次数据交互中所述第一通信端回应于所述第二通信端对所述第一数据包的回应的第二数据包的第三数据包到达所述第二通信端时的第二时间,
通过所述第一时间和所述第二时间,对所述第一通信端和所述第二通信端之间的网络连接进行测速。
一种互联网中的测速装置,该测速装置包括TCP连接信息收集模块和测速模块;
所述TCP连接信息收集模块,用于在第一通信端向第二通信端发起TCP连接时,记录建立TCP连接阶段的数据包交互时间,其中,记录一次数据交互中第一通信端的第一数据包到达第二通信端时的第一时间,记录该次数据交互中所述第一通信端回应于所述第二通信端对所述第一数据包的回应的第二数据包的第三数据包到达所述第二通信端时的第二时间;
所述测速模块,用于通过所述第一时间和所述第二时间,对所述第一通信端和所述第二通信端之间的网络连接进行测速。
由上述技术方案可见,本发明中,在需要对第一通信端和第二通信端之间的网络通信进行测速时,第一通信端向第二通信端发起TCP连接,通过对第一通信端与第二通信端之间建立TCP连接阶段的数据包的交互时间进行记录,利用TCP连接报文的交互时间进行测速,因此,对于能够支持TCP连接操作的任意客户端和服务器都能够适用,通用性较强,并且,由于本发明对TCP连接过程本身并不作改动,只是记录TCP连接报文的交互时间信息,利用TCP连接报文的交互时间信息进行测速,因此,不需要对客户端进行改动,并且也不需要对服务器侧具体的业务应用模块进行改动,因此,也能够降低对现有客户端和服务器的改造成本。
附图说明
图1是建立TCP连接阶段的报文交互示意图。
图2是本发明提供的互联网中的测速装置结构图。
具体实施方式
本发明中,第一通信端向第二通信端发起TCP连接,记录TCP连接阶段的数据包交互时间,根据记录的数据包交互时间进行测速,其中,第一通信端可以是客户端或服务器,第二通信端可以是服务器或通信端,下面以第一通信端是客户端,第二通信端是服务器为例,对本发明进行示例性说明。
本发明通过对客户端与服务器之间的TCP连接报文交互时间进行记录,利用TCP连接报文的交互时间进行测速。
其中,本发明根据TCP连接阶段的不同,可以分别利用不同的TCP连接报文交互时间进行测速。其中,TCP连接阶段包括建立TCP连接的阶段、成功建立TCP连接后交互数据报文的阶段和关闭TCP连接阶段,下面分别对每种阶段下的测速方法进行详细介绍。
在建立TCP连接的阶段,TCP连接链路上的网元设备记录报文交互时间,根据建立TCP连接阶段的报文接收或发送时间进行测速。
图1是建立TCP连接阶段的报文交互示意图。
如图1所示,在典型的TCP网络应用中,客户端与服务器建立TCP连接的过程包括:
步骤101,客户端向服务器发送SYN数据包。
步骤102,服务器收到客户端发送的SYN数据包后,立即向客户端回复针对该SYN数据包的ACK响应,即向该客户端回复SYN+ACK响应。
步骤103,客户端收到服务器的SYN+ACK响应后,立即向客户端返回ACK数据包,即返回针对该SYN+ACK响应的ACK响应。
本发明正是利用建立TCP连接阶段的三次握手时间来作为用户测速数据。
具体地,TCP连接链路上的网元设备记录接收到客户端发送的SYN数据包的第一时间,TCP连接链路上的网元设备还记录接收到客户端针对服务器回复的ACK响应而进一步向该服务器返回的ACK响应的第二时间,其中,所述服务器回复的ACK响应是服务器针对所述SYN数据包回复的ACK响应;TCP连接链路上的网元设备根据第一时间和第二时间进行测速。TCP连接链路上的网元设备具体可以将所述第二时间与所述第一时间之差,确定为所述第一通信端与所述第二通信端之间一次网络通信的耗时。
由于在建立TCP连接阶段,服务器在收到客户端的SYN数据包时,立即针对该SYN数据包回复ACK响应,并且,客户端在收到服务器的ACK响应后,也针对该ACK响应立即向服务器返回ACK响应,由于服务器和客户端是立即回复ACK响应的,从收到TCP报文到反馈ACK响应之间没有间隔,因此,利用所述第一时间和所述第二时间进行测速的准确性较高。
在成功建立TCP连接后的数据报文交互阶段,TCP连接链路上的网元设备记录成功建立TCP连接后交互数据报文的时间,根据TCP连接过程中交互数据报文的时间进行测速,具体包括:
TCP连接链路上的网元设备根据数据包的编号和客户端针对数据包回复的ACK响应的编号,确定数据包与客户端针对该数据包回复的ACK响应之间的对应关系,记录所述网元设备接收到服务器发送的数据包的第三时间和接收到客户端针对该数据包回复的ACK响应的第四时间,TCP连接链路上的网元设备根据第三时间和第四时间进行测速。
在关闭TCP连接的阶段,TCP连接链路上的网元设备记录关闭TCP连接阶段的报文交互时间,根据关闭TCP连接阶段的报文交互时间进行测速,具体包括:
TCP连接链路上的网元设备根据关闭TCP连接阶段服务器发送的FIN报文的编号和客户端针对FIN报文回复的ACK响应的编号,确定FIN报文与客户端针对该FIN报文回复的ACK响应之间的对应关系,记录所述网元设备接收到服务器发送的FIN报文的第五时间和接收到客户端针对该FIN报文回复的ACK响应的第六时间,TCP连接链路上的网元设备根据第五时间和第六时间进行测速。
其中,TCP连接链路上的网元设备可以利用独立于业务应用进程以外的单独进程记录客户端与服务器之间的TCP连接报文交互时间,并根据记录的时间进行测速,从而避免了测速对业务应用模块的影响,无需对业务应用模块进行改动。
其中,本发明所述TCP连接链路上的网元设备,可以是与客户端建立TCP连接的服务器,也可以是所述客户端与所述服务器之间的TCP连接链路上的中间节点设备,例如,可以是网关设备、路由器等,优选地,本发明所述TCP连接链路上的网元设备是与客户端建立TCP连接的所述服务器。
根据本发明提供的上述方法,本发明还提供了相应的测速装置,具体请参见图2。
图2是本发明提供的互联网中的测速装置结构图。
如图2所示,该测速装置包括TCP连接信息收集模块201和测速模块202。
TCP连接信息收集模块201,用于在第一通信端向第二通信端发起TCP连接时,记录建立TCP连接阶段的数据包交互时间,其中,记录一次数据交互中第一通信端的第一数据包到达第二通信端时的第一时间,记录该次数据交互中所述第一通信端回应于所述第二通信端对所述第一数据包的回应的第二数据包的第三数据包到达所述第二通信端时的第二时间。
测速模块202,用于通过所述第一时间和所述第二时间,对所述第一通信端和所述第二通信端之间的网络连接进行测速。
测速模块202,具体可以用于将所述第二时间与所述第一时间之差,确定为所述第一通信端与所述第二通信端之间一次网络通信的耗时。
其中,所述第一通信端可以是客户端或者服务器,所述第二通信端可以是服务器或者客户端。
其中,所述第一数据包可以是SYN数据包,所述第二数据包可以是SYN+ACK数据包,所述第三数据包可以是ACK数据包。
其中,TCP连接信息收集模块201和测速模块202可以位于独立于业务应用进程以外的单独进程中。
所述单独进程可以运行在第二通信端上或者第一通信端与第二通信端之间的通信链路的任意中间节点上。
TCP连接信息收集模块201,可以用于记录建立TCP连接阶段的报文交互时间,或者,记录成功建立TCP连接后交互数据报文的时间,或者,记录关闭TCP连接阶段的报文交互时间。
测速模块202,用于根据建立TCP连接阶段的报文交互时间进行测速,或者根据TCP连接过程中交互数据报文的时间进行测速,或者根据关闭TCP连接阶段的报文交互时间进行测速。
TCP连接信息收集模块201,具体可以用于记录该测速装置所在网元设备接收到客户端发送的SYN数据包的第一时间,还记录该测速装置所在网元设备接收到客户端针对服务器回复的ACK响应而进一步向该服务器返回的ACK响应的第二时间,其中,所述服务器回复的ACK响应是服务器针对所述SYN数据包回复的ACK响应。
测速模块202,具体可以用于根据第一时间和第二时间进行测速。
或者,TCP连接信息收集模块201,具体可以用于根据数据包的编号和客户端针对数据包回复的ACK响应的编号,确定数据包与客户端针对该数据包回复的ACK响应之间的对应关系,记录该测速装置所在网元设备接收到服务器发送的数据包的第三时间和接收到客户端针对该数据包回复的ACK响应的第四时间。
测速模块202,具体可以用于根据第三时间和第四时间进行测速。
或者,TCP连接信息收集模块201,具体可以用于根据关闭TCP连接阶段服务器发送的FIN报文的编号和客户端针对FIN报文回复的ACK响应的编号,确定FIN报文与客户端针对该FIN报文回复的ACK响应之间的对应关系,记录该测速装置所在网元设备接收到服务器发送的FIN报文的第五时间和接收到客户端针对该FIN报文回复的ACK响应的第六时间。
测速模块202,具体可以用于根据第五时间和第六时间进行测速。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种互联网中的测速方法,其特征在于,该方法包括:
第一通信端向第二通信端发起TCP连接,记录建立TCP连接阶段的数据包交互时间,其中:
记录一次数据交互中第一通信端的第一数据包到达第二通信端时的第一时间,
记录该次数据交互中所述第一通信端回应于所述第二通信端对所述第一数据包的回应的第二数据包的第三数据包到达所述第二通信端时的第二时间,
通过所述第一时间和所述第二时间,对所述第一通信端和所述第二通信端之间的网络连接进行测速。
2.根据权利要求1所述的测速方法,其特征在于,所述第二时间与所述第一时间之差,为所述第一通信端与所述第二通信端之间一次网络通信的耗时。
3.根据权利要求1所述的测速方法,其特征在于,所述第一通信端是客户端或者服务器,所述第二通信端是服务器或者客户端。
4.根据权利要求1所述的测速方法,其特征在于,所述第一数据包是SYN数据包,所述第二数据包是SYN+ACK数据包,所述第三数据包是ACK数据包。
5.根据权利要求1-4任一项所述的测速方法,其特征在于,
利用独立于业务应用进程以外的单独进程记录所述第一和第二时间,并根据记录的时间进行测速。
6.根据权利要求5所述的测速方法,其特征在于,所述单独进程运行在第二通信端上或者第一通信端与第二通信端之间的通信链路的任意中间节点上。
7.一种互联网中的测速装置,其特征在于,该测速装置包括TCP连接信息收集模块和测速模块;
所述TCP连接信息收集模块,用于在第一通信端向第二通信端发起TCP连接时,记录建立TCP连接阶段的数据包交互时间,其中,记录一次数据交互中第一通信端的第一数据包到达第二通信端时的第一时间,记录该次数据交互中所述第一通信端回应于所述第二通信端对所述第一数据包的回应的第二数据包的第三数据包到达所述第二通信端时的第二时间;
所述测速模块,用于通过所述第一时间和所述第二时间,对所述第一通信端和所述第二通信端之间的网络连接进行测速。
8.根据权利要求7所述的测速装置,其特征在于,
所述测速模块,用于将所述第二时间与所述第一时间之差,确定为所述第一通信端与所述第二通信端之间一次网络通信的耗时。
9.根据权利要求7所述的测速装置,其特征在于,
所述第一通信端是客户端或者服务器,所述第二通信端是服务器或者客户端。
10.根据权利要求7所述的测速装置,其特征在于,
所述第一数据包是SYN数据包,所述第二数据包是SYN+ACK数据包,所述第三数据包是ACK数据包。
11.根据权利要求7-10任一权利要求所述的测速装置,其特征在于,
所述TCP连接信息收集模块和所述测速模块位于独立于业务应用进程以外的单独进程中。
12.根据权利要求11所述的测速装置,其特征在于,
所述单独进程运行在第二通信端上或者第一通信端与第二通信端之间的通信链路的任意中间节点上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101839749A CN103475530A (zh) | 2012-06-06 | 2012-06-06 | 一种互联网中的测速方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101839749A CN103475530A (zh) | 2012-06-06 | 2012-06-06 | 一种互联网中的测速方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103475530A true CN103475530A (zh) | 2013-12-25 |
Family
ID=49800240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101839749A Pending CN103475530A (zh) | 2012-06-06 | 2012-06-06 | 一种互联网中的测速方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475530A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385368A (zh) * | 2018-12-27 | 2020-07-07 | 创发信息科技(苏州)有限公司 | 硬件辅助测速系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217429A (zh) * | 2008-01-18 | 2008-07-09 | 清华大学 | 基于tcp时间戳选项确定tcp报文之间的引发关系的方法 |
CN101682611A (zh) * | 2007-03-07 | 2010-03-24 | T-移动国际股份公司 | 在物理传输介质中断时改善tcp数据传输进程的方法 |
CN101814977A (zh) * | 2010-04-22 | 2010-08-25 | 北京邮电大学 | 利用数据流头部特征的tcp流量在线识别方法及装置 |
-
2012
- 2012-06-06 CN CN2012101839749A patent/CN103475530A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682611A (zh) * | 2007-03-07 | 2010-03-24 | T-移动国际股份公司 | 在物理传输介质中断时改善tcp数据传输进程的方法 |
CN101217429A (zh) * | 2008-01-18 | 2008-07-09 | 清华大学 | 基于tcp时间戳选项确定tcp报文之间的引发关系的方法 |
CN101814977A (zh) * | 2010-04-22 | 2010-08-25 | 北京邮电大学 | 利用数据流头部特征的tcp流量在线识别方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385368A (zh) * | 2018-12-27 | 2020-07-07 | 创发信息科技(苏州)有限公司 | 硬件辅助测速系统 |
CN111385368B (zh) * | 2018-12-27 | 2023-09-12 | 达发科技(苏州)有限公司 | 硬件辅助测速系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6973490B1 (en) | Method and system for object-level web performance and analysis | |
CN103096435B (zh) | 连接保持方法、装置以及移动终端 | |
US8737243B2 (en) | Methods and apparatus for monitoring network link quality | |
CN103220161A (zh) | 一种服务器状态的探测方法和装置 | |
CN101771585B (zh) | 一种网络延时测量设备及其方法 | |
CN102035692A (zh) | 一种链路质量检测方法及装置 | |
US20230353459A1 (en) | Test method and device for simulating customer series deployment environment | |
CN104754630A (zh) | 一种网络质量评估方法、装置及处理平台 | |
CN107852346A (zh) | 网络性能的分析 | |
CN104852828A (zh) | 一种网络时延检测方法,装置及系统 | |
CN102984035A (zh) | 网络数据丢包率的环回测试方法及系统 | |
CN101815028B (zh) | 组播路由跟踪的方法、系统和路由设备 | |
CN107040429A (zh) | 一种端口转发性能的测试方法及系统 | |
CN103685584A (zh) | 一种基于隧道技术的反域名劫持方法和系统 | |
CN105323121A (zh) | 一种网络状况检测方法及装置 | |
CN108199913B (zh) | 一种实现时延测试的方法及设备 | |
CN107425995A (zh) | 双向测量控制方法、发送业务设备及接收业务设备 | |
CN103139014A (zh) | 基于旁路的网络质量评测方法及装置 | |
CN1487706B (zh) | 企业即时通信的方法、系统和控制流程 | |
CN101873235A (zh) | 设备网络联通的检测方法、网管系统及网络系统 | |
JP2015023463A (ja) | パケット解析装置、パケット解析方法、及びパケット解析プログラム | |
CN103475530A (zh) | 一种互联网中的测速方法和装置 | |
CN102469031A (zh) | 局域网即时通讯群监管群成员的方法及系统 | |
CN110784378B (zh) | 使用twamp实现精准流量均衡的方法及装置 | |
CN109981386B (zh) | 网络质量的测试方法、测试服务器和测试系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131225 |