Потеря пакетов интернета как исправить

от admin

Как исправить потерю пакетов

Потеря пакета происходит, когда ваше сетевое соединение теряет информацию во время передачи. Это может заставить ваше сетевое соединение казаться медленнее, чем должно быть, и снижает надежность сетевого взаимодействия как с локальными, так и с удаленными устройствами. Остановка потери пакетов должна быть на вершине списка для всех, кто хочет улучшить проблемную сеть.

Что такое потеря пакетов?

Хотя проточная вода часто используется в качестве аналогии для сетевого трафика, информация не передается по сети в виде непрерывного потока. Скорее, он отправляется в виде серии отдельных блоков, называемых пакетами . Эти блоки похожи на отдельные страницы в книге. Вместе они имеют некоторый смысл, но только когда они связаны с другими страницами в правильном порядке, они создают единое целое. Когда ваше сетевое соединение теряет пакеты, полная книга не может быть построена. Пакеты также могут доставляться неполными, поврежденными или иными дефектами, что делает их бесполезными. Решением этой проблемы обычно является повторная отправка потерянного пакета.

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

Если вы видите более высокие уровни потери пакетов в вашей сети, вам нужно предпринять шаги, чтобы это исправить. Возвращаясь к нашей аналогии с водой, значительная потеря пакетов напоминает плохо протекающую трубу. Это должно быть исправлено, прежде чем любые другие улучшения могут быть сделаны.

Что вызывает потерю пакетов в вашей сети

Потеря пакета происходит не только по одной причине. Диагностика причины потери пакетов в вашей сети покажет вам, что вам нужно исправить.

  • Пропускная способность сети и перегрузка . Основной причиной потери пакетов является недостаточная пропускная способность сети для требуемого соединения. Это происходит, когда слишком много устройств пытаются установить связь в одной сети.
  • Недостаточно мощное оборудование. Любое оборудование в сети, которое маршрутизирует пакеты, может привести к потере пакетов. Маршрутизаторы, коммутаторы, брандмауэры и другие аппаратные устройства являются наиболее уязвимыми. Если они не могут «идти в ногу» с трафиком, который вы передаете через них, они будут отбрасывать пакеты. Думайте об этом как официанте с полными руками: если вы попросите их взять другую тарелку, они, вероятно, уронят одну или несколько других тарелок.
  • Поврежденные кабели. Потеря пакетов может произойти на уровне 1, физическом сетевом уровне. Если ваши кабели Ethernet повреждены, неправильно подключены или слишком медленны для обработки сетевого трафика, они будут «пропускать» пакеты.
  • Программные ошибки: ни одно программное обеспечение не является безупречным. Микропрограмма вашего сетевого оборудования или программного обеспечения вашего компьютера может содержать ошибки, которые могут привести к потере пакетов. В этом случае потребитель мало что может сделать. Вы можете попытаться решить проблему самостоятельно, но часто единственным способом решения проблемы является исправление микропрограммы от поставщика, поставляющего оборудование. Обязательно сообщайте о предполагаемых ошибках, чтобы найти поставщиков, которые помогут решить проблему.

Обнаружение потери пакета

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

    В Windows откройте окно командной строки и используйте команду ping для настройки вашего маршрутизатора. Например, если локальный IP-адрес вашего маршрутизатора 127.0.0.1, следующая команда будет проверять связь с маршрутизатором:

В macOS или Linux откройте окно терминала и используйте следующую команду:

В Windows вы можете использовать tcpdump через оболочку Bash в Windows 10 или запустить Wireshark.

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

Определение причины потери пакета

Чтобы определить основную причину потери пакетов, вы должны начать с самой простой проблемы, чтобы обнаружить и вернуться обратно.

Сначала проверьте соединение Ethernet между устройствами. Проверьте наличие явных признаков физического повреждения и неправильного подключения. Эти кабели работают правильно? Решает ли переключение кабелей проблему? Проверьте маршрутизаторы и коммутаторы аналогичным образом.

Во-вторых, определите, достаточно ли пропускной способности для обработки необходимых устройств в вашей сети. Является ли какой-либо один аппаратный элемент обработкой значительно большего количества соединений, чем следует? Это часто процесс поиска и замены, пока проблема не решится. Вы также можете использовать «заведомо исправный» коммутатор и маршрутизатор, поменяв его местами с потенциально проблемными устройствами в сети, чтобы увидеть, исчезает ли потеря пакетов при удалении определенного устройства.

Как исправить потерю пакетов в вашей сети

Как только вы определили причину потери пакета, есть два исправления, которые могут быть применены.

Первый включает в себя замену проблемного оборудования. Если ваше расследование привело к неправильной работе устройства, замените его.

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

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

Проверяем и исправляем потерю пакетов интернета

Фото 16

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

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

Что это такое и как они теряются

