240 likes | 257 Views
Gain theoretical & practical understandings of networking basics. Topics include application protocols, socket programming, service models, routing algorithms, and more. Course taught by experienced professor with focus on reliable systems.
E N D
CS 5565Network Architecture and Protocols Godmar Back
High-level Objectives • Gain theoretical & practical understandings of the basics of networking • Be equipped to start research in communication networks CS 5565 Spring 2006
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 2006
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 • Research Interests: • Operating systems, runtime systems and compilers: focus on building reliable systems. • Influences how I teach networking CS 5565 Spring 2006
Course Facts • Meet Monday/Wednesday/Friday 12:20pm-1:10pm McBryde 307 • Website: • http://courses.cs.vt.edu/~cs5565/spring2006 • Send class-related email to • cs5565-staff@cs.vt.edu • TA: Donghang Guo CS 5565 Spring 2006
Email Etiquette • Please enter your name in webmail so it appears in From: line CS 5565 Spring 2006
Reading Material • Required Textbook • James F. Kurose & Keith W. Ross: Computer Networking: A Top-down Approach featuring the Internet. (3rd Edition), July 2004 • Website subscription • Will post reading assignments: • Chapter 1 for this week CS 5565 Spring 2006
Reading Material (cont’d) • Will assign a few research papers • Optional supplementary textbooks • Tanenbaum & van Steen: Distributed Systems: Principles and Paradigms, Prentice Hall, 2002 • Doug Comer: Internetworking with TCP/IP, Vol 1 • Wright & Stevens, TCP/IP Illustrated CS 5565 Spring 2006
Class Format • Lecture + class discussions • Homeworks • Problem sets, small assignments • Exams • 1 Midterm • 1 Final • Programming Projects CS 5565 Spring 2006
Programming Projects • 4 Projects: 1A, 1B, 2A, and 2B. • 1B & 2B are adapted from Dr. Varadarajan’s CS5516; however: • You pick the programming language • Hence, you must build infrastructure (1A & 2A) • This projects involve a substantial amount of programming. I expect you to bring strong programming skills. CS 5565 Spring 2006
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 2006
Exams • Midterm & Final • Final is comprehensive • Exams will include material from assigned research papers CS 5565 Spring 2006
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 above median CS 5565 Spring 2006
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 2006
Acknowledgments • Slides adapted from Kurose/Ross • Some from Tannenbaum • Some from Dr. Varadarajan’s CS5516 CS 5565 Spring 2006
Outline for rest of lecture • Motivation • How to teach networks? • Internet: • “nuts and bolts” view • Service view • Network edge view • Network core view • Types of switching CS 5565 Spring 2006
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 2006
Case 1: Number of Websites CS 5565 Spring 2006
Case 2: Number of Internet Hosts CS 5565 Spring 2006
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 try to follow top-down approach • Won’t be dogmatic about it CS 5565 Spring 2006
Project 1 • Build a reliable data transmission protocol CS 5565 Spring 2006
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 2006
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 2006
Project 2 • Part 2A: • Implement an RPC system • Part 2B: • Implement routing protocols • Using discrete-event simulator CS 5565 Spring 2006