260 likes | 277 Views
Gain theoretical and practical understanding of networking basics. Covers application protocols, transport layer, network layer, and link layer. Includes programming projects and exams.
E N D
CS 5565Network Architecture and Protocols Godmar Back
About Me • Undergraduate Work at Humboldt and Technical University Berlin • PhD University of Utah • Postdoctoral Work at Stanford University • Joined Virginia Tech as Assistant Professor August 2004 • Promoted to Associate Professor with tenure June 2010 • Research Interests: • Operating systems, runtime systems, virtual machines • Web technologies • Software engineering; languages • High performance computing CS 5565 Spring 2012
Course Facts • Meet Tuesday/Thursday • 9:30am-10:45am McBryde 216 • Website: • http://courses.cs.vt.edu/~cs5565 • Send class-related email to • cs5565-staff@cs.vt.edu • TA: Hao “Tony” Zhang • Office hours TBA; returns Jan 30 to Blacksburg CS 5565 Spring 2012
Class Format • Lecture + class discussions • Homeworks • Problem sets, small assignments • Exams • 1 Midterm • 1 Final • Programming Projects CS 5565 Spring 2012
Reading Material • Required Textbook • James F. Kurose & Keith W. Ross: Computer Networking: A Top-down Approach. (5th Edition), 2010 • Website subscription • Will post reading assignments: • Chapter 1 for this week CS 5565 Spring 2012
Reading Material (cont’d) • Will assign a few research papers • Optional supplementary textbooks • Tanenbaum & van Steen: Distributed Systems: Principles and Paradigms • Tanenbaum: Networking • Doug Comer: Internetworking with TCP/IP, Vol 1 • Wright & Stevens, TCP/IP Illustrated CS 5565 Spring 2012
Exams • Midterm & Final • Final is comprehensive • Exams will include material from assigned research papers CS 5565 Spring 2012
Late Policy • No late submissions will be accepted. • Instead, you have 4 late days: • Self-granted extensions, no need to ask for permission • Can be used on homeworks & projects • Contact instructor in extraordinary circumstances only • Job interviews do not count • Presenting at a conference does count CS 5565 Spring 2012
Grading • 15% Midterm • 25% Final • 10% Homeworks • 50% Projects • These may be subject to change • Not grading on a standard scale: • Expect B+ or better if you’re consistently above median CS 5565 Spring 2012
Honor Code • Will be strictly enforced in this class • Do not cheat • Observe collaboration policy outlined in syllabus • Will use MOSS for software cheating detection • Do not borrow code from previous offerings • Read the policies posted on the website • “I was not aware…” is no excuse • If in doubt, ask! CS 5565 Spring 2012
On Plagiarism • Constitution of the Graduate Honor System, Avoiding Plagiarism: A Guide for Graduate Students at Virginia Tech • "Plagiarism includes the copying of the language, structure, ideas, and/or thoughts of another and passing off same as one's own, original work.“ • Plagiarism = copying of (language || structure || ideas || thoughts) && misrepresenting CS 5565 Spring 2012
Acknowledgments • Many slides adapted from Kurose/Ross • Some from Tannenbaum • Some from Dr. Varadarajan’s CS5516 CS 5565 Spring 2012
High-level Objectives • Gain theoretical & practical understandings of the basics of networking • Be equipped to start research in communication networks CS 5565 Spring 2012
Motivation • Computer networks (read: the Internet) have completely reshaped the way people communicate, live, and work • (if you’re old enough to know…) • Motivates study of the Internet as a vehicle for studying networks in general CS 5565 Spring 2012
Number of Websites (1996-2012) CS 5565 Spring 2012
Number of Internet Hosts (1990-2012) CS 5565 Spring 2012
application transport network link physical How to teach networks? • Traditional Bottom-up approach • E.g., Tanenbaum book • Top-down approach • Kurose/Ross book • Applications motivate networks • Will follow top-down approach • Won’t be dogmatic about it CS 5565 Spring 2012
Topics • Networking Architecture and Protocols • Motivation, Overview, Definitions, Terms • Application protocols • Socket programming • Transport Layer • Service models, protocols, flow/congestion control • Network Layer • Service models, routing algorithms, multicasting • Link Layer: • Issues, performance, implementation • Others: I welcome your suggestions CS 5565 Spring 2012
“Not so much” topics • This version of the class will not emphasize or only cover marginally • Theoretical network analysis and modeling, queuing theory • Network security • Specifics of wireless networking • Deep physical layer details (modulation, coding) • Take a specific class in that area or a different offering of this course if you need background in those areas CS 5565 Spring 2012
Programming Projects • 4 Major Projects • Plus smaller exercises • You pick the programming language: recommend a high-level language, such as Python – but low-level Java/C++/C should work • These projects involve a substantial amount of programming. I expect you to bring strong programming skills. CS 5565 Spring 2012
Project 1 • Build a reliable data transmission protocol CS 5565 Spring 2012
Project 1: Reliable Data Transmission (cont’d) Focus on • Layered design (you define the layers & reason about them) • Understanding principles behind reliable data transmission protocols by implementing one • Also a good exercise in concurrent programming • Understanding performance implications by doing systematic experimentation CS 5565 Spring 2012
Project 2 • Part 2A: • Implement an RPC system • Part 2B: • Implement routing protocols • Using discrete-event simulator CS 5565 Spring 2012
Outbound TCP Stream Outbound Request Reply Inbound Request Reply Inbound TCP Stream Project 2 Node 1 Node 0 … Simulator Node n-1 CS 5565 Spring 2012