Назад | Перейти на главную страницу

Быстрая проверка связи без запроса ответа

Я пытаюсь измерить одностороннюю задержку между двумя машинами, и я хотел бы использовать 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 мкс и немного больше.

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

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

Я хочу:

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


Обновить

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

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

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

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

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

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

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