Windows Server 2016 计算丢弃的网络数据包百分比

Windows Server 2016 计算丢弃的网络数据包百分比

运行netstat -s -p tcp给我这样的输出

TCP Statistics for IPv4
      Active Opens                    = 
      Passive Opens                   =
      Failed Connection Attempts      = 
      Reset Connections               =
      Current Connections             = 
      Segments Received               =
      Segments Sent                   = 
      Segments Retransmitted          =

现在,为了计算丢弃的传入数据包的数量,我需要计算Segments Retransmitted/Segments Received吗?

我在网上看到说需要用Segments Retransmitted/来计算Segments Sent,但这似乎是错的。链接:示例 1 示例 2

如果这不是正确的方法,我该如何计算或生成丢弃的传入数据包的百分比?

答案1

您无法根据该结果计算出丢弃的传入数据包的数量。

如果数据包被丢弃,您的系统将无法接收它。TCP 采用确认系统。当收到一个数据包时,接收方会发送一个 ACK​​。然后发送方会发送另一个。如果没有收到数据包,接收系统不知道肯定有什么问题,但发送方知道,因为 ACK 从未返回,所以它会重新发送。

但是,您可以计算丢弃的传出数据包。即“重新传输的段数/已发送的段数”。发送的段总数包括所有丢弃的段。重新传输的段是由于发送系统(在本例中为您的系统)未从 TCP 进程收到 ACK 并重新发送数据包直到收到 ACK 或连接失败而重新发送的所有段。

因此,要计算丢弃的传入数据包,您必须进入发送系统并计算该特定连接丢弃的传出数据包。

相关内容