srsRAN 4G — Огляд¶
Архітектура та компоненти srsRAN 4G.
Що таке srsRAN¶
srsRAN — це повна реалізація 4G LTE стеку на C++:
srsRAN 4G
├── srsENB — eNodeB (базова станція)
├── srsEPC — Embedded EPC (ядро мережі)
└── srsUE — Software UE (емулятор телефону)
Історія¶
- 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+ |
| Гнучкість | Повна | Обмежена |
| Підтримка | Спільнота | Вендор |
| Масштаб | Малий | Великий |
| Сертифікація | Немає | Є |
Ресурси¶
Шлях: ran/srsran-overview.md