@SergeyAfonin

Почему короткий пинг и долгий UDP Москва — Хельсинки?

Короткие TCP/IP и пинг между Москвой и Хельсинки проходят в среднем за 40мс. Длинный UDP блок 12288 байт имеет задержку до секунды. Кто знает причину и как устранить? Если урезать блок, то до какой длины?
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Причина - размер пакета, который по пути приходится сначала фрагментировать, а на месте склеивать обратно. Чем тупее железка - тем для неё это сложнее. Если нет возможности это настроить на уровне приложения/ОС, можете попробовать прокинуть туннель, который будет сам этим заниматься, отправляя в интернет уже нормального размера пакеты. Стандарт - 1500 (1460) байт.
Ответ написан
CityCat4
@CityCat4
Если я чешу в затылке - не беда!
Причин две:
1. Протокол UDP не имеет механизма подтверждения приема пакета, он задумывался как альтернатива TCP для тех случаев, когда подтверждение не нужно. Если пакет пропал по дороге, он просто передается заново (если протоколы верхнего уровня обнаружат его отсутствие, конечно же). Именно из-за этого возникает характерное "бульканье" при переговорах по SIP-телефонам. Если пакет пропал, то протокол верхнего уровня может его запросить заново (если он сам отслеживает порядок следования) и пока не получит, будет долбиться
2. Фрагментирование на устройствах во время передачи. Достаточно на всем пути следования попасться одному устройству с маленьким MTU - и все, приплыли, пакет будет разбиваться на части, которые в него полезут. Железка на передачу выделяет буфер размером не менее пакета, железка на передачу тоже и начинает принимать куски до тех пор, пока не примет весь пакет (если что-то пошло не так, все начинается сначала). Чем больше пакет, тем больше риск, что он повредится по дороге и будет передаваться заново.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы