Потеря пакетов происходит, когда сетевое соединение теряет информацию во время передачи. Это может сделать ваше соединение более медленным, чем должно быть, и снизить надежность сетевого взаимодействия с локальными и удаленными устройствами. Знание того, как остановить потерю пакетов, должно быть главным приоритетом для всех, кто хочет улучшить проблемную сеть.
Причины потери пакетов
Потери пакетов не бывает только по одной причине. Диагностика причины потери пакетов в вашей сети подскажет вам, что нужно исправить:
- Пропускная способность сети и перегрузка: Основной причиной потери пакетов является недостаточная пропускная способность сети. Это происходит, когда слишком много устройств пытаются установить связь в одной сети.
- Недостаточное оборудование: Проблемы с любым оборудованием в сети, которое маршрутизирует пакеты, могут привести к потере пакетов. Маршрутизаторы, коммутаторы, брандмауэры и другие сетевые устройства наиболее уязвимы.
- Поврежденные кабели: Потеря пакетов может произойти на физическом сетевом уровне. Если кабели Ethernet повреждены, неправильно подключены или слишком медленны для обработки сетевого трафика, кабели пропускают пакеты.
- Ошибки программного обеспечения: В прошивке сетевого оборудования или компьютерного программного обеспечения могут быть ошибки, вызывающие потерю пакетов.
Как устранить потерю пакетов в сети
Чтобы определить причину потери пакетов, начните с проблемы, которую легче всего обнаружить:
- Проверьте физические соединения. Проверьте соединение Ethernet между устройствами. Ищите признаки физического повреждения или пропусков зажигания и посмотрите, решит ли проблема замена кабелей.
- Освобождение полосы пропускания. Обрабатывает ли какое-либо оборудование больше соединений, чем должно? Если это так, ограничьте пропускную способность на маршрутизаторе.
- Замените оборудование. Замените потенциально проблемные устройства в сети, чтобы увидеть, исчезнет ли потеря пакетов при удалении определенного устройства.
- Сообщать об ошибках программного обеспечения. Если вы подозреваете, что ошибки в программном обеспечении вызвали потерю пакетов, единственный способ исправить это - установить исправление прошивки от поставщика оборудования. Сообщайте о предполагаемых ошибках по мере их обнаружения, чтобы побудить поставщиков исправить проблему.
Как обнаружить потерю пакетов
Некоторые приложения могут обнаруживать потерю пакетов в сети. Они каким-то образом перехватывают пакеты, либо анализируя время прохождения, либо просматривая содержимое пакета. Самый простой способ узнать, есть ли потеря пакетов, - это пропинговать устройства в сети:
-
В Windows откройте окно командной строки и используйте команду ping для настройки маршрутизатора. Например, если локальный IP-адрес маршрутизатора - 127.0.0.1, введите ping 127.0.0.1 -t, чтобы пропинговать маршрутизатор. В macOS или Linux откройте окно терминала и введите ping 127.0.0.1
Единственное отличие для компьютеров под управлением Windows - отсутствие - t в конце команды.
- После того как команда ping обработает достаточное количество пакетов (не менее 10), нажмите Ctrl+ C или Command+ C для остановки команды.
-
Посмотрите, не было ли потерь пакетов. Если конкретное соединение между пингующим устройством и целью работает правильно, вы должны увидеть 0% потери пакетов. Отчет может выглядеть так:
- -- 127.0.0.1 статистика пинга ---
27 пакетов передано, 27 пакетов получено, 0,0% потери пакетов
минимальное/среднее/макс./стандартное отклонение в обе стороны=1,820/8,351/72,343/14,186 мс
Обнаружение потери пакетов с помощью tcpdump
Команда tcpdump в macOS и Linux более мощная, чем ping. Команда захватывает пакеты, а затем вычисляет количество потерянных пакетов. Чтобы использовать команду, откройте командную строку или окно терминала и введите tcpdump -i any.
Это запускает tcpdump через любое сетевое соединение. Команду также можно запустить с - i eth0 для захвата только основного сетевого интерфейса или с - c 10 для захвата только 10 пакетов.
После выполнения команды посмотрите в нижней строке, не были ли потеряны какие-либо пакеты:
17 пакетов перехвачено
85 пакетов получено фильтром
0 пакетов удален ядром
Процесс обнаружения пакетов является относительно низкотехнологичным. После того, как вы установите способ проверки связи по сети, следуйте практике изоляции и устранения, чтобы определить источник и причину потери пакетов. Это потребует проверки связи с большинством устройств в сети. Важно знать топологию сети.
В Windows либо используйте tcpdump через оболочку Bash в Windows 10, либо запустите Wireshark.