Подтвердить что ты не робот

Вычислить скорость загрузки/скачивания с помощью ping

Как рассчитать скорость интернет-соединения с помощью некоторых средних значений ping. Каковы расчеты, связанные с этим. Можно ли вычислить ограничение загрузки/загрузки по скорости ping

ИЗМЕНИТЬ Если ping не является решением, что еще?

4b9b3361

Ответ 1

Я использовал ping для расчета полосы пропускания в локальной сети. Я считаю, что это так же точно, как и другие средства измерения пропускной способности (например, загрузка большого файла). Вы можете использовать его также для своего интернет-соединения, если у вас есть симметричная ссылка на Интернет (т.е. Не adsl).

Вот как я это делаю: У меня есть гигабитная сеть Ethernet, и я хочу измерить скорость между моим компьютером и хостом в серверной комнате. Мой MTU - 1500, поэтому я использую размер пакета 1472. Просто случайно я использую 83,333 пакета в этом тесте (около 1 гигабита). Тогда:

sudo ping -f -c 83333 -s 1472 192.168.3.103

в конце результата я получаю: мин./авг/макс/stddev = 0,174/0,219/2,077/0,020 мс

поэтому в среднем требуется 0.219 мс, чтобы отправить 1500 байтов и получить 1500 байт, что 24 кб. 24 кб /0,219 мс = 110 Мбит/с

Если вы хотите использовать это на сервере в Интернете, вам необходимо снизить размер пакета до 1464 (для MTU 1492), сбросить опцию -f и опустить счетчик, чтобы он не занять слишком много времени.

p.s. Я думаю, что это должно перейти к суперпользователю, а не к stackoverflow.

Ответ 2

Задержка отличается от полосы пропускания. Представьте себе грузовик с DVD-дисками, которые проходят по всей стране. Полоса пропускания высокая, но задержка огромна.

Ответ 3

Фактически можно получить оценки ширины полосы только от пинг-подобных измерений.

Для передачи 1500-байтового пакета по ссылке GigE всегда требуется 12,3 мкс. Другими словами, если вы можете отправить два 1500-байтовых пакета с одной машины на другую через незакрепленную связь GigE так быстро, как это разрешит протокол, они прибудут примерно на 12,3 мкс друг от друга. Наблюдая, что это происходит, подтверждает, что ваша ссылка GigE фактически не перегружена.

Теперь для простого примера измерения через WAN (опять же предположим, что он не перегружен):

HostA -------- RouterA -------- RouterB -------- HostB
        GigE             OC-3             GigE

Хост A быстро отправляет два 1500-байтовых пакета. Когда маршрутизатор A принимает первый пакет, он начинает пересылать его по каналу WAN OC-3 (155 Мбит/с). Требуется 81,5 мкс для пересылки 1500-байтового пакета на OC3, поэтому маршрутизатор A будет посреди пересылки первого пакета, когда он получит второй пакет от узла A. Он должен поставить в очередь этот второй пакет, пока он не выполнит передачу первый.

Когда маршрутизатор B заканчивает прием первого пакета, он пересылает его на хост B, который занимает всего 12,3 мкс; между тем маршрутизатор B начинает получать второй пакет. Когда маршрутизатор B заканчивает прием второго пакета, он пересылает его на хост B.

Таким образом, хост B видит 12,3 мкс приема пакетов, 69,2 мкс молчания, затем 12,3 мкс приема пакетов, другими словами, время между приходами 81,5 мкс. Из этого наблюдения хозяин B может определить, что ширина полосы пропускания канала ограничена 155 Мбит/с.


Теперь это замечательно в теории, но на практике все усложняется. События перегрузки, как правило, являются взрывоопасными, поэтому в один момент очереди маршрутизаторов могут быть достаточно полными, а затем они пусты. Многие образцы необходимы, чтобы получить что-либо значимое. Точные измерения также сложны. Задержка между концами может составлять десятки или сотни миллисекунд, и вы смотрите на разницу в несколько микросекунд. Если есть несколько путей от A до B, удачи.

Как правило, просто просто взорвать трафик и посмотреть, как много проходит. Тогда вы точно знаете, какая ваша доступная полоса пропускания равна нулю.

Ответ 4

Нет, это не так.

Пакет ping невелик и просто используется для проверки скорости, которую он берет из точки A в точку B (или в более общем использовании - если между ними вообще существует путь, IE, если компьютер вообще отвечает)

Процесс Ping (для понга) заключается в том, что небольшой пакет отправляется из A в B Когда B получает пакет, он отвечает полом, который мгновенно отправляется обратно в A. В точке A появляется понг, общее время (которое в миллисекундах, надеюсь) зарегистрировано, и там у вас есть Ping в ms.

Это, конечно, предполагает, что B не настроен отказаться от писем или просто не попадает туда, или находится за VPN или другой мерой, которая замедляет ответ.

В конце концов, все, что вы получаете, это время, которое требуется для запуска Ping от A до B и обратно в A.

Для сравнения попробуйте бегать по улице и обратно. Измерьте время. И теперь найдите способ рассчитать, сколько вы весите.

Ответ 5

Пинг - это один пакет, отправленный по сети через ICMP. Обычно один пакет в секунду отправляется на пинг удаленной машины, и маршрут может отличаться от TCP и UDP, обычно используемых для передачи данных; удаленные компьютеры могут отказаться отвечать на запросы ping. Таким образом, измерение пропускной способности сети через запросы ping является ненадежным и, вероятно, бесполезным.

Ответ 6

Pinging удаленный хост позволит вам измерить задержку сети (отвечает этот хост). Это не даст вам полезной информации о доступной пропускной способности по сравнению с этим сетевым подключением.

Ответ 7

Как говорили другие, ping сообщит вам о задержке, но не о пропускной способности.
Попробуйте netperf. http://www.netperf.org/netperf/. Возможно, вам придется указать конкретные параметры (например, TCP/UDP) и т.д.