Tx/Rx 如何处理在 Linux 平台上导致溢出的最大值?

Tx/Rx 如何处理在 Linux 平台上导致溢出的最大值?

我有一台 Linux 设备,在 7/24 环境下每 1 分钟向远程云服务发送一次数据。为了确保通过互联网发送数据的可靠性,而不是依赖内部内核缓冲区,我需要监控以下统计数据,我认为 RX / TX 代表了进入/离开接口的数据包的真实数量,对吗?如果正确,以下最大数字是多少,uint32 还是 uint64?当达到最大数字导致溢出时,它将如何处理?

猫/ sys /类/净/ eth0 /统计/ rx_bytes

猫/ sys /类/净/ eth0 /统计/ rx_packets

猫/ sys /类/净/ eth0 /统计/ tx_packets

猫/ sys /类/净/ eth0 /统计/ tx_bytes

非常感谢。

亲切的问候,

木星

答案1

为了确保通过互联网发送数据的可靠性,不受内部内核缓冲区的影响,我需要监控以下统计数据,我相信 RX / TX 代表传入/传出接口的数据包的真实数量,对吗?

这是一种奇怪而愚蠢的监控方式。

首先,如果您使用 TCP/IP,则可以假设传输是可靠的。例如,如果传输超时或连接失败,您将遇到某种连接故障,您可以登录应用程序。这将提供比单纯的数据包计数器更准确的信息。

其次,如果您知道您每分钟发送一条消息,请计算收到的消息数。不是数据包数(第 2 层),而是消息数(大致在第 4 层到第 7 层之间)。这比计算数据包数更能让您了解情况。

如果计算 L2 数据包,这包括对 ping 的回复、广播流量和网络上所有其他类型的流量。

相关内容