Пакеты — это блоки данных определенного размера, которые отправляет или получает компьютер при доступе к контенту через Интернет.

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

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

Почему пакеты теряются и как это исправить

Существует масса причин, влияющих на доставку информации. Разберем каждую из них.

Программное обеспечение

Ошибки на стороне программного обеспечения являются основной причиной возникновения сбоев.

Если проблема потери пакетов начала появляться после обновления Windows 10, драйверов или конкретных приложений, то верните все к первоначальному состоянию. Windows позволяет удалять последние обновления, выполнить откат драйверов можно через диспетчер устройств, а игру или программу придется переустановить.

откат драйвера

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

Неисправность оборудования

Неисправное или устаревшее оборудование также способно вызывать ряд проблем. Поэтому убедитесь, что используемый маршрутизатор, роутер или хаб исправен.

Попробуйте обновить прошивку. Это делается через панель настроек, которая обычно доступна по адресу «192.168.1.1 или 192.168.0.1», но могут использоваться и другие адреса. Скачать актуальную версию прошивки можно с сайта производителя устройства. Только будьте внимательны, загружайте ПО конкретно для вашей модели роутера.

обновление прошивки роутера

Проверьте состояние материнской платы, LAN разъема и кабеля. При необходимости выполните ремонт или замену. Если кабель новый, то это не гарантия его исправности. Часто при обжиме кабеля могут допустить ошибки, что в конечном итоге повлияет на работоспособность.

Перегрузка

У каждой сети есть лимит пропускной способности, при достижении которого сеть считается перегруженной.

Возникает эта ситуация при увеличении трафика. Особенно это заметно в вечернее время, когда пользователи приходят с работы или учебы и начинают пользоваться интернетом.

Чтобы сеть полностью не рухнула, она сбрасывает или игнорирует блоки данных, которые находятся в очереди на отправку.

Узнать, действительно ли потеря интернет пакетов возникает из-за перегрузки можно у специалистов технической поддержки провайдера или через командную строку, но об этом поговорим ниже.

Сетевая атака

Сетевые атаки, такие как (DoS), могут быть причиной возникновения сбоев. Этот тип атаки предназначен для перегрузки сети, в результате которой происходит сбрасывание пакетов, падает скорость загрузки, увеличивается время доступа к файлам, и сеть становится более уязвимой.

dos атака

Кроме того, злоумышленники, получившие контроль над маршрутизатором способны намеренно отправлять команды для сброса интернет пакетов в общий поток данных. Большие потери говорят о возможной кибератаке.

Поэтому важно отслеживать сетевой трафик и определять, есть ли дополнительная активность.

Влияние типов подключения

Существует два типа подключения: проводной и беспроводной (Wi-Fi, USB модемы).

типы подключения

  • Проводной тип подразумевает использование кабеля для подключения к интернету. Главным преимуществом является стабильность работы и дешевизна, поскольку нет необходимости приобретать роутер.
  • Беспроводной (Wi-Fi, USB модемы) удобен для подключения к интернету на расстоянии, но сильно зависим от качества сигнала.

Внимание! На работу беспроводных сетей влияют радиочастотные помехи, отдаленность от источника сигнала и исправность устройства.

Ознакомьтесь с документацией к роутеру и убедитесь, что он способен поддерживать хороший уровень качества сигнала при использовании Wi-Fi на дальнем расстоянии. Также некоторые типы маршрутизаторов, особенно бюджетных плохо передают сигнал через стены и двери.

Вредоносные программы

Компьютерные вирусы и рекламное ПО также способно приводить к потере интернет пакетов. Вредоносное ПО работает в фоновом режиме и скрытно передает огромное количество информации. В итоге интернет-канал забивается и сеть падает.

Некоторые провайдеры блокируют пользователей, создающих большую нагрузку на канал. И возобновляют доступ только после удаления вирусов.

kaspersky антивирусный сканер

Читайте о самых эффективных антивирусных сканерах для проверки Пк на наличие угроз.

Проверка скорости интернета

Увидеть проблему с пакетами поможет обычная проверка скорости интернета. Для этого достаточно воспользоваться любым онлайн сервисом, например, «Speedtest».

проверка скорости интернета

Если проверка проводится несколькими сервисами, то будьте готовы к разным результатам. На итоговую скорость влияют множество факторов, и основным из них является расстояние.

Например, если пользователь находится в точке «А — Москва» и обращается к точке «Б — Китай», то, скорее всего, скорость будет ниже той, которую заявляет провайдер. И это нормально.

Но если пользователь из Москвы обращается к серверу из Казахстана или другого ближнего региона и онлайн тест показывает скорость на 30% или ниже заявленной, то это говорит о наличии проблемы. В таком случае следует обратиться за разъяснением причины к провайдеру.

Проверка через командную строку

