#41
M<ikado
-
- Пользователи
-
- 3 сообщений
Новичок
Отправлено 08 Апрель 2010 — 12:04
У кого сетевая карта не принимет пакеты — ошибка в ФИЗИЧЕСКОМ АДРЕСЕ!!!! маршрутизаторы, сервера и роутеры не воспринимают стандартный 00-00-00-00-00-00. Открываете Состояние Сети/Свойства/Настроить/Дополнительно/Сетевой адрес(Network adress) с галочки отсутствует(disable) и прописываем 00-01-00-01-00-01 И радуемся!!!!
- Наверх
#42
VCOOLer
VCOOLer
-
- Пользователи
-
- 38 сообщений
Новичок
Отправлено 11 Апрель 2010 — 06:32
У кого сетевая карта не принимет пакеты — ошибка в ФИЗИЧЕСКОМ АДРЕСЕ!!!! маршрутизаторы, сервера и роутеры не воспринимают стандартный 00-00-00-00-00-00. Открываете Состояние Сети/Свойства/Настроить/Дополнительно/Сетевой адрес(Network adress) с галочки отсутствует(disable) и прописываем 00-01-00-01-00-01 И радуемся!!!!
ну-ну всем бы так)))
с каких это пор СТАНДАРТНЫЙ MAC нулевой?)) почитайте хоть по каким правилам создаются маки
чаще всего не принимает и не отправляет из-за конфигурации IP и неполадками кабеля… очень редко когда программы или дрова… ройтесь в конфигах, потом в проводах, а уж потом на форум..
Сообщение отредактировал VCOOLer: 11 Апрель 2010 — 06:34
- Наверх
#43
Лень Олегович
Лень Олегович
-
- Пользователи
-
- 1 сообщений
Новичок
Отправлено 28 Сентябрь 2010 — 06:18
У кого сетевая карта не принимет пакеты — ошибка в ФИЗИЧЕСКОМ АДРЕСЕ!!!! маршрутизаторы, сервера и роутеры не воспринимают стандартный 00-00-00-00-00-00. Открываете Состояние Сети/Свойства/Настроить/Дополнительно/Сетевой адрес(Network adress) с галочки отсутствует(disable) и прописываем 00-01-00-01-00-01 И радуемся!!!!
Спасибо за совет, прокатило, видимо после переустановки дров на мать сбились настройки сетевой. Пакеты сразу пошли, брау3зер влетел, еще раз спасибо
- Наверх
#44
pics054
Отправлено 01 Октябрь 2010 — 11:32
Нельзя таким способом обходить проблему. А если в сперва на одном компе пропишите такой мак, потом позабыв уже про первый пропишите этот же мак на втором. В том случае если будут в одной сети они то кирдык сетке.
Нужно добиться, что бы мак считался нормально с сетевой.
- Наверх
#45
Riley72
Riley72
-
- Пользователи
-
- 2 сообщений
Новичок
Отправлено 28 Март 2011 — 06:15
Доброго времени суток! Дня 3 назад столкнулся с проблемой — интернет соединение работает стабильно, но через 9-11 минут перестает принимать пакеты, проходит 0.5 — 1 мин. и все приходит в норму. Подскажите в чем может быть проблема (ОС не менял, антивиры тоже)?
Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . : ilya
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : смешанный
IP-маршрутизация включена . . . . : нет
WINS-прокси включен . . . . . . . : нет
Порядок просмотра суффиксов DNS . : mshome.net
Беспроводное сетевое соединение 4 — Ethernet адаптер:
Состояние сети . . . . . . . . . : сеть отключена
Описание . . . . . . . . . . . . : D-Link Wireless G DWA-510 Desktop Ad
apter
Физический адрес. . . . . . . . . : 00-21-91-22-9A-1C
Подключение по локальной сети — Ethernet адаптер:
DNS-суффикс этого подключения . . : mshome.net
Описание . . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Физический адрес. . . . . . . . . : 00-19-DB-CC-AB-DC
Dhcp включен. . . . . . . . . . . : да
Автонастройка включена . . . . . : да
IP-адрес . . . . . . . . . . . . : 192.168.137.90
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 192.168.137.1
DHCP-сервер . . . . . . . . . . . : 192.168.137.1
DNS-серверы . . . . . . . . . . . : 192.168.137.1
Аренда получена . . . . . . . . . : 28 марта 2011 г. 12:01:24
Аренда истекает . . . . . . . . . : 4 апреля 2011 г. 12:01:24
netline 2 — PPP адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Физический адрес. . . . . . . . . : 00-53-45-00-00-00
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 91.211.193.149
Маска подсети . . . . . . . . . . : 255.255.255.255
Основной шлюз . . . . . . . . . . : 91.211.193.149
DNS-серверы . . . . . . . . . . . : 91.203.39.251
91.203.39.252
NetBIOS через TCP/IP. . . . . . . : отключен
- Наверх
#46
Looser
Looser
-
- Пользователи
-
- 1 сообщений
Новичок
Отправлено 21 Июнь 2011 — 02:26
Всем доброго времени суток!
Аналогичная проблема вифи адаптер соединился с сетью (соседской). казалось бы всё вроде бы в порядке должно быть, но вот незадача!
Пакеты отправляет, а не принимает! Расскажите почему?
…проблема переодична и возникает сама собой(редко, но метко))))
вот данные конфигурации:
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
C:Documents and SettingsWillKill>apconfigAll
Системе не удается найти указанный путь.
C:Documents and SettingsWillKill>ipconfigall
Системе не удается найти указанный путь.
C:Documents and SettingsWillKill>ipconfig
Настройка протокола IP для Windows
Подключение по локальной сети — Ethernet адаптер:
Состояние сети . . . . . . . . . : сеть отключена
Подключение по локальной сети 2 — Ethernet адаптер:
Состояние сети . . . . . . . . . : сеть отключена
Беспроводное сетевое соединение 3 — Ethernet адаптер:
DNS-суффикс этого подключения . . :
IP-адрес . . . . . . . . . . . . : 192.168.0.100
Маска подсети . . . . . . . . . . : 255.255.255.0
IP-адрес . . . . . . . . . . . . : fe80::218:e7ff:fedc:408e%7
Основной шлюз . . . . . . . . . . : 192.168.0.1
Teredo Tunneling Pseudo-Interface — туннельный адаптер:
DNS-суффикс этого подключения . . :
IP-адрес . . . . . . . . . . . . : fe80::ffff:ffff:fffd%6
Основной шлюз . . . . . . . . . . :
Automatic Tunneling Pseudo-Interface — туннельный адаптер:
DNS-суффикс этого подключения . . :
IP-адрес . . . . . . . . . . . . : fe80::5efe:192.168.0.100%2
Основной шлюз . . . . . . . . . . :
C:Documents and SettingsWillKill>
- Наверх
What causes it, and what to do about it
Packet loss occurs when a network connection loses information while it’s in transit. It can make your connection seem slower than it should be and reduces the reliability of network communication with local and remote devices. Knowing how to stop packet loss should be a top priority for anyone looking to improve a troublesome network.
Causes of Packet Loss
Packet loss doesn’t happen for only one reason. Diagnosing the cause of packet loss on your network will tell you what you need to fix:
- Network bandwidth and congestion: A primary cause of packet loss is insufficient network bandwidth. This happens when too many devices attempt to communicate on the same network.
- Insufficient hardware: Problems with any hardware on a network that routes packets can cause packet loss. Routers, switches, firewalls, and other networking devices are the most vulnerable.
- Damaged cables: Packet loss can occur on the physical network layer. If Ethernet cables are damaged, improperly wired, or too slow to handle the network’s traffic, the cables leak packets.
- Software bugs: The firmware in the network hardware or computer software can have bugs that cause packet loss.
How to Fix Packet Loss on Your Network
To determine the cause of packet loss, start with the easiest problem to detect:
-
Check the physical connections. Check the Ethernet connection between the devices. Look for signs of physical damage or misfiring and see if switching out the cables solves the problem.
-
Free up bandwidth. Is any piece of hardware handling more connections than it should? If so, limit the bandwidth on the router.
-
Replace the hardware. Swap out potentially problematic devices on the network to see if the packet loss disappears when a specific device is removed.
-
Report software bugs. If you suspect software bugs caused the packet loss, the only way to fix it is through a firmware patch from the vendor supplying the hardware. Report suspected bugs as you find these issues to encourage vendors to fix the problem.
How to Detect Packet Loss
Several applications can detect packet loss across a network. These work by sniffing packets in some way, either by analyzing the trip time or looking at the packet contents. The simplest way to discover if packet loss exists is by pinging devices on the network:
-
In Windows, open a Command Prompt window and use the ping command to target your router. For example, if the router’s local IP address is 127.0.0.1, enter ping 127.0.0.1 -t to ping the router. On macOS or Linux, open a Terminal window and enter ping 127.0.0.1.
The only difference for Windows computers is the missing -t at the end of the command.
-
After the ping command processes a sufficient number of packets (at least 10), press Ctrl+C or Command+C to stop the command.
-
Look to see if there was any packet loss. If the specific connection between the pinging device and the target is functioning correctly, you should see 0% packet loss. The report might look like this:
— 127.0.0.1 ping statistics —
27 packets transmitted, 27 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.820/8.351/72.343/14.186 ms
Detect Packet Loss With tcpdump
The tcpdump command on macOS and Linux is more powerful than ping. The command captures packets and then calculates the amount of packet loss. To use the command, open a command prompt or Terminal window and enter tcpdump -i any.
This runs tcpdump over any network connection. The command can also be run with -i eth0 to capture only the primary network interface or with -c 10 to capture only 10 packets.
After the command runs, look at the bottom line to see if any packets were lost:
17 packets captured
85 packets received by filter
0 packets dropped by kernel
The process of detecting packets is relatively low tech. After you establish a way to check communications across the network, follow a practice of isolation and elimination to determine the source and cause of the packet loss. This will require pinging a majority of devices on the network. Knowledge of the network’s topology is essential.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
What causes it, and what to do about it
Packet loss occurs when a network connection loses information while it’s in transit. It can make your connection seem slower than it should be and reduces the reliability of network communication with local and remote devices. Knowing how to stop packet loss should be a top priority for anyone looking to improve a troublesome network.
Causes of Packet Loss
Packet loss doesn’t happen for only one reason. Diagnosing the cause of packet loss on your network will tell you what you need to fix:
- Network bandwidth and congestion: A primary cause of packet loss is insufficient network bandwidth. This happens when too many devices attempt to communicate on the same network.
- Insufficient hardware: Problems with any hardware on a network that routes packets can cause packet loss. Routers, switches, firewalls, and other networking devices are the most vulnerable.
- Damaged cables: Packet loss can occur on the physical network layer. If Ethernet cables are damaged, improperly wired, or too slow to handle the network’s traffic, the cables leak packets.
- Software bugs: The firmware in the network hardware or computer software can have bugs that cause packet loss.
How to Fix Packet Loss on Your Network
To determine the cause of packet loss, start with the easiest problem to detect:
-
Check the physical connections. Check the Ethernet connection between the devices. Look for signs of physical damage or misfiring and see if switching out the cables solves the problem.
-
Free up bandwidth. Is any piece of hardware handling more connections than it should? If so, limit the bandwidth on the router.
-
Replace the hardware. Swap out potentially problematic devices on the network to see if the packet loss disappears when a specific device is removed.
-
Report software bugs. If you suspect software bugs caused the packet loss, the only way to fix it is through a firmware patch from the vendor supplying the hardware. Report suspected bugs as you find these issues to encourage vendors to fix the problem.
How to Detect Packet Loss
Several applications can detect packet loss across a network. These work by sniffing packets in some way, either by analyzing the trip time or looking at the packet contents. The simplest way to discover if packet loss exists is by pinging devices on the network:
-
In Windows, open a Command Prompt window and use the ping command to target your router. For example, if the router’s local IP address is 127.0.0.1, enter ping 127.0.0.1 -t to ping the router. On macOS or Linux, open a Terminal window and enter ping 127.0.0.1.
The only difference for Windows computers is the missing -t at the end of the command.
-
After the ping command processes a sufficient number of packets (at least 10), press Ctrl+C or Command+C to stop the command.
-
Look to see if there was any packet loss. If the specific connection between the pinging device and the target is functioning correctly, you should see 0% packet loss. The report might look like this:
— 127.0.0.1 ping statistics —
27 packets transmitted, 27 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.820/8.351/72.343/14.186 ms
Detect Packet Loss With tcpdump
The tcpdump command on macOS and Linux is more powerful than ping. The command captures packets and then calculates the amount of packet loss. To use the command, open a command prompt or Terminal window and enter tcpdump -i any.
This runs tcpdump over any network connection. The command can also be run with -i eth0 to capture only the primary network interface or with -c 10 to capture only 10 packets.
After the command runs, look at the bottom line to see if any packets were lost:
17 packets captured
85 packets received by filter
0 packets dropped by kernel
The process of detecting packets is relatively low tech. After you establish a way to check communications across the network, follow a practice of isolation and elimination to determine the source and cause of the packet loss. This will require pinging a majority of devices on the network. Knowledge of the network’s topology is essential.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
Друзья, горячо приветствую вас на нашем сайте WiFiGid. Не было печали, да друзья помогут. Однажды в разговоре мне наш Бородач рассказал про некую проблему наличия у него потери пакетов. Если честно, жил и не тужил до этого – абсолютно ничего не мешало. Но как раз после изучения проблемы и выявления ее у себя, полез исправлять. Вся моя история и методы разрешения проблемы – читайте ниже.
Есть что рассказать? Остались вопросы? Поделитесь своим словом с другими нашими читателями. Вам не убудет, а им будет больше актуальной информации. Спасибо! Комментарии расположены прямо под этой статье.
Содержание
- Коротко по ситуации
- Основные причины
- Проверки
- Шаг 1 – Скорость интернета
- Шаг 2- Пингуем
- Шаг 3 – Трассировка
- Другие программы
- Краткий чеклист проверок
- Личный опыт
- Дополнение от Бородача
- Задать вопрос автору статьи
Коротко по ситуации
Для передачи данных на сетевом уровне (отсылка к модели OSI про 7 уровней) данные передаются ПАКЕТАМИ. При определенных обстоятельствах эти ПАКЕТЫ могут теряться в сети (т.к. за качество передачи отвечает уже вышестоящие уровни, а здесь еще контроля нет). Итого, представим ситуацию:
- Ваш тарифный план – 100 Мбит/с.
- У вас каждый третий пакет теряется.
- Итоговая скорость со всеми огрехами – в районе 60 Мбит/c.
Обидно? Еще бы. И самое страшно, на том или ином уровне эта проблема проявляется у всех. Но местами она бывает совсем недопустимой. Вот и попробуем ее выявить и устранить.
Основные причины
Мы выяснили, что пакеты пропадают – и это вообще нормально. Но почему это происходит? Здесь я попробую установить некий порядок. Не претендую на первоистинность, но именно так можно начинать проводить первичную диагностику на утечки:
- Программа. Этот пункт для тех, кто получает ошибки с потерями пакетов конкретно в какой-то одной программе. Если потери есть и в других – это не ваш случай. Как исправить? Переустановить или обновить программу до последней версии, авось разработчики и исправят проблему. Сюда же можно отнести более сложный случай – ошибки в операционной системе. Вычислить сложно, можно перепутать с аппаратной поломкой из пункта два, но лечится тоже только обновлением системы.
- Железо. Например, выпендривается сетевая карта (проводная или беспроводная). Лечится или переустановкой драйверов, или заменой модуля.
- Локальная сеть. Например, случай с перегнутым проводом или же плохим уровнем сигнала Wi-Fi. Вычислить просто – попробовать подключить другой кабель (не используя Wi-Fi).
- Роутер. Может быть ваш роутер уже отметил десятилетие и плохо справляется с перегрузами? А может быть на новом просто какой-то глюк в прошивке, который проявляется исключительно у вас дома (бывает и такое). Проверить просто – подключитесь напрямую к кабелю провайдера (или напрямую воткните модем), и сделайте новые тесты.
- Интернет. Если же что-то глючит за вашей квартирой у провайдера, сделать особо ничего не получится. Остается только звонить. Может быть вызвано плохим железом или кабелями, а может быть и оригинальнее – большие нагрузки на сеть вечером пользователями вашего дома или же еще интереснее (вроде хакерской атаки от главного школьника района, забивающего весь эфир своими пакетами).
Проверки
А теперь переходим к непосредственной проверке потерь. Ведь нужно же с чего-то это все начать?
Шаг 1 – Скорость интернета
Не профессионально, но зато практично:
- Отключаем все устройства дома от вашего интернета (да-да, не ленимся, физически и из розетки), кроме того, с которого будем производить замер.
- Вспоминаем, какую скорость интернета обещал вам провайдер (в моем случае сейчас – 100 Мбит/с).
- Идем на любой тестировщик скорости (например, Speedtest) и смотрим результат:
В моем случае прямо сейчас с рабочего ноутбука цифры вполне себе даже нормальные. А вот если бы было что-то вроде 60 Мбит/с, я бы уже задумался о проблеме. Но не одним замером можно установить проблему.
Шаг 2- Пингуем
Открываем командную строку (в Windows проще всего щелкнуть правой кнопкой мыши по кнопке «Пуск» и выбрать любой Windows PowerShell). Открываем и вписываем по порядку следующие команды:
ping 8.8.8.8
ping 1.1.1.1
ping ya.ru
ping google.com
ping wifigid.ru
Этими командами мы отправляем по 4 пакета до DNS Гугла, DNS Clouflare, сайта Яндекса, сайта Гугла и нашего сайта соответственно. Смотрим результаты, все пакеты должны доходить, потерь быть не должно. Возможно, здесь удастся вычислить примерное направление возникновения потерь.
Как видите, и здесь потерь нет.
Утилита ping существует в Linux и в MAC. Так что на любом железе можно отпинговать все сомнительные участки сети.
Если на внешней сети появились потери, рекомендую провести пинг внутренних узлов сети, например, от вас до роутера. IP-адрес роутера, надеюсь, вы догадаетесь как найти. Нет? Комментарии ниже.
Для разбирающихся, рекомендую пошаманить над командой пинг следующими параметрами: -t – бесконечная отправка пакетов, -l – размер пакета. В моей практике были случаи, что роутер не пускал размеры пакетов выше порогового. Бывает редко, но на всякий случай оставлю эту информацию здесь.
Шаг 3 – Трассировка
Если происходит обвал сети, нужно вычислять, на каком примерно участке это происходит. Для этого существует команда «tracert» – показывает все пройденные участки до конечной цели.
Допустим, мы знаем, что на пути до роутера (192.168.0.1) уже теряются пакеты. Задача – на всякий случай просмотреть все узлы до него в сети, увидеть как идет наш запрос:
tracert 192.168.0.1
Все пучком и без задоринки! Но классно делать трассировку куда-нибудь вовне (например, tracert ya.ru). Зачем? Так можно увидеть, какие именно пути от вас до сайта падают. И так можно уже выходить на провайдера.
Другие программы
Не буду здесь рекомендовать никаких сторонних программ. Обычно они базируются на упомянутых выше ping и tracert. В лучшем случае они выводят какую-то красоту, в худшем – получите вирус на компьютер. В обоих этих случаях не вижу причины их использовать.
Краткий чеклист проверок
Если вы уже попробовали все (а обычно так в поиске причины и бывает), рекомендую еще пробежаться вот по этому списку. Авось приедет какая-то умная мысль в голову:
- Проверка антивирусом. Желательно автономным вроде CureIt! (считаем рекламой, сам пользуюсь).
- Ставим любой экран и пытаемся вычислить программу, которая спамит сеть. Бывает зараза, а бывает просто обновлятор Windows не может успокоиться.
- Обновляем драйвера не только на сеть (DRP и аналоги в помощь). Если же наоборот проблема началась после обновления, рекомендую найти предыдущие версии и сделать откат. У меня была подобная проблема с драйверами разработчиков, откат помог.
- Используем безопасный режим на тестах сети, дабы не грузить чего-то левого.
- Другой кабель.
- Ручное назначение IP и смена MAC-адреса. А мало ли…
- Дешевая сетевая карта. Если есть возможность воткнуть на тест другую сетевуху – пробуем.
- Крайние случаи – меняем Windows, обновляем или просто сбрасываем BIOS.
- Пробуем другой роутер или напрямую.
- По возможности – диск текущей системы запускаем на другом железе. Исключаем программные ошибки ОС. Или загружаемся из-под Live образа.
- Исключаем перегрев процессора – ну мало ли.
Личный опыт
Здесь я просто вынесу тезисы по личному опыту, на что следует обращать внимание:
- Проблема потери пакетов индивидуальна. Нельзя дать универсальные инструкции под каждого. Поэтому и рекомендую подробно описывать свою ситуацию в комментариях – как была обнаружена проблема, как проявляется у вас, что делали. Не хочется? Зато представьте, как это может быть полезно другим пользователям, находящимся прямо сейчас в смятении.
- Пингуйте и трассируйте по поводу и без него. Весь другой «супер-пупер» софт – только ваша времяпотеря. Этими инструментами можно с лихвой обойтись в диагностике.
- Не стесняйтесь звонить провайдеру. Особенно, если проблема проявилась внезапно. Сам себя частенько ловил на бесполезных действиях – обнаружил просадку в скорости, полез замерять сегменты, прямое подключение… а в итоге оказывается, что у провайдера технические работы, которые нигде не были озвучены.
- Потеря пакетов не обязательно является основной причиной низкой скорости интернета, другие причины можете посмотреть ЗДЕСЬ.
Дополнение от Бородача
Бородач
Сенсей по решению проблем с WiFiем.
Обладатель оленьего свитера, колчана витой пары и харизматичной бороды.
Любитель душевных посиделок за танками.
Ну никак не мог пройти мимо. Люблю поиграть и плотно изучал этот вопрос. Мой личный опыт.
Есть очень полезная программка WinMTR – она в реальном времени показывает трассировку до выделенного сервера. Например, вы играете в CS GO, Dota или другую онлайн игру и видите потерю пакетов. В моем случае, я видел, что есть просадка при игре в HOTS, поэтому давайте покажу на её примере.
- Скачиваем и устанавливаем программу WinMTR.
- Далее вам нужно найти сервер, к которому вы теоретически подключаетесь. Имя сервера, может быть, как в виде DNS, так и в виде IP адреса. Тут придется поискать эту информацию самостоятельно в интернете. Также в некоторых играх её можно подсмотреть в консоли.
- После этого запускаем программу и вводим адрес в верхнюю строчку «Host». После этого нажимаем «Start».
- Пойдет живая трассировка до выделенного сервера. Давайте коротко расскажу про информацию, которая вам будет представлена:
- Nr – номер узла. Первый – это обычно идет локальный IP адрес вашего роутера (если он есть). Внешний не отображается. Далее обычно идут два или три узла вашего провайдера – это пару коммутаторов и выделенный сервер. По сути вам нужно смотреть на потерю пакетов у вас (или у вашего роутера), и у узлов вашего провайдера.
- Loss (%) – потеря пакетов в процентах.
- Sent – сколько отправлено пакетов.
- Recv – сколько получено пакетов.
- Best, Avrg, Worst – это лучшая, средняя и худшая задержка до выделенного узла.
- Last – последняя задержка.
- Теперь запускаем игру и играем как обычно, но, если есть возможность, выберите именно тот сервер, который вы проверяете. Играем как обычно, до того момента как начнутся проблемы с подключением. Нужно так поиграть примерно минут 5, потом нажать на кнопку «Stop».
Итак, в первую очередь смотрим на процент «Loss». Если потеря происходит где-то вдали не у провайдера, то вы тут ничего не поделаете, скорее всего это решится через какое-то время. Если есть проблема со стороны провайдера, то звоним им. Если лузы появляются на роутере (192.168.1.1 или 192.168.0.1), то можно сделать вот что:
- Если вы подключены по Wi-Fi, то попробуйте переподключиться по проводу.
- Выключите роутер из розетки, подождите так примерно минут 10 и включите снова, возможно он перегрелся и тупит.
- Зайдите в настройки роутера и обновите его прошивку.
- Обновите драйвера на сетевую карту или Wi-Fi модуль.
- Если вы подключены к беспроводной сети 2,4 ГГц, то попробуйте использовать частоту 5 ГГц. Можно аналогично проверить каналы и выбрать свободный, если у вас много соседей.
Если ничего из вышеперечленного не помогло, то проблема может быть и у провайдера. У меня были потери (17-30%) как раз на роутере. Я не мог понять, что с ним не так. Потом мой любимый Ростелеком отключил мне интернет из-за аварии на неделю, и после этого проблемы как не бывало, и лузов больше нет. Можно попробовать взять у друга роутер или подключить интернет напрямую в комп или ноутбук, и, если проблема сохранится, то значит нужно звонить провайдеру.
За сим откланиваюсь, не забываем про комменты ниже!!!
Содержание
- Как исправить потерю пакетов
- Что такое потеря пакетов?
- Что вызывает потерю пакетов в вашей сети
- Обнаружение потери пакета
- Определение причины потери пакета
- Как исправить потерю пакетов в вашей сети
- Как исправить потерю пакета
- Что такое потеря пакета?
- Что вызывает потерю пакета?
- 1. Определите проблему
- 2. Перезагрузите все
- 3. Проверьте кабели
- 4. Исправьте свой Wi-Fi
- 5. Проверьте, если это проблема программного обеспечения или проблема с одним устройством или сайтом
- Как проверить потерю пакетов интернета и попытаться исправить
- Коротко по ситуации
- Основные причины
- Проверки
- Шаг 1 – Скорость интернета
- Шаг 2- Пингуем
- Шаг 3 – Трассировка
- Другие программы
- Краткий чеклист проверок
- Личный опыт
- Дополнение от Бородача
- Как проверить и найти потерю пакетов при онлайн-игре на Windows 10
- Как проверить потерю пакетов
- Варианты исправления обнаруженной проблемы
- Лаги, джиттер и потеря пакетов: откуда берутся проблемы с неткодом и как их решать
Как исправить потерю пакетов
Потеря пакета происходит, когда ваше сетевое соединение теряет информацию во время передачи. Это может заставить ваше сетевое соединение казаться медленнее, чем должно быть, и снижает надежность сетевого взаимодействия как с локальными, так и с удаленными устройствами. Остановка потери пакетов должна быть на вершине списка для всех, кто хочет улучшить проблемную сеть.
Что такое потеря пакетов?
В большинстве сетей время от времени наблюдается очень низкий уровень потери пакетов. Превращения сетевых соединений таковы, что время от времени пакет отбрасывается, что неизбежно. Тем не менее, в правильно функционирующей сети потеря пакетов происходит достаточно редко, что не влияет на эффективность сетевого подключения.
Если вы видите более высокие уровни потери пакетов в вашей сети, вам нужно предпринять шаги, чтобы это исправить. Возвращаясь к нашей аналогии с водой, значительная потеря пакетов напоминает плохо протекающую трубу. Это должно быть исправлено, прежде чем любые другие улучшения могут быть сделаны.
Что вызывает потерю пакетов в вашей сети
Потеря пакета происходит не только по одной причине. Диагностика причины потери пакетов в вашей сети покажет вам, что вам нужно исправить.
Обнаружение потери пакета
Существует ряд программных приложений, которые могут обнаружить потерю пакетов в сети. Они каким-то образом «вынюхивают» пакеты, анализируя время их поездки или просматривая пакеты. Самый простой способ выяснить, существует ли потеря пакетов, — это пропинговать устройства в вашей сети.
В macOS или Linux откройте окно терминала и используйте следующую команду:
В Windows вы можете использовать tcpdump через оболочку Bash в Windows 10 или запустить Wireshark.
Процесс обнаружения пакетов довольно низок. После того, как вы установили способ проверки связи по сети, вам необходимо следовать практике изоляции и устранения, чтобы определить источник и причину потери пакета. Для этого в большинстве случаев потребуется пинговать большинство устройств в сети или запускать сценарии, которые выполняют то же самое. Знание топологии сети будет очень полезно здесь.
Определение причины потери пакета
Чтобы определить основную причину потери пакетов, вы должны начать с самой простой проблемы, чтобы обнаружить и вернуться обратно.
Сначала проверьте соединение Ethernet между устройствами. Проверьте наличие явных признаков физического повреждения и неправильного подключения. Эти кабели работают правильно? Решает ли переключение кабелей проблему? Проверьте маршрутизаторы и коммутаторы аналогичным образом.
Во-вторых, определите, достаточно ли пропускной способности для обработки необходимых устройств в вашей сети. Является ли какой-либо один аппаратный элемент обработкой значительно большего количества соединений, чем следует? Это часто процесс поиска и замены, пока проблема не решится. Вы также можете использовать «заведомо исправный» коммутатор и маршрутизатор, поменяв его местами с потенциально проблемными устройствами в сети, чтобы увидеть, исчезает ли потеря пакетов при удалении определенного устройства.
Как исправить потерю пакетов в вашей сети
Как только вы определили причину потери пакета, есть два исправления, которые могут быть применены.
Первый включает в себя замену проблемного оборудования. Если ваше расследование привело к неправильной работе устройства, замените его.
Если потеря пакета вызвана программными ошибками, вам нужно попытаться исправить ошибку самостоятельно, попытаться обойти ее или сообщить об ошибке поставщику и надеяться, что он исправит ее. Для внутреннего программного обеспечения может быть легче найти исправление. Для стороннего программного обеспечения это зависит. Если вы являетесь крупным клиентом, вы можете найти выход из положения. Если нет, возможно, вы застряли в ожидании, пока пытаетесь использовать обходной путь.
Потеря пакетов часто представляет собой медленную работу в сети. Конечно, что-то столь расплывчатое может быть вызвано множеством коренных причин. Если вы диагностируете неэффективную сеть, потеря пакетов должна быть в верхней части вашего списка. После того как потеря пакетов исключена, вы можете перейти к более сложным проблемам.
Источник
Как исправить потерю пакета
Все, что передается через Интернет, отправляется в пакетах: стандартная единица данных.
Использование пакетов, а не отправка данных в одном длинном потоке имеет смысл, когда есть проблема, так как только недостающий бит информации должен быть повторно отправлен; если был отправлен большой файл и в середине произошла ошибка, весь файл пришлось бы повторно отправить. Несмотря на то, что система исправна, если что-то пойдет не так, вы можете столкнуться с проблемами, такими как медленный интернет, плохое игровое соединение и невозможность потоковой передачи мультимедиа. Здесь мы покажем вам, как исправить потерю пакетов.
Что такое потеря пакета?
Потеря пакетов просто означает, что пакеты данных не достигают своего пункта назначения. Несколько пакетов, пропавших без вести здесь и там, следует ожидать, но вы не должны страдать от крупномасштабной потери пакетов.
Если вы это сделаете, то проблемы могут проявляться по-разному. Вы можете заметить, что загрузка происходит очень медленно или что веб-сайтам требуется много времени для ответа. Потеря пакетов может быть особенно заметна, когда имеешь дело с чем-либо в реальном времени, таким как потоковая передача или игра. Здесь вы можете обнаружить, что игра действительно запаздывает, вас много убивают, или что видеопотоки останавливаются и запускаются.
Что вызывает потерю пакета?
Короткий ответ: сетевые ошибки вызывают потерю пакетов. Немного более длинный ответ заключается в том, что потеря пакетов может быть вызвана в любом месте цепочки, поэтому это может быть связано с проблемами в работе плохого устройства, определенным программным обеспечением, изощренным кабельным соединением, плохим подключением к Интернету или даже сервером / устройством, которое вы ‘ общаюсь с.
Это может звучать так, как будто предстоит многое изучить, но шаги по устранению проблемы довольно просты. Здесь мы покажем вам, как решить проблему.
1. Определите проблему
В первую очередь стоит выяснить, насколько серьезна проблема и где она находится. Есть несколько простых шагов, которые вы можете предпринять. Сначала получите компьютер (Windows или Mac) и откройте командную строку. Введите команду ping и нажмите Enter.
Для компьютеров с Windows вы можете найти IP-адрес вашего маршрутизатора, набрав ipconfig и нажав Enter: это адрес шлюза, который вам нужен. На Mac перейдите в «Настройки», «Сеть» и нажмите свое сетевое подключение (это зеленый значок в списке и может быть Wi-Fi или Ethernet). Нажмите «Дополнительно», затем перейдите на вкладку TCP / IP и запишите адрес маршрутизатора.
В нашем примере это позволит нам выполнить команду ping: ping 192.168.0.1. Ping просто отправляет пакет источнику и получает ответ обратно. Это способ проверки интернет-соединения. У вас не должно быть потери пакетов, но если вы получаете сообщения о том, что ответа нет, причиной может быть потеря пакета.
2. Перезагрузите все
Вы пытались выключить и снова включить? Это немного клише, но этот процесс может работать. Выключите ваш маршрутизатор (и любые спутники, если у вас есть сетчатая система), модем (если у вас есть), сетевые коммутаторы и компьютеры / игровые приставки.
Затем снова включите их в следующем порядке: модем (если есть), маршрутизатор (за которым следуют спутники в ячеистой системе), затем каждый компьютер, консоль или телефон.
3. Проверьте кабели
Плохие и поврежденные кабели могут вызвать проблемы. Проверьте кабели, которые вы используете для подключения через Ethernet, поменяйте кабели на новые. Затем повторите тест, как указано выше. Если ваш маршрутизатор подключен к модему, попробуйте заменить и этот кабель.
4. Исправьте свой Wi-Fi
Если у вас возникают проблемы с устройством, подключенным через Wi-Fi, возможно, у него недостаточно сильное соединение. Вы можете попытаться переместить его ближе к маршрутизатору, чтобы увидеть, оказывает ли это влияние, или подключиться через Ethernet, где это возможно. Наши гиды о том, как решить проблемы с интернетом и как ускорить Wi-Fi бесплатно, могут помочь.
5. Проверьте, если это проблема программного обеспечения или проблема с одним устройством или сайтом
Возможно, потеря пакета вызвана одним устройством или подключением к одному сайту. Во-первых, если у вас возникли проблемы, например, с играми или потоковым мультимедиа, попробуйте переключиться на другое устройство. Если проблема устранена, попробуйте перезагрузить проблемное устройство и запустить все доступные для него обновления программного обеспечения.
Стоит заняться конкретными вопросами и в других местах. Например, если у вас проблемы с отставанием в играх, то это может быть сервер, на котором вы находитесь. Попробуйте присоединиться к различным серверам, чтобы увидеть, оказывает ли это влияние тоже.
Проверьте веб-сайт вашего интернет-провайдера, чтобы увидеть, есть ли ошибка в вашем регионе. Каждый сервис, такой как Netflix, обычно также имеет страницу отчета о сбое, чтобы показать, есть ли текущие проблемы.
Источник
Как проверить потерю пакетов интернета и попытаться исправить
Друзья, горячо приветствую вас на нашем сайте WiFiGid. Не было печали, да друзья помогут. Однажды в разговоре мне наш Бородач рассказал про некую проблему наличия у него потери пакетов. Если честно, жил и не тужил до этого – абсолютно ничего не мешало. Но как раз после изучения проблемы и выявления ее у себя, полез исправлять. Вся моя история и методы разрешения проблемы – читайте ниже.
Есть что рассказать? Остались вопросы? Поделитесь своим словом с другими нашими читателями. Вам не убудет, а им будет больше актуальной информации. Спасибо! Комментарии расположены прямо под этой статье.
Коротко по ситуации
Для передачи данных на сетевом уровне (отсылка к модели OSI про 7 уровней) данные передаются ПАКЕТАМИ. При определенных обстоятельствах эти ПАКЕТЫ могут теряться в сети (т.к. за качество передачи отвечает уже вышестоящие уровни, а здесь еще контроля нет). Итого, представим ситуацию:
Обидно? Еще бы. И самое страшно, на том или ином уровне эта проблема проявляется у всех. Но местами она бывает совсем недопустимой. Вот и попробуем ее выявить и устранить.
Основные причины
Мы выяснили, что пакеты пропадают – и это вообще нормально. Но почему это происходит? Здесь я попробую установить некий порядок. Не претендую на первоистинность, но именно так можно начинать проводить первичную диагностику на утечки:
Проверки
А теперь переходим к непосредственной проверке потерь. Ведь нужно же с чего-то это все начать?
Шаг 1 – Скорость интернета
Не профессионально, но зато практично:
В моем случае прямо сейчас с рабочего ноутбука цифры вполне себе даже нормальные. А вот если бы было что-то вроде 60 Мбит/с, я бы уже задумался о проблеме. Но не одним замером можно установить проблему.
Шаг 2- Пингуем
Открываем командную строку (в Windows проще всего щелкнуть правой кнопкой мыши по кнопке «Пуск» и выбрать любой Windows PowerShell). Открываем и вписываем по порядку следующие команды:
ping 8.8.8.8
ping 1.1.1.1
ping ya.ru
ping google.com
ping wifigid.ru
Этими командами мы отправляем по 4 пакета до DNS Гугла, DNS Clouflare, сайта Яндекса, сайта Гугла и нашего сайта соответственно. Смотрим результаты, все пакеты должны доходить, потерь быть не должно. Возможно, здесь удастся вычислить примерное направление возникновения потерь.
Как видите, и здесь потерь нет.
Утилита ping существует в Linux и в MAC. Так что на любом железе можно отпинговать все сомнительные участки сети.
Если на внешней сети появились потери, рекомендую провести пинг внутренних узлов сети, например, от вас до роутера. IP-адрес роутера, надеюсь, вы догадаетесь как найти. Нет? Комментарии ниже.
Шаг 3 – Трассировка
Если происходит обвал сети, нужно вычислять, на каком примерно участке это происходит. Для этого существует команда « tracert » – показывает все пройденные участки до конечной цели.
Допустим, мы знаем, что на пути до роутера (192.168.0.1) уже теряются пакеты. Задача – на всякий случай просмотреть все узлы до него в сети, увидеть как идет наш запрос:
Все пучком и без задоринки! Но классно делать трассировку куда-нибудь вовне (например, tracert ya.ru ). Зачем? Так можно увидеть, какие именно пути от вас до сайта падают. И так можно уже выходить на провайдера.
Другие программы
Не буду здесь рекомендовать никаких сторонних программ. Обычно они базируются на упомянутых выше ping и tracert. В лучшем случае они выводят какую-то красоту, в худшем – получите вирус на компьютер. В обоих этих случаях не вижу причины их использовать.
Краткий чеклист проверок
Если вы уже попробовали все (а обычно так в поиске причины и бывает), рекомендую еще пробежаться вот по этому списку. Авось приедет какая-то умная мысль в голову:
Личный опыт
Здесь я просто вынесу тезисы по личному опыту, на что следует обращать внимание:
Дополнение от Бородача
Есть очень полезная программка WinMTR – она в реальном времени показывает трассировку до выделенного сервера. Например, вы играете в CS GO, Dota или другую онлайн игру и видите потерю пакетов. В моем случае, я видел, что есть просадка при игре в HOTS, поэтому давайте покажу на её примере.
Итак, в первую очередь смотрим на процент «Loss». Если потеря происходит где-то вдали не у провайдера, то вы тут ничего не поделаете, скорее всего это решится через какое-то время. Если есть проблема со стороны провайдера, то звоним им. Если лузы появляются на роутере (192.168.1.1 или 192.168.0.1), то можно сделать вот что:
Если ничего из вышеперечленного не помогло, то проблема может быть и у провайдера. У меня были потери (17-30%) как раз на роутере. Я не мог понять, что с ним не так. Потом мой любимый Ростелеком отключил мне интернет из-за аварии на неделю, и после этого проблемы как не бывало, и лузов больше нет. Можно попробовать взять у друга роутер или подключить интернет напрямую в комп или ноутбук, и, если проблема сохранится, то значит нужно звонить провайдеру.
За сим откланиваюсь, не забываем про комменты ниже.
Источник
Как проверить и найти потерю пакетов при онлайн-игре на Windows 10
В онлайн-играх играют в режиме реального времени. Разница во времени, когда игрок выполняет действие и оно отображается, составляет всего какие-то миллисекунды. Для того, чтобы уменьшить такую разницу, разработчиками настраивается несколько серверов. Игрокам рекомендуется использовать серверы, которые находятся географически ближе всего к ним. Также обращается большое внимание пингу. Он должен быть наименьшим, как и низкой (отсутствует) должна быть потеря пакетов. Как проверить потерю пакетов мы расскажем в этой статье.
Она происходит в вашей сети, поэтому независимо от того, насколько низким является пинг, если велика потеря пакетов, то полноценно играть станет невозможно.
Как проверить потерю пакетов
При получении доступа к чему-либо в режиме онлайн осуществляется обмен данными между серверами (компьютерами) и вашей собственной системой. Такие данные передаются в виде маленьких блоков, называемых «пакетами». Информация разбивается на более мелкие пакеты, когда исходит из системы. Затем они отправляются на онлайн-сервер, где снова принимают форму информации.
При значительной потере пакетов ваша информация теряется во время передачи. Неважно, насколько низким является пинг в игре, это приведет к запаздыванию передачи.
Для того, чтобы протестировать, надо выполнить пинг игрового сервера, на котором играете. В первую очередь необходимо узнать его IP-адрес, получите его, обратившись к документации или в поддержку. Далее в Windows 10 откройте Командную строку и введите команду:
Подождите окончания выполнения процесса тестирования, и проверьте значение «потеряно». Это значение и указывает на количество и процент потерянных пакетов.
Варианты исправления обнаруженной проблемы
Если вы испытываете потерю пакетов в своей сети, и она продолжается в течении всего дня, необходимо связаться с технической поддержкой своего интернет-провайдера. Специалисты могут изменить конфигурацию сети или подсказать, как можно исправить текущую проблему.
Попробуйте уменьшить количество устройств в вашей сети. Если происходит сетевая перегрузка, то это тоже может приводить до такой плачевной ситуации.
Если подключение осуществляется через Ethernet, убедитесь, что кабель не поврежден, и что он надежно подключен к разъему. Если беспроводная сеть — проверьте силу сигнала, получаемую от маршрутизатора.
Наконец, если вы подозреваете, что проблема в сервере, на котором играете, то попробуйте пропинговать другой. Это поможет определить, у кого возникает проблема. Спасибо за внимание!
Главная / Web / Как проверить потерю пакетов
Источник
Лаги, джиттер и потеря пакетов: откуда берутся проблемы с неткодом и как их решать
Если вы когда-либо играли в онлайн-игры, то наверняка знаете о лагах не понаслышке. Пропущенный выстрел, который должен был попасть в цель; мяч, резко меняющий направление прямо в воздухе; вы вдруг снова оказываетесь на несколько шагов назад в том месте, где находились секундой ранее. В этом нет ничего сверхъестественного: это обычные артефакты систем, обеспечивающих совместную игру с людьми из других стран почти так же эффективно, как и с соседом по комнате. По крайней мере, большую часть времени.
В этой статье речь пойдет о самых базовых вещах, почему вообще возникает сетевая задержка, с какими еще проблемами неткода можно столкнуться, а также с тем, что можно сделать со своей стороны, чтобы улучшить ситуацию. Также разберем остальную часть конвейера между ПК и игровым сервером, который может повлиять на получение лучшего игрового опыта без задержек и прочих неприятностей.
Итак, почему вообще возникают лаги? Почему в 2022 году это все еще является проблемой — с мощностью современных компьютеров, повсеместным использованием широкополосного Интернета и спустя десятилетия попыток разработчиков решить эту проблему?
С точки зрения разработчиков, реализация даже базового мультиплеерного режима — задача непростая. Необходимо получать данные от множества игроков одновременно, неоднократно — тысячи раз в секунду — передавать эту информацию на некий центральный сервер, а затем возвращать обработанный результат на ПК каждого игрока.
Состояние игры должно быть идеально синхронизировано с минимальной задержкой независимо от того, имеете ли вы дело с игроками в одной локальной сети или с разных континентов. Поэтому вам придется придумать способ компенсации задержки игроков. При этом лучше избегать необходимости ожидания игроками, пока сервер сообщит им результаты их же собственных действий, ведь динамике это на пользу не пойдет. Для этого вам, вероятно, потребуется показать эффекты ввода каждого игрока сразу же, а затем уже сглаживать любые различия между ПК игрока и сервером таким образом, чтобы это было внешне неочевидно.
Мы не можем знать, что делают другие игроки, пока сервер не сообщит нам об этом. Поэтому мы вынуждены отображать действия других игроков в матче такими, какими они были в прошлом. Также достаточно большую проблему может составить читерство, поэтому необходимо убедиться, что игроки имеют ограниченный доступ к данным с сервера, не позволяющий компьютеру игрока принимать решения о том, что на самом деле произошло в игре — например, насколько успешен был выстрел или какое количество здоровья осталось у игрока.
С двумя-то игроками это реализовать достаточно сложно, а теперь представьте, каково организовать подобное для игры с 10, 20 или даже сотнями игроков на одном сервере. При разработке игры жанра battle royale со всеми ее особенностями реализация хорошего мультиплеера является одной из самых сложных частей разработки даже для опытной команды, поэтому неудивительно, что временами в игре могут возникать сетевые проблемы. Конечно, это не делает такие сбои менее раздражающими, и чем быстрее скорость и выше конкуренция в игре, тем больше такой опыт может помешать вам получить от нее удовольствие.
Помимо лагов и сбоев, могут возникнуть и другие проблемы с сетью: rubber banding, когда игровой мир возвращает вас туда, где вы были несколько секунд назад; получение урона сразу после того, как вы оказались за укрытием; промахи ваших собственных выстрелов, а то и вовсе потеря связи с игрой.
Так что же вызывает все эти проблемы?
Обычно в играх можно столкнуться с тремя сетевыми явлениями, каждое из которых по-разному влияет на пакеты данных с вашими вводами и игровые состояния, которые передаются между вашим компьютером и сервером.
Первое из них — задержка. Она возникает тогда, когда пакеты с данными слишком долго передаются серверу и затем возвращаются к игроку. Проще говоря, задержка — это скорость реакции вашего интернет-соединения, то есть время, необходимое для передачи данных с вашего устройства на сервер. Важно отметить, что задержка зависит от качества вашего интернет-соединения, а не от скорости.
Часто задержку путают с лагами, и хотя они не означают одно и то же, но имеют причинно-следственную связь. Лаг — это задержка прибытия пакета от источника к месту назначения или, с точки зрения геймплея, задержка между нажатием кнопки и ответом игры, выведенным на экран. То есть, по сути совокупность вообще всех явлений, которые происходят между этими двумя событиями.
Джиттер — это колебания задержки, означающие, что пакеты отправляются и принимаются с разной скоростью. Это похоже на плохой frame pacing: то ваш пинг меняется с 20 миллисекунд до секунды, то с секунды до 90 миллисекунд, а затем возвращается к 30 миллисекундам, которые были когда-то уже давно.
Потеря пакетов — это когда пакеты вообще не достигают места назначения. Она вызывает необходимость повторной отправки одних и тех же данных и и потенциально — странное поведение игры.
Конечно, наличие даже одной из этих проблем может довольно сильно раздражать. С точки зрения игрока, если вы не чувствуете, что контролируете игру, если ваша производительность страдает от проблем с сетью, велика вероятность, что вы просто закроете игру и больше в нее не зайдете. Для разработчиков и издателей это будет означать, что аудитория станет меньше, а если у вас free-to-play тайтл, это поставит под угрозу само его существование. Особенно важно это для соревновательных игр, поскольку любые повторяющиеся проблемы могут заставить игроков и организаторов турниров отказаться от их проведения до тех пор, пока проблемы не разрешатся.
Так почему же возникают подобные сбои?
Существуют три основных типа проблем с соединением:
проблемы «первой мили», вызванные домашней сетью вашего ПК и подключением к Интернету;
проблемы «средней мили», обусловленные перемещением данных по маршруту между вашим интернет-провайдером и игровым сервером;
проблемы «последней мили», связанные непосредственно с игровым сервером.
Обычно первая и последняя миля вызывают наименьшую задержку — в нашем примере это около одной миллисекунды. Средняя же миля имеет наибольшую задержку, ведь именно на ней пакеты преодолевают все географическое расстояние между вашим компьютером и сервером.
Начнем с того, что может улучшить со своей стороны сам игрок, — с проблем, связанных с ПК и домашней сетью.
Точно так же, как производительность игры ограничивается компонентами ПК, такими как центральный процессор или видеокарта, сетевое соединение тоже зависит от многих элементов. На то, как будут отправляться и приниматься пакеты данных, могут влиять настройки игры, сетевое оборудование вашего ПК и его драйверы, ваша операционная система и ее настройки. Но есть и физические аспекты — например, то, как ваш компьютер подключен к роутеру, какой у вас роутер и как он настроен — и, конечно же, подключение к Интернету, предоставляемое провайдером.
Пожалуй, наиболее важным для игр является переключение с беспроводного на проводной Интернет, что может значительно снизить задержки, джиттер и потерю пакетов. Помимо этого, возможно, стоит изучить роутеры с более гибко настраиваемой прошивкой — например, отдать предпочтение роутерам OpenWRT или pfSense — или просто повысить скорость вашего интернет-соединения — особенно в домашних условиях, где оно используется несколькими людьми, которые могут смотреть потоковые видео, загружать файлы из Интернета и выполнять другие задачи с высокой пропускной способностью одновременно. В идеале роутер должен иметь возможность отдавать приоритет критическим с точки зрения задачам, таким как онлайн-игры и видеоконференции, по сравнению с такими вещами, как воспроизведение видео с YouTube.
Наконец, полезно будет убедиться, что драйвера обновлены, вы отключили все приложения, которые используют значительный объем ЦП или пропускной способности сети в фоновом режиме, а также что сетевые настройки игры установлены правильно.
Теперь поговорим о средней миле, где у вас нет особого контроля над тем, что происходит, ведь пакет данных, отправляемый вашим компьютером, выходит в более широкий Интернет.
В первую очередь ваш пакет должен обработать местный интернет-провайдер. Но совсем скоро он перейдет к оптоволоконным магистралям, которые соединяют города и страны друг с другом. Здесь маршрут, по которому идет пакет, не обязательно окажется самым быстрым, и нет никакой гарантии, что пакет вообще доберется до конечного пункта назначения. Помните, что предшественник Интернета был разработан министерством обороны США для работы в условиях ядерной войны. Таким образом, доставляемость для него важнее скорости.
Сами маршруты со временем могут перенасыщаться и повреждаться, а потому изменяться. Так, вы можете обнаружить, что ваше соединение с определенным сервером может оказаться быстрым и надежным в один день, но на следующий уже совсем никуда не годится.
Так что же могут сделать разработчики игр для оптимизации на этом участке? Географическое расстояние критически влияет на пинг, поэтому можно открывать новые игровые серверы, которые находились бы в недостаточно обслуживаемых регионах базы игроков. Это уменьшит задержку для этих игроков и вероятность того, что какое-то соединение между игроком и сервером замедлится или полностью выйдет из строя. Но, конечно, запускать серверы повсеместно может оказаться непросто, особенно для небольшой компании с ограниченными ресурсами — да и это не решит всех проблем.
Другая идея состоит в том, чтобы вообще не полагаться на общедоступный Интернет для передачи пакетов от игрока к серверу — вместо этого пакеты могут передаваться через частные оптоволоконные маршруты, которые арендуют разработчики или их партнеры. Это дорого, но при использовании таких выделенных полос вы будете меньше зависеть от периодов занятости в вечернее время, когда возможны более высокие пинги и, как следствие, снижение надежности сетевого соединения.
Такой контроль над маршрутизацией также открывает некоторые интересные возможности для киберспорта, где отборочные и другие важные матчи проводятся онлайн. Можно настроить маршрутизацию и выбрать расположение сервера так, чтобы у обеих команд был одинаковый пинг, даже если одна из них находится географически ближе к серверу, и тем самым обеспечить участникам более справедливую игру.
Наконец, перейдем к последней миле в цепочке — игровым серверам.
До сих пор мы предполагали, что имеем дело с игроками, подключенными к одному выделенному серверу для проведения матча, поскольку часто это обеспечивает наилучший опыт. Так разработчики игр или их партнеры могут гарантировать, что на каждом сервере достаточно оборудования и обеспечивается самое быстрое подключение к Интернету, но есть и другие варианты.
Client hosting — это когда ПК одного из игроков сам по себе выступает в качестве сервера. Это хороший способ для разработчиков игр минимизировать затраты, но опыт каждого участника матча будет зависеть от качества соединения игрока-хоста. Таким образом, если такие игроки подключаются к сети через Wi-Fi или вовсе испытывают проблемы с подключением, другие игроки тоже столкнутся с лагами, джиттером и потерей пакетов.
Назначенный хост также имеет нулевую задержку для сервера, что дает ему огромное конкурентное преимущество перед остальными и, конечно, не является идеалом для соревновательных игр. При этом, если он покидает игру, необходимо найти другого хоста, что прерывает игру для всех участников на несколько секунд, пока не поизойдет так называемая миграция хоста.
Другой вариант — одноранговая (peer-to-peer) сеть, где игроки напрямую подключается друг к другу. Как правило, в таком случае тоже существует некий хост, который номинально отвечает за обработку новых соединений, поэтому проблема с миграцией хоста в данном случае сохраняется.
Помимо различных архитектур серверов, разработчикам игр необходимо оптимизировать пакеты, которые отправляются каждому игроку и обратно, и выбирать, как часто будет обновляться игровой мир. Чем чаще это происходит, чем выше частота тиков, тем быстрее должна выполняться обработка состояния игры на ПК игрока и на сервере, но в целом игра при этом становится более отзывчивой.
Некоторые игры работают с переменным весом тиков — например, королевские битвы, в которых скорость тиков повышается по мере выбывания игроков, или Counter-Strike, где сторонние и киберспортивные матчи проводятся со скоростью 128 тиков в секунду по сравнению со встроенным в игру матчмейкингом, работающим на 64 тиках.
Матчмейкинг — наиболее важная часть мультиплеера. Чтобы свести игроков в одном матче, вам, как разработчику игры, понадобится учитывать такие факторы, как пинг, уровень навыков, количество игроков в группе и выбранные каждым игроком карты и режимы. Каждый новый фактор существенно уменьшает размер пула для подбора игроков — что, в свою очередь, увеличивает время ожидания игры в среднем.
Даже небольшие инженерные улучшения или улучшенная маршрутизация в состоянии помочь с матчмейкингом, если это увеличит пул игроков — и, следовательно, позволит улучшить игровой опыт, не увеличивая время ожидания.
Наконец, последнее — методы борьбы с лагами, которые разработчики могут реализовать со своей стороны в коде.
Так называемое предсказание на стороне клиента часто используют в шутерах от первого лица. Его можно разделить на предсказание ввода и расчет траектории (dead reckoning): первое будет скрывать задержку действий самого игрока, в то время как второй — других игроков.
Предсказание ввода подчиняется следующей последовательности: клиент генерирует команду игрока, которая передается на сервер, где происходит вычисление следующего состояния игры, после чего оно отправляется обратно всем клиентам, и каждый из них отображает сцену на своем устройстве. Но все это время игроку тоже нужно что-то показывать, поэтому суть метода состоит в выполнении перемещения клиента локально, просто предполагая, что сервер примет команду. Недостатком его является то, что, если ответ сервера не будет соответствовать прогнозу клиента, возникнет резкое заметное изменение положения аватара игрока на экране.
Dead reckoning — это, по сути, алгоритм оценки положения объекта в виртуальном мире на основе его предыдущего положения, направления движения, скорости, ускорения и других параметров. Получив первый блок данных протокола состояния (protocol data unit, PDU) для объекта (например, персонажа другого игрока), каждый клиент начинает перемещение этого объекта, применяя согласованный алгоритм dead reckoning. Его движение обновляется при получении последующих PDU. Если для пакетов, несущих PDU, возникнет увеличенная задержка или вовсе их потеря, каждая копия виртуального мира продолжит показывать движение объектов в соответствии с алгоритмом до тех пор, пока не получит следующее обновление. Кроме того, при несоответствиях между статусом сервера и предсказанным клиентом некоторые игры могут сделать переход к новому статусу менее резким, используя алгоритмы сглаживания.
В дополнение к предсказанию клиента сервер может прибегать к методу компенсации сетевой задержки, чтобы правильно объединить виртуальные реальности, которые из-за проблем с неткодом испытывают рассинхронизацию. В таком случае сервер хранит историю последних позиций игроков (так, серверы, на которых работает движок Valve Source, сохраняют позиции игроков в течение 1 секунды), и когда ему нужно вычислить новое состояние, он сначала оценивает момент, когда действие было выполнено в клиентской версии состояния игрового мира. Другими словами, сервер «перематывает время» в соответствии с задержкой конкретного клиента, вычисляя выполнение введенной им команды (например, удалось ли выстрелу игрока поразить цель). Для этого используется следующая формула:
Время выполнения команды = Текущее время сервера — Задержка пакета — Интерполяция представления клиента
Иллюстрация выше представляет собой пример скриншота, сделанного на сервере сразу после того, как он подтвердил обращение. Красный хитбокс показывает позицию цели на клиенте, как это было некоторое время назад. Пока команда игрока (то есть, выстрел по цели) добиралась до сервера, цель продолжала двигаться влево. После того, как команда прибыла на сервер, для расчета факта попадания сервер восстанавливает позицию цели (синий хитбокс) на основе предполагаемого времени выполнения команды. Так сервер отслеживает траекторию выстрела и подтверждает или не подтверждает попадание.
Впрочем, иногда такой алгоритм приводит к ошибкам попадания, когда цель уже скрылась за укрытием. Эту проблему можно было бы решить, если бы клиент мог послать сообщение «попадание» вместо сообщения «выстрел». Однако серверы не могут разрешить клиентам сообщать о попаданиях по соображениям безопасности: некоторые клиенты могут этим воспользоваться в собственных целях и прибегнуть к читерству.
Мы рассмотрели основные причины различных задержек и других нежелательных аспектов производительности сети. Как у игрока, у вас есть немало опций, которые могут значительно улучшить качество вашего игрового опыта. Надежное сетевое соединение может сделать игру намного стабильнее и интереснее. Также мы рассмотрели варианты, что со своей стороны могут сделать разработчики и как они могут повлиять на игровой процесс.
Для получения дополнительной информации о лагах и о том, что вы можете с ними сделать, можно ознакомиться с каналом Battle(non)sense: там разбираются тесты сетевых проблем в разных играх и то, как разные технологии на них влияют. Прилагаем также и другие ссылки на видео и статьи о сетевом коде ниже:
Источник