Интернет-ликбез: Поговорим о пинге

Автор
Опубликовано: 142 дня назад (19 июля 2016)
Редактировалось: 3 раза — последний 29 июля 2016
+1
Голосов: 1
Около года назад я написал здесь небольшую статейку о том, как именно работает WiFi, почему он может «тормозить» и как этого можно избежать. За последние месяцы мне не раз приходилось разговаривать с абонентами нашей компании, разъясняя им те или иные моменты, однако, не всегда это получалось удачно ввиду ограничений телефонного разговора. Поэтому, я решил начать своего рода «цикл статей» о том, как же именно работает интернет, что значат некоторые из принятых в нем терминов, а также пояснить некоторые сложные моменты.
Сегодня я хотел бы поговорить о таком понятии как «ping», а именно, понять, что такое пинг, как его измерять, отчего зависит его величина и на что она влияет.

Что это за зверь такой?

Итак, для начала, давайте разберемся – что такое этот самый «пинг». Данным термином называют результат измерения времени прохождения пакета данных до сервера и обратно. Проще говоря – сколько времени нужно данным, чтобы пройти путь от вашего компьютера до какого-нибудь сервера и обратно.

Для кого важен пинг?

Если интернет для вас – средство для просмотра онлайн видео, чтения новостей и листания страниц в социальных сетях, то можете эту статью не читать – пользы от нее будет мало. Также, пинг не имеет значения в подавляющем большинстве онлайн-игр для браузеров. Какая разница – соберется ли капуста в «Веселом фермере» через 0.05 секунды или через секунду?
""
Для чего вообще может понадобиться пинг? В первую очередь, этим значением озабочены любители онлайн-игр, ведь именно от пинга напрямую зависит, насколько быстро будет реагировать ваш игровой персонаж на ваши действия. Возьмем какую-нибудь динамическую «стрелялку» - если пинг до игрового сервера высок, то между тем, как вы нажали кнопку выстрела и самим выстрелом может пройти достаточно большое время, в результате, пока команда шла до сервера, мишень может попросту убежать. Теперь мы можем понять, что, чем значение пинга меньше, тем лучше.

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

Само же значение зависит от множества факторов, однако, наиболее весомым является расстояние от вас до игрового сервера – чем он ближе, тем меньшее расстояние нужно пройти импульсу и тем ниже будет пинг. В сети Uplink среднее значение пинга до серверов в Москве составляет около 55мс, до серверов в Европе – 85мс, а до серверов в Костанае… 2мс.
Однако, расстояние – далеко не единственный фактор, который влияет на данное значение. Многое зависит от загруженности магистралей (если они перегружены, то ваш пакет будет некоторое время «стоять на месте», ожидая своей очереди на отправку), от самих маршрутов (интернет – структура сложная и иногда, чтобы достичь сервера в соседнем здании, пакету приходится отправить в кругосветку).
Таким образом, мы определили три фактора, влияющие на пинг:
1) Расстояние до игрового сервера;
2) Загруженность магистрали;
3) Качество маршрута.

Как можно повлиять на пинг?

Итак, как же можно уменьшить пинг? На самом деле, задача эта не из легких, хотя бы потому, что большая часть факторов, упомянутых ранее, вне контроля обычного абонента, однако, определенный выход из ситуации все же есть:
1. Расстояние до сервера вам не изменить, но вы можете выбрать другой! Как правило, большая часть современных онлайн-игр предлагает несколько серверов, давая игрокам возможность переключаться между ними. Наиболее ярким примеров является пресловутый World Of Tanks, где выбор сервера производится при запуске игры. Выясните, пинг до какого сервера меньше и выберите соответствующий;
2. Загруженность магистрали. Тут, на самом деле, сделать ничего не получится, но! Не стоит забывать, что ваша квартира – точно такая же часть магистрали, как и какой-нибудь подводный кабель, идущий по дну Тихого Океана. Нередко, именно в квартире возникает большая часть проблем с линией. Как же с ними справиться? Во-первых, если вы используете для игр ноутбук, подключите его кабелем, а не используйте WiFi. Кто бы что ни говорил, но WiFi – это отличная технология для просмотра Youtube в туалете, но никак не больше. Забитый эфир, бюджетные роутеры (ибо другие в наших широтах не обитают) и повальное использование стандартов 802.11b/g/n, не оставляют и шанса на стабильную работу WiFi у кого бы то ни было. Естественно, вполне возможно, что вам повезло и никаких проблем вы не испытаете, но лучше всего перестраховаться;
3. А вот на качество маршрута вам никак не повлиять. Более того, ваш провайдер тоже, скорее всего, окажется бессилен, разве что может обратиться к «магистралу» и запросить у него оптимизацию маршрута. В ряде случаев это дает плоды.
Также, не стоит забывать о том, что измерение пинга – процесс сугубо синтетический. Он может «скакать» не потому, что есть проблема с соединением, а потому, что ваш компьютер был слишком занят своими делами и не принял пакет своевременно – регулярно производите антивирусные проверки, держите технику в порядке, убедитесь, что ваш ПК подходит под системные требования игры, а его процессор и оперативная память не загружены невесть какими задачами. Наконец, не пытайтесь выкручивать настройка игры на максимум, если у вас ноутбук на процессоре а-ля AMD E1 или E300 – в таком случае разве что молитва поможет… и то, не факт…

