虹科分享 | 网络性能监控 | 网络中的应用性能意味着什么?

描述

TCP协议的可靠性

数据包丢失是对网络的破坏,因为它导致延迟。TCP协议建立了可靠的数据传输,但掩盖了丢包的影响。TCP确保数据的传输是基于一个叫做 "滑动窗口 "的概念。这种机制控制着传输的字节序列和收到的确认。

在排序的帮助下,接收方可以通知发送方丢失的数据(如数据包丢失)。独立地讲,发送方可以通过重传定时器的到期来检测丢包。从性能分析的角度来看,必须了解丢包的重要性,以避免 "机器中的幽灵"。下面的文章探讨了这些机制的行为和性能。

重传计时器

每个传输的数据包都由发送方链接到重传计时器。如果计时器在已传输的数据段被确认之前过期,则该数据段将被声明为丢失并重新传输。在性能方面,重传定时器有两个重要特点:

初始重新传输超时 (RTO) 的默认值几乎始终为 3000 毫秒。随后,该值会根据实际路径重传时间动态调整为更真实的值。

对于数据包的后续重新传输,超时值始终加倍。

对于短数据流(例如网络流量),重传计时器用于检测数据包丢失。只有 1000 字节的消息在单个数据包中传输。当然,如果数据包丢失,接收方无法发送接收确认,因为接收方不知道丢失的数据包曾经发送过。如果数据包在 TCP 连接的早期丢失,例如在三次握手期间丢失 SYN 数据包,则数据包丢失在三秒钟内不会恢复。

 

三次重复的ACK

在较大的数据流中,可以在重传定时器过期前检测到丢失的数据包。这是借助于三个收到的ACK副本来完成的。这种机制通常比等待重传定时器过期更有效。如果到达的节点收到的数据包不符合顺序,它就会发出重复的ACKs。失序的数据包可以是在丢失的数据包数据之后发送的数据包。重复的ACK包包含接收方仍在等待的准确序列号。当发送节点收到第三个重复的ACK时,它认为有关的数据包不仅被延迟,而且实际上已经丢失。结果,丢失的数据包被重新传输。如果发生这种情况,发件人会假定网络中存在拥堵,并将拥堵窗口减少50%,以积极应对拥堵。慢速启动机制会缓慢增加CWD值。

例如,如果一个服务器向客户传输一个大文件,由于慢速启动机制,发送节点的吞吐量提升得更慢。当拥塞窗口达到24时,数据包丢失会被一个三重复的ACK检测到。随后,服务器重传丢失的数据,CWD值减少到12。慢速启动机制将在这个时候重新启用其拥塞避免模式。这种行为在现代网络中经常看到。

网络

 

结论和纠正措施

显而易见的是,防止因拥堵造成的数据包丢失将提高性能。然而,这只有通过减少其他流量的拥堵才能实现,可以通过以下方式实现:

用于排队优先的QoS政策

减少总流量或增加带宽

如果数据包丢失是由于其他情况造成的,如网络接口故障、队列配置错误或电缆连接不良,则必须确保TCP连接不会被不必要地关闭,不被不必要地超时,人们还可以减少重传超时的值。

 

扩展阅读

虹科 Allegro 介绍

 

 虹科Allegro网络万用表 - 网络故障排除的一体化解决方案

 

 

      虹科Allegro网络万用表是是先进的网络诊断工具,通过浏览器中的Web界面访问分析数据。简单部署,无需配置,只需要点击几下就可检测到网络问题。可以针对问题区域或错误,并可以从预算的流量中捕获PCAP以进一步分析。

一体化分析设备

软件永久许可(全功能可用)

L2-L7全面分析

即插即用,无需配置

多种型号可选,1-200Gbit/s,满足不同规模网络需求

高速全流量捕获分析,回溯分析

中文界面支持

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分