1 1 EE 122: Introduction To Communication Networks Fall 2009 (MW 4-5:30 in 106 Stanley) Ion Stoica TAs: Junda Liu, DK Moon, David Zats http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at UC Berkeley 2 Goals for Today’s Class EE 122 overview Goals of the course Structure of the course Instructor & TAs Prereqs & assignments Course grading Academic policies What makes networking challenging The fundamental issues we must grapple with to build a global Internet 3 What You Learn in This Course Insight: key concepts in networking Protocols Layering Resource allocation Security Naming Knowledge: how the Internet works Internet architecture IP protocol suite Applications (Web, e-mail, P2P, …) Skill: network programming Socket programming Designing and implementing protocols 4 What This Course Is and Isn’t EE122 comes in two flavors: Spring offering: taught by EE faculty More emphasis on diverse link technologies, wireless & mobility, communication theory & simulation Fall offering: taught by CS faculty More emphasis on Internet technology, applications, practice & empiricism / hands-on Differences aren’t huge, though My particular emphasis: Network architecture, resource allocation Overlays, peer-to-peer applications 5 Structure of the Course (1st Half) Start at the top Protocols: how to structure communication Sockets: how applications view the Internet Then study the “narrow waist” of IP IP best-effort packet-delivery service IP addressing and packet forwarding And how to build on top of the narrow waist Transport protocols (TCP, UDP) Domain Name System (DNS) Applications (Web, email, file transfer) Looking underneath IP Link technologies (Ethernet, bridges, switches) Internet Hourglass 6 Structure of the Course (2nd Half) How to get the traffic from here to there … Routing (intradomain, interdomain) Glue (ARP, DHCP, ICMP) … in a way that’s both efficient and stable How much data to send without clogging the sender (flow control) or the network (congestion control) With some assurance (quality of service) … or not How to control network traffic … Enforcing policy Defending against attacks … and scale it to potentially huge structures Peer-to-peer & overlays2 7 Instructor Ion Stoica ([email protected]) Research focus Network architectures Tracing & debugging distributed systems Overlay & p2p networks http://www.cs.berkeley.edu/~istoica/ Office hours MW 2-3PM in 413 Soda Phone: 643-4007 Email preferred! 8 TAs Junda Liu ([email protected]) Office hours: Tu, 4-5pm & F, 11-12pm, in 411 Soda Hall And by appointment Section: F 10-11am (299 Cory) Daekyeong Moon ([email protected]) Office hours: TuW 9-10am, in 411 Soda Hall And by appointment Section: Tu 10-11am (293 Cory) 9 TAs David Zats ([email protected] ) Office hours: TT, 2:30-3:30, in 711 Soda Hall And by appointment Section: W 12-1pm, 241 Cory Hall 10 Interact! Inevitably, you won’t understand something(s) … that’s my fault, but you need to help Come to office hours, request an appointment, communicate by e-mail We are here to help, including general advice! TAs first line for help with programming problems Give us suggestions/complaints/feedback as early as you can What’s your background? Tell us at http://tinyurl.com/n44c7y 11 Course Materials Textbooks J. Kurose and K. Ross, Computer Networking: A Top-Down Approach, 4th Edition, Addison Wesley, 2007. Note, we jump around in it a lot Recommended & on reserve: W. R. Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1993. Web site: http://inst.eecs.berkeley.edu/~ee122/ Updated frequently, including lecture slides Note: if you are following the slides during lecture, please don’t use them to answer questions I ask Mailing list: [email protected] 12 Class Workload Four homeworks spread over the semester Strict due dates (no slip days!) Unless otherwise specified, deadlines are before lecture starts One large project divided into two sub-projects: Distributed game: tiny World of Warcraft 1st sub-project: Client-server (teams of two) 2nd sub-project: p2p (teams of two) Deadlines 11:50PM These are extensive undertakings Exams Midterm: Monday, October 12 in class, 4-5:30PM Final: Thursday, December 17 location TBA, 8-11AM Closed book, open crib sheet3 13 Prerequisites CS 61A, 61B Programming, data structures, software engineering Knowledge of C or C++ Math 53 or 54 In fact, we’ll be relatively light on math, though your algebra should be very solid, you should know basic probability, and you’ll need to be comfortable with thinking abstractly Background material will not be covered in lecture. TAs will spend very little time reviewing material not specific to networking 14 Grading Course graded to mean of B Relatively easy to get a B, harder to get an A or a C ≈ 10% A, 15% A-, 15% B+, 20% B, 15% B-, 15% C+, 10% C A+ reserved for superstars (1 or 2 per class) Mean can shift up for an excellent class For which the TAs have significant input Homeworks 20% (5% each) Projects 40% (20+20) Midterm exam 15% Final exam 25% 15 No Cheating Cheating means not doing the homework by yourself Fine to talk with other students about homeworks outside of class Concepts, not specifics No copying, no Google, etc If you’re unsure, then ask We will do automated similarity detection on assignments. 16 5 Minute Break Questions Before We Proceed? 17 What do this two have in Common? First printing press Key idea: splitting up text in individual components E.g., lower, upper case letters
View Full Document