Introduction to Computer Networks
2014 Spring


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. Resources for programming assignments will include Berkeley socket programming, TCP protocol implementation on KENS, and packet inspection using WireShark.

Sue Moon (sbmoon golbaengi kaist edu)
Sangwook Ma
Jihoon Park
Keunhong Lee
Email: cs341-ta golbaengi an kaist ac kr
Lecture Time
Tue/Thu 9:00 AM - 10:15 AM
Lecture Room
N1 Room #102
Main Textbook
Computer Networking: A Top-Down Approach, 6th 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 Project: KENS

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.

The project will be divided into several small projects to ensure students to have enough time to get used with the framework and to match the pace of lecture progress. There may be one or two more programming assignments that use different resources other than KENS (e.g., WireShark).

Each project will be out on Tuesday and due on Friday at the following week.

More details will be released later and we will have a tutorial session for each project during the semester.

Useful Links

Go to KLMS KENS Docs Old KENS website

Please do NOT send emails to TAs all the time — post general questions to the KLMS boards so that other students can share your Q&A, except in case of emergencies like server/cluster failures. If not, the emails will be silently ignored.

Schedule (tentative)

Please check the relevant chapters in the main textbook.

Week 1Introduction
Week 2Chapter 1 (What is the Internet?)
Week 3Chapter 2 (Application Layer)
Week 4Chapter 3 (Transport Layer)
Week 5Chapter 3 & KENS Introduction
Week 6Chapter 4 (The Network Layer)
Week 7Chapter 4
Week 8(Mid-term exam)
Week 8Chapter 5 (The Link Layer and Local Area Networks)
Week 10Chapter 5
Week 11Chapter 6 (Wireless Links and Network Characteristics)
Week 12Chapter 6
Week 13Chapter 7 (Multimedia Networking)
Week 14Chapter 8 (Security in Computer Networks)
Week 15Chapter 9 (Network Measurement)& Wrap-up
Week 16(Final exam)