Почему 32-байтовый размер пинга по умолчанию? Можно ли использовать меньше?

2154
Thomas

У меня очень большое количество адресов, которые мне нужно пропинговать в сети компании. Я хочу быть максимально ненавязчивым. Будет ли использование ping 1.1.1.1 -l 1 снизить нагрузку на сеть? Разница между 32 и 1 стоит того? Есть ли причина 32 по умолчанию?

Я полагаю, стоит упомянуть, что я нахожусь на коробке окна и использую PowerShell.

2
Что такое «очень большое число»? Вам действительно нужно пинговать * все из них каждую секунду *? Daniel B 6 лет назад 0
Около 9000. Я запускаю сценарии против них. В идеале, после завершения сценария мне не нужно будет запускать его очень часто. Может быть, пару раз в день. Но мой оригинальный вопрос все еще стоит. Thomas 6 лет назад 0
`-l 1` не делает то, что вы думаете. `-l` - опция предварительной загрузки. Только суперпользователь может использовать его, и он определяет, сколько пакетов он отправит, не ожидая ответа Jimmy_A 6 лет назад 0
msgstr "-l size Отправить размер буфера." Thomas 6 лет назад 0
`-l` предварительная загрузка. Если задана предварительная загрузка, ping отправляет столько пакетов, не ожидающих ответа. Только суперпользователь может выбрать предварительную загрузку более 3. Jimmy_A 6 лет назад 0
Я думаю, что вам нужно `-s` вместо` -l` Jimmy_A 6 лет назад 0
В случае ping в Windows, `-l` указывает размер буфера. Это не имеет большого значения, если только ваши ICMP-пакеты не буферизируются. Patrick 6 лет назад 1
@ Патрик, хорошо, понял. Я не думал, что тот же аргумент в Windows будет делать разные вещи, чем в Linux Jimmy_A 6 лет назад 1

1 ответ на вопрос

6
Spiff

Ethernet имеет минимальный размер кадра 64 байта. Если вы попытаетесь отправить меньше, ваша система все равно добавит его до 64 байт, если он отправляется по Ethernet. Ping уже отправляет близко к кадрам минимального размера:

14 байтов заголовка Ethernet
4 байта контрольной суммы Ethernet
20 байтов заголовка IPv4
8 байтов заголовка ICMP
= 46 из 64 байтов, поэтому использование полезной нагрузки 18 байтов должно дать вам кадр минимального размера, если я правильно понял факты и арифметику.

Wi-Fi не имеет минимального размера кадра, поэтому, если ваши пинги идут по Wi-Fi, полезная нагрузка пинга нулевой длины будет использовать немного меньше эфирного времени.

Я также отмечу, что даже если вы сохраняете полные 32 байта на каждом из 9000 пингов (и 9000 пинговых ответов), все это добавляет только половину миллисекунды пропускной способности гигабитного Ethernet. Вы потратили гораздо больше ресурсов своей компании на свое оплачиваемое время, думая об этом.

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