CS341 Section B
Introduction to Computer Networks
2017 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.

Instructor
Sue Moon (sbmoon golbaengi kaist edu)
TAs
Keunhong Lee
Dongyong Choi
Junmin Choe
Email: cs341-ta golbaengi an kaist ac kr
Lecture Time
Tue/Thu 09:00 AM - 10:15 AM
Lecture Room
N1 Room #201
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)

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

Please check the relevant chapters in the main textbook.

WeeksTopicsChaptersHomeworkProjects(TBA)
Week 1(2/28) Introduction, Protocol(3/02) Network fundamentalsCh. 1
Week 2(3/07) Performance model(3/09) Layering, Security, HistoryCh. 1Problem set #1Socket programming
Week 3(3/14) Applications, HTTP(3/16) Web, FTPCh. 2KENS #1
Week 4(3/21) SMTP, DNS(3/23) P2P, SocketCh. 2
Week 5(3/28) Transport layer, UDP(3/30) Reliable transferCh. 3KENS #2
Week 6(4/04) TCP(4/06) Congestion control, TCP variantsCh. 3Problem set #2
Week 7(4/11) Virtual circuit vs. Datagram(4/13) Router, IP, ICMPCh. 4
Week 8(4/18, 4/20) Mid-term exam
Week 9(4/25) Routing Algorithm(4/27) RIP vs. OSPF, BGPCh. 4
Week 10(5/02) Broadcast, Multicast(5/04) Data link layer, Error controlCh. 4
Ch. 5
Problem set #3
Week 11(5/09) Multiple access, ARP(5/11) VLAN, MPLS, DCNCh. 5
Week 12(5/16) Wireless link, WiFi(5/18) Cellular networks, Sensor networksCh. 6
Week 13(5/23) Mobility management, Mobile IP(5/25) Multimedia networking, VoIPCh. 6
Ch. 7
Week 14(5/30) RTR, SIP, Multimedia networking(6/01) Security, CryptographyCh. 7
Ch. 8
Problem set #4
Week 15(6/06) Secure e-mail, SSL, WEP(6/08) Network management, Future direction, SDN, IoTCh. 8
Ch. 9
Week 16(6/13, 6/15) Final exam