開源核心網路設計與實作
Open-Source Core Network Design and Implementation
| 節 | 週一 |
|---|---|
5 13:20–14:10 | 開源核心網路設計與實作 ED201 3 節連堂 |
6 14:20–15:10 | |
7 15:30–16:20 |
* 根據陽明交大上課時間表所列
本課程以培養通訊網路程式設計人才為目標。核心網路在通訊網路中扮演著不可或缺的角色,開發網路元件需要具備豐富的領域知識(軟體定義網路、容器、網路程式設計)。本課程涵蓋前面提到的多種技術,以深入淺出的方式帶著學生體驗核心網路的開發與應用。 本課程將以 free5GC 開源軟體為核心,並輔以其他開源工具,如Kubernetes、Docker、UERAMSIM、ONF Aether、Nephio、LoxiLB等。free5GC為陳志成教授領導開發的核心網路開源軟體,於2024年9月16日加入全球開源軟體領導組織—Linux基金會。 期末專案說明: 期末專案將會以分組的方式進行,專案的目標包括但不限於核心網路與雲原生的整合、核心網路的測試方法、網路元件的實作改進、利用 Linux 核心機制改善或增加現有專案的功能。 在課程的第 12-14 周間,每次上課會保留一小時與學生一同討論專案進度、交流開發與除錯之技巧。 This course is designed to train professionals in communications network programming. The core network plays an indispensable role in communications networks, and developing network components demands ex-tensive domain knowledge (software-defined networking, containerization, network programming). This course covers the aforementioned technologies in a clear, approachable manner, guiding students through the development and application of core networks. The course centers on the open-source software free5GC and is supplemented by other open-source tools such as Kubernetes, Docker, UERAMSIM, ONF Aether, Nephio, and LoxiLB. free5GC is a core-network open-source project led by Professor Jyh-Cheng Chen and, as of September 16, 2024, is part of the Linux Foundation’s global open-source leadership organization. Final Project Details: The final project will be conducted in teams. Project objectives may include, but are not limited to: integrat-ing the core network with cloud-native technologies; devising testing methodologies for the core network; implementing and improving network components; and enhancing or extending existing projects’ func-tionality using Linux kernel mechanisms. During Weeks 12–14, each class session will reserve one hour for project-progress discussions with the instructor, as well as the exchange of development and debugging techniques.
必備:計算機網路概論、網路程式設計、C 語言 Required: Introduction to Computer Networks, Network Programming, C Language; 建議:Go 語言、容器化技術 Recommended: Go Language, Containerization
https://github.com/free5gc/free5GLabs https://free5gc.org/doc/ https://ensreg.github.io/CNDI2025 助教(TA):杜峯 (dufengpro.ii13@nycu.edu.tw)
Project 1 (15%) + Project 2 (15%) + Project 3 (15%) + Project 4 (15%) + Final Project (40%)
- Syllabus + Introduction
- Network Functions
- Protocol Stack
- 5G Procedures
- 5GC Deployments
- 5GC Development
- Use Cases sharing
- Final Project
| 週次 | 主題 |
|---|---|
| 第 1 週 | Syllabus + Introduction |
| 第 2 週 | 5G Network Functions |
| 第 3 週 | 5G Protocol Stack |
| 第 4 週 | 5G Procedures |
| 第 5 週 | 5GC Deployments 1. Install the free5GC on VM 2. Use RAN simulation tools to test the 5GC 3. Use docker (compose) to deploy the free5GC |
| 第 6 週 | 5GC Deployments 1. K8s introduction 2. Use helm to deploy the free5GC |
| 第 7 週 | 5GC Development 1. How to trace the source code 2. Project dependencies 3. Common tools |
| 第 8 週 | Final Project announcement |
| 第 9 週 | 5GC Development – debugging - Log - Debugger - Dmesg - tcpdump |
| 第 10 週 | 5GC Development - How to contribute (collaborate) to community - How to read 3GPP Spec(s) - Implement the new features, which follow the 3GPP Spec(s) - Submit your PATCH |
| 第 11 週 | 5GC Development - How to write unit test - How to write integration test - Our existed testing tools in CI/CD pipline |
| 第 12 週 | 5GC Development + Project development/review (1 hr) - OAM system development |
| 第 13 週 | 5GC Development + Project development/review (1 hr) - Kernel module development |
| 第 14 週 | Use Cases sharing + Project development/review (1 hr) |
| 第 15 週 | Final Project DEMO |
| 第 16 週 | Final Project DEMO |
無,授課教師準備投影片 None. Lecture slides will be prepared by the instructor.
- 地點
- EC 415 or online
- 時間
- TBD
- 聯絡方式
- jcc@nycu.edu.tw ychen.cs10@nycu.edu.tw