Бровары, QoS и немного jitter

PingTest result's window
Представление результатов PingTest

Задачу выбора поставщика услуг доступа в Интернет сильно осложняет разнообразие запросов различных категорий пользователей. Во многих случаях недостаточно найти «быстрый» канал передачи данных. Он должен быть ещё и «качественным». Для этого необходимо понимать из чего складывается вот это самое Quality of Service (качество обслуживания – англ.) или, коротко, QoS.

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

Для подобных применений скорость передачи данных является наиболее важной и едва ли не единственной характеристикой доступа в Интернет. Наряду с этим существуют целые классы приложений и сервисов, предъявляющих специальные требования.

Как утверждает соответствующая статья в русскоязычной Википедии, существует четыре основных показателя качества обслуживания в сетях передачи данных:

  • Полоса пропускания (Bandwidth), описывает номинальную пропускную способность среды передачи информации, определяет ширину канала. Измеряется в bit/s (bps), kbit/s (Kbps), Mbit/s (Mbps), Gbit/s (Gbps).
  • Задержка при передаче пакета (Delay), измеряется в миллисекундах.
  • Колебания (дрожание) задержки при передаче пакетов — джиттер.
  • Потеря пакетов (Packet loss). Определяет количество пакетов, потерянных в сети во время передачи.

Английский вариант Википедии, как обычно, копает существенно глубже, однако по нашему вопросу не добавляет ничего существенного.

Наибольшие затруднения вызывает понимание и правильная интерпретация такого  показателя, как джиттер. Приведу ещё одну цитату:

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

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

Jitter важен только для потоковых данных — то есть просмотр потокового видео (как Youtube), VoIP коммуникации (Skype, MSN Live Messenger). При потоковой передаче информации — например тот же разговор через Скайп — важнее, чтобы последующие части информации приходили с одинаковой скоростью (потому что мы говорим обычно с постоянной скоростью!), чтобы у принимающей стороны речь звучала плавно, без обрывов. Таким образом, даже если часть данных потеряется, в силу особенностей работы мозга, он сможет «восстановить» что же именно хотел сказать собеседник. Но при наличии обрывов и изменения в скорости передачи речи, воспринимаемое качество звукового сигнала кажется намного ниже.

К сожалению, анализ фактического качества того или иного подключения к Интернет, в том числе и беспроводного, куда менее очевидное занятие, нежели определение скоростей передачи данных или, как это принято говорить,  «ширины» канала. И задержка, и джиттер, и потери пакетов влияют на степень комфортности  при пользовании услугами. Но влияют  нелинейно и, скажем прямо, не всегда очевидным образом. Мало того, каждый из этих показателей сам по себе зависит от множества факторов, слишком сложных для учёта рядовым пользователем.

Одним из примеров такого рода являются он-лайн игры. Для комфортной игры так называемые «лаги», то есть задержки между операциями ввода (движениями мыши, нажатиями клавиш) пользователя и реакцией на них в виртуальном мире, должны быть минимальны. Тематические форумы полнятся всевозможных советов и подсказок. Советом №1 остаётся использование Интернет-подключений с минимальными показателями задержки пакетов, которая измеряется с помощью  консольной команды ping.

Однако легко сказать – выбрать канал с минимальными задержками. Величина этого показателя зависит от множества факторов, многие из которых, мягко говоря, неочевидны. Например, увеличение размера пакетов данных приводит к увеличению задержки на 30-100% и более (см. таблицы ниже). Очень сильно, в разы, различаются значения задержки для различных сетевых протоколов – HTTP, RTP, SIP, TLS/SSL и других.

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

MOS vs R-factor
Соотношение значений MOS и R-factor. Источник: http://www.tamos.ru

Наиболее популярными показателями такого рода являются MOS и R-Factor. Подробное описание обоих метрик можно найти в этой статье.  Для самостоятельных измерений могу посоветовать общедоступный сервис PingTest, поддерживаемый создателями суперпопулярного SpeedTest.  Данный сервис выдаёт ключевые характеристики QoS — джиттер, потери и задержки пакетов, — и рассчитывает MOS (Mean Opinion Score – субъективная оценка качества) как интегральный показатель качества канала с точки зрения пользователей VoIP-сервисов.

Теперь посмотрим, как все эти теоретические выкладки могут быть использованы в реальной жизни. Возьмём данные замеров, которые были выполнены в Броварах.

Мультитест в Броварах, 1
Результаты мультитеста БШПД в г.Бровары, ул. Киевская, 95

Для измерения задержки пактов использовалась команда ping с ключами –l (размер пакета) и –n (количество повторений). Выполнялось три замера по 30 повторений каждый и размерами пакетов в 32, 1024 и 2048 байт. Результаты наглядно показывают зависимость времени задержки от размера пакета. Можно отметить, что задержка на уровне 65-80 мс весьма неплоха, хотя и уступает таковой для фиксированных сетей.

Пригодность беспроводных подключений, задействованных в мультитесте, к использованию для передачи голоса оценивалась посредством сервиса PingTest.net Как уже отмечалось выше, он рассчитывает показатель MOS, характеризующий степень искажений человеческой речи.  Интересно, что всевозможные комбинации значений задержки, джиттера и потери пакетов в итоге интерпретируются тестом как соответствующие одному и тому же уровню качества, а именно «B». В соответствующем разделе этот уровень описывается следующим образом: «MOS между  4.28 и 4.37 (Пример — ping около 90 мс и 0% потерь пакетов. Ваше соединение должно работать  хорошо для любых Интернет-приложений. Возможен недостаток производительности в некоторых онлайн-играх».

По аналогии со SpeedTest возникает вопрос: для каких именно значений пакетов рассчитаны эти показатели качества? Судя по цифрам задержки и джиттера, в PingTest используются значения, близкие или равные 32 Б. Что, конечно, вынуждает держать в уме риск существенных отличий в том случае,  если ваши приложения используют иные параметры.

Возвращаясь к тесту беспроводного ШПД в городе Бровары можно отметить, что в целом все протестированные подключения обеспечивают возможность использовать VoIP-сервисы.

Результаты замеров в г.Бровары, ул.Гагарина, 11

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

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