Более продвинутым вариантом проверки сети является тестирование через командную строку.

Для этого выполните следующее:

  1. Комбинацией «WIN+R» вызовите окно «Выполнить», введите в строку cmd и нажмите «Ок». Запустится командная строка. команда cmd
  2. Введите команду tracert onoutbukax.ru и нажмите «Enter». Вместо «onoutbukax.ru» можно указать любой другой адрес сайта или IP сервера, к которому необходимо получить доступ. команда tracert
  3. Дождитесь завершения процедуры.

Также можно воспользоваться стандартной командой ping onoutbukax.ru -n 30 для отправки 30 пакетов.

Но преимущество трассировки в том, что с помощью нее можно посмотреть, на каком шаге произошла потеря пакета. И дальше предпринять конкретные действия для устранения проблемы.

Анализ результатов

По окончанию процедуры отобразится маршрут отправленного пакета.

анализ результатов tracert

  1. Отправной точкой с цифрой «1» является маршрутизатор (роутер). На этом шаге не должно быть задержек и ошибок. Время доступа должно составлять не более 3 мс. Если время больше, то проблема находится на стороне маршрутизатора.
  2. Под цифрами «2-3», а иногда и «4-5» находятся сервера провайдера. Здесь также не должно быть сообщений об ошибках, звездочек и большого времени доступа (в идеале 1 мс).
  3. Далее идет обращение к другим серверами. Это нормально, если время ответа от сервера увеличивается с каждым шагом. Возможно появление звездочек и сообщений о превышении интервала ожидания, что говорит о потере интернет пакета.

Если проблема оказалась на стороне нужного сервера, то стоит убедиться в том, что провайдер не блокирует к нему доступ. Для этого следует воспользоваться VPN сервисом.

Также не исключено, что сервер временно недоступен, тогда следует повторить тест на потерю пакетов интернета немного позже.

Проверка через онлайн сервис Packetlosstest

Для удобства пользователей был разработан бесплатный сервис «Packetlosstest», позволяющий выполнить тестирование интернет-подключения в режиме онлайн.

Как им пользоваться:

  1. Зайдите на официальный сайт и нажмите «Start Test». проверяем потерю интернет пакетов онлайн сервисом packetlosstest
  2. Дождитесь окончания процедуры, и обратите внимание на результаты в колонке «Upload Packet Loss» и «Download Packet Loss». Первый отвечает за загрузку, второй за скачивание. В идеале их значение должно равняться 0. результаты теста

Сервис хорош тем, что позволяет управлять настройками. Например, регулируя размер пакетов «Packet Sizes» можно определить, как происходит доставка малых и больших данных.

Также присутствует готовый набор настроек для определенных игр и приложений.

Онлайн тест через сервис «Freeola»

В отличии от предыдущего онлайн ресурса, «Freeola» максимально прост. Для запуска теста на потерю пакетов нужно зайти на официальный сайт и нажать кнопку «Start Broadband Line Test Now».

кнопка старта

Дождитесь завершения тестирования и обратите внимание на три параметра.

результаты freeola

  • Packets Lost – отображает количество утерянной информации. Значение должно быть сведено к 0.
  • Latency – задержка. Отображает время, которое требуется данным чтобы добраться от одного пункта до другого. Идеальная задержка – 0-25 мс. Средняя – 100 мс.
  • Jitter – это разница в задержке между пакетами, отправляемыми по сети. Как правило, Jitter должен быть ниже 25 миллисекунд.

Программы для мониторинга

Использование специализированных инструментов позволяет мониторить сеть и выявлять оборудование, вызывающее сбои. Разберем популярные их них.

SolarWinds N-Central

Одна из лучших программ для проверки и мониторинга сети. С ее помощью можно отследить сотни устройств и определить неисправные. Это позволит не только устранить проблему с потерей интернет пакетов, но и наладить работу устройства.

SolarWinds

Бесплатный период использования 30 дней.

Paessler PRTG

Это комплексное решение для мониторинга инфраструктуры. Обладает простым, понятным интерфейсом и всеми современными механизмами для эффективного поиска и устранения проблем.

Paessler PRTG

Приложение доступно для бесплатного использования в течении 30 дней.

ManageEngine OpManager

Многофункциональная программа для управления сетью. Включает в себя функцию мониторинга, анализа пропускной способности, управления конфигурацией и устранения неисправностей. Идеально подходит как для домашнего, так и для коммерческого использования.

OpManager

Включена поддержка Windows 10-7, Linux и Windows Server.

Период бесплатного использования составляет 30 дней.

EMCO Ping Monitor

Фото 17

Утилита EMCO Ping Monitor позволяет без труда осуществлять наблюдение за соединениями пользователя. При этом контролировать с ее помощью можно не только скорость, с которой информация загружается и выгружается, но и общее состояние соединения.

