首页> 中国专利> 确定与TCP零窗口事件或TCP零窗口事件的集合相关的数据传输延迟量的方法和设备

确定与TCP零窗口事件或TCP零窗口事件的集合相关的数据传输延迟量的方法和设备

摘要

本发明提供一种确定与TCP零窗口事件或TCP零窗口事件的集合相关的数据传输延迟量的方法和设备。网络监控方法和设备确定零窗口事件数据传输延迟,报告导致的数据传输延迟量。可将不导致数据传输延迟的零窗口事件与导致实际延迟的零窗口事件隔开,允许将实际延迟事件的报告与不导致延迟的事件隔开。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-15

    授权

    授权

  • 2017-01-11

    专利申请权的转移 IPC(主分类):H04L12/26 登记生效日:20161221 变更前: 变更后: 申请日:20120511

    专利申请权、专利权的转移

  • 2014-06-11

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20120511

    实质审查的生效

  • 2012-11-14

    公开

    公开

说明书

技术领域

本发明涉及网络,并且更具体地,涉及确定与TCP零窗口事件相关的数据传输延迟。 

背景技术

在计算机网络环境中,用户可以安装并配置用于观察网络业务流以及网络安装和维护的监控和/或故障排除工具。TCP协议提供网络中两个机器之间的可靠的传输机制。 

在TCP数据交换中,接收方通告窗口大小,该窗口大小表示在TCP会话期间机器能够接收并容纳进套接字连接的接收缓冲区而不丢失数据的信息量。当机器启动与另一机器的TCP连接时,该机器将通过通告的窗口大小使其它机器知道该机器能够接收多少数据。当接收方通告零窗口大小或者小于最大报文段大小(MSS)的窗口大小时,造成TCP零窗口事件,这意味着接收方(客户端)此时不能接收更多的信息。该零窗口通告向发送方(服务器)通知停止TCP传输以允许接收方的应用程序处理套接字的接收缓冲区中的信息。 

然而,不是所有的零窗口事件都导致显著的数据传输延迟。例如,如果通告的窗口小于MSS,但是仍大于尚待发送的数据的量,则发送方仍然可以发送数据而不延迟。另外,如果通告了零窗口,但业务已经完成,则零窗口事件不导致数据传输延迟,因为没有更多数据要发送。 

根据现有技术,零窗口事件的存在已经被网络监控设备检测并报告为已经发生的零窗口事件,但是如上所述,仅仅是零窗口事件的发生不一定对数据传输具有影响。理想的是,知道零窗口事件是否实际上对数据传输具有影响并导致延迟,并知道任意这种延迟的量,以允许网络故障排除和分析集中在对网络性能的实际影响正在发生的情况。 

发明内容

根据本发明,对数据传输可以有延迟作用的TCP零窗口事件被确定并量化。作为结果的信息可以用来帮助网络性能分析和故障排除。因此,提供了对TCP零窗口事件的改进的测量和报告。 

因此,本发明的一个目的是提供改进网络分析,其确定并报告可以影响数据传输的TCP零窗口事件。 

本发明的另一个目的是提供改进的网络监控设备,其测量并报告从TCP零窗口事件导致的数据传输延迟。 

本发明的又一个目的是提供改进的网络监控和分析方法。 

本发明的主题在本说明书的最后部分被特别指出并明确地要求保护。然而可以通过参考下面的描述以及附图更好地理解操作的组织和方法、以及本发明的其它优点和目的,在附图中,类似附图标记指代类似元件。 

附图说明

图1是与网络分析产品交互的网络的框图; 

图2是用于确定TCP流的整个寿命中的待处理的数据量的监控装置的框图; 

图3是例示具有TCP零窗口延迟的数据传输的示例的流程图;以及 

图4是确定TCP零窗口事件的数量和与所述事件相关联的数据传输延迟的步骤的流程图。 

具体实施方式

根据本发明的优选实施方式的系统包括监控系统和方法,以及用于确定TCP零窗口事件并导致数据传输延迟的分析系统和方法。 

参考图1,图1是具有根据在此公开的设备的网络的框图,网络可以包括多个网络客户端10,10’等,网络客户端10,10’通过经与服务器20的交互发送并接收网络业务流14来在网络12上通信。可以以各种协议及其格式按照分组的形式发送该业务流。 

该网络还连接有网络分析设备16,网络分析设备16可包括用户接口18,该用户 接口18使用户能够与网络分析设备交互以操作该分析设备并从其获得数据,无论是在安装位置处还是远程地在离开该分析产品网络附接的物理位置处。 

该网络分析设备包括硬件和软件、CPU、存储器、接口等以操作用于连接到网络并监控网络上的业务流,以及执行各种测试和测量操作、发送和接收数据等。当远程时,该网络分析设备通常通过在与网络交互的计算机或工作站上运行来操作。 

该网络分析设备包括分析引擎22,该分析引擎22接收分组网络数据并与数据存储部24交互。 

图2是测试仪/分析器26的框图,本发明能够通过该测试仪/分析器26来实施,其中该测试仪可以包括通过多个端口将网络分析设备附接到网络12的网络接口28、用于操作该测试仪的一个或更多个处理器30、诸如RAM/ROM 32或永久存储部34这样的存储器、显示器36、用户输入装置38(诸如,比方说,键盘、鼠标或其它指点装置、触摸屏等),可以包含电池或AC电源的电源40、将网络分析设备附接到网络或其它外部设备(存储部、其它计算机等)的其它接口42。 

