進行中 校際選修

115-1 選課時程

進行中

  • 初選第一階段 6/15 – 6/18
  • 初選第二階段 6/22 – 6/25
  • 校際選修 8/24 – 9/18
  • 初選第三階段 8/31 – 9/3
  • 開學後加退選 9/7 – 9/21
  • 逾期加退選 9/21 – 9/24
選課資源

開源核心網路設計與實作

Open-Source Core Network Design and Implementation

學期
114-1
學分
3 學分
當期課號
535607
永久課號
CSIC30195
開課單位
網路工程研究所
授課教師
陳志成、陳毅
校區
光復
類別
選修
上課時間表
週一
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.

Office Hours
地點
EC 415 or online
時間
TBD
聯絡方式
jcc@nycu.edu.tw ychen.cs10@nycu.edu.tw