Cellular (клетъчна връзка) — технология за безжично предаване на глас и данни чрез мрежа от базови станции (BS), покриващи територията с клетки с диаметър от 200 метра (микроклетки) до 50 километра (макроклетки). В мобилните приложения клетъчният интернет е основният канал за зареждане на съдържание извън Wi-Fi зоните. Според GSMA Mobile Economy Report, 2025 над 5.6 милиарда уникални потребители на мобилна комуникация в света, а средната скорост на изтегляне в 5G мрежите достигна 240 Mb/s.
Основни точки
Клетъчна връзка (Cellular) — стандарт за мобилна радиокомуникация, основан на разделяне на територията на клетки, всяка от които се обслужва от базова станция (BS). При движение на устройството се осъществява handover — автоматично превключване между клетките без прекъсване на връзката. Клетките имат различни размери: макроклетки (10–50 km) за селски райони, микроклетки (200–2000 m) за градове, фемтоклетки (до 50 m) за вътрешни помещения.
Архитектурата на клетъчната мрежа включва три основни компонента: User Equipment (UE) — смартфон или модем; Radio Access Network (RAN) — съвкупност от базови станции с антени; Core Network — маршрутизация, удостоверяване, тарификация и връзка с интернет. Различните поколения се различават по структурата на Core Network и методите за модулация на радиосигнала.
За разлика от Wi-Fi, клетъчните мрежи използват лицензирани честоти — всеки оператор получава ексклузивни диапазони на търгове. Това гарантира липса на интерференция между операторите, но ограничава скоростта на въвеждане на нови стандарти поради необходимостта от преразпределение на честотите.
Всяко поколение клетъчна комуникация (N-G) донесе многократен ръст на скоростта и нови сценарии за използване. 2G (GSM) за първи път дигитализира гласа и въведе SMS. 3G (UMTS, HSDPA) отвори мобилния интернет за масовия потребител. 4G LTE напълно премина към IP пакети, изоставяйки комутацията на канали. 5G NR се фокусира върху ултра ниски закъснения и разделяне на мрежата на виртуални сегменти.
| Поколение | Стандарт | Макс. скорост | Закъснение | Година |
|---|---|---|---|---|
| 2G | GSM / GPRS / EDGE | 384 kb/s (EDGE) | ~300 ms | 1991 |
| 3G | UMTS / HSPA+ | 42 Mb/s (HSPA+) | ~100 ms | 2001 |
| 4G | LTE-Advanced Pro | 3 Gb/s | ~30 ms | 2009 |
| 5G | NR (New Radio) | 20 Gb/s | <5 ms | 2019 |
| 6G | В разработка | 1 Tb/s (прогноза) | <0.1 ms | 2030 (план) |
Мобилните операционни системи определят текущото поколение мрежа чрез радио интерфейса. На Android е достъпен TelephonyManager.getDataNetworkType(), който връща константата NETWORK_TYPE_LTE или NETWORK_TYPE_NR. iOS предоставя CTTelephonyNetworkInfo със свойството serviceCurrentRadioAccessTechnology.
4G LTE се основава на плоска all-IP архитектура с разделение на Evolved Packet Core (EPC) и Evolved Node B (eNB). eNB — базова станция, комбинираща функциите на радиокомуникация и основно маршрутизиране. EPC се състои от MME (управление на мобилността), SGW (шлюз за обмен на данни с eNB) и PGW (шлюз към интернет).
OFDMA (Orthogonal Frequency Division Multiple Access) — ключовата технология на LTE: честотният ресурс се разделя на подносещи, всяка от които се присвоява на конкретен потребител. MIMO 4×4 позволява изпращане на до 4 независими потока данни на една и съща честота. Carrier Aggregation обединява до 5 носещи честоти, увеличавайки честотната лента 5 пъти.
Овърлей мрежите — LTE-Advanced и LTE-Advanced Pro — добавиха CoMP (координирано предаване от множество eNB) и LAA (LTE в нелицензирания 5 GHz диапазон). За разработчика тези подобрения са прозрачни: драйверът на модема автоматично използва наличните технологии без промяна на кода на приложението.
fun getCellularType(context: Context): String {
val tm = context.getSystemService(Context.TELEPHONY_SERVICE)
as TelephonyManager
return when (tm.dataNetworkType) {
TelephonyManager.NETWORK_TYPE_NR -> "5G"
TelephonyManager.NETWORK_TYPE_LTE -> "4G LTE"
TelephonyManager.NETWORK_TYPE_HSPAP -> "3G HSPA+"
else -> "2G/Unknown: ${tm.dataNetworkType}"
}
}
Функцията получава TelephonyManager и определя активния тип мрежа. На Android 10+ за достъп до dataNetworkType се изисква разрешение READ_PHONE_STATE, а от Android 11 — само за приложения, инсталирани като обработващ повиквания или SMS.
5G NR (New Radio) — радикално обновяване на физическия слой в сравнение с LTE. Стандартът работи в два честотни диапазона: FR1 (Sub-6, 1–6 GHz) — за масово покритие и FR2 (mmWave, 24–52 GHz) — за ултра високи скорости на къси разстояния. mmWave изисква пряка видимост към антената — дори листата на дърветата причиняват затихване до 30 dB.
Два режима на внедряване: NSA (Non-Standalone) — 5G NR работи заедно с LTE Core за ускоряване на стартирането, и SA (Standalone) — напълно автономна 5G Core Network с поддръжка на Network Slicing. Network Slicing разделя физическата инфраструктура на виртуални сегменти: един срез за IoT (ниска скорост, ултра ниска консумация на енергия), друг за автономни автомобили (закъснение < 1 ms).
За мобилното приложение 5G означава не само скорост, но и ново поведение на консумация на енергия: mmWave модулите консумират до 2 W в активен режим (срещу 0.5 W при LTE). При разработване на приложения за 5G се препоръчва да се вземе предвид, че честото предаване на данни в mmWave бързо разрежда батерията — оптимално е данните да се буферират и изпращат на пакети в Sub-6 диапазона.
import CoreTelephony
func check5GStatus() -> String {
let info = CTTelephonyNetworkInfo()
guard let tech = info.serviceCurrentRadioAccessTechnology
?.values.first else { return "No cellular" }
if tech == CTRadioAccessTechnologyNRNSA {
return "5G NSA"
} else if tech == CTRadioAccessTechnologyNR {
return "5G SA"
} else {
return "LTE или 3G: \(tech)"
}
}
iOS чрез CoreTelephony съобщава типа на активната връзка: CTRadioAccessTechnologyNR за SA (чист 5G) и CTRadioAccessTechnologyNRNSA за NSA (5G с LTE ядро). Тази информация помага за адаптиране на поведението на приложението — например зареждане на тежко съдържание само в SA режим с ниско закъснение.
Мобилното приложение може да адаптира поведението си в зависимост от типа и качеството на клетъчната връзка. ConnectivityManager (Android) и NWPathMonitor (iOS) уведомяват приложението за промени в мрежата — превключване от Wi-Fi на Cellular, загуба на сигнал или поява на 5G.
Ключови сценарии за обработка:
RSSI (Received Signal Strength Indicator) — основният показател за качество на клетъчния сигнал. Стойност от -50 dBm (отличен сигнал) до -120 dBm (почти няма мрежа). Android предоставя достъп до RSSI чрез SignalStrength.getLevel(), iOS — чрез CTCarrier (ограничен достъп).
import Network
let monitor = NWPathMonitor()
monitor.pathUpdateHandler = { path in
if path.usesInterfaceType(.cellular) {
print("Клетъчната мрежа е активна")
if path.isExpensive {
print("Тарифицирана връзка — ограничаване на трафика")
}
}
}
monitor.start(queue: .main)
NWPathMonitor от рамката Network проследява типа връзка (cellular, wi-fi, wired) и флага isExpensive, който показва тарифирана връзка. На iOS това е основният начин за адаптиране на поведението на приложението към текущия тип мрежа без директен достъп до радио интерфейса.
Въпреки че приложението не управлява избора на оператор, познаването на характеристиките на различните тарифи помага на разработчика да взема решения. APN (Access Point Name) — шлюз между клетъчната мрежа и интернет. Различните APN (internet, ims, mms) предоставят различно QoS — APN за глас (IMS) има приоритет пред интернет трафика.
Съвременните оператори въвеждат DNN (Data Network Name) в 5G SA — аналог на APN с възможност за сегментиране според изискванията: ultra-reliable low-latency (URLLC), enhanced mobile broadband (eMBB), massive IoT (mMTC). Разработчикът не избира среза директно, но приложението може да поиска определено QoS чрез 5G QoS Identifier (5QI) чрез Network Slicing.
Препоръки за разработчика: проверявайте наличието на връзка чрез NetworkInfo.isConnectedOrConnecting преди изпращане на данни; задайте таймаут на заявките най-малко 30 секунди за клетъчни мрежи (при условия на слаб сигнал TCP сесията се установява по-бавно); използвайте фонови задачи (WorkManager, BGTaskScheduler) за синхронизация само при свързване с Wi-Fi или неограничен тарифен план.
Често задавани въпроси
5G NSA (Non-Standalone) използва 5G New Radio за предаване на данни и 4G LTE Core за управление на връзката и мобилността. 5G SA (Standalone) използва пълноценно 5G Core с независимо удостоверяване. SA е задължителен за Network Slicing и закъснение под 10 ms, NSA — за ранно стартиране на 5G върху съществуваща инфраструктура.
На Android — ConnectivityManager.getActiveNetwork().getNetworkCapabilities() с проверка на hasTransport(TRANSPORT_CELLULAR). На iOS — NWPathMonitor с проверка на usesInterfaceType(.cellular). Допълнително iOS предоставя isExpensive за определяне на тарифирана връзка.
Carrier Aggregation — технология за обединяване на до 5 носещи честоти (component carriers) за увеличаване на честотната лента. Ако всяка носеща дава 20 MHz лента, агрегацията на 3 носещи осигурява 60 MHz — скорост до 450 Mb/s. За приложението Carrier Aggregation е прозрачен: модемът управлява обединяването автоматично.
Милиметровите вълни (24–52 GHz) имат много къса дължина на вълната (5–12 mm) и силно затихват при преминаване през стени, прозорци и дори листа на дървета. mmWave изисква пряка видимост към антената — загубите при преминаване през стъкло са 10–30 dB. Затова mmWave се използва на открити пространства: стадиони, площади, търговски центрове с прозрачни куполи.
Препоръчва се абонамент за известия на ConnectivityManager (Android) или NWPathMonitor (iOS). При загуба на сигнал приложението трябва да: отмени текущите мрежови заявки, покаже на потребителя индикатор за липса на мрежа, запази състоянието в локално хранилище (Room, CoreData) и планира повторно свързване с експоненциално нарастващо закъснение (retry after 10s, 30s, 60s, 300s).
Обобщение
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също