在操作中,将网络测试仪附接到网络,并观察网络上的传输以收集数据并分析和生成相关的统计资料,并且确定TCP零窗口事件及其对数据传输延迟的影响。 

图3是例示具有TCP零窗口延迟的数据传输的示例的流程图,其中两个设备服务器20’(发送方)和客户端10”(接收方)在交换数据。该传输开始于服务器和客户端交换SYN、SYN-ACK以及ACK,以建立连接。在这个示例中的这个点,客户端已通告了大于20的窗口。然后服务器发送具有10个数据段的序列1以及具有10个数据段的序列11。接收到序列1之后,客户端确认接收到该10个数据段(ack:11)而且还通告窗口大小0(win:0),这开始潜在的零窗口延迟事件44。然后客户端通过发送ack:21来确认第二个数据序列(seq:11),但是仍在通告零窗口(win:0),于是潜在的零窗口事件继续。最终,客户端发送窗口大小为50的ack 21(ack:21win:50),这指示潜在的零窗口延迟的结束。 

接下来,服务器以seq:21data:10继续数据传输,这暗示服务器之前一直在等待发送更多的数据,于是该零窗口事件可以被分类为造成了延迟,并因此该延迟的时间可以被测量并报告为零窗口延迟。在示例中还例示了随后的数据序列(seq:31data:10)。 

如果情况是没有更多的数据序列从服务器发送,则将确定该零窗口事件不造成数 据传输延迟,于是报告不造成零窗口延迟。 

图4是确定TCP零窗口事件和与之相关的零窗口延迟的步骤的流程图。这些步骤适合由网络测试仪或监控系统执行。多个状态值和标志用于该过程中: 

zwd(A→B)-在从站A到站B的传输中是否已经通告了零窗口 

zwd_start-可能的零窗口事件开始的时间的时间戳,初始设置为零 

zwd_stop-可能的零窗口事件结束的时间的时间戳,初始设置为零 

no zwd(A→B)-表明目前未通告零窗口 

zwd_possible-可能的零窗口延迟的计算的时间确定,初始为零 

data(B→A)或data(A→B)-表明正被分析的分组是从B到A或从A到B的数据序列 

flow.zwd-确定的零窗口延迟的报告值 

当该过程开始时,在块46接收分组,决策块48检查该分组是否是从A到B的零窗口通告(意味着通告的窗口大小是零或者小于最大报文段大小(MSS))并且zwd_start是否为零。如果是,则在块50存储当前时间到zwd_start,表明可能的零窗口数据延迟事件的开始时间。处理在46继续以接收下一个分组。 

如果在决策块48的确定为假,则决策块52被执行,其中确定该分组是否是从A到B的“非零窗口”通告分组并且zwd_start不等于零(意味着通告的窗口表现为不是零窗口并且之前已经在zwd_start中存储时间值)。如果决策块52结果为真,则块54在zwd_stop中存储时间戳,即可能的零窗口事件的结束时间,接下来块56按照zwd_stop减去zwd_start计算zwd_possible的值,其给出可能的零窗口延迟的开始时间和结束时间之间经过的时间。zwd_stop和zwd_start这两个值被重置为零,并且处理继续到块46以接收下一个分组。zwd_possible包含可以是零窗口延迟值的值,但是必须分析下一个数据分组(通过下面讨论的决策块58和62),以确定是否发生了实际延迟。 

如果在块52的结果是假,则进入决策块58,其中确定接收的分组是否是从B到A的数据分组并且zwd_possible是否不等于零(意味着数据传输已经再次开始并且已经计算了可能的零窗口延迟时间)。如果为真,则确定可能的零窗口延迟是实际延迟,因为B延迟向A发送数据,于是块60将延迟时间存储在变量flow.zwd,该变量flow.zwd可以被传递以用于在其它处理或设备的零窗口延迟的分析中进一步分析、聚 合、存储以及报告或使用。处理然后在46继续以监控更多的数据分组。 

如果决策块58的结果是假,则决策块62检查该分组是否是从A到B的数据分组并且zwd_possible是否不为零。如果为真,则表明该零窗口事件对数据传输没有明显的延迟作用,因为很明显B不在等待向A发送数据,于是在块64将zwd_possible设置为零,表明这是一个假的零窗口延迟事件。处理继续到46以便进一步监控分组。 

如果决策块62的结果为假,则处理继续到46以便进一步监控分组。 

潜在地,在零窗口事件的结束被检测到之前,可能发生多个零窗口通告,并且上述处理包容这种情况,其中接收方多次通告零窗口(如图3中的示例,在以ack:21win:50结束零窗口事件之前,ack:11win:0之后是随后的ack:21win:0)。 

尽管上述示例例示了从服务器向客户端的被延迟的数据传输,但是系统、方法和设备可用于确定任何TCP通信站之间的全双工连接中的零窗口延迟。 

根据上述,该方法和设备确定零窗口事件是否对数据传输有延迟作用,并且如果是,则提供延迟量的测量值。该确定对帮助网络的故障排除、分析和维护提供了有用信息,从而影响数据传输的零窗口事件可以被报告以便进一步研究,而那些不大可能具有延迟作用的零窗口事件可以被滤出。该方法和设备因此可以独立于不涉及接收方造成的延迟的网络延迟,测量任何一个事务处理端点对数据传输的影响,无论谁是接收方。该信息可用于网络监控中的其它处理或分析。 

虽然已经示出并描述了本发明的优选实施方式,但对于本领域技术人员明显地,不脱离本发明的更广的方面的前提下可作出许多改变和修改。因此所附权利要求旨在包括落在本发明真实实质和范围内的所有这样的改变和修改。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号