CS341 Introduction to Computer Networks Spring 2010 http://an.kaist.ac.kr/courses/2011/cs341 Tu/Th 9am-10:15am Sue Moon and Junehwa Song Goals of This Course • The goal of this course is to provide students with sound understanding of fundamental concepts and problems in networking and to train then in network programming. 2 Changes in 2011 • Course renumbered: CS441 (S) → CS341 (F) • Course credit increased: 3 → 3+1 3 Prerequisites • Basic programming skills in C/C++ • CS230 System Programming socket programming 4 Other Related Courses • CS340 Network of Things (F) • CS442 Mobile Computing and Applications (S) • CS443 / CS542 Distributed Algorithms and Systems / Internet Systems (S) • CS540 Network Architecture • CS546 Wireless and Mobile Network 5 For Junior/Senior Students • Department Colloquium http://uilab.kaist.ac.kr/colloquium/ Sept 5 Tony Veale, KAIST WebST & University College Dublin Creative Information Retrieval (or: Viewing Linguistic Creativity as a Retrieval Task) Sept 19 Yufei Tao, KAIST WebST & Chinese University of Hong Kong Worst-case I/O-efficient Algorithms and Data Structures: A Tour Sept 26 Josep Torrellas, University of Illinois at Urbana-Champaign Designing Multicores for Programmability: The Bulk Multicore Architecture Oct 10 Wonjae Lee, KAIST GSCT Web Science and Sociology Oct 17 Jose Martinez, Cornell University Self-optimizing Microprocessors: A Machine Learning Approach Oct 31 Jaejin Lee, Seoul National University Programming Models for Heterogeneous Computing Nov 14 Yeonseung Chung, KAIST Mathematics Introduction to Nonparametric Bayesian Statistical Methods Nov 21 Geehyuk Lee, KAIST CS Before and After Touch Nov 28 Jae Wook Lee, Sungkyunkwan University Software Solutions to Hardware Problems in the Billion-Transistor Era Dec 5 Yung-Hwan Oh, KAIST CS Wine Story Dec 12 Chang Hyun Song, NHN TBD 6 Grading Policy • • • • • Lab: 35% Quizzes (+ Attendance): 20% Homework: 10% Mid-term: 15% Final: 20% 7 TAs • Lab Changki Hong (Head) ckhong@kaist.ac.kr Hosung Park hosung@an.kaist.ac.kr Sunjun Kim inornate@kaist.ac.kr Sundong Huh hsd99@kaist.ac.kr • Lectures Yohan Yoon straight12@kaist.ac.kr Seungjoo An sj.an@kaist.ac.kr 8 Lab • When? – 7pm on Tue; 1st meeting on Tue, 9/6 • Where? – Same as lectures (Classroom #3) • Lab grading – 1 team = 2 students – Policy on late turn-ins: • 7 tokens; 1 token for 1-day delay • After 7 tokens, 1-day delay = 10% downgrade of the project – Copy policy: 0 for the project Lab Projects 1. 9월 12일(월) - 9월 22일(목) 파일 전송 기능을 가진 간단한 메신저 구현하기 - 11일 2. 9월 23일(금) - 10월 6일(목) 신뢰 네트워크 상에서의 KTCP 구현 (1) - 추석 포함 14일 3. 10월 7일(금) - 10월 13일(목) 신뢰 네트워크 상에서의 KTCP 구현 (2) - 7일 4. 10월 14일(금) - 10월 28일(금) 비신뢰 네트워크 상에서의 KTCP 구현 - 15일 - 중간고사 10월 20일 ~ 26일 5. 10월 29일(토) - 11월 10일(목) KTCP의 흐름 제어 기능과 혼잡 제어 구현 - 13일 6. 11월 11일(금) - 11월 24일(목) KIP 데이터 포워딩 기능 구현 - 14일 7. 11월 25일(금) - 12월 8일(목) KIP의 분할/재조합 구현 - 14일 10 Textbooks • Computer Networking: a Top-Down Approach, 5th Edition (Jim Kurose, Keith Ross) • KENS 실습을 통한 TCP/IP의 이해 (조성재, 송 준화) • Supplementary – Computer Networks: a Systems Approach, 5th Edition, Larry Peterson and Bruce S. Davie – TCP/IP Illustrated, Vol 1, Stevens – TCP/IP Illustrated, Vol 2, Wright & Stevens 11 Online resources • http://wps.aw.com/aw_kurose_network_5/ 12 Schedule Thu 9-1 Intro Thu Tue 9-6 1.1 - 1.3 Tue 10-27 4.6 - 4.7 [Changhyun] 11-1 5.1 - 5.2 Thu 9-8 1.4 - 1.7 Thu 11-3 5.3 Tue 9-13 Holiday Tue 11-8 5.4 - 5.5 Thu 9-15 2.1 - 2.4 Thu Tue 9-20 2.5 Tue 11-10 5.6 - 5.9 11-15 5.4 - 5.5 Thu 9-22 2.6 Thu Tue 9-27 3.1 - 3.3 Tue Thu 9-29 3.4 [Changhyun] Thu Tue 10-4 3.5 Tue 11-24 6.1 - 6.3 11-29 6.4, 6.6 Thu 10-6 3.6 - 3.7 Thu 12-1 7.1 - 7.2 Tue 10-11 4.1 - 4.3 10-13 4.4 Tue 12-6 8.1 - 8.3 [Keon Jang] Thu 12-8 8.4 - 8.7 [Teleconf] Tue 12-13 Wrap-up 12-20 9am-12pm Final Thu Tue Tue 10-18 4.5 10-25 9am-12pm Mid-term Tue 11-17 5.6 11-22 5.7 - 5.9 13 Questions • TCP/IP not designed for security. Are they vulnerable? How? Can we fix it? • I heard about IP addresses and routers, but don’t know how they work. • Where does error checking take place? Motivated by failed downloads. • How are IP addresses allocated? Reliability at the bit transmission level? 14