Page 1 15-441 Computer Networking Lecture 1 – Introduction 1 Today’s Lecture • Administrivia • Whirlwind tour of networking 2 Instructors • Instructors. • Srini Seshan • [email protected], Gates Hall 8123 • Seth Goldstein • [email protected], Gates Hall 7111 • Teaching assistants. • Kaushik Lakshminarayanan • Rui Meireles • Dae Gun Won 3 Course Goals • Become familiar with the principles and practice of data networking • Routing, transport protocols, naming, ... • Learn how to write applications that use the network • An IRC server • A peer-to-peer file transfer program • Get some understanding about network internals in a hands-on way • You’ll implement a routing protocol for your IRC server • TCP-style congestion control 4Page 2 Course Format • ~30 lectures • Cover the “principles and practice” • Complete readings before lecture • 4 homework assignments • “Paper”: Do you understand and can you apply the material? • “Lab”: Illustrate networking concepts • Loosely tied to lecture materials • Teach networking concepts/tools • 3 programming projects • How to use and build networks / networked applications • Application-layer programming; include key ideas from kernel • Larger, open-ended group projects. Start early! • Midterm and final • Covers each of the above 3 parts of class 5 Recitation 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! 6 Sounds Great! How Do I Get In? • Currently 76 people are enrolled, and 33 people are on the waiting list. • If you do not plan to take the course, please drop it ASAP so somebody else can take your place! • We give preference to: 1. Students attending class (sign in sheet) 7 Administrative Stuff • Watch the course web page • http://www.cs.cmu.edu/~srini/15-441/S10/ • Handouts, readings, .. • Read bboards • academic.cs.15-441[.announce] for official announcements • cyrus.academic.cs.15-441.discuss for questions/answers • Office hours posted on web page • By appointment this week • Course secretary • Angela Miller, Gates 9118 8Page 3 Grading • Roughly equal weight in projects and testing • 45% for Project I, II and III • 15% for Project II • 15% for Midterm exam • 25% for Final exam • 15% for Homework • You MUST demonstrate competence in both projects and tests to pass the course • Fail either and you fail the class! 9 Policy on Collaboration • Working together is important • Discuss course material in general terms • Work together on program debugging, .. • Final submission must be your own work • Homeworks, midterm, final • Projects: Solo (P1) + Teams of two (P2,P3) • 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 projects through several cheat-checkers against all previously and concurrently handed in versions… 10 Late Work and Regrading • Late work will receive a 15% penalty/day • No assignment can be more than 2 days late • No penalty for a limited number of handins - see web page • Only exception is documented illness and family emergencies • Requests for regrading must be submitted in writing to course secretary within 2 weeks. • Regrading will be done by original grader • No assignments with a “short fuse” • Homeworks: ~1-2 weeks • Projects: ~5 weeks • Start on time! • Every year some students discover that a 5 week project cannot be completed in a week 11 This Week • Intro – what’s this all about? • Protocol stacks and layering • Recitations start this week: Socket programming (213 review++) • On to the good stuff…Whirlwind tour of networking • Course outline: • Low-level (physical, link, circuits, etc.) • Internet core concepts (addressing, routing, DNS) • Advanced topics 12Page 4 What is the Objective of Networking? • Enable communication between applications on different computers • Web (Lecture 22) • Peer to Peer (Lecture 23) • Audio/Video (Lecture 20) • Funky research stuff (Lecture 27) • Must understand application needs/demands (Lecture 3) • Traffic data rate • Traffic pattern (bursty or constant bit rate) • Traffic target (multipoint or single destination, mobile or fixed) • Delay sensitivity • Loss sensitivity 13 What Is a Network? • Collection of nodes and links that connect them • This is vague. Why? Consider different networks: • Internet • Andrew • Telephone • Your house • Others – sensor nets, cell phones, … • Class focuses on Internet, but explores important common issues and challenges 14 Networks Juggle Many Goals • Efficiency – resource use; cost • The “ilities”: • Evolvability • Managability • Security (securability, if you must) • Ease of: • Creation • Deployment • Creating useful applications • Scalability 15 Challenges for Networks • Geographic scope • The Internet vs. Andrew • Scale • The Internet vs. your home network • Application types • Email vs. video conferencing • Trust and Administration • Corporate network – one network “provider” • Internet – 17,000 network providers 16Page 5 How to Draw a Network Node Link Node 17 Basic Building Block: Links • Electrical questions • Voltage, frequency, … • Wired or wireless? • Link-layer issues: How to send data? • When to talk – can either side talk at once? • What to say – low-level format? • Lecture 5 • Okay… what about more nodes? Node Link Node 18 Basic Building Block: Links • … But
View Full Document