Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Секреты производительности сетевых приложений для мобильных устройств

Глава 10 из книги "Производительность приложений с открытым исходным кодом".

Оригинал: Secrets of Mobile Network Performance
Автор: Bryce Howard
Перевод: А.Панин

Мобильные сотовые сети

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

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

Компоненты мобильной сотовой сети
Рисунок 10.1 - Компоненты мобильной сотовой сети

Процессор для управления радиомодулем

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

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

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

Базовая станция

Базовая станция (cell site), которая может также называться базовой передающей станцией (transceiver base station) или вышкой сотовой связи (cell tower), выполняет функции точки доступа в мобильную сеть. Задачей базовой станции является покрытие радиосигналом области, называемой сотой (cell).

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

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

Транспортная сеть

Транспортная сеть (backhaul network) является выделенной локальной беспроводной сетью, соединяющей базовую станцию, ее контроллер и основную сеть. Транспортные сети в течение длительного промежутка времени были и остаются одними из основных источников задержек.

Задержка при передаче данных по транспортной сети обычно возникает из-за использования коммутируемых или фреймовых транспортных протоколов, применявшихся в мобильных сетях старых типов (т.е., GSM, EV-DO). Такие протоколы провоцируют появление задержек ввиду их синхронной природы, предусматривающей предоставление логического соединения в виде канала, который может принимать или передавать данные только в течение короткого, предварительно обозначенного промежутка времени. В отличие от сетей, использующих описанные протоколы, мобильные сети последнего поколения используют транспортные сети на основе протокола IP с коммутацией пакетов и поддержкой асинхронного режима передачи данных. Данный переход позволил значительно уменьшить задержки при передаче пакетов по транспортной сети.

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

Контроллер радиосети

В общем случае контроллер радиосети (radio network controller) управляет соседними базовыми станциями и мобильными устройствами, которые они обслуживают.

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

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

Основная сеть

Основная сеть (core network) выступает в роли шлюза между частной сетью мобильного оператора и публичной сетью Интернет. Именно здесь мобильные операторы устанавливают сетевое оборудование для применения политик, гарантирующих высокое качество услуг или для подсчета трафика. Как правило, любое вмешательство в процесс передачи сетевого трафика ведет к появлению задержек при его передаче. На практике эта задержка при передаче данных в большинстве случаев незначительна, но ее наличие следует принять во внимание.

Энергосбережение

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

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

Все стандарты мобильных сотовых сетей описывают схему управления ресурсами радиомодуля (radio resource management scheme - RRM), предназначенную для энергосбережения. В большей части соглашений схемы RRM описываются три состояния - активное состояние (active), состояние бездействия (idle) и отключенное состояние (disconnected) - каждое из этих состояний является компромиссным в плане задержки и потребления энергии.

Переходы между состояниями радиомодуля
Рисунок 10.2 - Переходы между состояниями радиомодуля

Активное состояние

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

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

Состояние бездействия

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

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

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

Отключенное состояние

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

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

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


Продолжение статьи: Производительность сетевых протоколов.