运维开发网

网络 – 快速ping不需要响应

运维开发网 https://www.qedev.com 2020-03-07 10:45 出处:网络 作者:运维开发网整理
我试图测量两台机器之间的单向延迟,我想使用ping将ICMP数据包从一台机器发送到另一台机器.数据包之间的间隔应该是1微秒(1us),我想发送100万个数据包(10 ^ 6),因此发送数据包总共需要1秒. 另外,我不关心其他机器的响应(我只会捕获第二台机器上的数据包并进行分析). 现在我试过了: ping -I eth0 -c 1000000 -l 1000000 -f -i 0.000001 -
我试图测量两台机器之间的单向延迟,我想使用ping将ICMP数据包从一台机器发送到另一台机器.数据包之间的间隔应该是1微秒(1us),我想发送100万个数据包(10 ^ 6),因此发送数据包总共需要1秒.

另外,我不关心其他机器的响应(我只会捕获第二台机器上的数据包并进行分析).

现在我试过了:

ping -I eth0 -c 1000000 -l 1000000 -f -i 0.000001 -b 255.255.255.255

我还通过停用-l和-f选项进行了实验.当我为-l使用一个大值时,我得到一个警告,即rcvbuf不足以保持预加载.

我使用tcpdump来捕获来自我的机器的传出数据包以及传入数据包到另一台机器.

问题是在大多数情况下,数据包之间的间隔在5us到15us之间,并且略大.

当我直接发送到像google这样的网站时,我遇到同样的问题:

ping -I eth0 -c 1000000 -l 1000000 -f -i 0.000001 google.com

我想要的是:

>从一台机器发送数据包到另一台机器

>没有第一台机器等待任何响应

>和数据包之间的间隔为1us

最好使用ping命令及其提供的选项(如果它们足够).我有管理员权限.

更新

我的目标是测量不同电缆在数据包上引入的延迟.所以我需要准确的数据包生成和捕获.在硬件方面我有适当的工具,但我没有得到我所期望的.我相信问题出在软件上.

我的问题是,当我使用-i选项时,ping似乎没有按预期工作.当我使用-f -l 1000000时,捕获量每3us发送到5us.当我指定-f或这两者中没有一个时,数据包每12ms生成一次.

一般来说,我认为我无法控制广播ping的数据包距离.

ping -f不会等待远程方回复.

但是,连续数据包之间的1us延迟可能只是太多而无法从您的硬件(CPU)和软件(IP堆栈)组合中询问.

为了最大限度地提高性能(并最大限度地减少发送延迟),请尝试禁用任何电源管理功能,或者至少使用性能CPU调控器.

0

精彩评论

暂无评论...
验证码 换一张
取 消