Данный цифровой инструмент применяет технологию ICPM для оценки качества различных сетевых факторов, среди которых:

  • потеря пакетов;
  • ping;
  • jiter;
  • задержка.

Важно! Механизмы внутри приложения позволяют эффективно производить мониторинг более 8000 всевозможных хостов. При этом точность доходит до 0,01 мс.

Скачать EMCO Ping Monitor можно, перейдя на официальный интернет-ресурс производителя.

iPerf3

Фото 18

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

  • временных значений;
  • буферов;
  • протоколов.

Утилита содержит довольно много функций, позволяющих проверять сетевую статистику и измерять пропускную способность MTU.

Скачать программу iPerf3 можно с официального сайта компании-разработчика. На сайте присутствуют версии для всех актуальных систем.

Дополнительные способы решения

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

  1. Обновите Windows и сетевые драйвера до последней версии. Инструкция по обновлению драйверов.
  2. Подсоедините сетевой кабель напрямую к Пк.
  3. Отключите от роутера дополнительные устройства (телефоны, планшеты и т.д.).
  4. Выключите маршрутизатор на 10 минут и снова включите.
  5. Выполните сброс настроек маршрутизатора. Для этого нужно воспользоваться веб-интерфейсом или специальной кнопкой «Reset».
  6. Отключите устройства, способные вызывать помехи. Камеры, беспроводные колонки, телефоны и т.д.
  7. Если проблема с онлайн играми (CS, дота 2 и прочими), то убедитесь, что сервер, к которому идет подключение доступен и работает без сбоев.

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

Проверка потери пакетов интернета онлайн или через командную строку

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

Что такое пакеты и как они теряются

Пакет — это блок данных, строгой структуры, размер которых обычно не превышает 64000 байт, а чаще всего меньше. Используются они для более эффективной передачи данных, что обеспечивает высокое качество подключения к сети.

 Пример потерь в игре

Обмен пакетами в интернете производится с помощью стека протоколов TCP/IP( TCP — протокол обмена передачей / IP — межсетевой протокол). Это несколько протоколов, которые обеспечивают online передачу данных, определяют их форму, способ отправки и так далее.

 TCP-IP-схема. Подробная схема стека протоколов TCP/IP

Так же, под IP понимают адрес какого-либо ресурса непосредственно в интернете. При попытке обращения к этому ресурсу по адресу (IP) высылаются пакеты данных. Чтобы эти данные не терялись и не дублировались, их контролирует протокол обмена (TCP). Если данные были доставлены, адрес в свою очередь отправляет ответные пакеты. При успешном обмене отображается скорость, называемая пингом (ping). На любом этапе может произойти ошибка, что будет являться потерей пакета.

При обнаружении проблемы с соединением, качеством контента приложения любой поисковик может выдавать фразу «потеря пакетов интернета, как исправить» и многие другие, не особо помогающие разобраться вещи. Чтобы исправить проблему, нужно прежде всего узнать причину.

Почему теряются пакеты

Есть несколько причин потери пакетов, каждой будет уделено внимание.

  • Ошибки программного обеспечения,
  • Проблемы оборудования(железа),
  • Перегруженность сети,
  • Беспроводные и проводные сети,
  • Кибернетическая атака.

Важно! Каждая сеть сталкивается с этой проблемой. Это случается время от времени, в особенности из-за высокой скорости передачи. Если это не вызывает никаких негативных последствий, то не стоит обращать на это внимание.

Ошибки программного обеспечения

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

Проблемы оборудования (железа)

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

Перегруженность сети

При достижении пика пропускной способности сеть считают перегруженной. Это происходит, когда возрастает количество трафика. Пакеты формируют очередь и ждут пока их доставят. Но если сеть доставляет их очень медленно, то сеть не может хранить много данных в «подвешенном» состоянии, то они отбрасываются или игнорируются, чтобы сеть могла продолжить работу. Можно сравнить с дорожным трафиком, когда четырехполосное движение стягивается в двухполосное, только вместо часовой пробки, просто выкинув часть машин из потока. Определить самостоятельно эту проблему достаточно сложно.

Беспроводные и проводные сети

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

Беспроводное подключение Проблемы беспроводных сетей

Проблемы, которые могут влиять на беспроводные сети:

  • слабый сигнал
  • ограничения по расстоянию для приема сигнала
  • роуминг

При проводных сетях, проблемой могут стать неисправно работающие кабеля. Это может быть связано с неправильным подключением или механическим повреждением кабеля. Узнать можно с помощью тщательной проверки ПК и кабелей.

Кибернетическая атака

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

Проверка скорости

Чтобы понять причину потери пакетов, нужно определить является проблемой внешний источник или локальный. Первое, что можно сделать, это сопоставить реальную скорость интернета с заявленной провайдером.

