跳转到主内容

NetApp_Insight_2020.png 

为什么数据包丢失会影响性能?

Views:
4
Visibility:
Public
Votes:
0
Category:
ontap-9
Specialty:
network
Last Updated:

可不使用  

适用于

  • 所有 NetApp 产品
  • TCP 通信
  • CIFS , NFS 和 iSCSI

解答

数据包丢失会对性能造成影响的原因很多。  本文的目标是描述数据包丢失通常如何导致性能问题、而不是导致丢失的原因。 

  • 当发现数据包丢失时、拥塞算法会限制网络上的 TCP 数据量以防止进一步丢失。
  • 此算法设置的限制是拥塞窗口、在有损网络中使用平均拥塞窗口查看在数据包丢失之前发送的数据量。
  • BDP 将这一拥塞窗口与往返时间关联起来,为我们提供平均预期吞吐量。
  • 数据包丢失后,接收方将停止响应新数据包,直到重新传输为止,从而导致延迟可能长达半秒。

 

示例:在对数据包跟踪进行检查时,丢失的数据包将被视为重复确认,然后是一种重新传输形式。

  • 数据包丢失跟踪中的 "Information" 列以及以下筛选器:
  • tcp.analysis.duplicate_ack || tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.out_of_order:

Wireshark1.png

其他信息

  • 定义

    • 带宽延迟产品:数据链路容量(以每秒位数为单位)及其往返延迟时间(以秒为单位)的乘积。结果是以位(或字节)为单位的数据量、相当于任何给定时间内网络电路上的最大数据量、即已传输但尚未确认的数据。

      • 带宽延迟产品可通过将端口链路速度(以每秒位数为单位)除以 10 来估算,并在交换机中承受负载的往返时间 - 通常按 1 毫秒左右的顺序排列: 40 Gbps / 10 ~ = 4 GB/ 秒 * 0.001 秒 = 4.2 MB 缓冲区内存。往返时间不仅包括线路传播延迟和交换机延迟,还包括交换流量时交换机,主机或存储系统内的任何缓冲。在不同链路速度之间切换的交换机应在参与端口上提供此范围内的缓冲区内存。

    • 接收窗口通信吞吐量受两个窗口限制:拥塞窗口和接收窗口。拥塞窗口尝试不超过网络容量(拥塞控制);接收窗口尝试不超过接收方处理数据的容量(流量控制)。例如,如果数据非常繁忙(例如 Web 服务器)、则接收方可能会被数据压得太多。每个 TCP 数据段都包含接收窗口的当前值。例如,如果发件人收到确认字节 4000 并指定接收窗口 10000 (字节)的 ACK 、则即使拥塞窗口允许,发件人也不会在字节 14000 之后发送数据包。

    • 拥塞窗口在 TCP 中,拥塞窗口是决定可随时发出的字节数的因素之一。拥塞窗口由发件人维护。请注意,这不会与接收方维护的滑动窗口大小混淆。拥塞窗口是阻止发件人和接收方之间的链路因流量过大而超载的一种方法。它是通过估计链路上的拥塞量来计算的。

    • 往返时间( RTT )这是由发件人发送的字节数,用于确认字节数的接收方以及用于接收确认的发件人所需的时间。通常以毫秒(毫秒)为单位进行描述。