CS341
Introduction to Computer Networks
2018 Spring, KAIST

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.

Please use the Classum board for your questions. In case of an emergency, such as some system or network failure, please call 042-350-3548 and contact the professor. If she is not in, the call will be forwarded to her staff. On private matters, such as family emergencies or sickness, email the professor.

Instructor
Sue Moon (sbmoon golbaengi kaist edu)
TAs
Seokju Hong
Wonsup Yoon
Hyunjin Kim
Email: cs341-ta golbaengi an kaist ac kr
Lecture Time
Mon/Wed 10:30 AM - 11:45 AM
Lecture Room
E3 Room #1501
TA Office Hours
TBA.
Main Textbook
Computer Networking: A Top-Down Approach, 7th 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)
Description

There will be 5 programming projects: 1 on socket programming, 3 on KENS, and 1 on network security. We will post details according to the published schedule. For each project we will hold a tutorial session during the lab time slot.

For 3 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.

For the first and last projects, students will work individually. For the three KENS projects, students will work in a team of two.

  • Project 1: Socket programming practice / WireShark
  • Project 2: KENS part I
  • Project 3: KENS part II
  • Project 4: KENS part III
  • Project 5: TBD

Useful Links

Go to Classum KENS Docs Old KENS website Introduction Slide


Schedule

Weeks Topics Chapters Homework Projects(TBA)
Week 1 (2/26) Introduction, network edge and core (2/28) Network delay, loss, and throughput; protocol layers and service models; networks under attack; history of the Internet Ch. 1
Week 2 (3/05) Network applications; HTTP and SMTP (3/07) DNS, P2P, DASH, socket programming Ch. 2 Problem set #1 on Chapters 1 and 2 Socket Programming
Week 3 (3/12) Introduction to transport-layer services, UDP (3/14) Principles of reliable data transfer Ch. 3
Week 4 (3/19) TCP (3/21) TCP Connection Setup Ch. 3 KENS #1
Week 5 (3/26) Principles of Congestion Control (3/28) TCP Congestion Control Ch. 3 Problem set #2 on Chapter 3
Week 6 (4/02) Introduction to network layer (4/04) IPv4 and IPv6 Ch. 4 KENS #2
Week 7 (4/09) Generalized forwarding and SDN (4/11) Wrap-up of Chapters 1 to 4 Ch. 4 Problem set #3 on Chapter 4
Week 8 (4/18) 10:00 AM ~ 11:45 AM Mid-term exam
Week 9 (4/23) Routing Algorithm (4/25) RIP vs. OSPF, BGP Ch. 5 KENS #3
Week 10 (4/30) Broadcast, Multicast (5/02) Data link layer, Error control Ch. 5 Problem set #4
Week 11 (5/07) Substitution Holiday (5/09) Multiple access, ARP, VLAN, MPLS, DCN Ch. 5
Week 12 (5/14) Wireless link, WiFi (5/16) Cellular networks, Sensor networks Ch. 6 Problem set #5 TBD
Week 13 (5/21) Mobility management, Mobile IP, Multimedia networking, VoIP (5/23) RTR, SIP, Multimedia networking, Security, Cryptography Ch. 6
Ch. 7
Week 14 (5/28) Secure e-mail, SSL, WEP (5/30) Network management, Future direction, SDN, IoT Ch. 7
Ch. 8
Problem set #6
Week 15 (6/04) No Class (6/06) Memorial Day Ch. 8
Ch. 9
Week 16 (6/18) 9:00 AM ~ 11:45 AM Final exam