Обратите внимание! Перед замером скорости нужно отключить все сторонние программы, которые как-либо используют сеть. Также стоит учесть время суток, так как в вечернее время нагрузка на сеть возрастает.

Для проверки подойдёт любой сайт предоставляющий тест скорости, например https://www.speedtest.net. Разные сервисы могут показывать разную скорость, необходимо провести тесты на нескольких сайтах. Небольшие отклонения в скорости нормальны, но если различие составляет от 30% и выше — стоит обратиться к провайдеру за разъяснением причин.

Читать:
Как переключить микрофон с ноутбука на наушники

Сам по себе тест малоинформативен, однако дает базовую информацию. Если скорость соответствует заявленной провайдером или близка к ней, следует продолжить проверку. Более подробную информацию можно посмотреть из командной строки, но есть онлайн ресурсы, которые предоставляют подобный функционал. Проблема таких ресурсов может быть в ограниченности и недостоверности данных.

Проверка при помощи командной строки

Более детальную информацию можно достать средствами операционной системы. Ручная проверка потери пакетов осуществляется через командную строку. Вызов и команды будут рассмотрены на примере os Windows, а также ниже приведены аналогичные команды для Linux и MacOS.

Для открытия командной строки в Windows нужно:

  1. Открыть панель задач (по умолчанию находится внизу экрана).
  2. Нажать кнопку поиска.
  3. Ввести cmd или командная строка.

Обратите внимание! Для Linux достаточно ввести сочетание клавиш Ctrl+Alt+F1, для MacOS Shift+Command+U.

В первую очередь, определить потерю возможно с помощью команды ping. Она предназначена для тестирования доставки пакетов. По умолчанию отправляются 4 пакета объемом в 32 байта.

 Простая проверка. Пример потери пакетов без дополнительных параметров

Для проверки требуется ввести в поле командной строки «ping». Начать проверку стоит с собственным частным IP-адресом, это поможет определить, является ли проблема локальной. Узнавать его можно через поисковик или при помощи командной строки. Введите «ipconfig», найти строку «IPv4-адрес». Перепишите этот адрес после команды ping.

Далее можно обратиться к серверам крупных компаний, так как они являются наиболее стабильными. Попробуйте несколько:

  • ping ya.ru,
  • ping google.com,
  • ping 8.8.8.8 — публичный DNS сервер от Google.

Важно! В Linux утилита ping работает бесконечно, если не задано количество отправляемых пакетов, остановить отправку можно комбинацией Ctrl+C.

Однако проблема может не проявиться на простой проверке. Чтобы провести расширенный тест, нужно изменить стандартные параметры. Параметры ставятся после основной команды, например «ping ya.ru -n 20» отправит двадцать пакетов, вместо четырех стандартных. Полезными параметрами для данной ситуации являются:

  • -n — количество отправляемых пакетов,
  • -l — размер одного пакета,
  • -t — постоянная отправка, прервать можно с помощью сочетания Ctrl+C, несовместимо с -n.

Диагностика при помощи утилиты tracert

Командная строка также предоставляет внутреннюю программу для проверки маршрутов запроса — «tracert» (в Linux и MacOS — traceroute). Или трассировка. Данная утилита показывает каждый шаг и время задержки в сети до конечного источника. Например, изначально идёт обращение к частному IP адресу компьютера, затем к серверу провайдера и далее N-ное количество шагов к конечному адресу. Если какой-то адрес не отвечает, он может быть причиной потери пакетов. Вводится команда аналогично предыдущей, например — «tracert ya.ru».

 Пример трассировки

Стоит помнить, что если при «пинге» пакеты не терялись, а при трассировке некоторые узлы не отвечают, то это нормально. Отдельный узел может быть закрыт для трассировки. Однако, если же проблема есть в определенном узле, следует связаться с провайдером для решения проблемы.

Использование сторонних программ и утилит

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

Пример таких программ:

  • VisualRoute 2010 Pro 14.0,
  • NetInfo 8.2.

Обратите внимание! У программ есть демоверсии, которые позволят не прибегать к оплате и торрентам.

Решение проблем с Интернет-соединением

Если вышеперечисленные способы не помогли, можно попытаться определить механические проблемы с интернет-соединением. В первую очередь проверьте стабильность работы вашего компьютера. Сетевой адаптер, USB-порты — уязвимые места и могут пострадать от механического повреждения и работать нестабильно. От чего будет падать качество соединения.

 Схема уличного беспроводного оборудования

Последнее, что можно сделать, — оптимизировать интернет-соединение. Операционные системы часто сами проводят оптимизацию, но не всегда это оптимально. Вручную оптимизировать соединение крайне не рекомендовано. Это требует глубоких знаний в сетевых технологиях и отличного понимания работы стека протоколов TCP/IP.

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

Лаги, джиттер и потеря пакетов: откуда берутся проблемы с неткодом и как их решать

