(提前申请我的英语不好。我不是母语人士)
我目前正在写我的学士学位论文。我的项目的目的是准确和精确地为包添加时间戳(它必须至少精确到十分之一微秒范围内)。
我正在尝试使用 tcpdump 完成硬件时间戳,但是我遇到了一些问题。
我的设置:
2 直接连接相同的服务器。
Linux:Debian 3.16.7
网络接口:Intel i350-T4
使用 tcpdump 命令:
sudo /usr/sbin/tcpdump -i eth4 -s 59 port 33333 -x -n -tt -v -j adapter_unsynced --time-stamp-precision=nano -w name.pcap
现在,我的结果本身是有意义的,并且会给我想要的结果,但它们对它们有很大的抵消作用。准确地说是36秒。
我使用该选项的结果抖动-j adapter_unsynced
约为 10 µs,如果我使用该-j adapter
选项,我会得到约 100µs 的抖动(对于我的应用来说太不精确),但不是 36 秒偏移。
据我所知,所有时钟都是同步的。系统时钟都同步了,网卡的 PHC 时钟也同步了。
作为测试运行,我更改了其中一台服务器的系统时钟,更改显示在使用-j adapter_unsynced
.
所以我的问题是:我做错了什么,我想用 tcpdump 做些什么?
我很感激任何建议。
问候,基督徒