Linux ping фактически не отправляет 1 пакет в секунду

Я испытываю какое-то странное поведение. В то время как на перегруженной беспроводной сети я запускаю

$ ping google.com 

Я ожидаю, что один пакет будет отправлен каждую секунду, и только некоторые из них возвратятся с разным временем туда и обратно, и это чаще всего походит на поведение. Но в этой очень перегруженной беспроводной сети я вижу что-то вроде этого:

  • Windows 8 не может подключиться к беспроводной сети WPA2 AES
  • Windows 7 автоматически подключается к незащищенным беспроводным сетям при запуске
  • Медленная передача файлов по сети между двумя ноутбуками 802.11n (подключается непосредственно через точку доступа)
  • Мониторинг сетевого трафика на WPA
  • Невозможно просматривать веб-сайты с помощью беспроводной сети
  • Как работает точная GeoLocation в HTML5?
  •  PING google.com (74.125.224.228) 56(84) bytes of data. 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=1 ttl=53 time=193 ms 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=2 ttl=53 time=238 ms 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=3 ttl=53 time=96.8 ms 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=4 ttl=53 time=12.9 ms 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=5 ttl=53 time=219 ms 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=9 ttl=53 time=1105 ms 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=8 ttl=53 time=2339 ms 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=17 ttl=53 time=881 ms 64 bytes from lax04s08-in-f4.1e100.net (74.125.224.228): icmp_req=18 ttl=53 time=1200 ms ... --- google.com ping statistics --- 57 packets transmitted, 41 received, 28% packet loss, time 113307ms rtt min/avg/max/mdev = 5.773/447.217/2339.271/496.011 ms, pipe 3 

    Ключевая строка:

     57 packets transmitted, 41 received, 28% packet loss, time 113307ms 

    Так как вы можете видеть, что пинг продержался около 113 секунд, но отправил только 57 пакетов. Я видел это несколько раз:

     $ ping google.com PING google.com (74.125.224.232) 56(84) bytes of data. 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=1 ttl=53 time=6.98 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=2 ttl=53 time=5.71 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=3 ttl=53 time=4.47 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=4 ttl=53 time=5.75 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=5 ttl=53 time=6.94 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=6 ttl=53 time=14.2 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=7 ttl=53 time=6.22 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=8 ttl=53 time=11.8 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=9 ttl=53 time=4.29 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=10 ttl=53 time=5.43 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=11 ttl=53 time=5.02 ms 64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=12 ttl=53 time=4.89 ms ^C64 bytes from lax04s08-in-f8.1e100.net (74.125.224.232): icmp_req=13 ttl=53 time=7.36 ms --- google.com ping statistics --- 13 packets transmitted, 13 received, 0% packet loss, time 60262ms rtt min/avg/max/mdev = 4.299/6.865/14.258/2.838 ms 

    Это еще более странно, потому что все RTT разумны, пакеты просто не отправляются быстро. Может ли кто-нибудь пролить свет на это? Я тестирую debian (wheezy) и еще несколько статистических данных:

     $ ping -V ping utility, iputils-sss20101006 Linux 3.0.0-1-amd64 #1 SMP Sat Aug 27 16:21:11 UTC 2011 x86_64 GNU/Linux 03:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 35) 

  • RTL8188CUS AP и клиентский режим одновременно с hostapd в Linux?
  • Как восстановить удаленные файлы?
  • Хорошая альтернатива Cygwin с копией / вставкой?
  • Как заставить Apache2 ждать инициализации сети?
  • Каков наилучший способ восстановить некоторые фотографии в Linux? Есть ли способ использовать прежде всего для восстановления файлов, содержащих только текст?
  • Блокировать все порты, кроме SSH / HTTP, в ipchains и iptables
  • One Solution collect form web for “Linux ping фактически не отправляет 1 пакет в секунду”

    Похоже, у вас есть одна из версий ping которая выполняет поиск DNS для каждого полученного пакета. Поскольку пакет UDP DNS должен проходить через ту же самую перегруженную сеть, что и пакеты ping, пакет может быть удален. При тайм-аутах и ​​повторных попытках может потребоваться значительное время для запроса DNS для возврата данных. Время ожидания ответа DNS задерживает отправку следующего пакета ping, поскольку ваш ping является однопоточным и не использует асинхронный таймер для управления каждым пингом.

    Если мой диагноз правильный, добавление -n к ping должно избавиться от задержек.

    Давайте будем гением компьютера.