Какое значение пинга можно считать нормальным?

Безусловно, чем пинг меньше, тем лучше, но не стоит терять голову из-за того, что заветная цифра выросла на 1-2 мс. В первую очередь, стоит определить, несколько важен быстрый отклик в игре, в которую вы играете.
1. Различные стратегии. Если кто-то до сих пор продолжает играть в игры подобного жанра, то они прекрасно понимают – пинг здесь играет чуть ли не последнее значение. Даже если ваш отряд будет отправляться к цели на секунду позже – это мало на что повлияет;
2. Ролевые игры (World Of Warcraft, Lineage, Perfect World, Dota2 и т.д.). Здесь пинг уже имеет какое-никакое значение, но становиться фанатиком этого параметра все же не стоит – если вы бафните кого-нибудь на четверть секунды (250мс) позднее, ничего страшного не произойдет;
3. Шутеры малой динамики (World Of Tanks и другие симуляторы тяжелой техники). Здесь пинг уже критичен, но не так, как в последнем пункте. Более того, многое зависит от того, как именно вы играете. Например, если в вашем арсенале тяжелый танк, который оборот башни делает за минуту, то стремиться за низким пингом вовсе не обязательно – неторопливость никуда не денется. С другой стороны, если вы носитесь на «елке» или играете на артиллерии, которая пытается в эту «елку» прицелиться, то низкое значение пинга может решить очень и очень многое.
4. Динамические шутеры (Counter Strike, Unreal Tournament, Warface и т.д.). Здесь все просто – ниже цифра, комфортнее игра. Без компромиссов и уточнений.

Нет предела совершенству… или есть?

В бытность работы в Казтелекоме, мне попался «танкист», который сетовал на то, что его пинг в игре на целых 5мс больше, чем у его соседа этажом выше. Причем, шума было достаточно много, включая жалобы на то, что именно из-за этих 5мс он продувает почти каждый бой.
Во-первых, что такое 5мс? Если вы не сверхчеловек, то такое значение и вовсе незаметно. Чего уж там, даже звук щелчка пальцами длится в несколько раз дольше.
Давайте немного отойдем от темы и углубимся в физиологию. Скорость прохождения импульсов по человеческому телу колеблется от 1 до 100 метров в секунду (в зависимости от толщины нервных волокон). Если здесь есть кто-нибудь, соображающий в нейробиологии, может быть меня поправят, но насколько мне известно, у человека со средним (180см) ростом, время прохождения нервного импульса из пятки в мозг, занимает около 80мс. Проще говоря, если кто-то воткнет вам иголку в пятку, то только через 0.08 секунды мозг отдаст команду ноге отдернуться от иголки, еще через 0.08 секунды нога действительно начнет дергаться, а еще через 0.2-0.3 секунды придет РЕАЛЬНОЕ осознание того, что пятке «бобо». Итого, на то, чтобы осознать повреждение вашего тела, вашему организму придется потратить 0.4-0.5 секунды. Другими словами, 400-500мс – и есть ваш пинг «до пятки».
Само собой, в играх все обстоит несколько иначе. Во-первых, вы подготовлены к возможной ситуации, а во-вторых, можете действовать на опережение, видя, как цель приближается к точке выстрела (например, в шутере). Однако, в большинстве случаев, значения ниже 85мс невозможно ощутить уже чисто с физиологической точки зрения (значение ниже, хотя бы потому, что глаза находятся к мозгу ощутимо ближе, чем пятка). Если вы считаете иначе, то это значит, что нервные импульсы в вашем теле движутся быстрее скорости света, а вы, самим фактом своего существования, разрываете пространственно-временной континуум, на фоне чего, пропущенный в шутере фраг уже не кажется такой уж значимой проблемой.

Почему высокий пинг не страшен?

Как я уже говорил, зацикливаться на пинге не стоит и на то есть как минимум две причины.
Во-первых, мозг умеет адаптироваться. Если он понимает, что действие происходит с некой задержкой, то со временем он начнет отдавать команду чуть раньше (на опережение). Во-вторых, большинство современных игр имеют так называемые компенсаторы пинга – алгоритмы, которые сводят к минимуму отрицательные моменты от задержки. Особенно явно (и, даже, топорно) это ощущается в том же Warface – где вы можете забежать в укрытие и уже потом, через полсекунды, «схватить пулю», которая была выпущена в вас игроком с высоким пингом.

