Найти в Дзене
Калинкин

Устранение задержек в сети с помощью Wireshark

Задержка в сети - это задержка в передаче запросов или данных от источника к получателю в сетевой экосистеме. Давайте посмотрим, как можно устранить задержки в сети. Любое действие, требующее использования сети, например, открытие веб-страницы, щелчок по ссылке или открытие приложения и игра в онлайн-игру, называется действием. Активность пользователя - это запрос, а время отклика веб-приложения - это время, необходимое для ответа на этот запрос. Эта временная задержка также включает время, необходимое серверу для выполнения запроса. В результате, она определяется как туда-обратно – время, которое требуется для запроса регистрируются, обрабатываются, и затем получены пользователем, где он декодируется. Термин “низкая задержка” относится к относительно коротким задержкам передачи данных. С другой стороны, длительные задержки или чрезмерная задержка нежелательны, поскольку они ухудшают работу пользователя. Как устранить задержку в сети? В Интернете доступно множество инструментов и прогр
Оглавление
Устранение задержек в сети
Устранение задержек в сети

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

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

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

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

Схема задержки
Схема задержки

Как устранить задержку в сети?

В Интернете доступно множество инструментов и программного обеспечения для анализа и устранения неполадок в сети. Некоторые из них платные, а некоторые бесплатные. Однако существует инструмент под названием Wireshark, который представляет собой приложение с открытым исходным кодом и лицензией GPL, используемое для сбора пакетов данных в режиме реального времени. Wireshark - самый популярный и часто используемый анализатор сетевых протоколов в мире.

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

Что вызывает задержку в сети?

Несколько основных причин медленного сетевого подключения, включая :

  • Высокая задержка
  • Зависимости приложений
  • Потеря пакетов
  • Перехватывающие устройства
  • Неэффективные размеры окон

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

Проверка с помощью Wireshark

Высокая задержка

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

Диаграмма в Wireshark
Диаграмма в Wireshark
  • Перейдите к статистике Wireshark.
  • Выберите опцию TCP stream graph.
  • Выберите график времени прохождения в оба конца, чтобы узнать, сколько времени требуется для загрузки файла.

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

Зависимости приложений

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

Потеря пакетов

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

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

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

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

Потеря пакетов
Потеря пакетов

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

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

Перехватывающие устройства

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

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

Неэффективные размеры окон

Помимо операционной системы Microsoft, в сети TCP / IP есть и другие “окна”.

  • Скользящее окно
  • Окно приемника
  • Окно контроля перегрузки

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

Скользящее окно

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

Окно приемника

Окно приемника стека TCP представляет собой буферное пространство. Когда данные получены, они сохраняются в этом буферном пространстве до тех пор, пока приложение не подберет их. Окно приемника заполняется, когда приложение не успевает за скоростью приема, что в конечном итоге приводит к сценарию “нулевого окна”. Вся передача данных на хост должна прекращаться, когда приемник объявляет о состоянии нулевого окна. Скорость передачи падает до нуля. Метод, известный как масштабирование окна (RFC 1323), позволяет хосту увеличить размер окна приемника и снизить вероятность сценария с нулевым окном.

Окно приемника
Окно приемника

На приведенном выше рисунке показана 32-секундная задержка в обмене данными по сети из-за сценария с нулевым окном.

Окно перегрузки

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

Советы по обеспечению работоспособности сети

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

Завершение

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

Теперь вам следует изучить и устранить производительность сети с помощью нескольких фильтров и инструментов, использующих Wireshark.