Если вы когда-либо играли в онлайн-игры, то наверняка знаете о лагах не понаслышке. Пропущенный выстрел, который должен был попасть в цель; мяч, резко меняющий направление прямо в воздухе; вы вдруг снова оказываетесь на несколько шагов назад в том месте, где находились секундой ранее. В этом нет ничего сверхъестественного: это обычные артефакты систем, обеспечивающих совместную игру с людьми из других стран почти так же эффективно, как и с соседом по комнате. По крайней мере, большую часть времени.

В этой статье речь пойдет о самых базовых вещах, почему вообще возникает сетевая задержка, с какими еще проблемами неткода можно столкнуться, а также с тем, что можно сделать со своей стороны, чтобы улучшить ситуацию. Также разберем остальную часть конвейера между ПК и игровым сервером, который может повлиять на получение лучшего игрового опыта без задержек и прочих неприятностей.

Итак, почему вообще возникают лаги? Почему в 2021 году это все еще является проблемой — с мощностью современных компьютеров, повсеместным использованием широкополосного Интернета и спустя десятилетия попыток разработчиков решить эту проблему?

С точки зрения разработчиков, реализация даже базового мультиплеерного режима — задача непростая. Необходимо получать данные от множества игроков одновременно, неоднократно — тысячи раз в секунду — передавать эту информацию на некий центральный сервер, а затем возвращать обработанный результат на ПК каждого игрока.

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

Мы не можем знать, что делают другие игроки, пока сервер не сообщит нам об этом. Поэтому мы вынуждены отображать действия других игроков в матче такими, какими они были в прошлом. Также достаточно большую проблему может составить читерство, поэтому необходимо убедиться, что игроки имеют ограниченный доступ к данным с сервера, не позволяющий компьютеру игрока принимать решения о том, что на самом деле произошло в игре — например, насколько успешен был выстрел или какое количество здоровья осталось у игрока.

С двумя-то игроками это реализовать достаточно сложно, а теперь представьте, каково организовать подобное для игры с 10, 20 или даже сотнями игроков на одном сервере. При разработке игры жанра battle royale со всеми ее особенностями реализация хорошего мультиплеера является одной из самых сложных частей разработки даже для опытной команды, поэтому неудивительно, что временами в игре могут возникать сетевые проблемы. Конечно, это не делает такие сбои менее раздражающими, и чем быстрее скорость и выше конкуренция в игре, тем больше такой опыт может помешать вам получить от нее удовольствие.

Помимо лагов и сбоев, могут возникнуть и другие проблемы с сетью: rubber banding, когда игровой мир возвращает вас туда, где вы были несколько секунд назад; получение урона сразу после того, как вы оказались за укрытием; промахи ваших собственных выстрелов, а то и вовсе потеря связи с игрой.

Так что же вызывает все эти проблемы?

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

Первое из них — задержка. Она возникает тогда, когда пакеты с данными слишком долго передаются серверу и затем возвращаются к игроку. Проще говоря, задержка — это скорость реакции вашего интернет-соединения, то есть время, необходимое для передачи данных с вашего устройства на сервер. Важно отметить, что задержка зависит от качества вашего интернет-соединения, а не от скорости.

Часто задержку путают с лагами, и хотя они не означают одно и то же, но имеют причинно-следственную связь. Лаг — это задержка прибытия пакета от источника к месту назначения или, с точки зрения геймплея, задержка между нажатием кнопки и ответом игры, выведенным на экран. То есть, по сути совокупность вообще всех явлений, которые происходят между этими двумя событиями.

Джиттер — это колебания задержки, означающие, что пакеты отправляются и принимаются с разной скоростью. Это похоже на плохой frame pacing: то ваш пинг меняется с 20 миллисекунд до секунды, то с секунды до 90 миллисекунд, а затем возвращается к 30 миллисекундам, которые были когда-то уже давно.

Потеря пакетов — это когда пакеты вообще не достигают места назначения. Она вызывает необходимость повторной отправки одних и тех же данных и и потенциально — странное поведение игры.

Конечно, наличие даже одной из этих проблем может довольно сильно раздражать. С точки зрения игрока, если вы не чувствуете, что контролируете игру, если ваша производительность страдает от проблем с сетью, велика вероятность, что вы просто закроете игру и больше в нее не зайдете. Для разработчиков и издателей это будет означать, что аудитория станет меньше, а если у вас free-to-play тайтл, это поставит под угрозу само его существование. Особенно важно это для соревновательных игр, поскольку любые повторяющиеся проблемы могут заставить игроков и организаторов турниров отказаться от их проведения до тех пор, пока проблемы не разрешатся.

Так почему же возникают подобные сбои?

Существуют три основных типа проблем с соединением:

проблемы «первой мили», вызванные домашней сетью вашего ПК и подключением к Интернету;

проблемы «средней мили», обусловленные перемещением данных по маршруту между вашим интернет-провайдером и игровым сервером;

проблемы «последней мили», связанные непосредственно с игровым сервером.

Обычно первая и последняя миля вызывают наименьшую задержку — в нашем примере это около одной миллисекунды. Средняя же миля имеет наибольшую задержку, ведь именно на ней пакеты преодолевают все географическое расстояние между вашим компьютером и сервером.

Начнем с того, что может улучшить со своей стороны сам игрок, — с проблем, связанных с ПК и домашней сетью.

Точно так же, как производительность игры ограничивается компонентами ПК, такими как центральный процессор или видеокарта, сетевое соединение тоже зависит от многих элементов. На то, как будут отправляться и приниматься пакеты данных, могут влиять настройки игры, сетевое оборудование вашего ПК и его драйверы, ваша операционная система и ее настройки. Но есть и физические аспекты — например, то, как ваш компьютер подключен к роутеру, какой у вас роутер и как он настроен — и, конечно же, подключение к Интернету, предоставляемое провайдером.

Пожалуй, наиболее важным для игр является переключение с беспроводного на проводной Интернет, что может значительно снизить задержки, джиттер и потерю пакетов. Помимо этого, возможно, стоит изучить роутеры с более гибко настраиваемой прошивкой — например, отдать предпочтение роутерам OpenWRT или pfSense — или просто повысить скорость вашего интернет-соединения — особенно в домашних условиях, где оно используется несколькими людьми, которые могут смотреть потоковые видео, загружать файлы из Интернета и выполнять другие задачи с высокой пропускной способностью одновременно. В идеале роутер должен иметь возможность отдавать приоритет критическим с точки зрения задачам, таким как онлайн-игры и видеоконференции, по сравнению с такими вещами, как воспроизведение видео с YouTube.

Наконец, полезно будет убедиться, что драйвера обновлены, вы отключили все приложения, которые используют значительный объем ЦП или пропускной способности сети в фоновом режиме, а также что сетевые настройки игры установлены правильно.

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

В первую очередь ваш пакет должен обработать местный интернет-провайдер. Но совсем скоро он перейдет к оптоволоконным магистралям, которые соединяют города и страны друг с другом. Здесь маршрут, по которому идет пакет, не обязательно окажется самым быстрым, и нет никакой гарантии, что пакет вообще доберется до конечного пункта назначения. Помните, что предшественник Интернета был разработан министерством обороны США для работы в условиях ядерной войны. Таким образом, доставляемость для него важнее скорости.

Сами маршруты со временем могут перенасыщаться и повреждаться, а потому изменяться. Так, вы можете обнаружить, что ваше соединение с определенным сервером может оказаться быстрым и надежным в один день, но на следующий уже совсем никуда не годится.

Так что же могут сделать разработчики игр для оптимизации на этом участке? Географическое расстояние критически влияет на пинг, поэтому можно открывать новые игровые серверы, которые находились бы в недостаточно обслуживаемых регионах базы игроков. Это уменьшит задержку для этих игроков и вероятность того, что какое-то соединение между игроком и сервером замедлится или полностью выйдет из строя. Но, конечно, запускать серверы повсеместно может оказаться непросто, особенно для небольшой компании с ограниченными ресурсами — да и это не решит всех проблем.

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

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

Наконец, перейдем к последней миле в цепочке — игровым серверам.

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

Client hosting — это когда ПК одного из игроков сам по себе выступает в качестве сервера. Это хороший способ для разработчиков игр минимизировать затраты, но опыт каждого участника матча будет зависеть от качества соединения игрока-хоста. Таким образом, если такие игроки подключаются к сети через Wi-Fi или вовсе испытывают проблемы с подключением, другие игроки тоже столкнутся с лагами, джиттером и потерей пакетов.

Назначенный хост также имеет нулевую задержку для сервера, что дает ему огромное конкурентное преимущество перед остальными и, конечно, не является идеалом для соревновательных игр. При этом, если он покидает игру, необходимо найти другого хоста, что прерывает игру для всех участников на несколько секунд, пока не поизойдет так называемая миграция хоста.

Другой вариант — одноранговая (peer-to-peer) сеть, где игроки напрямую подключается друг к другу. Как правило, в таком случае тоже существует некий хост, который номинально отвечает за обработку новых соединений, поэтому проблема с миграцией хоста в данном случае сохраняется.

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

Помимо различных архитектур серверов, разработчикам игр необходимо оптимизировать пакеты, которые отправляются каждому игроку и обратно, и выбирать, как часто будет обновляться игровой мир. Чем чаще это происходит, чем выше частота тиков, тем быстрее должна выполняться обработка состояния игры на ПК игрока и на сервере, но в целом игра при этом становится более отзывчивой.

