CN102780612A - 在tcp流/套接字连接的生命周期中估计发送方拥塞窗口的方法和装置 - Google Patents

在tcp流/套接字连接的生命周期中估计发送方拥塞窗口的方法和装置 Download PDF

Info

Publication number
CN102780612A
CN102780612A CN201210194459.0A CN201210194459A CN102780612A CN 102780612 A CN102780612 A CN 102780612A CN 201210194459 A CN201210194459 A CN 201210194459A CN 102780612 A CN102780612 A CN 102780612A
Authority
CN
China
Prior art keywords
window
congestion window
network
advertised
value
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
Application number
CN201210194459.0A
Other languages
English (en)
Other versions
CN102780612B (zh
Inventor
丹·普雷斯科特
布鲁斯·科斯巴博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AirMagnet Inc
Original Assignee
Fluke Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fluke Corp filed Critical Fluke Corp
Publication of CN102780612A publication Critical patent/CN102780612A/zh
Application granted granted Critical
Publication of CN102780612B publication Critical patent/CN102780612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种在TCP流的生命周期中估计发送方的拥塞窗口的方法和装置。网络监测方法及装置在TCP流/套接字连接的生命周期中估计拥塞窗口,从而提供了有利于网络性能分析及故障诊断的信息。

Description

在TCP流/套接字连接的生命周期中估计发送方拥塞窗口的方法和装置
技术领域
本发明涉及网络连接(networking),尤其涉及在TCP流的生命周期中估计发送方的拥塞窗口。 
在计算机网络连接环境中,用户可以安装并配置监测和/或故障诊断工具,用于网络流量以及网络安装及维护的观测。TCP协议提供了网络上的两个设备之间的可靠传输机制。拥塞窗口是TCP协议栈的一个组成部分,用于发送方通过识别其网络拥塞量来对传送流进行控制,而经由通告窗口实现接收方的流控制,在通告窗口中接收方指示其愿意或能够接收的额外的数据量。能够通过网络流量的被动观测来估计发送设备的拥塞窗口是有益的,到目前为止还没有实现这种能力。 
发明内容
根据本发明,可以通过网络流量的观测来估计发送方的拥塞窗口大小。 
根据本发明,通过网络流量的被动观测来提供拥塞窗口估计。 
由此,本发明的一个目的是提供用于估计拥塞窗口的网络分析的改进系统和方法。 
本发明的另一个目的是提供改进的网络监测设备,其在观测期间测量并报告发送方的拥塞窗口,以及最小值和最大值。 
在说明书的结尾部分特别指出并明确地主张了本发明的主题。然而,通过参考下面结合附图所做的描述可以最佳地理解该结构及操作方法、以及其进一步的优点和目的,在附图中同样的附图标记代表同样的元件。 
附图说明
图1是具有网络分析产品在其中交互的网络的框图; 
图2是用于在TCP流的生命周期中估计拥塞窗口的监测设备的框图;以及 
图3是例示对服务器的拥塞窗口估计的流程图。 
具体实施方式
根据本发明的优选实施方式的系统包括用于通过观测流量来估计TCP流的生命周期中发送方的拥塞窗口的监测系统和方法以及分析系统和方法。 
参照图1,其中图1为具有根据本文所公开的装置的网络的框图,网络可以包括多个网络客户端10、10’等,这些网络客户端通过经由与服务器20的交互来发送和接收网络流量14而在网络12上进行通信。流量可以利用各种协议及协议格式以数据包的形式发送。 
网络分析设备16也连接到网络,并且可以包括用户接口18,其中用户接口18使得用户无论是在安装位置还是在远离分析产品网络附属设备的物理位置,都能够与网络分析设备相交互,以操作该分析设备并从该分析设备获得数据。 
网络分析设备包括硬件和软件、CPU、存储器、接口等,以进行操作来连接到网络并监测网络的流量,同时执行多种测试和测量操作,以及发送和接收数据等。当处于远端时,网络分析设备典型地通过在和网络连接的计算机或工作站上运行来操作。 
分析设备包括分析引擎22,分析引擎22接收分组网络数据并与数据存储部24交互。 
图2是测试设备/分析器26的框图,本发明通过该测试设备/分析器26而得以实现,其中该设备可以包括通过多个端口将该设备连接到网络12的网络接口28、一个或多个用于操作该设备的处理器30、诸如RAM/ROM 32或持久存储部34的存储器、显示器36、用户输入装置38(例如,键盘、鼠标或其他的定点装置、触摸屏等)、可以包括电池或交流电源的电源40、将该设备连接到网络或其他外部设备(存储部,其他计算机等)的其他接口42。 
在运行过程中,网络测试设备连接到网络,并观测网络传输,以搜集其统计数据并估计在TCP流的生命周期中的发送方的拥塞窗口。 
图3是例示本发明的环境及运行过程的流程图。客户端10”和服务器20’被示出,它们之间具有用于描述客户端和服务器之间的网络及流量的空间。监测设备44被例示为在网络中的某个位置观测网络流量。在特定实施方式中,监测器包括实现该方法、系统和装置的测试设备。 
在监测器44能够观测到进行交互的双方的情况下,参照所例示的客户端10”发出向服务器20’请求数据的HTTP GET请求的通信示例,通过观测客户端的通告窗口以及如下述所确定的处于活动状态的数据,按照如下方式估计拥塞窗口。 
客户端10”通过发出同步(Syn)请求而启动交互,开始建立连接。服务器20’以同步-确认(Syn-Ack)进行答复,并且客户端10”以确认(Ack)进行响应,确认序列编号。而后客户端以1000字节的通告窗口发出HTTP GET请求。检查通告窗口是否存在在之前的最大值及最小值之外的值,在这种情况下,值1000是新的最大值(当重新启动处理时,这些值被初始化为0),从而该值被存储为ADV_MAX(在监测时段期间的最大通告窗口)以用于以后的报告。接着,服务器以Ack(Ack(251))进行响应,而后在46,开始以两个100字节的数据包发送数据(HTTP 200OK(100B)以及数据(100B)),序列编号为1和101。在48,在观测到来自客户端的携带800B的通告窗口的Ack(Ack(201))之后,并且恰在Ack(201)的处理之前,监测器44确定未处理的数据量(S_OUT)是200(201(预期的最大的服务器序列编号)-1(最大的客户端确认值))。将该值与最小的拥塞窗口值(在该示例中,该值当前为0,表示还没有设置最小值)进行比对,如果低于当前最小值(或者如果当前最小值为0),则更新拥塞窗口最小值(CWND_MIN)。在这个特定示例中,CWND_MIN被设置为200(由于之前没有设定拥塞窗口最大值(CWND_MAX),该值同时也是拥塞窗口最大值)。由于在处理ACK(201)之前的先前通告窗口值是1000,其大于所计算出的S_OUT值,所以确定S_OUT的值可以被用作拥塞窗口估计,其在图3中的50处,用√CWND来表示。 
现在,在52,发送4个100字节数据的数据包(序列编号为201、301、401、501),在接收到序列301之后,在54,客户端在54以700B的通告窗口发送Ack(401)。在56,在处理ACK(401)之前,将S_OUT计算为400(601-已经确认的201)。由于先前的通告窗口(800)大于未处理的字节数(400,值S_OUT),在56,可以采用S_OUT值400作为拥塞窗口值(在58,由√CWND表示)。最大拥塞窗口被更新为400,接收方通告窗口最小值变为700。现在最高的已确认的序列被更新为401。 
在60,服务器再发送两个数据序列601和701,从而所期望的最大序列编号现在是801,在62,观测到来自于客户端的另一ACK(ACK 601),具有600B的通告窗口,从而S_OUT被确定为400(所看到的最高数据序列801,减去最高的先前确认 ack401),并且,在64,得到的S_OUT为400(801-已经确认的401)。先前的通告窗口700大于S_OUT,从而S_OUT值可以被用作拥塞窗口估计,其在66由√CWND表示。先前的通告窗口现在被更新为600,并且最高的已确认序列被更新为601。 
此时在68,服务器再发送3个100B的数据包(序列编号分别为801、901、1001),在70,看到ACK(801),具有400的通告窗口。在72,S_OUT为500(所期望的最高序列1101减去最高的先前确认的601)。因为先前的600的通告窗口大于S_OUT值(500),所以S_OUT的值可以被用作拥塞窗口值。CWND_MAX被更新为新的最大值500。此时所观测到的最高的先前ACK被更新为值801,并且先前的通告窗口被更新为400。 
在76,发送一个额外的数据包(序列1101),并且在77,观测到具有通告窗口200的Ack(1001),从而在78确定S_OUT为400(序列1201减去已确认的801)。因为未处理字节的值S_OUT(400)等于通告窗口大小,这里S_OUT不用作拥塞窗口估计(在80,由X CWND表示),从而来自于接收方的通告窗口大小接管了对传输限制的控制,而不是由拥塞窗口进行控制。现在所观测到的最高的先前ACK被更新为值1001,并且先前通告窗口被更新为200。 
随后在服务器接收到Ack(1201),通告窗口大小为800,但是自从最近的ACK以来,没有观测到更高的传出数据序列编号,从而在84,在Ack(1201)之后,S_OUT被计算为200(所发送的序列1201-已经确认的1001)。因为未处理字节的值S_OUT(200)等于先前的通告窗口大小200,这里S_OUT不用作拥塞窗口估计(在86,由X CWND表示),从而来自于接收方的通告窗口大小仍然控制着传输限制,而不是由拥塞窗口进行控制。此时所观测到的最高的先前ACK被更新为值1201,并且先前通告窗口被更新为800。 
在88,接收到了Ack(1201)的复本,从而此时S_OUT被确定为0(所发送的1201-已经确认的1201)。由于拥塞窗口值不能为0,该值同样不用作拥塞窗口估计(在90,由X CWND表示)。 
在92,再发送一个数据序列1201,并且当接收到Ack(1301)以确认数据序列编号1301时,在94,S_OUT为100(所期望的最高序列1301-已确认的1201)。由于之后立即观测到来自客户端的结束本次连接过程的重置信号(Reset),该值也不用作拥塞窗口。 
在对上述交互的监测中,最小和最大拥塞窗口大小以及接收方通告窗口大小被确定,并且可以作为监测器执行的分析的一部分而被报告。在上面的示例中,监测器提供了如下分析: 
CWND_MIN发送方的最小拥塞窗口≈200 
CWND_MAX发送方的最大拥塞窗口≈500 
ADV_MIN接收方的最小通告窗口≈200 
ADV_MAX发送方的最大通告窗口≈1000 
所述的测量过程解释了“完整窗口”的情况,其中未处理的字节等于通告窗口,并且解释了当前通告窗口以及边界条件,例如结束交互,根据重置信号(RST)结束流程,没有来自发送方的更多数据的指示(FIN),或者超时。 
尽管这里所例示的例子被示为测量服务器的拥塞窗口,根据需要,也可以提供对客户端的拥塞窗口的相应测量。 
根据上述内容,该方法和装置通过网络流量的观测,提供了在TCP流的生命周期中对于发送方的拥塞窗口量的估计。该信息可以用于网络监测中的其他处理和分析。 
尽管示出并描述了本发明的优选实施方式,对于本领域技术人员来说显而易见的是,在不脱离本申请的更广方面的情况下可以进行各种改动和修改。由此,所附的权利要求的旨在覆盖落入本发明的实质精神和范围内的所有改动和修改。 

Claims (6)

1.一种在TCP流的生命周期中估计发送方的拥塞窗口的方法,该方法包括以下步骤:
观测来自发送方的数据传送序列值以及所期望的序列值;
观测接收方通告窗口以及ACK数据,并基于上述接收方通告窗口以及ACK数据确定经估计的拥塞窗口大小。
2.根据权利要求1所述的方法,该方法进一步包括确定在监测时段期间所估计的最大拥塞窗口。
3.根据权利要求1所述的方法,该方法进一步包括确定在监测时段期间所估计的最小拥塞窗口。
4.一种用于估计发送方的拥塞窗口的网络测试设备,该网络测试设备包括:
网络接口,所述网络接口用于观测网络流量;以及
处理器,所述处理器包括采用所观测的网络流量来确定由服务器发送的数据传送序列值,确定接收方通告窗口和ACK数据,并基于上述接收方通告窗口和ACK数据来确定经估计的拥塞窗口大小。
5.根据权利要求4所述的测试设备,其中,所述处理器进一步确定在监测时段期间所估计的最大拥塞窗口。
6.根据权利要求4所述的网络测试设备,其中,所述处理器进一步确定在监测时段期间所估计的最小拥塞窗口。
CN201210194459.0A 2011-05-12 2012-05-11 在tcp流/套接字连接的生命周期中估计发送方拥塞窗口的方法和装置 Active CN102780612B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201113106848A 2011-05-12 2011-05-12
US13/106,848 2011-05-12
US13/117,049 2011-05-26
US13/117,049 US8724475B2 (en) 2011-05-12 2011-05-26 Method and apparatus to estimate the sender's congestion window throughout the life of a TCP flow (socket connection)

Publications (2)

Publication Number Publication Date
CN102780612A true CN102780612A (zh) 2012-11-14
CN102780612B CN102780612B (zh) 2017-04-12

Family

ID=46146672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210194459.0A Active CN102780612B (zh) 2011-05-12 2012-05-11 在tcp流/套接字连接的生命周期中估计发送方拥塞窗口的方法和装置

Country Status (3)

Country Link
US (1) US8724475B2 (zh)
EP (1) EP2523393B1 (zh)
CN (1) CN102780612B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9059934B2 (en) * 2012-02-24 2015-06-16 Citrix Systems, Inc. Window regulator for improved performance in a communications network
US20150271071A1 (en) 2014-03-18 2015-09-24 Fluke Corporation Methods and apparatus to determine network delay with location independence
US10142860B2 (en) 2016-06-14 2018-11-27 Hughes Network Systems, Llc Automated network diagnostic techniques
US10454804B2 (en) 2016-11-07 2019-10-22 Hughes Network Systems, Llc Application characterization using transport protocol analysis
WO2020030736A1 (en) * 2018-08-08 2020-02-13 British Telecommunications Public Limited Company Improved congestion response

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757248B1 (en) * 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
US7200111B2 (en) * 2000-08-31 2007-04-03 The Regents Of The University Of California Method for improving TCP performance over wireless links
DE60213623T2 (de) * 2002-12-09 2007-10-18 Tektronix International Sales Gmbh Umlaufzeitabschätzungsverfahren und Einrichtung mittels Rückquittierung in einem Paketübertragungssystem
US7177272B2 (en) * 2003-06-25 2007-02-13 Nokia Corporation System and method for optimizing link throughput in response to non-congestion-related packet loss
EP1585283A1 (en) * 2004-04-05 2005-10-12 Alcatel Wireless mobile terminal and telecommunication system
US20050265235A1 (en) * 2004-05-27 2005-12-01 International Business Machines Corporation Method, computer program product, and data processing system for improving transaction-oriented client-server application performance
EP1771959A1 (en) * 2004-07-23 2007-04-11 Telefonaktiebolaget LM Ericsson (publ) Data unit sender control method
US20070223492A1 (en) * 2005-11-23 2007-09-27 Ist International, Inc. Methods and apparatus for optimizing a TCP session for a wireless network
US8189532B2 (en) * 2007-12-26 2012-05-29 Nokia Corporation Mobile node, a method or handover and a computer program
US8339957B2 (en) * 2009-06-26 2012-12-25 Google Inc. Aggregate transport control

Also Published As

Publication number Publication date
US20120287794A1 (en) 2012-11-15
US8724475B2 (en) 2014-05-13
EP2523393B1 (en) 2014-11-26
EP2523393A1 (en) 2012-11-14
CN102780612B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
US9270477B2 (en) Method and apparatus of measuring and reporting data gap from within an analysis tool
CN102780612A (zh) 在tcp流/套接字连接的生命周期中估计发送方拥塞窗口的方法和装置
JP4616020B2 (ja) ネットワーク監視プログラム及びネットワークシステム
CN102780590B (zh) 确定与tcp零窗口事件或tcp零窗口事件的集合相关的数据传输延迟量的方法和设备
EP2922241B1 (en) Methods and apparatus to determine network delay with location independence from retransmission delay and application response time
KR101136529B1 (ko) 세션기반의 트래픽 분석 시스템
JP2006246118A (ja) 品質劣化切り分け方法、及びその装置
US11153220B2 (en) Methods and apparatus to determine network delay with location independence
US20090296589A1 (en) Method and apparatus of measuring tcp network round trip time
EP2523408A2 (en) Method and apparatus to determine the amount of data outstanding throughout the life of a tcp flow (socket connection)
CN108076480B (zh) 通信终端以及通信系统
JP5958355B2 (ja) 分析装置、分析方法及び分析プログラム
WO2015000229A1 (zh) 一种基于心跳模型的大型整流装置通信状态的检测方法
JP5029763B2 (ja) ネットワーク障害時情報収集装置、方法、及びプログラム
JP2004200773A (ja) プロトコル不具合自動検出方法、及び、プロトコル不具合自動検出装置
US20090296592A1 (en) Method and apparatus of measuring and reporting data gap from within an analysis tool
JP2018032983A (ja) 端末装置および通信監視方法
JP5537692B1 (ja) 品質劣化原因推定装置、品質劣化原因推定方法、品質劣化原因推定プログラム
CN110868321B (zh) 一种基于边缘计算算法验证的故障定位方法及系统
JP7272189B2 (ja) 情報処理装置、無線通信システム、情報処理方法及びプログラム
JP6009025B1 (ja) 通信障害監視装置、通信障害監視方法及び通信システム
CN114363160A (zh) 基于广域网的网络管理方法及装置
WO2020026071A1 (en) Method for predicting performance of modules of distributed control system through network and system thereof
KR20080011932A (ko) 통신 시스템에서 진단 모니터링시스템 및 그 제어 방법
JP2015015555A (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
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170104

Address after: American California

Applicant after: Airmagnet Inc.

Address before: Washington State

Applicant before: Fluke Corp.

GR01 Patent grant
GR01 Patent grant