srsRAN 是SRS開發的開源 4G 軟件無線電套件。
srsRAN套件包括:
- srsUE - 具有原型 5G 功能的全棧 SDR 4G UE 應用程序
- srsENB - 全棧 SDR 4G eNodeB 應用程序
- srsEPC——具有 MME、HSS 和 S/P-GW 的輕量級 4G 核心網絡實現
安裝系統
Ubuntu 20.04
USRP B210
sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt-get update
sudo apt-get install libuhd-dev uhd-host//鏡像下載
sudo uhd_images_downloader
//查找設備
sudo uhd_find_devices
//查看設備信息
sudo uhd_usrp_probe
srsRAN
sudo add-apt-repository ppa:softwareradiosystems/srsran
sudo apt-get update
sudo apt-get install srsran -y
運行 srsUE
srsUE 是一款 4G LTE UE 調制解調器,其原型 5G NR 功能完全以軟件實現。srsUE 以應用程序的形式運行在基于 Linux 的標準操作系統上,可連接到任何 LTE 網絡并提供具有高速移動連接的標準網絡接口。
運行
開一個終端,運行:
sudo srsue
軟然后開一個終端去ping基站
ping 172.16.0.1
就可以看到UE發信號了。
配置UE得參數,配置:ue.conf
sudo srsue ~/.config/srsran/ue.conf
srsUE 默認使用虛擬 USIM 卡,參數來自ue.conf。這些參數包括:
-
ALGO - 要使用的身份驗證算法(MILENAGE 或 XOR)
-
IMSI——USIM 的唯一標識符
-
K - EPC 中與 HSS 共享的密鑰
-
OP 或 OPc - 操作員代碼(僅用于 MILENAGE 算法)
要成功連接到網絡,這些參數需要與 EPC 的 HSS 中的參數相匹配。MILENAGE 是大多數網絡中使用的算法,XOR 算法主要由測試設備和測試 USIM 卡使用。OP 是網絡范圍的運營商代碼,OPc 是 USIM 特定的加密運營商代碼 - 兩者都受 srsUE 支持。
終端架構
srsUE應用程序包括第1層、第2層和第3層,如上圖所示。
物理層 (PHY) 位于 UE 協議棧的底層,通過空中接口傳輸來自 MAC 的所有信息。它負責鏈路自適應、功率控制、小區搜索和小區測量。
媒體訪問控制 (MAC) 層將一個或多個邏輯信道之間的數據復用為傳輸塊 (TB),然后將其傳遞到 PHY 層或從 PHY 層傳遞出去。MAC 負責與 eNodeB 進行控制和調度信息交換、重傳和糾錯 (HARQ) 以及邏輯信道之間的優先級處理。
無線鏈路控制 (RLC) 層可以以三種模式之一運行:透明模式 ?、非確認模式 (UM) 和確認模式 (AM)。RLC 管理多個邏輯信道或承載器,每個邏輯信道或承載器都以這三種模式之一運行。透明模式承載器只需通過 RLC 傳遞數據。非確認模式承載器執行數據單元的連接、分段和重組、重新排序和重復檢測。確認模式承載器還執行丟失數據單元的重新傳輸和重新分段。
分組數據匯聚協議 (PDCP) 層負責控制和數據平面流量的加密、控制平面流量的完整性保護、重復丟棄以及控制和數據平面流量到/從 RRC 層和 GW 層的按順序傳送。如果支持,PDCP 層還會執行 IP 數據的報頭壓縮 (ROHC)。
無線資源控制 (RRC) 層管理 UE 和 eNodeB 之間的控制平面交換。它使用網絡廣播的系統信息來配置 UE 的較低層,并處理與 eNodeB 的 RRC 連接的建立、維護和釋放。RRC 管理小區搜索以支持小區選擇以及小區測量報告和相鄰小區之間切換的移動性控制。RRC 還負責處理和響應來自網絡的尋呼消息。最后,RRC 管理密鑰管理的安全功能以及無線承載的建立、配置、維護和釋放。
非接入層 (NAS) 層管理 UE 與核心網絡 (EPC) 內的實體之間的控制平面交換。它控制 PLMN 選擇并管理網絡附加程序,與 EPC 交換標識和身份驗證信息。NAS 負責建立和維護 UE 與 EPC 內的 PDN 網關之間的 IP 連接。
srsUE 中的網關 (GW) 層負責創建和維護 TUN 虛擬網絡內核接口,模擬 Linux 操作系統中的網絡層設備。GW 層允許 srsUE 作為用戶空間應用程序運行,并使用數據平面 IP 數據包進行操作。
SRS UE具有以下特點:
-
LTE 版本 10 與版本 15 的功能一致
-
原型 5G NSA 和 SA 支持
-
TDD 和 FDD 配置
-
測試的 LTE 帶寬:1.4、3、5、10、15 和 20 MHz
-
測試的 5G SA 帶寬:5、10、15 和 20 MHz
-
傳輸模式 1(單天線)、2(發射分集)、3(CCD)和 4(閉環空間復用)
-
可手動配置 DL/UL 載波頻率
-
支持XOR/Milenage認證的軟USIM
-
通過 PC/SC 支持硬 USIM
-
Snow3G 和 AES 完整性/加密支持
-
Linux OS 的 TUN 虛擬網絡內核接口集成
-
具有每層日志級別和十六進制轉儲的詳細日志系統
-
MAC 和 NAS 層 wireshark 數據包捕獲
-
命令行跟蹤指標
-
詳細輸入配置文件
-
演進型多媒體廣播和多播服務 (eMBMS)
-
基于頻率的 ZF 和 MMSE 均衡器
-
Intel SSE4.1/AVX2 (+150 Mbps) 中提供高度優化的 Turbo 解碼器
-
EPA、EVA 和 ETU 3GPP 信道的信道模擬器
-
QoS 支持
-
20 MHz MIMO TM3/TM4 或 2xCA 配置下 150 Mbps DL(QAM256 下 195 Mbps)
-
20 MHz SISO 配置下 DL 為 75 Mbps(QAM256 配置下為 98 Mbps)
-
10 MHz SISO 配置下 36 Mbps DL
-
支持 Ettus USRP B2x0/X3x0 系列、BladeRF、LimeSDR
運行 srsENB 和 srsEPC
運行
請開兩個終端,第一個運行:
sudo srsepc
第二個運行:
sudo srsenb
可以通過配置文件配置 eNodeb : enb.conf此配置文件提供與小區配置、工作頻率、傳輸功率級別、日志級別等相關的參數。要使用已安裝的配置文件運行 srsENB,請使用。sudo srsenb ~/.config/srsran/enb.conf
除了頂層配置文件之外,srsENB 還使用單獨的文件來配置 SIB(sib.conf)、無線電資源(rr.conf)和數據承載(drb.conf)。這些附加配置文件列在頂層 enb.conf 中的 [enb_files] 下,并為每個文件提供默認值。
一個關鍵的 eNodeB 參數是 enb.mme_addr,它指定核心網絡 MME 的 IP 地址。默認配置假設 srsEPC 在同一臺機器上運行。
srsENB LTE eNodeB 具有以下特點:
LTE 版本 10 與版本 15 的功能一致
-
原型 5G NR 支持 5G NSA 和 SA
-
FDD 配置
-
測試帶寬:1.4、3、5、10、15 和 20 MHz
-
傳輸模式 1(單天線)、2(發射分集)、3(CCD)和 4(閉環空間復用)
-
基于頻率的 ZF 和 MMSE 均衡器
-
演進型多媒體廣播和多播服務 (eMBMS)
-
Intel SSE4.1/AVX2 (+150 Mbps) 中提供高度優化的 Turbo 解碼器
-
具有每層日志級別和十六進制轉儲的詳細日志系統
-
MAC層wireshark抓包
-
命令行跟蹤指標
-
詳細輸入配置文件
-
EPA、EVA 和 ETU 3GPP 信道的信道模擬器
-
基于 ZeroMQ 的 I/Q 偽 RF 驅動程序
-
ENB 內和 ENB 間 (S1) 移動性支持
-
具有類似 FAPI 的 C++ API 的比例公平和循環 MAC 調度程序
-
SR 支持
-
支持定期和非定期 CQI 反饋
-
標準 S1AP 和 GTP-U 接口至核心網絡
-
20 MHz MIMO TM3/TM4 下行速率為 150 Mbps,商用 UE 可實現(QAM256 下行速率為 195 Mbps)
-
采用 SISO 配置,使用商用 UE,下行速率為 75 Mbps
-
商用 UE 在 20 MHz 下實現 50 Mbps UL
-
用戶平面加密
srsEPC 是完整 LTE 核心網絡 (EPC) 的輕量級實現。srsEPC 應用程序以單個二進制文件運行,但提供家庭用戶服務 (HSS)、移動管理實體 (MME)、服務網關 (S-GW) 和分組數據網絡網關 (P-GW) 等關鍵 EPC 組件。srsEPC 應用程序不適用于部署,但可用于測試。
上圖說明了EPC的主要組件以及它們之間的主要接口。
-
HSS:歸屬用戶服務(HSS)是用戶數據庫。它存儲用戶 ID、密鑰、使用限制等信息。它負責對用戶訪問網絡進行身份驗證和授權。
-
MME:移動管理實體 (MME) 是網絡中的主要控制元素。它處理移動性和附加控制消息。它還負責尋呼空閑模式下的 UE。
-
S-GW:S-GW 是用戶的主要數據平面網關,因為它為 UE 提供移動錨點。它充當 IP 路由器,幫助在 eNB 和 P-GW 之間建立 GTP 會話。
-
P-GW:分組網關 (P-GW) 是與外部網絡的接觸點。它強制執行用戶會話的 QoS 參數。
為了提供完整的端到端 LTE 網絡,請將 srsEPC 與 srsENB 和 srsUE 一起使用。
為了使 UE 能夠連接到互聯網,必須進行 IP 偽裝。如果沒有偽裝,Linux 內核將不會執行從一個子網到另一個子網的數據包轉發。
為了實現此功能,您可以運行一個便捷腳本,其中out_interface是將 PC 連接到互聯網的接口。
sudo srsepc_if_masq <out_interface>
參考
https://www.srslte.com/4g