Почему высокий пинг все-таки страшен?

Но не все так однозначно. Помимо того, что пакету с командой нужно преодолеть путь до сервера, последнему еще требуется время на обработку этой команды, которое (в зависимости от загруженности), может также повлиять на игру.
Представьте ситуацию: вы играете в игру с пингом 55мс, сервер которой перегружен и обрабатывает команды с задержкой в 55мс. В результате, реальный отклик будет происходить уже через 110мс. А ведь это достаточно «щадящий» пример – на деле все бывает гораздо хуже. Особенно когда речь идет о тяжелых проектах, вроде CS:GO, сконструированных социопатом, ненавидящим людей: сервер, на котором играет весь СНГ находится в Стокгольме, сервера перегружены, а внутренняя сеть Valve только при передаче данных добавляет около 30мс.

Как найти виноватого?

Давайте рассмотрим реальный пример и поймем, кого же винить в том, что вы играете не так хорошо, как вам хотелось бы. Возьмем ситуацию с играми от все той же Valve – около недели назад нам начали периодически поступать жалобы о том, что пинг в игре вырос с 85 до 110мс. В первую очередь, хочется сказать, что 0.025 секунды – далеко не тот временной промежуток, о котором стоит беспокоиться, но, тем не менее, захотелось понять, что произошло.
Так как у нас в компании уже давно никто ничего в архитектура сети не трогал, сразу решили «копать» дальше. И вот что откопали…
Как я уже говорил, сервера Valve, которой принадлежит Steam, а также разнообразные Dota2, CS:GO, Team Fortress2 и пр., находятся в Стокгольме и играет на них все СНГ (для Европы используются другие сервера). В частности, нас интересует сервер с адресом:
185.25.180.1
Пробуем измерить пинг:
""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.

Видим, что среднее значение: 115мс. Теперь смотрим, как именно «путешествует» пакет:
""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.

Как я говорил ранее, в нашей сети пинг до Европы составляет 80-85мс. И что же мы видим? Мы видим, что именно за такое время пакет доходит до дата-центра Valve, а вот уже в нем «блуждает» еще 35мс. Какой вывод? Ни наша компания, ни вышестоящий «магистрал», ничего с этим сделать не могут. Если кто-то и способен вернуть старое значение, то только сама Valve. Само собой, данная проблема будет наблюдаться и у любого другого провайдера в СНГ, ибо задержка происходит в дата-центре, содержащем сервера игр. Можете кричать, рвать на себе волосы, обкладывать матом вашего провайдера – лучше от этого ничего не станет.
Однако, не стоит забывать о том, что 0.035 секунды – это очень малый промежуток. Если бы не поле, показывающее пинг, вы бы ее и не ощутили. Если проблема реальна, а не надумана вашей фантазией, ей может быть два объяснения:
1) У вас есть проблема с компьютером. Если игра лагает (замирает на несколько секунд, даже меню нельзя открыть), компьютер постоянно шуршит жестким диском и т.п., то задумайтесь над техобслуживанием;
2) Игровые сервера перегружены. Нет ничего удивительного в том, что Россия, Казахстан, а также ряд других стран, своим объемом попросту «заваливают» игровой сервер. Если игра ведет себя по-разному в разное время суток, то скорее всего именно это объяснение будет самым верным.

Что еще важно?

О пинге знает каждый любитель онлайн-игр, но далеко не всем известно такое понятие как jitter. На самом деле, именно оно создает большую часть проблем в играх, сбивая с толку как игроков, так и алгоритмы компенсации высокого пинга.
Джиттер – это разница между скоростью «дохождения» пакетов. Если этот показатель высок (более 10%), то игра, вероятнее всего, будет некомфортной. Рассмотрим все тот же сервер Valve. Как вы можете заметить, разница между скоростью доставки у него достигает 40мс, что примерно 30% от времени пинга.
""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.

Наконец, иногда происходят потери пакетов – команда и вовсе не доходит до сервера. Если в такие моменты пинговать сервер, то появляется строка в стиле: «Превышен интервал ожидания для запроса». Если потери происходят в самых разных направлениях и составляют более 2% от всех отправленных пакетов, то это уже повод обратиться в техподдержку.

Собственно, вот и все, наверное – итак получилось больше, чем планировал. Если у вас возникли какие-либо вопросы, отписывайте в комментариях – буду рад ответить.
Комментарии (0)

Нет комментариев. Ваш будет первым!

Добавить комментарий