Welcome to CSci5221: Advanced Computer Networks Prof. Zhi-Li Zhang Time: 6:30pm –9:00pm Wednesdays Location: Mech 108 Spring 2013 3 credits CSci5221 Logistics 1 What is Csci5221 about? Second “Graduate-Level” Networking Course Assume a first-course “Introduction to Networking” csci5211, csci421 or equivalent We’ll learn about – Fundamental networking principles and techniques – Advanced networking mechanisms, protocols and practices • • • • foundational material: long half life deeper understanding of R& D issues in today’s Internet mix of theory and practice case studies Who is it for? primarily for graduate students who want to learn more about networking and systems undergraduate students encouraged, but special permission CSci5221 Logistics 2 Course Mechanisms Lectures, Readings & Homework Assignments – A series of (advanced) topics combining both theory and Practices – Fast-paced • • Me: lecture and provide some highlights to guide you understand the reading materials You: read papers and learn by yourself “Hands-on” Course Projects Project 1: Window smart phone programming (or Android) + Azure cloud service support Project 2: a “research-oriented” networking project (e.g., multi-path routing using VIRO) CSci5221 Logistics 3 Course Topics Review of Networking Basics (csci5211/csci4211) Network Architectural, Design, Implementation Principles Overlay and P2P Networks; CDNs; YouTube & Netflix Case Studies Router Design, IP Address Look-up & Flow Classification Packet Scheduling, Congestion Control and Active Queue Management Internet Measurement Basics: Traffic, Performances, etc. Intra-Domain Routing and Traffic Engineering Network Failures and IP Fast Rerouting Inter-Domain Routing and BGP; BGP Policy Issues; BGP Routing Instability; Impact of BGP Failures Data Centers and Cloud Computing Overview Data Center Networking and Large Enterprise Networking Internet Architectures Revisited …… CSci5221 Logistics 4 Course Materials No Required Textbooks Some Recommended Textbooks (csci4211/csci5211) that will be referenced Computer Networks: A Systems Approach by Peterson and Davies, 3nd Ed, Morgan Kaufmann Edition, Addison Wesley Other Useful Textbooks: Computer Networks by A. Tanenbaum, Prentice Hall, 4th ed An Engineering Approach to Computer Networks by S. Keshav Assigned readings: 3-4 required papers Computer Networking: A Top-Down Approach by Kurose & Ross, 3rd Posted on class website (tentatively, updated as we go along) Optional papers for background, supplementary and further readings Lecture notes CSci5221 Logistics 5 Course Requirements Will be Fast-Paced ! Do assigned readings Be prepared, read and review textbook/lecture notes on Self-reading materials in textbook: read by your own and your own in advance! will not be lectured So we can spend more class time on discussion and problem solving! Attend and participate in class activities Please ask and answer questions in (and out of) class! Let’s try to make the class interactive and fun! CSci5221 Logistics 6 Course Prerequisite First-Course on Computer Networks Algorithms, Computer Architecture, OS Not necessary, but helpful Basic knowledge of probability Programming Experiences and Proficiency e.g., in C/C++ (or Java), Python, C#, etc. Required! More importantly Willing to learn and work hard Love to ask questions and solve problems CSci5221 Logistics 7 Class Information Class Website : Announcement Page http://www.cselabs.umn.edu/classes/Spring2013/csci5221/ Check the class web page periodically Google Class Mailing List for announcements, Q&As, discussions, etc. umn-csci5221-s13@googlegroup.com Class Project “wikipage” CSci5221 Logistics 8 Office Hours and TAs Professor Zhang’s Office Hours: By appointment TA 1: Pengkui Luo, pluo@cs.umn.edu TA 2: Yanhua Li (up to 03/31/13), yanhua@cs.umn.edu Office: Walter Library/DTC B-34/B32 Office Phone: 612-624-6208 Office Hours: Tu/Th 11am-12pm & by appointments CSci5221 Logistics 9 Workload and Grading Workload Two homework assignments (20% -- 10% each) Two course projects (50% total, I: 30%; II: 20%) One take-home exam (25%); Class participation: 5% (for on-campus student only) Optional Bonus Points: volunteer to be scribes! Focus more on critical thinking, problem solving, “heads-on/hands-on” experiences! Read and critique research papers Understand, formulate and solve problems Two Course Projects CSci5221 Logistics 10 Policies and Guidelines No late hw/project Make-up exams: only if special occasions Incomplete: not granted, unless Please start working on your hw assignments/projects early and hand them in on time! proof of emergency, “agreement for incomplete” form Scholastic behavior: You are encouraged to study in groups, but do your work independently! Take-home exam: must work it independently! Acknowledge reference/credit if receive help! University’s code of conduct enforced! CSci5221 Logistics 11 A Few Words on Course Projects Projects will be in groups! 4-5 students per group, depending on enrollment Project I: Window Mobile Phone Programming Project You’ll be learning C#; Each group: one of several suggested project ideas/topics; 10 (?) Window mobile smart phones will be provided for you; and free Azure account per project If you prefer to program for Android smart phones (or Apple iPhones) that should be fine also -- provided you have access to such phones You may create your own project ideas, subject to approval by us CSE Dept. may have several Android phones for loan Project II: “research-oriented” networking project multi-path routing, fast rerouting, etc. based on VIRO VIRO: a new routing platform we have developed for future large-scale enterprise networks Programming in C++ (can be Java, or Python) CSci5221 Logistics 12 Class Registration Put the following information on a piece of paper Your Name and Student Id Your Contact Info: e.g., email, or phone Your Major and Status: e.g., CS grad, registered, … Background: Relevant courses taken: e.g., basic networking, OS, architecture, probability theory, .. General programming skills: e.g., proficiency in C, C++, C#, Java, Python, … Network and Web Programming: e.g., experiences in BSD socket, winsock, javascript, php, ajax, … Motivations and Objectives, : Why do you want to take this course? How much time do you think you’ll devote to the course (reading, homework, project …) Objective: e.g., you’ll work hard to get an A++! CSci5221 Logistics 13 Questions? CSci5221 Logistics 14