Good

srsRAN 4G — Огляд

💡 Чому це важливо для UMTC?
srsRAN 4G — серце нашої LTE інфраструктури. Це єдине mature open source рішення, що дозволяє запустити повноцінну LTE мережу на LimeSDR. Замість обладнання за $500K ми використовуємо SDR за $400 + міні-ПК за $300. Розуміння архітектури srsRAN критичне для mesh-деплойменту.

Архітектура та компоненти srsRAN 4G.

Що таке srsRAN

srsRAN — це повна реалізація 4G LTE стеку на C++:

mindmap
  root((srsRAN 4G))
    srsENB
      eNodeB
      Базова станція
      PHY/MAC/RLC/PDCP
    srsEPC
      Embedded EPC
      MME + HSS + SPGW
      Тестування
    srsUE
      Software UE
      Емулятор телефону
      End-to-end тест

Історія

  • 2012 — Початок як srsLTE
  • 2020 — Ребрендинг на srsRAN
  • 2023 — srsRAN Project (окремі 4G/5G репозиторії)

Ліцензія

AGPL-3.0 (srsRAN 4G)
Apache 2.0 (srsRAN Project / 5G)

Компоненти та їх роль

srsENB

eNodeB — базова станція LTE.

┌─────────────────────────────────────────────┐
│                   srsENB                     │
│                                             │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐     │
│  │  PHY    │  │   MAC   │  │   RLC   │     │
│  │(фізичний│→ │(Medium  │→ │(Radio   │     │
│  │ рівень) │  │ Access) │  │ Link)   │     │
│  └─────────┘  └─────────┘  └────┬────┘     │
│                                  │          │
│  ┌─────────┐  ┌─────────┐  ┌────↓────┐     │
│  │   RRC   │← │  PDCP   │← │  PDCP   │     │
│  │(Radio   │  │(Packet  │  │         │     │
│  │Resource)│  │ Data)   │  │         │     │
│  └─────────┘  └─────────┘  └─────────┘     │
│                                             │
│              ↓ S1-MME, S1-U                 │
│         До EPC (Open5GS або srsEPC)        │
└─────────────────────────────────────────────┘

Функції:
- Передача/прийом радіосигналу
- Планування ресурсів (scheduler)
- Управління з'єднаннями
- Handover
- Шифрування

srsEPC

Embedded EPC — мініатюрне ядро мережі.

┌─────────────────────────────────────────────┐
│                   srsEPC                     │
│                                             │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐     │
│  │   MME   │  │   HSS   │  │  SPGW   │     │
│  │         │  │         │  │(SGW+PGW)│     │
│  └────┬────┘  └────┬────┘  └────┬────┘     │
│       │            │            │           │
│       └────────────┼────────────┘           │
│                    │                        │
│             user_db.csv                     │
│         (база абонентів)                   │
└─────────────────────────────────────────────┘

Компоненти:
- MME — Mobility Management Entity
- HSS — Home Subscriber Server
- SPGW — Combined SGW + PGW

Коли використовувати:
- Швидке тестування
- Демонстрації
- Навчання

Коли НЕ використовувати:
- Production (використати Open5GS)
- Складні сценарії
- Інтеграція з зовнішніми системами

srsUE

Software UE — програмний емулятор телефону.

┌─────────────────────────────────────────────┐
│                    srsUE                     │
│                                             │
│  ┌─────────┐                               │
│  │   NAS   │ ← Attach, Authentication      │
│  └────┬────┘                               │
│       ↓                                     │
│  ┌─────────┐                               │
│  │   RRC   │ ← Connection setup            │
│  └────┬────┘                               │
│       ↓                                     │
│  ┌─────────┐                               │
│  │   PHY   │ → SDR                         │
│  └─────────┘                               │
│                                             │
│       ↑                                     │
│   TUN interface (tun_srsue)                │
│   IP трафік через мережу                   │
└─────────────────────────────────────────────┘

Застосування:
- Тестування eNB без реального телефону
- End-to-end перевірка
- Автоматизоване тестування

Підтримувані SDR

LimeSDR Mini

Наше основне обладнання!

Характеристики:
- Частоти: 10 MHz - 3.5 GHz
- Bandwidth: до 30.72 MHz
- USB 3.0
- 1x1 SISO

Для srsRAN:
- 5 MHz → працює стабільно
- 10 MHz → потребує оптимізації

LimeSDR USB

Розширена версія:
- 2x2 MIMO
- Кращий temperature stability
- Більший bandwidth

USRP B200/B210

