網路系統總整與實作
Network Systems Capstone
| 節 | 週二 |
|---|---|
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.
- 地點
- EC413
- 時間
- Monday 34, or by email appointments.
- 聯絡方式
- shieyuan@cs.nycu.edu.tw
