Ваш додаток вимагає гарантованої затримки та пропускної здатності? — ні, він вимагає строгих гарантій. Медичний телеміст, промисловий контролер або AR-колаборація — кожен сценарій критичний до мережевих параметрів. 5G Network Slicing Wikipedia вирішує це завдання: виділений віртуальний мережевий ресурс від оператора з фіксованими SLA. Слайси резервують частину радіоресурсів (RAN), транспортної мережі (backhaul) та ядра (Core), гарантуючи затримку до 1 мс для URLLC або пропускну здатність до 10 Гбіт/с для eMBB. 3GPP TS 23.501 визначає архітектуру Network Slicing як принцип end‑to‑end ізоляції мережевих функцій. Замовте оцінку проєкту — наші інженери підготують план інтеграції у вашу інфраструктуру.
Що таке Network Slicing на практиці
Фізична 5G-мережа ділиться на ізольовані «зрізи». Кожен зріз — окремий мережевий контейнер з виділеними ресурсами RAN, транспорту та ядра. Для додатку це означає:
- eMBB (Enhanced Mobile Broadband) — максимальна пропускна здатність, до 10 Гбіт/с. Для 4K/8K стрімінгу, VR.
- URLLC (Ultra-Reliable Low-Latency Communication) — затримка менше 1 мс, надійність 99.999%. Для керування промисловим обладнанням, віддаленої хірургії.
- mMTC (Massive Machine-Type Communication) — низьке енергоспоживання, тисячі пристроїв. Для IoT-сенсорів, телеметрії.
Слайси доступні тільки через API операторів, які їх підтримують: в Росії — МТС, Ростелеком у пілотних зонах; в Європі — Deutsche Telekom, Telefonica, Vodafone. Без договору з оператором і підтримки в SIM-карті слайс недоступний.
Як запросити Network Slicing з мобільного додатку?
Прямого OS-API для запиту слайса у розробника немає. Механізм залежить від платформи та партнерства з оператором.
Android (API 33+): TelephonyManager.isDataCapable(), NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY, NET_CAPABILITY_PRIORITIZE_BANDWIDTH. З появою Android 13 NetworkRequest дозволяє вказати якісні вимоги — ОС транслює їх у запит слайса через оператора.
val networkRequest = NetworkRequest.Builder()
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY)
.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
.build()
val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
connectivityManager.requestNetwork(networkRequest, object : ConnectivityManager.NetworkCallback() {
override fun onAvailable(network: Network) {
// слайс надано, прив'язуємо сокети до цієї мережі
network.bindSocket(mySocket)
}
override fun onUnavailable() {
// слайс недоступний, fallback на стандартний bearer
}
})
iOS: прямого API для запиту слайса немає. Apple не надає доступ до PDN connection parameters з CoreTelephony. Партнерські інтеграції через Carrier App Extensions — тільки для операторських додатків (eSIM, налаштування SIM). Для iOS Network Slicing реалізується через VPN-профіль або спеціалізований APN, який оператор налаштовує на рівні мережі, а не через SDK.
React Native: виклик нативного Android API через Kotlin Native Module.
Чому біндинг сокетів критичний?
Отримавши Network-об'єкт через NetworkCallback, потрібно явно прив'язати всі мережеві операції до цієї мережі. Інакше система вибере дефолтний bearer (LTE/5G generic).
// OkHttp: передаємо network.socketFactory()
val client = OkHttpClient.Builder()
.socketFactory(network.socketFactory)
.build()
// Стандартний Socket
val socket = Socket()
network.bindSocket(socket)
socket.connect(InetSocketAddress(host, port))
Для React Native нативний модуль біндить сокет і повертає networkHandle, з яким працює JS-сторона. Абстракція виглядає як звичайний HTTP-клієнт, але під капотом — слайс.
Як перевірити якість слайса?
Після отримання слайса моніторимо фактичні параметри через LinkProperties і NetworkCapabilities:
connectivityManager.registerNetworkCallback(networkRequest, object : ConnectivityManager.NetworkCallback(
FLAG_INCLUDE_LOCATION_INFO
) {
override fun onCapabilitiesChanged(
network: Network,
capabilities: NetworkCapabilities
) {
val downBandwidth = capabilities.linkDownstreamBandwidthKbps // кбіт/с
val upBandwidth = capabilities.linkUpstreamBandwidthKbps
val latency = capabilities.transportInfo // TransportInfo з latency на Android 12+
}
})
Якщо реальні параметри відрізняються від SLA слайса — логуємо аномалію та повідомляємо сервер моніторингу. Для URLLC-додатків деградація слайса може вимагати негайного fallback на хмарну обробку.
Які сценарії виграють від слайсингу?
Network Slicing не універсальний. Він виправданий, коли стандартний LTE/5G не гарантує потрібних характеристик. Наприклад:
- віддалене керування роботом на заводі вимагає URLLC із затримкою <1 мс і надійністю 99.999%;
- пряма трансляція 8K VR на стадіоні — eMBB з гарантованими 10 Гбіт/с;
- система моніторингу тисячі IoT-датчиків — mMTC з низьким споживанням.
Порівняння платформ: Android API дозволяє запросити слайс за 0.5 мс, тоді як iOS вимагає налаштування оператора, що займає дні. Економія на трафіку за рахунок слайсингу може досягати 40% при правильній адаптивній логіці. Вартість інтеграції можна порівняти з інвестиціями в ліцензію на один слайс у оператора, але операційні витрати знижуються завдяки гарантованому QoS.
Порівняння платформ: Android vs iOS
| Платформа | API для запиту слайса | Рівень інтеграції | Готовність до продакшену |
|---|---|---|---|
| Android 13+ | NetworkRequest + NET_CAPABILITY_PRIORITIZE_* |
Нативний SDK, біндинг сокетів | Доступно за підтримки оператора |
| iOS | Немає публічного API | Через Carrier App Extension або VPN/APN | Тільки в закритих партнерських контурах |
Архітектура додатку під слайсинг
Network Slicing не замінює адаптивну логіку — він доповнює. Рекомендована архітектура:
| Шар | Компонент | Відповідальність |
|---|---|---|
| Транспортний | SliceNetworkManager |
Запит слайса, біндинг сокетів |
| Адаптивний | QoSMonitor |
Моніторинг параметрів, детекція деградації |
| Бізнес-логіка | ContentQualityAdapter |
Вибір якості/режиму під поточний QoS |
| Fallback | StandardNetworkFallback |
Деградація до LTE/5G generic при втраті слайса |
Типові помилки
- Запитувати URLLC-слайс для задач, де він не потрібен. Слайс з гарантованою затримкою менше 1 мс — дорогий ресурс оператора. Для відеоконференції достатньо eMBB.
- Не обробляти
onUnavailable. Слайс може бути недоступний (пристрій поза зоною покриття 5G SA, оператор не підтримує). Додаток зобов'язаний деградувати до стандартного bearer без втрати функціональності.
Що входить в роботу
- Аналіз вимог і вибір типу слайса (eMBB/URLLC/mMTC).
- Розробка нативного Android модуля запиту слайса (Kotlin Native Module).
- Налаштування моніторингу QoS і адаптивної бізнес-логіки.
- Реалізація fallback на стандартний bearer.
- Документація та приклади коду.
- Підтримка при запуску в експлуатацію.
Ми — команда з досвідом мобільної розробки понад 8 років та 5 реалізованими проєктами з інтеграцією операторських API. Зв'яжіться з нами, щоб обговорити ваш сценарій використання.
Терміни та вартість
Розробка Android Native Module + моніторинг QoS + адаптивна бізнес-логіка: від 5 до 9 тижнів за наявності тестової інфраструктури оператора. Без доступу до тестової 5G SA мережі — розробка тільки з моками, повноцінне тестування неможливе. Вартість розраховується індивідуально після аналізу вимог та інфраструктури оператора. Отримайте консультацію — зв'яжіться з нами.
Покроковий алгоритм інтеграції
- Аналіз вимог до QoS (затримка, пропускна здатність, надійність).
- Погодження з оператором набору API та тестового слайса.
- Розробка нативного модуля запиту слайса (Android).
- Реалізація моніторингу QoS і адаптивної логіки.
- Інтеграція fallback-механізму.
- Тестування на реальній мережі 5G SA.
- Публікація в App Store і Google Play з документацією.