Професійний вибір:
- Ettus Research
- Кращі характеристики
- Вища ціна ($700-1500)
- UHD драйвер

BladeRF

Альтернатива:
- Nuand
- x40 (40k LE FPGA)
- x115 (115k LE FPGA)

Системні вимоги

CPU

Мінімум: 4 ядра, 3+ GHz
Рекомендовано: 8 ядер, 4+ GHz

PHY обробка real-time:
- 5 MHz: ~30% одного ядра
- 10 MHz: ~60% одного ядра
- 20 MHz: ~100%+ (потрібен потужний CPU)

Пам'ять

RAM: 8 GB мінімум, 16 GB рекомендовано
Swap: відключити для real-time!

USB

USB 3.0 обов'язково!
- Окремий контролер
- Не через хаб
- Якісний кабель

Real-time налаштування

# Перевірити rt пріоритети
ulimit -r

# Додати права
sudo usermod -aG dialout $USER
echo "@realtime - rtprio 99" | sudo tee /etc/security/limits.d/realtime.conf

Обмеження

Кількість UE

Теоретично: 65535 (RNTI range)
Практично: 5-20 UE (залежить від CPU)

Причини:
- CPU для PHY
- Scheduler overhead
- Memory bandwidth

Bandwidth

SDR Max BW Стабільно
LimeSDR Mini 20 MHz 5-10 MHz
LimeSDR USB 20 MHz 10-15 MHz
USRP B210 20 MHz 15-20 MHz

MIMO

SISO: 1 антена TX, 1 антена RX
- LimeSDR Mini
- USRP B200

2x2 MIMO: 2 антени TX, 2 антени RX
- LimeSDR USB
- USRP B210

Duplex

FDD: Frequency Division Duplex
- Окремі частоти для UL/DL
- Підтримується

TDD: Time Division Duplex
- Одна частота, поділ в часі
- Підтримується (з обмеженнями)

Порівняння з комерційними рішеннями

Аспект srsRAN Комерційні
Вартість Безкоштовно $50k-500k+
Гнучкість Повна Обмежена
Підтримка Спільнота Вендор
Масштаб Малий Великий
Сертифікація Немає Є

Troubleshooting

srsENB стартує, але PHY сигналізує "Late" або "Underflow" постійно
- Симптом: в логах [PHY] Late! TTI=X або U (underflow) символи; UE attach fails або rvert/reject
- Причина: CPU не встигає обробляти IQ samples real-time — недостатні ядра/частота; або працює swap; або ядро не RT-преемптивне; USB підключений не через USB 3.0
- Рішення: swapoff -a; встановити CPU performance governor (cpupower frequency-set -g performance); chrt -f 99 для srsenb процесу; зменшити n_prb з 50 (10 MHz) до 25 (5 MHz) щоб знизити навантаження; перевірити lsusb -t — LimeSDR має бути на 5000M/10000M USB 3.0 bus

srsUE не видно через srsENB (0 UE connected) при ZMQ симуляції
- Симптом: в ZMQ тесті srsENB піднімається, srsUE запускається, але connect ніколи не відбувається
- Причина: неправильна пара ZMQ портів між enb.conf (tx_port=5000, rx_port=5001) та ue.conf (має бути навпаки — tx_port=5001, rx_port=5000); або запущені на різних IP без localhost
- Рішення: уважно звірити конфіги — ENB_TX ↔ UE_RX на однаковому порту; перезапустити обидва процеси; перевірити netstat -tulnp | grep 500 — порти зайняті srsenb/srsue

Неможливо використати bandwidth >5 MHz на LimeSDR Mini
- Симптом: при спробі n_prb=50 або n_prb=100 srsenb падає або UE не attach
- Причина: LimeSDR Mini має практичний ліміт стабільної роботи ~5 MHz з srsRAN; 10 MHz вимагає тонкого тюнінгу USB/CPU; 20 MHz — потрібен USRP B210 або LimeSDR USB
- Рішення: для mission-critical залишитись на 5 MHz (n_prb=25); для 10 MHz — оптимізувати систему (realtime kernel, isolated CPU cores, USB 3.0 без hub); розглянути апгрейд hardware на USRP якщо потрібно 15-20 MHz. Див. /ran/troubleshooting

Пов'язані теми

  • Встановлення srsRAN — покрокова інструкція
  • srsENB — налаштування базової станції
  • srsEPC — вбудований EPC для тестування
  • LimeSDR — наше основне SDR обладнання
  • Теорія LTE — концепції приватних мереж

Зовнішні ресурси

Шлях: ran/srsran-overview.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications