CN101771585A - 一种网络延时测量设备及其方法 - Google Patents
一种网络延时测量设备及其方法 Download PDFInfo
- Publication number
- CN101771585A CN101771585A CN 201010116886 CN201010116886A CN101771585A CN 101771585 A CN101771585 A CN 101771585A CN 201010116886 CN201010116886 CN 201010116886 CN 201010116886 A CN201010116886 A CN 201010116886A CN 101771585 A CN101771585 A CN 101771585A
- Authority
- CN
- China
- Prior art keywords
- tcp data
- packet
- connection status
- data bag
- network delay
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种网络延时测量设备及其方法。客户端经该网络延时测量设备并通过互联网与网络服务器之间发送TCP数据包。该网络延时测量设备根据该TCP数据包连接状态、发送方向、标志位信息更新该TCP数据包连接状态,并将与该连接状态相关时间更新为当前时间,以便TCP数据包在一次传输过程结束后计算出网络延时时间。该连接状态包括transation start、transaction keep、transaction end。本发明利用TCP状态机被动测量网络延时的设备及其方法网络部署简单,无需占用网络带宽,且上行、下行网络延时测量均能够达到较佳效果,因此能够广泛应用于计算网络延时。
Description
技术领域
本发明涉及互联网,尤其涉及网络延时测量方法。
背景技术
网络延时是指一个数据包从用户计算机发送到网络服务器,然后再立即从网络服务器返回用户计算机的往返时间。网络延时越高则网速越慢。由于互联网络的复杂性、网络流量的动态变化以及网络路由的动态选择,网络延时随时都在不停的变化,我们称之为抖动。网络延时及网络延时抖动越小,则网络的性能就越好。在互联网上,典型的网络延时为几十到几百毫秒。影响网络延时的主要因素是路由跳数和网络流量。
通常测量网络延时的工具为网络管理工具PING(Packet InternetGrope)。此种测量工具采用的是主动测量方法,需要主动发送数据包,因此需要占用网络带宽,在一定程度上对网络有所损耗。并且此种测量方法不仅需要发包设备而且还需要收包设备,因此浪费设备资源且网络部署复杂。
Packeteer产品能够测量网络延时,且不需要发包设备和收包设备,不过该产品对下行网络延时测量具有很好的效果,而其上行网络延时测量的效果却不太理想。因此,一种网络部署简单、无需占用网络带宽、上行及下行网络延时测量均具有较佳效果的网络延时测量设备及其实现方法具有重要应用价值。
发明内容
本发明提供了一种能解决以上问题的一种网络延时测量设备及其方法。
在第一方面,本发明提供了一种网络延时测量设备。客户端经该网络延时测量设备并通过互联网与网络服务器相连,以便该客户端与该网络服务器之间相互发送TCP数据包。该网络延时测量设备包括检测控制模块。
该检测控制模块根据该TCP数据包连接状态、发送方向、标志位信息更新该TCP数据包连接状态,并将与该连接状态相关时间更新为当前时间,以便TCP数据包在一次传输过程结束后计算出网络延时时间。该连接状态包括transation start(传输开始)、transaction keep(传输进行)、transaction end(传输结束)。
在第二方面,本发明提供了一种网络延时测量方法。客户端通过互联网与网络服务器之间相互发送TCP数据包。该方法首先获取该TCP数据包连接状态、数据包发送方向、数据包标志位信息,并根据该信息更新该TCP数据包的连接状态,再将与该连接状态相关的时间更新为当前时间。然后在一次传输过程结束后计算网络传输延迟。该连接状态包括transationstart(传输开始)、transaction keep(传输进行)、transaction end(传输结束)。
在本发明的第一实施例中,网络延时测量设备包括存储模块,该存储模块用于存储连接表,该连接表用于记录所述连接状态以及记录数据包源IP、数据包目的IP、数据包源端口、数据包目的端口,及相应连接状态下的时间、网络服务器发送时间、客户端发送时间、往返总时间、网络延迟中的一个或多个。
在本发明的第二实施例中,连接状态还包括start(连接开始)、syn send(连接请求)、syn received(连接应答)、established(连接建立)。
在本发明的第三实施例中,在获取TCP数据包状态为syn received(连接应答),且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,将当前连接状态更新为Transcation Start(传输开始)。
在本发明的第四实施例中,在获取TCP数据包状态为Transaction Keep(传输进行),且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,将当前连接状态更新为Transcation Start(传输开始)。
在本发明的第五实施例中,在获取TCP数据包状态为Transcation End(传输结束),且该TCP数据包发送方向为网络服务器向客户端发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,连接状态保持不变。
在本发明的第六实施例中,在获取TCP数据包状态为Transcation End(传输结束),且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,将当前连接状态更新为Transcation Start(传输开始)。
本发明的利用TCP状态机被动测量网络延时方法,网络部署简单,无需占用网络带宽,上行、下行网络延时测量均能够达到较佳效果,并且由于该方法仅需要查看TCP协议层数据包内容,因此网络延时测量方法非常简单、便捷。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中:
图1是基于TCP通讯原理的网络延时耗时示意图;
图2是本发明一个实施例的网络延时测量系统框图;
图3是本发明一个实施例的基于TCP状态图的网络延时测量示意图;
图4是本发明一个实施例的网络延时测量流程图;
图5是基于start状态的连接状态转换示意图;
图6是基于syn send状态的连接状态转换示意图;
图7是基于syn received状态的连接状态转换示意图;
图8是基于estabiished状态的连接状态转换示意图;
图9是基于transation start状态的连接状态转换示意图;
图10是基于transaction keep状态的连接状态转换示意图;
图11是基于transaction end状态的连接状态转换示意图。
具体实施方式
图1是基于TCP通讯原理的网络延时耗时示意图,该图显示了网络传输随时间的推移过程。
下面参照图1阐述网络服务器发送时间、客户端发送时间、往返总时间及网络延迟的推导过程。
图1中,客户端在T1时刻发出请求报文P1(SYN),P1经过网络延时测量设备后记录下时间T2;网络服务器在T3时刻发出P1的响应报文P2(SYN,ACK),P2经过网络延时测量设备后记录下时间T4;客户端在T5时刻收到报文P2,而后发出三次握手报文P3(ACK);P3经过网络延时测量设备后记录下时间T6。由此可得,网络服务器发送时间=T4-T2,客户端发送时间=T6-T4,因此往返总时间=网络服务器发送时间+客户端发送时间=T6-T2。
图1中,客户端在T11时刻发出内容请求报文P5(PSH),P5经过网络延时测量设备后记录下时间T12;网络服务器在T13时刻收到报文P5,经过重组和处理后在T14时刻发出响应报文P6(ACK),且到达客户端时间为T16;P6经过网络延时测量设备后记录下时间T15。由此可得,服务器延时=T15-T12-服务器发送时间=T15-T12-(T4-T2)=T15-T12-T4+T2。
图1中,网络服务器在T17发送报文P7(data,PSH),P7经过网络延时测量设备后记录下时间T18,且到达客户端时间为T19;客户端在T20发送P9(ACK)报文,P9经过网络延时测量设备后记录下时间T21,且到达网络服务器时间为T22。由此可得,往返总时间=T21-T9;进而得到网络延时=往返总时间-服务器延时=T21-T9-(T15-T12-T4+T2)。
判定一次传输过程结束的方法为:若网络服务器持续发送数据,则表示传输没有结束。若客户端发送一个新请求,则认为上一传输已结束,并记录该连接上一报文经过网络延时测量设备的时间为,并认定该时间为传输结束时间。若网络服务器和客户端在一定时间内都没有发出报文,则认为传输结束。当收到FIN报文时,则认为连接结束。
在此统称以上所述时间T1、T2……T22为时间信息。
图2是本发明一个实施例的网络延时测量系统框图。图2中,客户端210经网络延时测量设备220并通过互联网发送数据包至网络服务器230。其中,网络延时测量设备220包括预处理模块221、检测控制模块222、存储模块223。
该存储模块223用于存储连接表,该连接表用于记录经过该网络延时测量设备220的数据包连接状态、数据包源IP、数据包目的IP、数据包源端口、数据包目的端口,并记录该数据包相应连接状态下时间信息,以及记录根据该时间信息得到的网络服务器发送时间、客户端发送时间、往返总时间和网络延迟中的一个或多个。所述连接状态包括start(连接开始)、syn send(连接请求)、syn received(连接应答)、established(连接建立)、transation start(传输开始)、transaction keep(传输进行)、transaction end(传输结束)。
预处理模块221接收来自客户端210的数据包,并检查该数据包是否为TCP包,若不是TCP包则将该数据包通过互联网发送至网络服务器230;若是TCP包则将该数据包发送至检测控制模块222。检测控制模块222首先查看该数据包是否存在于存储模块223的连接表中,若该数据包尚未存在于连接表中,则将该数据包相应信息添加到该连接表中,并将该数据包连接状态置为start状态,以及设置该数据包发送方向为由客户端发送至网络服务器。若该数据包已经存在于连接表中,则查看连接表中该数据包连接状态、该数据包发送方向等相关信息,并根据该信息及该数据包标志位更新该数据包的连接状态,以及记录该数据包当前时刻连接状态下的时间信息,从而计算网络服务器发送时间、客户端发送时间、往返总时间、网络延迟中的一个或多个,再将该计算结果存储在连接表中。所述标志位包括syn、ack、psh、rst、fin。所述数据包发送方向包括数据包从客户端发送至网络服务器或从网络服务器发送至客户端。
图3是本发明一个实施例的获取网络延时的TCP状态机示意图。图3中,data表示数据包长度不为零,nodata表示数据包长度为零,ack表示确认已接收到数据包,psh表示数据包已发完,psh=0表示数据包尚未发完,箭头类型表明数据包来源。
下面详细阐述图3中TCP状态机在各连接状态下如何获取时间信息T1、T2……T22,以及如何实现状态转移。
(1)数据包当前状态为Start状态
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的syn标志位为1,则将当前连接状态置为syn send,且更新T2为当前时间。
如果数据包是网络服务器或者客户端发送的带有fin或rst标志位的TCP数据包,则连接状态保持不变。
(2)数据包当前状态为Syn Send状态
如果数据包是网络服务器向客户端发送的TCP数据包,且该TCP数据包的syn标志位为1,ack标志位为1,则将当前连接状态置为Syn Received,且更新T4为当前时间。
如果数据包是网络服务器或者客户端发送的带有fin或rst标志位的TCP数据包,则将当前连接状态置为start。
(3)数据包当前状态为Syn Received状态
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的ack标志位为1,包长为0,则将当前连接状态置为Established,且更新T6为当前时间。
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的ack标志位为1,psh标志位为1,包长不为0,则将当前连接状态置为Transaction Start,且更新T6、T9、T12为当前时间。
如果数据包是网络服务器或者客户端发送的带有fin或rst标志位的TCP数据包,则将当前连接状态置为start。
(4)数据包当前状态为Established状态
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的psh标志位为1,ack标志位为1,包长不为0,则将当前连接状态置为Transaction Start,且更新T9、T12为当前时间。
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的ack标志位为1,包长不为0,psh标志位为0,则当前连接状态不变,且更新T9为当前时间。
如果数据包是网络服务器或者客户端发送的带有fin或rst标志位的TCP数据包,则将当前连接状态置为start。
(5)数据包当前状态为Transaction Start状态
如果数据包是网络服务器向客户端发送的TCP数据包,且该TCP数据包的ack标志位为1,包长不为0,则将当前连接状态置为Transcation Keep,且更新T15为当前时间。
如果数据包是网络服务器向客户端发送的TCP数据包且包长为0,或者该数据包是客户端向网络服务器发送的数据包且包长不为0,则连接状态不变。
如果数据包是网络服务器或者客户端发送的带有fin或rst标志位的TCP数据包,则将当前连接状态置为start。
(6)数据包当前状态为Transaction Keep状态
如果数据包是网络服务器向客户端发送的TCP数据包,且该TCP数据包的ack标志位为1,包长不为0,则连接状态不变。
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的psh标志位为1,ack标志位为1,包长不为0,则将当前连接状态置为Transcation Start,且更新T21、T12为当前时间。
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的ack标志位为1,包长不为0,psh标志位为0,则将当前连接状态置为Established,且更新T21、T9均为当前时间。
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的ack标志位为1,包长为0,psh标志位为0,则将当前连接状态置为Transcation End,且更新T21为当前时间。
如果数据包是网络服务器或者客户端发送的带有fin或rst标志位TCP标志的包,则将当前连接状态置为start,并更新T21为当前时间。
(7)数据包当前状态为Transcation End状态
如果数据包是网络服务器向客户端发送的TCP数据包,且该TCP数据包的psh标志位为1,ack标志位为1,包长不为0,则连接状态不变。
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的psh标志位为1,ack标志位为1,包长不为0,则将当前连接状态置为Transcation Start,且更新T21、T12、T9为当前时间。
如果数据包是客户端向网络服务器发送的TCP数据包,且该TCP数据包的ack标志位为1,包长为0,则连接状态不变,更新T21为当前时间。
如果数据包是网络服务器或者客户端发送的带有fin或rst标志位的TCP数据包,则将当前连接状态更新为start。
图4是本发明一个实施例的网络延时测量流程图。
在步骤410,网络延时测量设备检测其接收到的数据包是否为TCP数据包。若该数据包不是TCP数据包则将该数据包通过互联网传输至网络服务器,即执行步骤450。若该数据包是TCP数据包,则执行步骤420。
在步骤420,判断该TCP数据包是否存在于连接表中。若该数据包存在于连接表中,则执行步骤430,否则执行步骤460。
在步骤430,获取连接表中该数据包的连接状态、源IP、目的IP、源端口、目的端口、该数据包发送方向等信息,并查看该数据包的各标志位、包长是否为零。该连接状态包括start、syn send、syn received、established、transation start、transaction keep、transaction end。该标志位包括syn、ack、psh、rst、fin。
在步骤440,进入本发明的TCP状态机,从而实现数据包连接状态的转移。
具体地,根据步骤430获取的数据包连接状态、数据包发送方向、数据包标志位、包长等信息,更新该数据包当前连接状态及相应连接状态下的时间信息(T1、T2……T22中的一个或多个)为当前时间,并将相应时间信息存储在连接表中。具体如何更新连接状态及相应状态下的时间信息将在以下内容中得到详尽阐述。
一旦状态机进入transatcion状态,则此次网络延时测量结束,因此根据测量到的时间信息T1、T2……T22得到网络延时,且该网络延时=T21-T9-(T15-T12-T4+T2)。
在步骤450,网络延时测量模块将其接收到的数据包通过互联网发送出去。
在步骤460,判断连接表中的内容是否已经超出该连接表最大限度,若已经超过连接表最大限度则执行步骤450,若并未超过连接表最大限度在执行步骤461。需要说明的是,步骤460是较佳实施方式。
在步骤461,将该未存在于连接表中的数据包源IP、目的IP、源端口、目的端口等信息添加到该连接表中,并将该数据包连接状态设置为start状态,以及设置该数据包发送方向为由客户端发送至网络服务器。
下面将详细阐述如何更新数据包连接状态及相应状态下的时间信息。
图5是基于start状态的连接状态转换示意图。该图5是在图4基础上其步骤430中获取数据包连接状态为start情况下,连接状态的转换及时间信息的更新示意图。
在步骤510,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且数据包syn标志位为1,则执行步骤511。
在步骤511,将连接状态更新为syn send,并将T2更新为当前时间,再执行步骤450。
在步骤520,若网络延时测量设备检测到数据包是客户端或网络服务器发送的带有fin或rst标志位的数据包,则执行步骤521。
在步骤521,连接状态保持不变,而后执行步骤450。
在步骤450,将数据包通过互联网发送出去。
图6是基于syn send状态的连接状态转换示意图。该图6是在图4基础上其步骤430中获取数据包连接状态为syn send情况下,连接状态的转换及时间信息的更新示意图。
在步骤610,若网络延时测量设备检测到数据包发送方向为网络服务器向客户端发送,且数据包syn标志位为1,ack标志位为1,则执行步骤611。
步骤611,将连接状态更新为Syn Received,并将T4更新为当前时间,再执行步骤450。
在步骤620,若网络延时测量设备检测到数据包是客户端或网络服务器发送的带有fin或rst标志位的数据包,则执行步骤621。
在步骤621,将连接状态更新为start,而后执行步骤450。
在步骤450,将数据包通过互联网发送出去。
图7是基于syn received状态的连接状态转换示意图。该图7是在图4基础上其步骤430中获取数据包连接状态为syn received情况下,连接状态的转换及时间信息的更新示意图。
在步骤710,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且该数据包ack标志位为1,包长为0,则执行步骤711。
在步骤711,将连接状态更新为Established,并将T6更新为当前时间,再执行步骤450。
在步骤720,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且数据包的ack标志位为1,psh标志位为1,包长不为0,则执行步骤721。
在步骤721,将连接状态更新为Transaction Start,并更新T6、T9、T12均为当前时间,再执行步骤450。
在步骤730,若网络延时测量设备检测到数据包是客户端或网络服务器发送的带有fin或rst标志位的数据包,则执行步骤731。
在步骤731,将连接状态更新为start,再执行步骤450。
在步骤450,将数据包通过互联网发送出去。
图8是基于estabiished状态的连接状态转换示意图。该图8是图4基础上其步骤430中获取数据包连接状态为estabiished情况下,连接状态的转换及时间信息的更新示意图。
在步骤810,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且数据包ack标志位为1,psh标志位为1,包长不为0,则执行步骤811。
在步骤811,将连接状态更新为Transaction Start,且更新T9、T12为当前时间,再执行步骤450。
在步骤820,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且数据包ack标志位为1,psh标志位为0,包长不为0,则执行步骤821。
在步骤821,保持连接状态不变,且更新T9为当前时间,再执行步骤450。
在步骤830,若网络延时测量设备检测到数据包是客户端或网络服务器发送的带有fin或rst标志位的数据包,则执行步骤831。
在步骤831,将连接状态置更新为start,再执行步骤450。
在步骤450,将数据包通过互联网发送出去。
图9是基于transation start状态的连接状态转换示意图。该图9是在图4基础上其步骤430中获取数据包连接状态为transation start情况下,连接状态的转换及时间信息的更新示意图。
在步骤910,若数据包发送方向为网络服务器向客户端发送,且数据包ack标志位为1,包长不为0,则执行步骤911。
在步骤911,将连接状态更新为Transcation Keep,且更新T15为当前时间,再执行步骤450。
在步骤920,若网络延时测量设备检测到数据包发送方向为网络服务器向客户端发送,且包长为0,或者数据包发送方向为客户端向网络服务器发送,且包长不为0,则执行步骤921。
在步骤921,保持连接状态不变,而后执行步骤450。
在步骤930,若网络延时测量设备检测到数据包是客户端或网络服务器发送的带有fin或rst标志位的数据包,则执行步骤931。
在步骤931,将连接状态置更新为start,再执行步骤450。
在步骤450,将数据包通过互联网发送出去。
图10是基于transaction keep状态的连接状态转换示意图。该图10是在图4基础上其步骤430中获取数据包连接状态为transaction keep情况下,连接状态的转换及时间信息的更新示意图。
在步骤1010,若网络延时测量设备检测到数据包发送方向为网络服务器向客户端发送,且数据包ack标志位为1,包长不为0,则执行步骤1011。
在步骤1011,保持连接状态保持不变,再执行步骤450。
在步骤1020,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且数据包ack标志位为1,psh标志位为1,包长不为0,则执行步骤1021。
在步骤1021,将连接状态更新为Transcation Start,且更新T21、T12为当前时间,再执行步骤450。
在步骤1030,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且数据包ack标志位为1,psh标志位为0,包长不为0,则执行步骤1031.
在步骤1031,将连接状态更新为Established,且更新T21、T9为当前时间,再执行步骤450。
在步骤1040,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且数据包ack标志位为1,psh标志位为0,包长为0,则执行步骤1041。
在步骤1041,将连接状态更新为Transcation End,且更新T21为当前时间,再执行步骤450。
在步骤1050,若网络延时测量设备检测到数据包是客户端或网络服务器发送的带有fin或rst标志位的数据包,则执行步骤1051。
在步骤1051,将连接状态置更新为start,并更新T21为当前时间,再执行步骤450。
在步骤450,将数据包通过互联网发送出去。
图11是基于transaction end状态的连接状态转换示意图。该图11是在图4基础上其步骤430中获取数据包连接状态为transaction end情况下,连接状态的转换及时间信息的更新示意图。
在步骤1110,若网络延时测量设备检测到数据包发送方向为网络服务器向客户端发送,且该TCP数据包ack标志位为1,psh标志位为1,包长不为0,则执行步骤1111。
在步骤1111,保持连接状态不变,再执行步骤450。
在步骤1120,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且该TCP数据包ack标志位为1,psh标志位为1,包长不为0,则执行步骤1121。
在步骤1121,将连接状态更新为Transcation Start,且更新T21、T12、T9为当前时间,再执行步骤450。
在步骤1130,若网络延时测量设备检测到数据包发送方向为客户端向网络服务器发送,且该TCP数据包ack标志位为1,包长为0,则执行步骤1131。
在步骤1131,保持连接状态不变,更新T21为当前时间,再执行步骤450。
在步骤1140,若网络延时测量设备检测到数据包是客户端或网络服务器发送的带有fin或rst标志位的数据包,则执行步骤1141。
在步骤1141,将连接状态置更新为start,而后再执行步骤450。
在步骤450,将数据包通过互联网发送出去。
由以上描述可知,本发明的基于TCP状态机的网络延时测量设备对于网络上行、下行同样适用,且能够达到同样的网络延时测量效果。
需要说明的是,在连接状态转换过程中,更新哪个时间不局限于以上所述更新方式。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所上述的权利要求书进行限定。
Claims (17)
1.一种网络延时测量设备(220),其中客户端(210)经该网络延时测量设备(220)并通过互联网与网络服务器(230)相连,以便该客户端(210)与该网络服务器(230)之间相互发送TCP数据包,其特征在于,所述网络延时测量设备(220)包括检测控制模块(222);
该检测控制模块(222)根据该TCP数据包连接状态、发送方向、标志位信息更新该TCP数据包连接状态,并将与该连接状态相关时间更新为当前时间,以便TCP数据包在一次传输过程结束后计算出网络延时时间;
所述连接状态包括传输开始、传输进行、传输结束。
2.如权利要求1所述的一种网络延时测量设备(220),其特征在于,包括预处理模块(221),该预处理模块(221)接收来自所述客户端(210)的数据包,并将TCP数据包发送至所述检测控制模块(222)。
3.如权利要求1所述的一种网络延时测量设备(220),其特征在于,包括存储模块(223),该存储模块(223)用于存储连接表,该连接表用于记录所述连接状态以及记录数据包源IP、数据包目的IP、数据包源端口、数据包目的端口,及相应连接状态下的时间、网络服务器发送时间、客户端发送时间、往返总时间、网络延迟中的一个或多个。
4.一种网络延时测量方法,其中客户端通过互联网与网络服务器之间相互发送TCP数据包,其特征在于,包括:
步骤a,获取该TCP数据包连接状态、数据包发送方向、数据包标志位信息,并根据该信息更新该TCP数据包的连接状态,再将与该连接状态相关的时间更新为当前时间;
步骤b,在一次传输过程结束后计算网络传输延迟;
所述连接状态包括传输开始、传输进行、传输结束。
5.如权利要求4所述的一种网络延时测量方法,所述连接状态包括连接开始、连接请求、连接应答、连接建立。
6.如权利要求5所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为连接应答,且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,将当前连接状态更新为传输开始。
7.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输进行,且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,将当前连接状态更新为传输开始。
8.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输结束,且该TCP数据包发送方向为网络服务器向客户端发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,连接状态保持不变。
9.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输结束,且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,将当前连接状态更新为传输开始。
10.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包发送方向为客户端或网络服务器发送,且该数据包带有fin或rst标志位情况下,将当前连接状态置为连接开始。
11.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输开始,且该TCP数据包发送方向为网络服务器向客户端发送,以及该数据包ack标志位为1,包长不为0情况下,将当前连接状态更新为传输进行。
12.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输开始,且该TCP数据包发送方向为网络服务器向客户端发送,以及该数据包包长为0,或者该TCP数据包发送方向为客户端向网络服务器发送,且该数据包包长不为0情况下,连接状态保持不变。
13.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输进行,且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,psh标志位为0,包长为0情况下,将当前连接状态更新为传输结束。
14.如权利要求5所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输进行,且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,psh标志位为0,包长不为0情况下,将当前连接状态更新为连接建立。
15.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输进行,且该TCP数据包发送方向为网络服务器向客户端发送,以及该数据包ack标志位为1,包长不为0情况下,连接状态保持不变。
16.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输结束,且该TCP数据包发送方向为客户端向网络服务器发送,以及该数据包ack标志位为1,包长为0情况下,连接状态保持不变。
17.如权利要求4所述的一种网络延时测量方法,其特征在于,在步骤a获取TCP数据包状态为传输结束,且该TCP数据包发送方向为服务器向客户端网络发送,以及该数据包ack标志位为1,psh标志位为1,包长不为0情况下,连接状态保持不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101168868A CN101771585B (zh) | 2010-03-02 | 2010-03-02 | 一种网络延时测量设备及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101168868A CN101771585B (zh) | 2010-03-02 | 2010-03-02 | 一种网络延时测量设备及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101771585A true CN101771585A (zh) | 2010-07-07 |
CN101771585B CN101771585B (zh) | 2012-07-04 |
Family
ID=42504201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101168868A Active CN101771585B (zh) | 2010-03-02 | 2010-03-02 | 一种网络延时测量设备及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101771585B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938387A (zh) * | 2010-09-10 | 2011-01-05 | 华为技术服务有限公司 | 宽带业务质量监测方法、网络故障定位方法、系统及相关设备 |
CN104104554A (zh) * | 2013-04-10 | 2014-10-15 | 深圳市腾讯计算机系统有限公司 | 检测数据访问请求的生命周期方法和装置 |
CN105207846A (zh) * | 2015-09-17 | 2015-12-30 | 新浪网技术(中国)有限公司 | 一种tcp协议栈延时的统计方法、装置及系统 |
CN105636098A (zh) * | 2014-10-30 | 2016-06-01 | 中兴通讯股份有限公司 | 一种上行业务等待时延的估算方法和装置 |
CN106330607A (zh) * | 2016-08-25 | 2017-01-11 | 北京润通丰华科技有限公司 | 基于单向监听日志估算tcp连接应用质量的方法和系统 |
CN106850351A (zh) * | 2017-02-10 | 2017-06-13 | 北京浩瀚深度信息技术股份有限公司 | 一种非对称链路环境下http业务近似时延统计方法及装置 |
CN108023686A (zh) * | 2016-11-02 | 2018-05-11 | 中兴通讯股份有限公司 | 一种tcp延时处理方法、装置及系统 |
CN108243072A (zh) * | 2016-12-26 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 一种进行网络延时监控的方法与设备 |
CN108924200A (zh) * | 2018-06-21 | 2018-11-30 | 国家电网有限公司 | 一种报文处理方法及装置 |
CN108989152A (zh) * | 2018-08-08 | 2018-12-11 | 成都俊云科技有限公司 | 获得网络延时的方法及装置以及计算机存储介质 |
CN113923140A (zh) * | 2020-06-22 | 2022-01-11 | 中国电信股份有限公司 | 往返时延测量方法、系统和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013975A (zh) * | 2007-01-24 | 2007-08-08 | 中国人民解放军理工大学指挥自动化学院 | 测试ip网络中任意两个端系统之间性能参数的方法及系统 |
CN101304345A (zh) * | 2008-06-26 | 2008-11-12 | 北京邮电大学 | 用于自组织网络的介入式测量节点及其测量方法 |
CN101572634A (zh) * | 2009-06-04 | 2009-11-04 | 北京邮电大学 | 一种利用互相关函数被动测量tcp连接往返时延的方法 |
US20090310500A1 (en) * | 2008-06-17 | 2009-12-17 | Fujitsu Limited | Delay time measuring apparatus, computer readable record medium on which delay time measuring program is recorded, and delay time measuring method |
-
2010
- 2010-03-02 CN CN2010101168868A patent/CN101771585B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013975A (zh) * | 2007-01-24 | 2007-08-08 | 中国人民解放军理工大学指挥自动化学院 | 测试ip网络中任意两个端系统之间性能参数的方法及系统 |
US20090310500A1 (en) * | 2008-06-17 | 2009-12-17 | Fujitsu Limited | Delay time measuring apparatus, computer readable record medium on which delay time measuring program is recorded, and delay time measuring method |
CN101304345A (zh) * | 2008-06-26 | 2008-11-12 | 北京邮电大学 | 用于自组织网络的介入式测量节点及其测量方法 |
CN101572634A (zh) * | 2009-06-04 | 2009-11-04 | 北京邮电大学 | 一种利用互相关函数被动测量tcp连接往返时延的方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938387B (zh) * | 2010-09-10 | 2014-01-01 | 华为技术服务有限公司 | 宽带业务质量监测方法、网络故障定位方法、系统及相关设备 |
CN101938387A (zh) * | 2010-09-10 | 2011-01-05 | 华为技术服务有限公司 | 宽带业务质量监测方法、网络故障定位方法、系统及相关设备 |
CN104104554A (zh) * | 2013-04-10 | 2014-10-15 | 深圳市腾讯计算机系统有限公司 | 检测数据访问请求的生命周期方法和装置 |
CN104104554B (zh) * | 2013-04-10 | 2018-09-25 | 深圳市腾讯计算机系统有限公司 | 检测数据访问请求的生命周期方法和装置 |
CN105636098B (zh) * | 2014-10-30 | 2020-03-13 | 中兴通讯股份有限公司 | 一种上行业务等待时延的估算方法和装置 |
CN105636098A (zh) * | 2014-10-30 | 2016-06-01 | 中兴通讯股份有限公司 | 一种上行业务等待时延的估算方法和装置 |
CN105207846A (zh) * | 2015-09-17 | 2015-12-30 | 新浪网技术(中国)有限公司 | 一种tcp协议栈延时的统计方法、装置及系统 |
CN105207846B (zh) * | 2015-09-17 | 2018-11-27 | 新浪网技术(中国)有限公司 | 一种tcp协议栈延时的统计方法、装置及系统 |
CN106330607A (zh) * | 2016-08-25 | 2017-01-11 | 北京润通丰华科技有限公司 | 基于单向监听日志估算tcp连接应用质量的方法和系统 |
CN108023686B (zh) * | 2016-11-02 | 2022-03-25 | 中兴通讯股份有限公司 | 一种tcp延时处理方法、装置及系统 |
CN108023686A (zh) * | 2016-11-02 | 2018-05-11 | 中兴通讯股份有限公司 | 一种tcp延时处理方法、装置及系统 |
CN108243072A (zh) * | 2016-12-26 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 一种进行网络延时监控的方法与设备 |
CN106850351A (zh) * | 2017-02-10 | 2017-06-13 | 北京浩瀚深度信息技术股份有限公司 | 一种非对称链路环境下http业务近似时延统计方法及装置 |
CN108924200A (zh) * | 2018-06-21 | 2018-11-30 | 国家电网有限公司 | 一种报文处理方法及装置 |
CN108989152A (zh) * | 2018-08-08 | 2018-12-11 | 成都俊云科技有限公司 | 获得网络延时的方法及装置以及计算机存储介质 |
CN113923140A (zh) * | 2020-06-22 | 2022-01-11 | 中国电信股份有限公司 | 往返时延测量方法、系统和存储介质 |
CN113923140B (zh) * | 2020-06-22 | 2023-05-02 | 中国电信股份有限公司 | 往返时延测量方法、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101771585B (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101771585B (zh) | 一种网络延时测量设备及其方法 | |
KR20200109326A (ko) | 광대역 통신 링크 성능 모니터링을 위한 시스템 및 방법 | |
JP4430597B2 (ja) | ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム | |
JP4348124B2 (ja) | QoSを推定する方法および通信装置 | |
CN109787868B (zh) | 一种选取路由路径的方法、系统及服务器 | |
EP3295612B1 (en) | Uplink performance management | |
CN112039796B (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
CN101272290A (zh) | Ip网络中路径拥塞状态的测量方法、测量装置和转发装置 | |
CN110381071B (zh) | 一种报文传输方法、装置及发送方设备 | |
CN103780714A (zh) | 一种dns服务器的探测方法及装置 | |
CN103416022A (zh) | 分布式路由器/交换机架构中的服务中吞吐量测试 | |
US11271842B2 (en) | Enhancing transmission control protocol (TCP) performance and scalability on multicore processor architectures | |
Wu et al. | Measurement and performance issues of transport protocols over 10 Gbps high-speed optical networks | |
EP3560152B1 (en) | Determining the bandwidth of a communication link | |
Xing et al. | A highly scalable bandwidth estimation of commercial hotspot access points | |
CN104639557A (zh) | 一种建立pcep会话的方法、系统及设备 | |
CN102056195A (zh) | 一种业务质量的确定方法和无线接入网络设备 | |
CN114375001B (zh) | 一种网络测速方法及设备 | |
JP6367106B2 (ja) | ユーザデータを用いて通信帯域を計測するプログラム、サーバ、システム及び方法 | |
CN107171887B (zh) | 一种网络带宽测试方法、客户端及网络带宽测试系统 | |
Min et al. | A new end-to-end measurement method for estimating available bandwidth | |
JP2010193055A (ja) | フロー情報送信装置、中間装置、フロー情報送信方法およびプログラム | |
CN109450839A (zh) | 一种环境监测仪器工步实时监测方法 | |
JP2015216498A (ja) | コンテンツ配信ネットワークの通信装置、クライアント装置及びプログラム | |
JP2015220563A (ja) | 可用帯域を推定する情報処理装置、情報処理システム、可用帯域推定方法、及びそのためのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |