-
Notifications
You must be signed in to change notification settings - Fork 3
Home
[INFO]
本系列文為 IThome 鐵人賽第十三屆參賽作品:5G 核心網路與雲原生開發之亂彈阿翔 系列文的初稿。
本系列文介紹 5G 核心網路的概念與實作:
- 從認識 5G 系統概觀到原始程式碼探討
- 讀規格書讓人想睡覺?沒關係,這邊有懶人包讓你看!
- 使用世界第一套開源核心網路專案 free5GC 探討實作細節
- 學習網路基礎、認識林姓商人的作業系統如何處理網路封包
- Kernel & User space 上分別有什麼作法?效能瓶頸在哪裡?
- 除了使用 Container,還有什麼方法可以隔絕 Process 之間的網路資源
- 了解為什麼各大 CSP(Cloud Service Provider)都想參與核心網路專案的開發/整合
- 學習使用 docker 將核心網路專案容器化
- 使用 docker-compose 管理 Network Functions
- 容器化之後:認識 CNCF 產出的優秀專案(Kubernetes、Prometheus、Helm),將核心網路專案轉型為 Cloud-Native 應用
- DevOps 與 GitOps 是什麼?怎麼做?
微服務架構
、雲原生應用
、持續整合與持續交付
這幾個名詞在這幾年充滿了整個軟體開發領域,對於像我這樣沒有經驗的軟體開發者來說,要從頭:
- 規劃一個具規模性的網路服務
- 以微服務架構的精神進行系統架構的設計
- 實作它並且保證服務的可靠性、可維護性、可觀察性與可用性
- 設計與實作可靠的持續整合與交付方案
- 將服務部署至公有雲/私有雲
...並非不可能! 但是一個人要做到這麼多事需要耗費非常多的時間。對於我來說,快速掌握這些技術的方式是:
- 站在巨人的角度看世界
- 模仿
- 發想與實踐
於是我決定結合自己本身的研究領域(核心網路)與想要學習的技術(DevOps),大量的閱讀前輩的文章與嘗試,最後就意外的產生這個系列文了。
在去年寫完兩個系列的挑戰賽後,我以為就讀碩士期間是不可能再參與 IT 邦幫忙鐵人賽了,這次還能順利參賽需要感謝兩個人:
- 一個是我的指導老師陳志成教授,非常感謝老師同意我使用實驗室的開放原始碼專案參賽,相信藉由這次參賽,我能夠讓自己以及讀者群更了解核心網路的運作原理。
- 同樣感謝我的女朋友支持我再度參賽,因為寫稿、內容編排調整花費的都是原本可以用來約會相處的時間,感恩女朋友、讚嘆女朋友!
-
3GPP 會議報告
- 工研院資訊與通訊研究所參與 3GPP 會議的會議紀錄,如果想關注最新的發展,可以閱讀這些會議報告。
-
ONF - SD Core
- ONF 的核心網路,文件整合的很清楚。
-
Awesome5G
- 一個包含 5G 專案、學習資源連結的列表
- TelecomHall Forum
繁體中文社群幾乎沒有介紹核心網路的文章(即使有也很破碎),導致對核網有興趣的人很難入門(會不知道該怎麼看規格書、該看哪一本規格書),本系列文的基礎章節會以 TS 23.501 與 TS 23.502 這兩份規格書為主軸,介紹 5G 核心網路的核心概念。
-
UE
介紹完核網的基本概念後,會探討除了 SBI 以外的幾個 Interface 分別使用哪些網路協定溝通,從 high layer 到 low layer 介紹每一層的工作與特性。
- NGAP
- PFCP
- GTP-U
- TCP & UDP
- SCTP
- MPTCP
- Data Link Layer in 5G NR
在核心網路的世界中,每秒都會有大量的流程觸發,如果你嘗試閱讀 3GPP TS 23.502 也會發現它提到了許多讓人頭昏眼花的流程。考慮到系列文的可讀性,筆者會挑選幾個最常見的流程來介紹整個系統的運作,並且選擇最基本的註冊流程詳細說明,幫助大家理解規格書上的內容。
結束前兩章後,讀者們應該對核心網路有了基礎的認知,接下來就會進入進階篇章,分析專案原始碼與嘗試其他 DevOps tool 的整合。
- 安裝 free5GC 也能學習網路概念!
- 學習 Linux Kernel Network NS (namespace)
- 5G NF 通用架構
- GO-UPF 原始程式碼解說
- Linux Networking
- Linux 封包處理流程
- Linux Network Device Driver
- gtp5g 原始程式碼解說
- 5G 核心網路與 DevOps
- 使用 Docker 建構容器
- Docker Network 介紹
- 使用 free5GC-compose 進行測試
- 使用 free5gc-compose 模擬 ULCL 拓墣
- 使用 Prometheus 結合 free5GC 實作告警系統
- 為什麼需要 Kubernetes?
- 什麼是 Kubernetes?
- 使用 Helm 管理 Kubernetes 資源
- 淺談 Infrastructure as Code
- 為 free5GC 導入 CI workflow
- 設計模式與重構
- 軟體設計雜談
![](https://user-images.githubusercontent.com/42661015/183124128-e20bb4b4-5de9-4a23-9f35-15f05d343e6d.jpeg)
- AwesomeCS
- Google DSC Lead @NCTU 2021
- 技術文章寫手:
- COSCUP 2021 IT Team lead
- 曾在 SITCON、COSCUP、GDG DevFest、六角學院 擔任講者
- 菜鳥軟體工程師
文章相關問題或勘誤歡迎留言或是發信到我的信箱: ychen.desl@gmail.com
。
- 點我回首頁
- 如果覺得寫得不錯,歡迎賞個 Star!
- 內容勘誤可以提出 Issue 或是使用 Email 提醒我:ychen.cs10@nycu.edu.tw。