2018年9月20日 星期四

[教學] 教你如何 成為準...電信業者 - NextEPC安裝教學 / SIM卡燒錄教學

上星期在交大舉辦了一個5G的Workshop
主要是提供4G/5G的概念
並且宣傳實驗室正在執行計畫的內容

小弟負責主講
實驗室開發的5G Open Source核心網路的基底 - NextEPC概念與安裝教學
知識的分享
是促進國家進步的重要過程
在這裡也分享給大家

在進行安裝之前
先準備好一台主機
以及一個Ubuntu的系統
可以灌在實體或虛擬機上
但我推薦灌在虛擬機上
原因是
如果不小心做錯步驟
還能夠還原到上個snapshot或是直接砍掉重練

先簡單介紹一下NextEPC是什麼
他是一個4G開源核心網路專案
大家以前可能較常聽過的是Openair-cn
(但是他很爛,很難安裝,功能又很陽春)
NextEPC這個專案的兩個賣點是
現今開源專案中實作最完整(具備MME, HSS, S-GW, P-GW, PCRF)
最新版(符合行動網路標準組織3GPP的Release 13)

這邊以KVM當作虛擬機的Hypervisor
詳細安裝步驟可參考這裡

接下來灌好一個Ubuntu的VM
在我們的場景下這個VM需要兩張網卡
一張是用於對外連線的(Internet)
一張是用於對內連線的(eNB)

預設的VM會建立一個NAT的網卡
就是第一張網卡(對外)的功能

另一張對內的網卡採用Bridge的模式到對應的實體網卡
完成之後即可開始安裝NextEPC
NextEPC安裝指令集:https://hackmd.io/s/ryWBaxU6Om

簡介一下上面安裝步驟的意義
第1步是給HSS使用的database
第2~6步設定TUN裝置,這個裝置的目的是從核網轉送封包到Internet
第7~9步針對NextEPC的原始碼進行編譯
第10~12步安裝WebUI,控制HSS的database介面,並且加入subscriber的資訊
第13步是設定核網的一些資訊
第14步是設定轉送封包的規則
第15步是NextEPC執行指令

接下來是製作自己的SIM卡

我們採用的SIM卡是可以進行資料改寫的款式
可以在這購買
讀卡機就找市面上可以讀晶片卡的那種即可

SIM卡燒錄指令集:https://hackmd.io/s/rkPxfLTdm
提醒:先準備好要燒進去的K/OP(OPc)/IMSI/ADM1 key

Acknowledgement:
張霽和朱家佐協助步驟整理
謝承穎學長坐在旁邊支持我XD

2018年9月15日 星期六

[筆記] GTP Echo Request / Response

大家好啊~~
最近在鑽研GTP Echo Request / Response這個訊息

它的用途是:檢查Serving-gateway (S-GW) 和 eNB 之間的路徑是否仍然正常運作(alive)
誰會發送Request:可以是S-GW或eNB

GTP message 的封包格式
GTP Message Format
其欄位的定義這裡有好的解釋
故不加以贅述了
https://wenku.baidu.com/view/ce175ed5767f5acfa1c7cd98.html

此外
參考 TS 29.060 7.1的章節
其IE欄位如下
Echo Request
Echo Response
可以看到在Response的部分
只有Recovery是Mandatory
表示最少一定要填這個IE
此訊息才完整

當時在實作此訊息的時候未添加此IE
僅完成前面第一張圖的欄位
雖然能夠被Wireshark偵測到
但還是達不到預期的效果
後來補上此欄位後
就成功獲得我要的結果了