CS341: Introduction to Computer Networks
2024 Spring, KAISTOverview
The goal of this course is to provide students with sound understanding of fundamental concepts and problems in networking and hands-on experiences in network programming.
Lecture Info
- Instructor: Sue Moon ()
- TAs: Jisu Ok (Head TA), Soonhyeon Kwon, Seongkyu Lee, Wonsup Yoon (Part Time TA)
- Email:
- Lecture Time: Tue/Thu 13:00 - 14:30
- Lecture Room: N1 117
- TA Office Hours: By reservation (no designated time)
Textbook
Main Textbook
Computer Networking: A Top-Down Approach, 8th Edition (by James F. Kurose and Keith Ross)
Supporting Materials
- Computer Networks: A Systems Approach, 4th Edition (by Larry L. Peterson and Bruce S. Davie)
- TCP/IP Illustrated, Volume I: the Protocols (by W. Richard Stevens)
- TCP/IP Illustrated, Volume II: the Implementation (by Gary R. Wright and W. Richard Stevens)
- TCP/IP Illustrated, Volume III: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols (by W. Richard Stevens)
- Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement (by Balachander Krishnamurthy and Jennifer Rexford)
- Computer Networks, 5th Edition (by Andrew S. Tanenbaum and David Wetherall)
Programming Projects
Description
There will be 4 programming projects: 1 on socket programming, 2 on TCP, and 1 on routing. We will post details according to the published schedule. For each project we will hold a tutorial session during the lab time slot.
For 4 KENS programming projects, students have to build up their own TCP implementation on top of KENS (KAIST Educational Network Simulator) framework. We provide a minimal user-level function interface that interacts with user applications and an emulated IP layer which performs static routing. The underlying emulator can simulate both reliable and unreliable link states with configurable and reproducible packet losses and reordering. Your task is to implement the TCP stack API.
- Project 1: Echo server and client on KENS
- Project 2: KENS part I, II
- Project 3: KENS part III
- Project 4: TBA
Grading Policy
- 40%: Programming Assignments (4 times * 10%)
- 20%: Homework
- 30%: Midterm Exam (15%), Final Exam (15%)
- 10%: Attendance (by quiz)
- 100%: total
Useful Links
- Go to KLMS: https://klms.kaist.ac.kr/
- KENS Docs: https://anlab-kaist.github.io/KENSv3/doc/
Tentative Schedule
Weeks | Topics | Chapters | Homework | Projects(Tentative) |
---|---|---|---|---|
Week 1 | (2/27) Course Overview (2/29) Chapter 1.1~1.4 |
Ch. 1 | Whenever each chapter finish | |
Week 2 | (3/5) 1.5~1.7 (3/7) Chapter 2.1~2.3 |
Ch. 2 | Problem set #1 on Chapters 1 and 2 | Lab1 |
Week 3 | (3/12) 2.4~2.5 (3/14) 2.6 |
Ch. 3 | ||
Week 4 | (3/19) Holiday (3/21) Chapter 3.1~3.3 |
Ch. 3 | ||
Week 5 | (3/26) 3.4 (3/28) 3.5 |
Ch. 3 | Problem set #2 on Chapter 3 | Lab2 |
Week 6 | (4/2) 3.6~3.7 (4/4) Chapter 4.1~4.2 |
Ch. 4 | ||
Week 7 | (4/9) 4.3~4.4 (4/11) Chapter 5.1~5.2 |
Ch. 4 | Problem set #3 on Chapter 4 | |
Week 8 | (4/16) 9:00 am ~ 12:00 pm Midterm exam | |||
Week 9 | (4/23) 5.3 (4/25) 5.4 |
Ch. 5 | Lab3 | |
Week 10 | (4/30) 5.5~5.7 (5/2) Chapter 6.1~6.2 |
Ch. 5 | Problem set #4 | |
Week 11 | (5/7) 6.3~6.4 (5/9) 6.5~6.6 |
Ch. 5 | ||
Week 12 | (5/14) 6.7 (5/16) Chapter 7.1~7.2 |
Ch. 6 | Problem set #5 | Lab4 |
Week 13 | (5/21) 7.3 (5/23) 7.4~7.5, 7.8 |
Ch. 6 Ch. 7 |
||
Week 14 | (5/28) Chapter 8.1~8.3 (5/30) 8.4, 8.6 |
Ch. 7 Ch. 8 |
Problem set #6 | |
Week 15 | (6/4) 8.7~8.9 (6/6) Holiday |
Ch. 8 Ch. 9 |
||
Week 16 | (6/11) 9:00 am ~ 12:00 pm Final exam |