教育部補助「行動寬頻尖端技術跨校教學聯盟第二期計畫 -- 行動寬頻網路與應用 -- 小細胞基站聯盟中心」 課程模組: 「LTE-Small Cell 核心網路架構及服務」 實驗-L1:傳送與接收功率對通道品質的影響 計畫主持人:許蒼嶺 (國立中山大學 電機工程學系) 授課教師:萬欽德 (國立高雄第一科技大學 電腦與通訊工程系)
Outline 實驗設備:軟體及硬體 軟體安裝與設定 開機流程 系統開機與設定 Handover觸發及IP變化 測試步驟 ※本教材製作參考工研院所提供之資料編撰而成。
實驗設備 (1/2) 硬體 名稱 規格 數量 目的 EPC OS: Ubuntu 14 CPU: Intel i7 series RAM: DDR3(1600) HDD: SATA3 1TB 1 具有MME、S- GW、P-GW Ethernet Network Card 2 一張連外部網路, 一張連內部網路 eNodeB ARM Linux (ITRI 基站) LTE基地台連接 EPC UE HTC Desire D728 (含ITRI提供之Sim卡) 4 連接eNodeB
實驗設備 (2/2) 軟體 軟體名稱 版本 目的 Ubuntu 14 EPC使用 LTE L2/L3程式 Ltel 23 執行兩台Small Cell運作 VLC Server/Player 2.0.5 產生影音串流 Darwin stream server 5.5.5 Skype 6.20.11.104 進行視訊會議 Linphone 3.1.1 進行網路電話 Chrome 產生TCP Packet Wireshark 封包擷取軟體 (Ubuntu之軟體) G-NetTrack Lite Android手機軟體
Handover實驗架構 (Example: Skype) ※繪製
軟體安裝 (手機) 安裝 G-NetTrack Lite: 可以觀看手機上 eNB 的RSSI、SNR 的訊號品質情況 安裝 Skype 軟體: 與筆電或手機進行視訊測試。
Ubuntu: Wireshark 設定 (1/2) LTE 連線過程,若要使用 Wireshark 觀察 LTE,在 Wireshark 開始記錄之前記得一定要設定 LTE PDCP 的選項 到Edit > Preference > Protocols
Ubuntu: Wireshark 設定 (2/2) 展開左邊Protocols選項 點選PDCP-LTE,在PDCP-LTE畫面中務必勾選 LTE-PDCP over UDP framing 選項。 這是Wireshark對LTE內建支援的選項,只須打個勾不須做額外程式設定。 若未勾選此項,Wireshark 將看不到有關LTE 的顯示訊息 。
eNodeB 開機 執行 eNB 開機流程: PHY, LMAC, and UMAC/RLC/PDCP MME ~/agent/s.sh MME ~/mmed RRM (w/ X2AP, S1AP, IP forwarding) ~/enbd RRC ~/ltel23 ※ 參閱附錄-A: LTE-Small Cell 的實驗設定講義內容
Attach 當UE開機或是關閉飛航模式時,UE會透過 Attach程序向行動電信網路註冊,以使用電信網路服務。 在eNB系統與EPC建立連線後,手機就可以連上4G網路。若手機無反應,可以重開機或開啟飛航模式開關,讓手機重新偵測訊號,連線狀態將可看到已自動連上 EPC。
eNodeB 設定 執行 eNB 開機流程: PHY, LMAC, and UMAC/RLC/PDCP MME ~/agent/s.sh MME ~/mmed RRM (w/ X2AP, S1AP, IP forwarding) ~/enbd RRC ~/ltel23 ※ 參閱附錄-A: LTE-Small Cell 的實驗設定講義內容
eNodeB 設定 Configure enbd (1/3) In enbd/enbd/, edit file enbd_config Set gateway IP address for user data forwarding. Set (serving) cell identity Set (serving) PCI (Physical cell ID) & EARFCN (carrier frequency). Also, set additional EARFCN for inter-frequency measurement configuration(s) #gateway_address=10.101.131.254 eNB_ID=8 PCI=8 EARFCN=39150,38850,39450
eNodeB 設定 Configure enbd (2/3) Set eNB (reference signal) RF TX Power ex. radius=5m area: -22 dB; radius=20 area: 0 dB Set eNB RF gain of the receiver’s input amplifier Set S1AP server-side IP (i.e., MMED IP) Provide file maintaining neighbor cell List rrc_referenceSignalPower=-22 rrc_agcRxGain=8 s1ap_server_address=10.101.131.254 neigbor_config_file=enbd_nbr.csv
eNodeB 設定 Configure enbd (3/3) In enbd/enbd/, edit file enbd_nbr.csv Each entry of the Nx7 table is a neighbor cell. 7 fields are IP address X2: Is X2 connection enabled (Y, or N) MCC: country code, part of PLMN ID (ex. 001) MNC: network code, part of PLMN ID (ex. 01) eNB_ID: (unique) cell identity EARFCN: carrier frequency (ex. 38850, 39150, 39450 @ Band40) PCI: (unique) Physical cell ID The .csv file can be opened by MS Excel
使用Wireshark 觀看 Log (1/2) 在 ITRI 提供的 RRM source code 中,已有將 LTE 連線過程中的 log 訊息導入 Wireshark 顯示,可方便觀察。
使用Wireshark 觀看 Log (2/2) 在 oam_rrc.cfg 內容有些設定參數可自行參考,其中一行設定是將log訊息導入 Wireshark 方便觀察 conf wireshark_ip 10.101.131.1 8527 也就是將訊息傳送到10.101.131.1的8527 port
測試項目 在LTE-Small Cell 測試場域,放置一台筆記型電腦或桌上型電腦,使用 Skype 與手機的 Skype 進行溝通。 由執行Skype的手機進行兩部 eNB 之間的 Handover ,在 Video-On-Demand Handover 時,量測 Traffic 封包訊息及 Handover 的前後和 Handover 瞬間 Traffic 的變化。 使用 Skype 進行手機與電腦的視訊會議時,手機從原本連線的 eNB1 移向另外一台eNB2。 在移動過程,透過 EPC 介面觀看Handover是否成功,同時也觀察 Wireshark 上的詳細 Handover 訊息,另方面,手機上的 Skype 及 G-NetTrack Lite 也可以用來觀察eNB及通道品質的詳細訊息。
Wireshark 測試過程 (EPC端) 擷取連上RRC網卡訊息 篩選HO指令 udp.port ==8527 &&!icmp Reference 訊號 Received 功率 Handover Event Handover Trigger 觀看兩台 eNB 在HO過程時的IP變化 HO過程時的細部訊息 最後一筆成功HO的訊息
Wireshark 測試過程 (1/3) 在 EPC 啟動 Wireshark 指令列輸入 sudo wireshark 輸入密碼後啟動
Wireshark 測試過程 (2/3) 在 Wireshark 選單上點選 Capture > Interfaces 選擇 eth1 網卡 IP 為10.101.131.1 (抓取網卡訊息) Start 開始紀錄
Wireshark 測試過程 (3/3) Wireshark會顯示所有 TCP、UDP protocol 的訊息,為了方便觀察,可輸入下列過濾 icmp 訊息的指令,以便只顯示 LTE protocol 的訊息: udp.port == 8527 && !icmp 此時 Wireshark 將只會顯示 LTE 連線訊息。
Reference Signal Received Power (RSRP) UE 量測周遭所有 eNB 的訊號強度 (RSRP) 並回傳給S-eNB,S-eNB 據以決定 UE 是否需要進行換手 (handover)。 回報 Range 量測訊號強度 RSRP 單位 RSRP_00 RSRP < -140 dBm RSRP_01 -140 ≤ RSRP < -139 RSRP_02 -139 ≤ RSRP < -138 ... RSRP_96 -45 ≤ RSRP < -44 RSRP_97 -44 ≤ RSRP
Handover Event 在L3 Measurement Trigger Type 有以下幾種Event 由HO Trigger Type判斷此系統是同時使用A3與A4去做Trigger Handover Event
Handover Trigger 在 RRM source code 中 handover 程式檔 在rrc_cell.c 檔案放在 /home/root/20150825/enbd_20150824/rrc 在 rrc_cell.c 程式中使用的判斷為以下參數: 使用Handover Event 的A3與A4 (neighbor->rsrp> s_rsrp + 5) && (neighbor->rsrp> 55)
Handover 的 IP 變化 在 Wireshark 中可看到 handover 時 IP 的變化 在 Info 訊息中點選 MeasurementReport,在下方ProtocolStack中將PDCP-LTE展開
Handover 成功的 IP 變化 連線 eNB 的 IP 變化 連線訊息: RRCConnectionReconfiguration->RRCConnectionReconfigurationComplete (代表HO成功)
Handover 過程時的細部訊息 measResultPCell: Serving eNB 找到 measResults 觀察訊號變化 measResultPCell: Serving eNB measResultNeighCells: Target eNB
測試步驟 (1/2) 在兩台 Skype 視訊會議通話的時候,透過電腦的 Skype 開啟通話資訊,手機首先連接 eNB (IP:10.101.131.14)。接近另外一台 eNB (IP:10.101.131.8)時,可從 EPC 看到 Handover 成功的訊息。
測試步驟 (2/2) 在手機端設定 Skype 開啟技術資訊,便可看到目前的封包遺失率與相關詳細資訊,也可以改變視訊品質觀察封包遺失率是否有所不同。
利用 Q-NetTrack Lite 觀察訊號及通道品質 Skype 軟體視訊測試 利用手機上 G-NetTrack Lite 可以觀察 eNB 的 RSRP, RSRQ, 及 SNR 等訊號品質之變化情況
利用 Q-NetTrack Lite 觀察訊號強度之變化 進行視訊會議通話時,UE 由 eNB1 移向 eNB2 : 兩部 eNBs 距離為9公尺 每隔1公尺測量訊號強度 (RSRP) 結果顯示,大約在第 6 個量測點附近,UE 由 eNB1 Handover 至 eNB2。 1 2 3 4 5 6 7 8 9 10 eNB1 -75 -80 -82 -85 -87 -90 -93 -97 -100 -101 eNB2 -91 -89 -83 -81 -79 -72
EPC Handover訊息 (1/2) (圖例中 eNB 的IP: 10.101.131.6)。 1.透過 Lubuntu 主機在 EPC介 面輸入 s,可以看到 Skype 手機連上第一台 eNB (圖例中 eNB 的IP: 10.101.131.6)。 2. 在LTE Handover可以從第一台 eNB (IP:10.101.131.6)看到RMTST free的訊息與第二 台 eNB (圖例中 eNB 的IP : 10.101.131.17) 成功 HO (rrc_enb_ho) 的訊息。
EPC Handover訊息 (2/2) 3.EPC介面上eNB (IP:10.101.131.17) 現在連上在第二台eNB上。 4. 第二台 eNB (IP:10.101.131.17) 看到RMTST free的訊息與返回第一台 eNB (IP:10.101.131.6)成功HO (rrc_emb_ho)的訊息。
參考資料 ITRI Small Cell 平台說明文件(工研院提供)
附錄-A LTE-Small Cell 的實驗設定
A.1 開機流程 (1/3) (EPC啟動) 在啟動EPC的步驟之中,我們須開啟GW功能並執行MME的程式。 sudo ./run_nat.sh 來啟動 IP table,如圖A-1所示。 EPC 的 GW 功能是由 Linux 的 IP table 所完成。 圖A - 1 EPC開啟GW功能
A.1 開機流程 (2/3) 接下來啟動MME:在終端機畫面,切換到 mmed_v2.5.160219 資料夾,啟動指令的預設位置在 mmed 子目錄內。 若是在終端機上輸入 ls 將會看到 mmed 執行檔。輸入 ./mmed 執行 MME,如圖A-2所示。 圖A - 2 執行 MME功能
A.1 開機流程 (3/3) 圖A-3為 mmed 指令已經成功執行的結果,可以看到終端機畫面提示已進入 Interactive mode 互動模式。透過顯示的 Commands 來下達參數指令,可以執行 MME 所提供的功能,或顯示 MME 目前的狀態與紀錄。 圖A - 3 成功執行MME
A.2 啟動 LTE-Small Cell (1/3) 在 EPC 上開啟新的終端機並輸入 ssh root@10.101.131.14 連線到 Small cell 系統 (每台 Small Cell 的 IP address 都不同,須注意)。Small cell 預設為無密碼,所以可以直接登入。 如圖A-4所示,可以看到終端機上的指令行提示文字 由 wbcp@ITRI-ICL:~$ 變成 root@k2hk-evm:~#,即表示已經連線成功。 圖A - 4 成功連線到Small cell
圖A - 5 啟動 Small cell 的 PHY/MAC/RLC/PDCP A.2 啟動 LTE-Small Cell (2/3) 接下來,切換到 agent_V2.5.160219 資料目錄下, 執行已寫好的 shell script (即.sh file), 輸入 ./run_enb_umac_only.sh 以啟動 Small cell的 PHY,MAC,RLC 和 PDCP等功能,如圖A-5所示。 圖A - 5 啟動 Small cell 的 PHY/MAC/RLC/PDCP
圖A - 6 成功執行Small cell的PHY/MAC/RLC/PDCP A.2 啟動 LTE-Small Cell (3/3) 啟動後可以從終端機視窗看到程式正在執行PHY、MAC、RLC和PDCP的程序,如圖A-6所示。 圖A - 6 成功執行Small cell的PHY/MAC/RLC/PDCP
A.3 執行 Small cell 的 RRC (1/2) 再開啟另一個終端機,一樣利用 ssh 連線到Small cell的系統中。 並切換到 agent_V2.5.160219 資料夾的程式目錄。 執行 Small cell 的 RRC,在終端機上輸入LTE的L2/L3程式 ./ltel23 ,如圖A-7所示。 圖A - 7 執行 Small cell 的 RRC
圖A - 8 成功開啟Small cell的RRC 執行之後,可以在終端機上看到 RRC_test_start 的訊息,代表RRC 開啟成功,如圖A-8所示。 圖A - 8 成功開啟Small cell的RRC
A.4 執行 Small cell 的 RRM (1/3) 再開啟一個終端機視窗,利用 ssh 連線到 Small cell 的系統中 切換到 agent_V2.5.160219 資料夾的目錄下 執行 Small cell 的 RRM 在終端機上輸入 ./enbd_nat,如圖A-9所示。 執行後會看到 Receive S1AP_SETUP_RSP 的訊息,S1AP 為 Small cell與 MME 溝通的 Interface,訊息代表 Small cell 與 MME 已成功建立連線。此程式會常駐執行,如圖A-10所示。 圖A - 9 執行 Small cell 的 RRM
圖A - 10 成功執行 Small cell 的 RRM
A.4 執行 Small cell 的 RRM (3/3) 此時可以回到開啟MME的終端機視窗,看到Small cell的RRM,確認有跟MME建立起連線,如圖A-11所示。 圖A - 11 RRM與MME建立S1
A.5 Setup RRC (1/3) 此時回報正在執行RRM的終端機視窗會有提示 在終端機上輸入指令 a,讓RRM進行RRC Setup,如圖A-12。 圖A - 12 Setup RRC
圖A - 13 完成開啟一台 Small cell (即 Cell 0) A.5 Setup RRC (2/3) 接著會看到大量的RRC訊息,包含 Cell 0 setup OK,表示Small cell與EPC成功建立連線。Small cell開機成功,如圖A-13所示。 圖A - 13 完成開啟一台 Small cell (即 Cell 0)
A.5 Setup RRC (3/3) 再回到執行RRC的終端機視窗,可以看到 STAT_OK 的訊息,也可以確認 Small cell 正常開啟,系統已就緒,如圖A-14所示。 圖A - 14 完成開啟的 Cell 0
A.6 多台 Small Cell 之開啟 前述 A.1~A.5 為開啟一台Small cell 的開機流程,若要開啟第二台,可重複上述開啟 Small cell 的步驟,進行設定程序即可。(注意: 每台Small Cell 的 IP address 都不同。) 完成Small Cell 的開啟之後,就可以使用手機或是連接LTE dongle的裝置進行 LTE 連線。 依照所使用的不同資料模式 (Traffic Type),可觀察 Small Cell 的終端機視窗之中 CTRL DL/UL 與 DATA DL/UL 的數據改變。
附錄-B Compiler Source Code
B.1 MME Source code compiler (1/4) 在 EPC 上開啟一個新的終端機視窗,並且切換到mmed_v2.5.160219/mmed 資料夾目錄,如圖B-1所示。 輸入指令 make clean,清除先前產生過的 .o file和執行檔,如圖B-2所示。 完成後如圖B-3所示。之後在終端機上直接輸入指令 make,編譯MME Source code,如圖B-4所示。 編譯完成後如圖B-5所示。 圖B - 1 切換到 mmed 目錄 圖B – 2 清除.o file和執行檔
B.1 MME Source code compiler (2/4) 圖B - 3 make clean完成
B.1 MME Source code compiler (3/4)
B.1 MME Source code compiler (4/4)
B.2 Small cell Source code compiler (1/4) 開啟終端機並切換到 enbd_v2.5.160219/enbd 的資料夾底下,如圖B-6。 輸入指令 ./load_arm_file.sh 以產生 Small cell 的 makefile,如圖B-7。 產生 Small cell 的 makefile 後,輸入指令make clean,將之前可能存在的 .o file和執行檔清除,如圖B-8。 清除完成後,在終端機上輸入 make nfq,開始編譯 Small cell 的Source code,如圖B-9。 編譯完成後會出現最後一行訊息,如圖B-10所示,成功後即會產生出Small cell的RRM執行檔 (enbd_nat)。 將此執行檔利用 scp 指令傳入small cell,如圖B-11所示,傳送完後,即可根據附錄A的步驟執行環境設定。
B.2 Small cell Source code compiler (2/4) 圖B - 7 產生makefile 圖B - 8 清除 .o file 和執行檔
B.2 Small cell Source code compiler (3/4)
B.2 Small cell Source code compiler (4/4) 圖B - 11 scp 指令傳入Small cell