1Lecture 1IntroductionDavid AndersenSchool of Computer ScienceCarnegie Mellon University15-441 Networking, Spring 2008http://www.cs.cmu.edu/~dga/15-441/S08/2Today’s Lecture! Course outline and goals.! Whirlwind Tour of Networking ™3Course Staff! Instructors» David Andersen– <[email protected]> , Wean Hall 8206» Peter Steenkiste– <[email protected]>, Wean Hall 8202! Teaching assistants:» Xi Liu - [email protected] -» Dan Perkins - [email protected] - TBA» Xin Zhang - [email protected] -4Course Goals! Become familiar with the principles andpractice of data networking.» Routing, transport protocols, naming, ...! Learn how to write networked applications:» An IRC server» A peer-to-peer file transfer program! Get some understanding about networkinternals in a hands on way.» You’ll implement a routing protocol for your IRC server» TCP-style congestion control5Course Format! ~30 lectures» Cover the “principles and practice”» Readings are posted beforehand! 4 homework assignments» “Paper”: Do you understand and can you apply thematerial?» Feedback to students and instructors» “Lab”: Illustrate networking concepts! Mid-term and final.! 2 programming projects.» How to use and build networks / networked applications» Application layer; include key ideas from kernel» Larger, open-ended group projects. Start early!6Recitation Sections! Key 441 objective: system programming! Different from what you’ve done before!» Low level ( C )» Often designed to run indefinitely. Handle all errors!» Must be secure» Interfaces specified by documented protocols» Concurrency involved (inter and intra-machine)» Must have good test methods! Recitations address this» “A system hackers’ view of software engineering”» Practical techniques designed to save you time & pain!7Sounds Great!How Do I Get In?! Currently 86 people are enrolled, and nopeople are on the waiting list.» Cool.» We’ll update more if we end up with a waitlist due tounexpected, sudden popularity because the class is justthat cool.! But just to be sure:» If you do not plan to take the course, please drop it withina reasonable amount of time» And if you do, please make sure you’re registered!– We’d like a reasonable headcount– Lets us use the online roster to create yourlogins/etc. for assignments8Administrative Stuff! Watch the course web page.» Handouts, readings, ..! Read courses bboards.» “Announce” for official announcements» “General” for questions/answers! Office hours posted on web page.! Course secretary» Barbara Grandillo, Wean Hall 8018! Office hours this week by email / appointment» Final office hours posted Thursday! Books – have people gone to the bookstore? Howmany copies? Should be there…9Grading! Roughly equal weight in projects and testingon course contents.! 20% for Project I! 25% for Project II! 15% for Midterm! 25% for Final exam! 15% for Homeworks! You need to demonstrate competence in bothprojects and tests to pass the course. Don’tfail any component.10Policy on Collaboration! Working together is important.» Discuss course material in general terms» Work together on program debugging, ..! Parts must be your own work» Homeworks, midterm, final! Projects: Teams of two» Collaboration, group project skills» Both students should understand the entire project! Web page has details.! Things we don’t want to have to say: We run projectsthrough several cheat-checkers against all previouslyand concurrently handed in versions…11Policy on Late Work andRegrading! No assignments with a “short fuse”.» Homeworks: ~1 week» Projects: ~5 weeks! Late work will receive a 10% penalty/day.» No penalty for a limited number of handins - see web page» No assignment can be more than 2 days late! Only exception is documented illness andfamily emergencies! Start on time!» Every year some students discover that a 4 week projectcannot be completed in a week! Requests for regrading must be submitted inwriting with course secretary within 2 weeks.» Regrading will be done by original grader12This Week! Intro – what’s this all about?! Protocol stacks and layering! Next week? Applications and Network programmingreview.» Socket programming (213 review++)» Recitations start next week: Project management (SVN, etc.)! Course outline:» Low-level (physical, link, circuits, etc.)» Internet core concepts (addressing, routing, DNS)» Advanced topics! On to the good stuff…13What Is a Network?! Collection of nodes and links that connectthem! This is vague. Why? Consider differentnetworks:» Internet» Andrew» Telephone» Your house» Others – sensor nets, cell phones, …! Focus on Internet, but understand importantcommon issues and challenges14Networks Juggle Many Goals! Efficiency – resource use; cost! The “ilities”:» Evolvability» Managability» Security (securability, if you must)» Ease of:– Creation– Deployment– Management– Creating useful applications» Scalability15Challenges for Networks! Geographic scope» The Internet vs. Andrew, etc.! Scale» The Internet vs. your home network! Application types» Email vs. Videoconferencing! Trust and Administration» Corporate network – one network “provider”» Internet – 17,000 network providers16How to Draw a NetworkNode Link Node17Building block: The Links! Electrical questions» Voltage, frequency, …» Wired or wireless?! Link-layer issues: How to send data?» When to talk – can everyone talk at once?» What to say – low-level format?» Stay tuned for lecture 5! Okay… what about more nodes?Node Link Node18! … But what if we want more hosts?! Scalability?!One wireWires for everybody!19Multiplexing!! Need to share network resources! How? Switched network» Party “A” gets resources sometimes» Party “B” gets them sometimes! Interior nodes act as “Routers” or “Switches”! What mechanisms can share resources?20Circuit Switching! Source first establishes a connection (circuit)to the destination.» Each router or switch along the way may reserve somebandwidth for the data flow! Source sends the data over the circuit.» No need to include the destination address with the datasince the routers know the path! The connection is torn down.! Example: telephone network (analog).21Circuit Switching! Source first establishes a connection (circuit)to the destination.! Source sends the data over the circuit.» e connection is torn down.! Example: telephone
View Full Document