Задержки в сети
В основном, в современных корпоративных сетях можно выделить следующие типы задержки:
Задержка обработки: Это время, которое затрачивает маршрутизатор на получение пакета на входном интерфейсе и отправку его в исходящую очередь на исходящий инетерфейс. Задержка обработки зависит от следующих факторов:
- Скорость центрального процессора;
- Использование центрального процессора;
- Архитектура маршрутизатора;
- Настроенные опции входящих и исходящих интерфейсов.
- Задержка очереди: Это время, которое пакет находится в очереди на отправку. Данный вид задержки зависит от таких факторов как количество и размер пакетов, которые уже находятся в очереди, полоса пропускания интерфейса и механизм очередей;
- Задержка сериализации: Время, необходимое для перемещения фрейма в физическую среду передачи;
- Задержка распространения: Время, которое занимает путь пакета от источника к получателю по каналу связи. Эта задержка сильно зависит от среды передачи.
Методы ограничения задержки
- Маршрутизатор имеет достаточно мощностей для того, чтобы быстро и оперативно принимать решения о дальнейшем перенаправлении пакетов. Задержка обработки, очереди и сериализации зависит от следующих факторов:
- Средняя длина очереди;
- Средняя длина пакетов в очереди;
- Пропускная способность канала связи.
- Увеличение пропускной способности: При достаточной пропускной способности, сокращается время ожидания в исходящей очереди, тем самым, сокращается задержка сериализации;
- Приоритизация чувствительного к задержкам трафика: Данный метод является более гибким. Указанные ранее алгоритмы PG, CQ, MDRR и LLQ имеют значительное воздействие задержку, вносимую очередью;
- Сжатие поля полезной нагрузки: Сжатие поля полезной нагрузки уменьшает общий размер пакета, тем самым, по сути, увеличив пропускную способность канала передачи. Так как сжатые пакеты меньше обычных по размеру, их передача занимает меньше времени. Важно помнить, что алгоритмы сжатия весьма сложны, и компрессия наряду с декомпрессией могут добавить дополнительные задержки;
- Сжатие заголовков пакетов: Сжатие заголовков не так сильно требует ресурсов центрального процессора, как сжатие поля полезной нагрузки, поэтому, данный механизм часто используется наряду с другими алгоритмами уменьшения задержки. Сжатие заголовков особенно актуально для голосового трафика.
Потеря пакетов
Обычно, потеря пакетов происходит при условии переполнения буфера маршрутизатора. Например, пакеты находятся в исходящей на интерфейсе очереди. В какой-то момент размер очереди достигает своего максимума, и, новые приходящие пакеты просто отбрасываются. В целом, потеря пакетов происходит по следующим причинам:
- Потеря на входящей очереди: если не хватает мощности CPU (Central Processing Unit) маршрутизатора, пакеты могут быть потеряны еще на входящем интерфейсе;
- Игнорирование пакетов: Буфер маршрутизатора переполнен, следовательно, приходящие пакеты просто игнорируются;
- Ошибка во фреймах: Аппаратное обнаружение ошибок во фреймах, например, Cyclic Redundancy Check (CRC).
Как правило, потеря пакетов является результатом чрезмерной загрузки интерфейса.
Используются следующие методы и алгоритмы для предотвращения потерь пакетов:
- Увеличение пропускной способности чтобы предотвратить перегрузку на интерфейсе;
- Обеспечение достаточной пропускной способности и увеличение буферного пространства для гарантированного перемещения чувствительного к задержкам трафика в начало очереди;
- Ограничить перегрузку путем отбрасывания пакетов с низким приоритетом до того, как произойдет переполнение интерфейса. Для обеспечения данной цели, инженер может использовать алгоритм Weighted Random Early Detection (WRED), который будет случайно отбрасывать нечувствительный к потерям и трафик и пакеты, с заранее настроенными низкими приоритетами.
Что такое задержка сети и как ее исправить?
Задержка сети — это время между действием пользователя и полученным ответом. На практике задержка — это время между действием пользователя и ответом веб-сайта, или приложения на это действие, например задержка между переходом пользователя по ссылке на веб-страницу и отображением этой веб-страницы в браузере.
Хотя данные в Интернете распространяются со скоростью света, последствия расстояний и задержек, вызванных оборудованием инфраструктуры интернета, означают, что задержки никогда не могут быть полностью устранены. Однако их можно и нужно свести к минимуму. Большое количество задержек приводит к низкой производительности веб-сайта, негативно влияет на SEO и может побудить пользователей покинуть сайт или приложение в целом.
Что вызывает задержку интернета?
Одной из основных причин задержки сети является расстояние, в частности расстояние между клиентскими устройствами, выполняющими запросы, и серверами, отвечающими на эти запросы. Если веб-сайт размещен в центре обработки данных в Колумбусе, штат Огайо, он будет довольно быстро реагировать на запросы пользователей в Цинциннати (около 100 миль), вероятно, в течение 10-15 миллисекунд. Пользователи в Лос-Анджелесе (около 2200 миль), с другой стороны, столкнутся с более длительными задержками, ближе к 50 миллисекундам.
Увеличение на несколько миллисекунд может показаться не очень большим, но это усугубляется всей обратной связью, необходимой клиенту и серверу для установления соединения, общим размером и временем загрузки страницы, а также любыми проблемами с сетевым оборудованием, через которое проходят данные на этом пути. Время, необходимое для ответа на клиентское устройство после запроса клиента, называется временем приема-передачи (RTT).
Данные, проходящие через интернет, как правило, должны пересекать не одну, а несколько сетей. Чем больше сетей должен пройти HTTP-ответ, тем больше возможностей для задержек. Например, когда пакеты данных пересекают сети, они проходят через точки обмена интернет (IXP). Там маршрутизаторы должны обрабатывать и маршрутизировать пакеты данных, а иногда маршрутизаторам может потребоваться разбить их на более мелкие пакеты, все из которых добавляет несколько миллисекунд к RTT.
Кроме того, способ создания веб-страниц может привести к снижению производительности. Веб-страницы, которые содержат много тяжелого контента или загружают контент от нескольких третьих сторон, могут работать вяло, потому что браузеры должны загружать большие файлы для их отображения. Пользователь может находиться рядом с центром обработки данных, на котором размещен веб-сайт, к которому он обращается, но, если веб-сайт содержит несколько изображений высокой четкости (например), при загрузке изображений может сохраняться некоторая задержка.
Задержка, bandwidth, throughput
Задержка, throughput (характеристика процесса передачи информации) и bandwidth (ширина полосы) взаимосвязаны, и они измеряют разные вещи. Bandwidth — это максимальный объем данных, который может пройти через сеть в любой момент времени. Throughput — это средний объем данных, который фактически проходит через определенный период времени. Throughput не обязательно эквивалентна bandwidth, поскольку на нее влияет задержка. Задержка — это измерение времени, а не объема данных, загружаемых с течением времени.
Как можно уменьшить задержку?
Использование CDN (сети доставки контента) является важным шагом на пути к сокращению задержки. CDN кэширует статическое содержимое, чтобы значительно уменьшить RTT. Серверы CDN распределены в нескольких местах, так что контент хранится ближе к конечным пользователям и не нужно путешествовать так далеко, чтобы добраться до них. Это означает, что загрузка веб-страницы займет меньше времени, улучшая скорость и производительность веб-сайта.
Веб-разработчики также могут минимизировать количество ресурсов, блокирующих рендеринг (например, загрузка JavaScript), оптимизировать изображения для более быстрой загрузки и уменьшить размеры файлов, где это возможно. Минификация кода — это один из способов уменьшения размера файлов JavaScript и CSS.
Возможно, для уменьшения задержки, стратегически загрузки определенных ресурсов. Веб-страницу можно настроить так, чтобы она сначала загружала верхнюю часть, чтобы пользователи могли начать взаимодействовать со страницей еще до ее завершения (над сгибом отображается то, что отображается в окне браузера перед прокруткой вниз). Веб-страницы также могут загружать ресурсы только по мере необходимости, используя метод, известный как отложенная загрузка. Эти подходы на самом деле не улучшают задержку сети, но они улучшают восприятие пользователем скорости страницы.
Как пользователи могут исправить задержку на своей стороне?
Иногда, задержка сети вызвана проблемами на стороне пользователя, а не на стороне сервера. Потребители всегда имеют возможность приобрести больше пропускной способности, если задержка является постоянной проблемой, хотя пропускная способность не является гарантией производительности веб-сайта. Переключение на провод вместо WiFi приведет к более последовательному подключению к интернету и, как правило, улучшает скорость интернета. Пользователи также должны убедиться, что их интернет-оборудование обновлено, регулярно применяя обновления прошивки и заменяя оборудование в целом по мере необходимости.
Вам будет полезно узнать – мультиплексор ( устройство для передачи различных потоков информации с большой скоростью).
На видео: Устройство интернет сети за 15 минут.