CS 5565 Network Architecture and Protocols
260 likes | 279 Vues
Gain theoretical and practical understanding of networking basics. Covers application protocols, transport layer, network layer, and link layer. Includes programming projects and exams.
CS 5565 Network Architecture and Protocols
E N D
Presentation Transcript
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