Быстрый пинг без запроса ответа [закрыто]

Я пытаюсь измерить одностороннюю задержку между двумя машинами, и я хотел бы использовать ping для отправки ICMP пакетов с одного компьютера на другой. Интервал между пакетами должен составлять 1 микросекунду (1 мкс), и я хочу отправить 1 миллион пакетов (10 ^ 6), поэтому для отправки пакетов потребуется 1 секунда.

Кроме того, меня не волнует ответ другой машины (я буду только захватывать пакеты на второй машине и анализировать их).

Прямо сейчас я попробовал:

ping -I eth0 -c 1000000 -l 1000000 -f -i 0.000001 -b 255.255.255.255

Я также экспериментировал, отключив -l и параметры -f . Когда я использую большое значение для -l , я получаю предупреждение о том, что rcvbuf недостаточно для удержания предварительной загрузки.

Я использую tcpdump для захвата исходящих пакетов с моей машины, а также для входящих пакетов на другую машину.

Проблема в том, что интервал между пакетами составляет от 5 мкс до 15 мкс. s в большинстве случаев и немного больше.

У меня такая же проблема, когда я отправляю прямо на веб-сайт, например google:

ping -I eth0 -c 1000000 -l 1000000 -f -i 0.000001 google.com

Я хочу:

  • отправлять пакеты с одной машины на другую
  • без ожидания ответа от первой машины.
  • , а интервал между пакетами равен 1us

. Желательно сделать это с помощью команды ping и опций, которые она предоставляет (если их достаточно). У меня есть права администратора.


Обновление

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

Проблема для меня в том, что ping не работает должным образом, когда я использую параметр -i . Когда я использую -f -l 1000000 , захваты отправляются каждые 3 мкс на 5 мкс. Когда я указываю -f или ни один из этих двух, пакеты генерируются каждые 12 мс.

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

5
задан 3 September 2017 в 19:53
2 ответа

ping -f будет не ждать ответа удаленной стороны.

Однако задержка в 1 мкс между последовательные пакеты могут быть слишком большими, чтобы их можно было запросить у вашего оборудования (ЦП) и программного обеспечения (стек IP).

Чтобы максимизировать производительность (и минимизировать задержку отправки), попробуйте отключить любую функцию управления питанием или, по крайней мере, используйте производительность регулятор ЦП.

11
ответ дан 3 December 2019 в 00:58

Вероятно, вы путаете задержку и пропускную способность. Достаточно отправить 1 пакет и измерить его задержку, чтобы определить задержку. Все, что вам нужно, это механизм для точного измерения времени. Одним из способов является PTP (протокол точного времени), то есть отправитель прикрепляет метку времени к отправляемому пакету. Пропускная способность WRT, размер пакетов имеет решающее значение - по умолчанию ping будет иметь длину 64 байта.

4
ответ дан 3 December 2019 в 00:58

Теги

Похожие вопросы