如何轻是平?

希望这个问题不是太愚蠢。 我想知道一个ping是多么昂贵(系统资源和带宽明智)。 如果我有一个小的embedded式linux设备,它的ram,cpu和带宽非常有限,那么启动一个ping命令并让它连续运行好几天会不好?

我试图找出如何最小化影响。 看看ping的选项,看起来像我可以指定大小。 我应该这样做,使其更小? 还有什么我可以做的,使其更小? 我需要它运行,但我不希望它对RAM,CPU或带宽(性能以任何方式)有任何负面影响。

在我的testing中,我没有观察到ram或cpu与它运行的任何差异。 我没有非常彻底地testingnetworking速度,但是我也没有注意到任何东西。 思考?

处理ping之间的成本差异在字节大小上几乎不变。 响应一个消息的大部分成本是在发送回复时在路由表中查找,以及在用于侦听和接收数据包的各种套接字逻辑(基于OS而变化)中。 实际上在所有情况下这也是微不足道的。

可resize的ICMP回显(ping)数据包的原因是,您可以根据数据包大小确定networking特征(例如查找MTU)。

因为大部分的成本都在内核的协议堆栈中,而NIC操作和networking驱动程序,开发人员或硬件devise人员可能会做很多工作使其(通常是networking操作)效率更高,但总的来说作为系统pipe理员的情况下这些提出了一个固定和可以忽略的负载。

许多人喜欢在防火墙上抑制ICMP请求,以防止基于ping的DoS攻击(这是最低效的DoS攻击之一)。