Articles of packetloss

丢包率与iperf和tcpdump

我用iperftesting了它的链路质量。 测量的速度(UDP端口9005)是96Mbps,这很好,因为两台服务器都连接到100Mbps的互联网。 另一方面,数据报丢失率显示为3.3-3.7%,我发现有点太多了。 使用高速传输协议,我用tcpdumplogging了两端的数据包。 比我计算的丢包率 – 平均为0.25%。 有没有人有一个解释,这个巨大的差异可能来自哪里? 您认为什么是可接受的数据包丢失?

在300Mbit(14%)的极端UDP数据包丢失,但TCP> 800Mbit w / o重新传输

我有一个我用作iperf3客户端的linux系统,testing了2个与Broadcom BCM5721,1Gb适配器(2个端口,但只有1个用于testing)相同的Windows 2012 R2服务器盒。 所有机器都通过一个1Gb交换机连接。 在例如300MbittestingUDP iperf3 -uZVc 192.168.30.161 -b300m -t5 –get-server-output -l8192 导致所有数据包丢失的14%(对于硬件完全相同的其他服务器机箱,但较旧的NIC驱动程序,损失大约为2%),但即使在50Mbit的时候也会出现丢失,尽pipe不太严重。 使用等效设置的TCP性能: iperf3 -ZVc 192.168.30.161 -t5 –get-server-output -l8192 产生800Mbit以北的传输速度,没有报告重传。 服务器始终使用以下选项启动: iperf3 -sB192.168.30.161 谁应该责怪? 在Linux客户端框(硬件?驱动程序?设置?)? 编辑:我刚刚从一个Windows服务器框到另一个testing,在300Mbit的UDP数据包丢失更高,在22% Windows服务器盒(硬件?驱动程序?设置?)? 连接所有testing机器的(单个)开关? 电缆? 编辑: 现在我尝试了另一个方向:Windows – > Linux。 结果:数据包丢失始终为0 ,吞吐量最大值为零 840Mbit为-l8192 ,即分段的IP数据包 250Mbit为-l1472 ,未分片的IP数据包 我想stream量控制上限吞吐量,并防止数据包丢失。 特别是后者,没有碎片的数字远远没有达到TCP吞吐量(不分片的TCP产生与碎片化的TCP类似的数字),但是在数据包丢失方面,它比Linux – > Windows有了无限的巨大改进。 以及如何找出? 我确实按照服务器上的驱动程序设置的通常build议来最大限度地提高性能,并尝试启用/禁用/最大化/最小化/更改 中断审核 stream量控制 接收缓冲区 RSS networking唤醒 所有卸载function都已启用。 […]

如何解决与rsync相对大的文件损坏的数据包错误?

尝试使用rsync命令更新服务器上的文件: rsync -ravq -e "ssh -o ConnectTimeout=2 -o ServerAliveInterval=2 -ServerAliveCountMax=2" –delete ./local_dir user@$SERVER:/dest_dir corrupt packet错误不断抛出,具体为: rsync: writefd_unbuffered failed to write 4092 bytes to socket [sender]: Broken pipe (32) rsync: connection unexpectedly closed (11337 bytes received so far) [sender] rsync error: unexplained error (code 255) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [sender=3.0.9] 这可能与ssh超时有关,因为它似乎与大(r)文件发生。 另外,我一直使用WinSCP获取超时。 这只发生在我身上。 我使用这台服务器的几个人没有同样的问题。 使用Windows 7中的Cygwinterminal的rsync与Centos 6.3服务器。 我不确定其他信息可能有用或如何获得它。 […]

在数据中心内的通信中丢弃数据包有多常见?

比方说,我有两台机器在同一个数据中心,但不一定在同一个机架上。 在这两台机器之间使用UDP进行发送时,丢弃的数据包有多常见? 我是在这样的假设下问的,因为机器之间最多只有几个交换机,根本不会丢包。 无序数据包到达同一数据中心有多普遍? 我的假设是有99.9%的时间只有一条路线,所以这是不可能发生的。 但是,无论何时,我都会用绝对的眼光来思考,我知道我必须错过一些东西! 我需要什么样的背景信息来更好地理解何时应该丢弃数据包,以及它们可能被丢弃的频率,以及在同一个数据中心内的机器出现乱序的情况。 最终,我试图在位于同一数据中心的不同Linode VPS实例之间进行通信时使用多播UDP或PGM。 信息必须到达并按顺序。 当然,UDP听起来不那么好! 但是,如果在同一个数据中心里可以期待几乎完美或完美的交付,那就没问题了。 但是,我正在testing这个假设。 谢谢。

你如何诊断丢包?

我意识到这是非常主观的,并依赖于一些variables,但是我想知道当他们需要诊断给定系统上的数据包丢失时,大多数人会经历什么样的步骤?

为什么硬件路由器比具有更好规格(RAM和CPU)的Linux路由器性能更好?

我有一个最小的CentOS 6.3,64位作为网关与4 NIC(1 Gbps),每个绑定在一起公共交通和其他私人,执行NAT。 它有6 GB RAM和4个逻辑核心。 过去两年我们一直在使用这个,没有任何问题。 我没有硬件路由器的任何经验,但我听说他们有更less的内存和CPU和使用闪存盘。 具有较低硬件configuration的盒子如何比具有更多RAM和CPU的机器performance得更好(如处理更多的并发连接)? 除了IOS使用不同的方法来处理这个,限制因素是什么?

如何被动地监控TCP数据包丢失? (Linux)的

我怎样才能被动地监视TCP / TCP连接上的数据包丢失? 基本上,我想要一个位于后台的工具,通过观看TCP ack / nak /重新传输来生成一个关于哪个对等IP地址“似乎”遭受严重损失的报告。 像我发现SF这样的大多数问题build议使用像iperf这样的工具。 但是,我需要监视从我的机器上真正的应用程序的连接。 这个数据只是坐在那里的Linux TCP堆栈?