CS341
Introduction to Computer Networks
2015 Spring

Overview

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 and TCP protocol implementation on KENS.

Instructor
Young-Hee Lee (yhlee golbaengi cs.kaist.ac.kr)
Sue Moon (sbmoon golbaengi kaist edu)
TAs
Min-Seok Lee
Jiwan Jeong
Keunhong Lee
Chunjong Park
Email: cs341-ta golbaengi an kaist ac kr
Lecture Time
Tue/Thu 04:00 PM - 05:15 PM
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.

WeeksTopicsChaptersHomeworkProjects(TBA)
Week 1Introduction, Protocol
Network fundamentals
Ch. 1
Week 2Performance model
Layering, Security, History
Ch. 1
Week 3Applications, HTTP
Web, FTP
Ch. 2Problem set #1
Week 4SMTP, DNS
P2P, Socket
Ch. 2
Week 5Transport layer, UDP
Reliable transfer
Ch. 3Wireshark #1
Week 6TCP
Congestion control, TCP variants
Ch. 3
Week 7Virtual circuit vs. Datagram
Router, IP, ICMP
Ch. 4Problem set #2
Week 8(Mid-term exam)
Week 8Routing Algorithm
RIP vs. OSPF, BGP
Ch. 4
Week 10Broadcast, Multicast
Data link layer, Error control
Ch. 4
Ch. 5
NS-3
Week 11Multiple access, ARP
VLAN, MPLS, DCN
Ch. 5
Week 12Wireless link, WiFi
Cellular networks, Sensor networks
Ch. 6Wireshark #2
Week 13Mobility management, Mobile IP
Multimedia networking, VoIP
Ch. 6
Ch. 7
Problem set #3
Week 14RTR, SIP, Multimedia networking
Security, Cryptography
Ch. 7
Ch. 8
Week 15Secure e-mail, SSL, WEP
Network management, Future direction, SDN, IoT
Ch. 8
Ch. 9
Week 16(Final exam)