Networking 如何利用全带宽?

Networking 如何利用全带宽?,networking,network-programming,packet,Networking,Network Programming,Packet,我使用WinPcap制作了一系列自定义UDP数据包,并将它们注入以太网层 我发送了1000个数据包,每个1440字节。100 Mbps带宽需要2.1秒 如何利用全带宽?您的吞吐量似乎正是10Mbit连接的最大吞吐量。确定没有涉及到10mbit吗?起初我误读了这个问题,认为它是一个重复的问题。但是100Mbps让它完全不同 即使是非常普通的硬件也应该能够使100Mbps的连接达到饱和,而不会出现任何问题,特别是如果您使用的是1440字节的udp数据包 正如krosenvold所说,这些数据看起来确

我使用WinPcap制作了一系列自定义UDP数据包,并将它们注入以太网层

我发送了1000个数据包,每个1440字节。100 Mbps带宽需要2.1秒


如何利用全带宽?

您的吞吐量似乎正是10Mbit连接的最大吞吐量。确定没有涉及到10mbit吗?

起初我误读了这个问题,认为它是一个重复的问题。但是100Mbps让它完全不同

即使是非常普通的硬件也应该能够使100Mbps的连接达到饱和,而不会出现任何问题,特别是如果您使用的是1440字节的udp数据包

正如krosenvold所说,这些数据看起来确实像是10Mbps的连接,而不是100Mbps。我会从一端到另一端检查所有链接,以确保它们达到您认为的100Mbps。该链中的任何10Mbps链接都将是一个问题

根据您使用的设备,您可能会发现链接自动协商存在问题。有些设备是出了名的糟糕,所以你可以通过关闭自动协商,并强制链接速度达到100Mbps来找到更好的结果

由于您正在使用一个pcap文件,我建议您尝试进行一些速度测试。tcpreplay提供了几个选项,可以以尽可能高的速度重播文件。(特别是查看wiki条目)


如果结果与您目前看到的不同,则可能表明pcap文件存在问题。例如,pcap文件确实包含可以在重放文件时使用的计时信息。如果pcap文件中的计时是从10Mbps的网络(例如)获取的,则实时重播它将为您提供您看到的结果。

确保数据交换路由上的所有设备和介质都以100Mbps的速度运行,连接速度仅与最薄弱的链路速度相同。还要确保所有设备(包括网卡)都在模式下运行。

传输期间CPU的使用情况如何

我们需要找到瓶颈。它可以是NIC/网络或CPU。 确保您没有“打开”每个数据包的NIC

错:

loop{
   OpenDevice
   SendPacket
}
好:


你说得对kalmi你是在告诉我在一个包里尝试多个帧吗?嗯。。。不,那没有多大意义。。。而且包足够大。。。你能给我们看一些代码吗?我们甚至还不知道你在用什么语言。。。或者什么API…嗨kalmi给我你的邮件id让我发送我的代码。我正在为此使用Winpcap。请告诉我如何在Winpcap API中使用pcap_sendqueue_queue()。我需要发送自己的原始UDP数据包,而不是发送.pcap或.cap文件。请使用一些在线服务(如pastebin.com)共享代码并在此处发布链接,或者编辑问题。所有这些不仅仅是为了帮助你。这也是让其他遇到同样问题的人以后找到解决办法。
OpenDevice
loop{
 SendPacket
}