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

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

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

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

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

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

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

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

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

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

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

Майк Пауэлл / Getty Images
  • В Windows откройте окно командной строки и используйте команду ping для настройки вашего маршрутизатора. Например, если локальный IP-адрес вашего маршрутизатора 192.168.0.1, следующая команда будет проверять связь с маршрутизатором:
    ping 192.168.0.1 -t

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

    ping 192.168.0.1

    Единственное отличие — это отсутствие -t в конце команды.

  • После того, как команда ping обработает достаточное количество пакетов (не менее 10), нажмите Ctrl + C, чтобы остановить команду.
  • Посмотрите, была ли потеря пакетов. Если это конкретное соединение между устройством проверки связи и целью работает правильно, вы должны увидеть 0% потери пакетов.
    --- 192.168.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
  • Вот и все.
    Есть также более продвинутые инструменты, доступные для обнаружения потери пакетов.
  • Команда tcpdump в macOS и Linux значительно более мощная, чем ping. Немного трудновато привыкнуть, но следующая команда перехватит пакеты, а затем подсчитает количество потерянных пакетов:
    tcpdump -i any
  • Это запустит tcpdump через любое сетевое соединение. Он также может быть запущен с -i eth0 для захвата только основного сетевого интерфейса или с -c 10 для захвата только десяти пакетов.
  • После выполнения команды посмотрите на нижнюю строку, чтобы увидеть, были ли потеряны какие-либо пакеты.
    17 packets captured
    85 packets received by filter
    0 packets dropped by kernel
  • В идеале вы должны увидеть, что 0 пакетов были потеряны.

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

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

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

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

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

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

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

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

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

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

Совет: вы можете сбросить настройки роутера.

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

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

3 комментария

  1. RealAdmin Ответить

    Вся 127-я сеть по-умолчанию отдана под localhost, поэтому «если локальный IP-адрес вашего маршрутизатора 127.0.0.1», то начинать изучать теорию системного администрирования стоило до того как Вам в голову пришла идея назначить этот адрес маршрутизатору.
    «Использование адреса 127.0.0.1 позволяет устанавливать соединение и передавать информацию для программ-серверов, работающих на том же компьютере, что и программа-клиент, независимо от конфигурации аппаратных сетевых средств компьютера (не требуется сетевая карта, модем, и прочее коммуникационное оборудование, интерфейс реализуется при помощи драйвера псевдоустройства в ядре операционной системы)» © Wiki
    Можно пинговать адрес в 127-й сети вообще без сетевых устройств в компьютере и при этом будут приходить ответы 🙂

    P.S.: Сброс к заводским всех настроек маршрутизатора в данном случае должен помочь, но потом его придётся настраивать заново.

    • David Ответить

      Подскажите пожалуйста, проблема с потерей пакетов, оборудование исправно, кабеля тоже, приходил мастер из локального РТ и проверил всё, провели тесты через 3 компьютера(2 разных кабеля)и 5 телефонов через «вифи», пинговали до всех серверов, пакеты улетали в никуда даже с серверов яндекса и гугла, заявку так и не закрыли и 2 дня уже тишина, что мне делать? (кроме как менять провайдера, такой возможности в моем доме нет)

  2. Peter Ответить

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

Добавить комментарий для Peter Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *