如何通过比较双方捕获的pcap来检测实际的数据包丢失?

时间:2014-03-10 08:06:29

标签: packet-sniffers

实际上我正在尝试评估不同协议的性能和效率。我知道当ack超时或收到3个重复的ack时,TCP实现认为数据包“丢失”。但这无法判断数据包何时在网络中实际丢失。

现在我通过tcpdump捕获连接两端的数据包,并获取两个pcap文件。通过比较两个pcap文件,我可以得到哪些确切的数据包丢失了吗?这值得尝试吗?

直接尝试会使ip包的ID不同以获得不匹配的ID,这也是我的第一次尝试。问题是网络适配器拆分并组合了一些数据包,因此libpcap无法通过网络捕获实际的IP数据包。

如果我没有关闭NIC上的“通用接收卸载”等功能,默认情况下处于开启状态,我在发送方和接收方侧捕获的内容将不完全匹配,因此简单地区分ID会导致错误结论;但是,关闭拆分/组合数据包的功能可能会严重影响传输性能,从而影响我的结论。所以我正陷入两难境地。

关于“GRO”,“LRO”功能如何在NIC上表现的相关帖子: different tcp packets captured on sender and receiver

0 个答案:

没有答案