2 項進行中

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
選課資源

加入行事曆

選擇訂閱 Google Calendar,或下載通用的 ICS 檔案。

使用 Google Calendar 時,Google 會收到這份課表的公開連結。

網路系統總整與實作

Network Systems Capstone

學期
111-2
學分
0 學分
當期課號
515618
永久課號
CSCS20040
開課單位
資訊工程學系
授課教師
王協源
校區
光復
類別
選修
上課時間表
週二
3
10:10–11:00
網路系統總整與實作
ED202(光復)
2 節連堂
4
11:10–12:00

* 根據陽明交大上課時間表所列

概述

This course is offered for the third-year undergraduate students and reviews important concepts of computer networks taught in the "Introduction to Computer Networks" course and important programming skills in the "Introduction to Network Programming" course. Students taking this course will need to complete seven experiments and perform one project that are designed to cover these concepts and skills. To carry out these experiments and perform the project, students will need to use C/C++/Python programming languages to design and implement network programs. The goal of this course is to let students understand the design and implementation of network protocols, applications, and systems and study their performance under various operation conditions. In addition to reviewing the basic concepts and protocols that are taught in the "Introduction to Computer Networks" and "Introduction to Network Programming" courses, this course will teach more advanced concepts and protocols that are not covered in the two courses due to limited teaching time (only 16 weeks) in a semester. For example, SDN, OpenFlow, P4, Wireless, Mobility, Network Security, Spanning Tree Protocol, HTTP/2, HTTP3/QUIC, etc. will be covered in this course.

先修科目

Introduction to Computer Networks Introduction to Network Programming C/C++/Python Programming

備註

無備註

教學方式

For the fixed-topic experiments, the teacher will teach relevant concepts and programming skills to equip the students with the required capabilities to complete the experiments. For the final project, each student can choose a topic that he/she likes to design and implement a network protocol, application, or system.

評分方式

Mid-term exam (20%) Seven experiments (each 10%) Final project in-class presentation (10%)

課程大綱
  • Exp1: Capture and filter packets from a physical-layer network interface card

    Design and implement a program to capture and filter packets from a network interface card, like what are performed by WireShark or tcpdump.

  • Exp2: The learning bridge/switch protocol and the ARP protocol (link-layer)

    Design and implement the learning bridge/switch protocol and the ARP protocol, and study how they populate the entries of switch tables and ARP tales so that a packet can be correctly sent and forwarded from its source host to its destination host.

  • Exp3: Various link-layer Medium Access Control (MAC) protocols for Wireless networks and Ethernet networks

    Design and implement a simulation program to study the channel efficiency of the Aloha, Slotted Aloha, CSMA, and CSMA/CD protocols under different operation conditions.

  • Exp4: The RIP and OSPF network-layer routing protocols

    Design and implement two routing protocol programs to study the behavior and convergence speed of the RIP and OSPF routing protocols, respectively. RIP and OSPF are based on the distance-vector/ and link-state algorithms, respectively.

  • Exp5: The QUIC transport-layer protocol

    Design and implement a QUIC-like protocol for a pair of client program and server program. QUIC uses the UDP protocol to provide the error control, flow control, and congestion control of the TCP protocol.

  • Exp6: The HTTP/1.0, HTTP/1.1, HTTP/2.0 application-layer protocols

    Design and implement a pair of web client program and web server program that support the HTTP 1.0, HTTP 1.1, and HTTP 2.0 protocols, respectively.

  • Exp7: Software-defined Networks (SDN) and the OpenFlow Protocol

    Use the Mininet network emulator and an OpenFlow controller to create an SDN and implement several important network functions such as forwarding, filtering, tunneling, etc.

週次計畫
週次主題
第 1 週

2023-02-14(二)
第 2 週

2023-02-21(二)
第 3 週

2023-02-28(二)
第 4 週

2023-03-07(二)
第 5 週

2023-03-14(二)
第 6 週

2023-03-21(二)
第 7 週

2023-03-28(二)
第 8 週

2023-04-04(二)
第 9 週

2023-04-11(二)
第 10 週

2023-04-18(二)
第 11 週

2023-04-25(二)
第 12 週

2023-05-02(二)
第 13 週

2023-05-09(二)
第 14 週

2023-05-16(二)
第 15 週

2023-05-23(二)
第 16 週

2023-05-30(二)
第 17 週

2023-06-06(二)
第 18 週

2023-06-13(二)
教科書

These is no suitable textbook on the market for this capstone course. The materials used by this course will be taken from the slides of the "Introduction to Computer Networks" and "Introduction to Network Programming" courses and those from other more advanced network courses such as "SDN and Network Function Virtualization" and "P4 and Programmable Networks," the specifications of Internet standard protocols, and the user manuals of related tools.

Office Hours
地點
EC413
時間
Monday 34, or by email appointments.
聯絡方式
shieyuan@cs.nycu.edu.tw