Некоторые игры работают с переменным весом тиков — например, королевские битвы, в которых скорость тиков повышается по мере выбывания игроков, или Counter-Strike, где сторонние и киберспортивные матчи проводятся со скоростью 128 тиков в секунду по сравнению со встроенным в игру матчмейкингом, работающим на 64 тиках.

Матчмейкинг — наиболее важная часть мультиплеера. Чтобы свести игроков в одном матче, вам, как разработчику игры, понадобится учитывать такие факторы, как пинг, уровень навыков, количество игроков в группе и выбранные каждым игроком карты и режимы. Каждый новый фактор существенно уменьшает размер пула для подбора игроков — что, в свою очередь, увеличивает время ожидания игры в среднем.

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

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

Так называемое предсказание на стороне клиента часто используют в шутерах от первого лица. Его можно разделить на предсказание ввода и расчет траектории (dead reckoning): первое будет скрывать задержку действий самого игрока, в то время как второй — других игроков.

Предсказание ввода подчиняется следующей последовательности: клиент генерирует команду игрока, которая передается на сервер, где происходит вычисление следующего состояния игры, после чего оно отправляется обратно всем клиентам, и каждый из них отображает сцену на своем устройстве. Но все это время игроку тоже нужно что-то показывать, поэтому суть метода состоит в выполнении перемещения клиента локально, просто предполагая, что сервер примет команду. Недостатком его является то, что, если ответ сервера не будет соответствовать прогнозу клиента, возникнет резкое заметное изменение положения аватара игрока на экране.

Dead reckoning — это, по сути, алгоритм оценки положения объекта в виртуальном мире на основе его предыдущего положения, направления движения, скорости, ускорения и других параметров. Получив первый блок данных протокола состояния (protocol data unit, PDU) для объекта (например, персонажа другого игрока), каждый клиент начинает перемещение этого объекта, применяя согласованный алгоритм dead reckoning. Его движение обновляется при получении последующих PDU. Если для пакетов, несущих PDU, возникнет увеличенная задержка или вовсе их потеря, каждая копия виртуального мира продолжит показывать движение объектов в соответствии с алгоритмом до тех пор, пока не получит следующее обновление. Кроме того, при несоответствиях между статусом сервера и предсказанным клиентом некоторые игры могут сделать переход к новому статусу менее резким, используя алгоритмы сглаживания.

В дополнение к предсказанию клиента сервер может прибегать к методу компенсации сетевой задержки, чтобы правильно объединить виртуальные реальности, которые из-за проблем с неткодом испытывают рассинхронизацию. В таком случае сервер хранит историю последних позиций игроков (так, серверы, на которых работает движок Valve Source, сохраняют позиции игроков в течение 1 секунды), и когда ему нужно вычислить новое состояние, он сначала оценивает момент, когда действие было выполнено в клиентской версии состояния игрового мира. Другими словами, сервер «перематывает время» в соответствии с задержкой конкретного клиента, вычисляя выполнение введенной им команды (например, удалось ли выстрелу игрока поразить цель). Для этого используется следующая формула:

Время выполнения команды = Текущее время сервера — Задержка пакета — Интерполяция представления клиента

Иллюстрация выше представляет собой пример скриншота, сделанного на сервере сразу после того, как он подтвердил обращение. Красный хитбокс показывает позицию цели на клиенте, как это было некоторое время назад. Пока команда игрока (то есть, выстрел по цели) добиралась до сервера, цель продолжала двигаться влево. После того, как команда прибыла на сервер, для расчета факта попадания сервер восстанавливает позицию цели (синий хитбокс) на основе предполагаемого времени выполнения команды. Так сервер отслеживает траекторию выстрела и подтверждает или не подтверждает попадание.

Впрочем, иногда такой алгоритм приводит к ошибкам попадания, когда цель уже скрылась за укрытием. Эту проблему можно было бы решить, если бы клиент мог послать сообщение «попадание» вместо сообщения «выстрел». Однако серверы не могут разрешить клиентам сообщать о попаданиях по соображениям безопасности: некоторые клиенты могут этим воспользоваться в собственных целях и прибегнуть к читерству.

Мы рассмотрели основные причины различных задержек и других нежелательных аспектов производительности сети. Как у игрока, у вас есть немало опций, которые могут значительно улучшить качество вашего игрового опыта. Надежное сетевое соединение может сделать игру намного стабильнее и интереснее. Также мы рассмотрели варианты, что со своей стороны могут сделать разработчики и как они могут повлиять на игровой процесс.

Для получения дополнительной информации о лагах и о том, что вы можете с ними сделать, можно ознакомиться с каналом Battle(non)sense: там разбираются тесты сетевых проблем в разных играх и то, как разные технологии на них влияют. Прилагаем также и другие ссылки на видео и статьи о сетевом коде ниже:

Похожие статьи