Задать вопрос
@pavel_u025

От чего зависит время пинга?

Я изучал сети, и столкнулся с вопросом, от чего зависит время пинга (round-trip time)? В статьях о пинге говориться что время RTT не зависит от скорости сети. Но, потом я вычитал, что есть такое понятие как "bit time" которое определяет с какой скоростью передается бит на NIC. То есть условно, если скорость порта будет 10mbit, то скорость передачи битов равняется bit time = 1 / 10mbit. И как известно провайдеры могут искусственно замедлить скорость сети, так вот, будет ли влиять это замедление на RTT пинга? Если нет, объясните пожалуйста, как это работает.
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
Не надо путать задержку и пропускную способность.

RTT - это задержка.
То что измеряется в битах в секунду - это пропускная способность.

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

В сетях и на то и на другое влияет очень много факторов:
1. Количество узлов между отправителем и получателем. Больше узлов - больше задержка
2. Производительность этих узлов. Чем ниже производительность - тем выше минимальная задержка и меньше пропускная способность.
3. Нагрузка на каналы связи. При высокой нагрузке будет расти задержка, так как данные будут вставать в очередь (а может и не будут вставать в очередь - они вполне могут просто отбрасываться и тогда будет тот самый packet loss)
4. То, как эти узлы обрабатывают данные, которые через них проходят. Меньше всяких проверок - меньше задержка.
5. Физическая среда и физическая длина кабелей. Чем длиннее физический путь и чем хуже среда, тем выше задержка.
Скорость передачи сигнала в оптике, меди, и по беспроводу отличается.

Как будет влиять замедление от провайдера - сильно зависит от выбранной стратегии.
Может увеличится rtt, а может будет packet loss.
Ответ написан
@Akina
Сетевой и системный админ, SQL-программист.
На самом деле время пинга складывается из нескольких составляющих. Основные две из них:

- время, которое тратится промежуточными узлами на передачу до пингуемого узла и обратно;
- время, которое пингуемый узел тратит на обработку запроса и формирование/отправку ответа.

Именно это порождает порой забавные артефакты. Смотришь трассировку, и видишь, что пинг промежуточных узлов в основном медленно растёт по мере их удаления, но встречаются случаи, когда время пинга следующего узла меньше, чем предыдущего. А всё просто - предыдущий узел перегружен функциями, ответ на пинг имеет наименьший приоритет, потому узел сперва сделал всё нужное, и только потом ответил. А порой и не ответил вообще, или отвечает через раз.

Что самое противное, ни одну из этих составляющих нельзя измерить надёжно. А тебя по большому счёту, интересует только первая из названных составляющих. Даже на время реакции целевого, конечного, узла можно начхать - на TCP/UDP он будет реагировать гораздо шустрее, чем на пинг, а если будет тормозить, то отвечающий софт, а не передача.

А на скорость передачи не заморачивайтесь. Пакетики в пинге короткие, частота передачи высокая, так что время передачи пакета от узла к узлу по медному или оптическому кабелю в подавляющем большинстве случаев просто меньше точности измерения времени.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Компьютерные сети
software engineer
Конечно скорость пинга зависит в том числе и от пропускной способности.
Но в современных сетях этим можно пренебрегать. Сетевой пакет пингов очень маленький и скорость его передачи даже на 1 мбите уже практически не влияет на показатель. А сейчас сети обычно от 100 мбит.

В основном скорость пинга зависит от количества хопов и частично расстояния между ними.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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