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.
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.
Go to Classum KENS Docs Old KENS website Introduction Slide
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 |