Presentation on theme: "Course Overview and Introduction"— Presentation transcript:
1Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011
2Who Am I? Nick Feamster Office: Klaus 3348 Questions: Use Piazza Q&A Associate ProfessorResearch Area: Networking Operations and SecurityOffice: Klaus 3348Questions: Use Piazza Q&AOffice Hours: Wednesdays 12-1 p.m.TAs: Srikanth Sundaresan, Surya Sivakumar
3It’s an Exciting Time More people More global More “things” Today: 1.9B users2020: 5B usersMore globalAfrica, India: ~7% penetrationMore “things”More traffic44 exabytes by 2012Fewer wiresSource: internet world statsTransit prices in Kenya have dropped to $120/Mbps – about what they were in the US in about m indians use the internet (7%), but 500m own mobile phones/SIM cards
4It’s Also a Critical Time As much as 95% of traffic is spamSpam moving to new domains such as TwitterAbout 50k new phishing attacks every monthNearly 60 countries censor Internet content
5New Technology and Innovation 70% of facebook now outside of the united states (pingdom, jan 2011)110 million tweets per day (200 M users).4.5 Billion GSM. WCDMA subscriptions (source: gsacom)…but, much of this innovation is actually coming from industry.
6Meanwhile…A Crisis of Confidence “We don’t need a course in networking; it is all details and no principles.”“You can’t actually deploy any new technology; Cisco holds the keys to innovation.”“What are the top ten classic problems in networking? I would like to solve one of them and submit a paper to SIGCOMM.” After hearing that we don't have such a list: "Then how do you consider networking a discipline?”“So, these networking research people today aren't doing theory, and yet they aren't the people who brought us the Internet. What exactly are they doing?”“Networking is an opportunistic discipline.”
7Why Has It Been So Difficult? Network applications (and threats) evolveDevelopments call for changes to the network itselfTesting new technologies is challengingConvince a network operator to “try something out”?What if the change requires universal deployment?Deploying new technologies is more challengingAnd things are getting worse, not better
8Difficult to deploy solutions that require fundamental change. How Did We Get Here?Internet design came from a different eraSingle group of cooperative designersCohesive networkTrusted group of usersThe reality today is much differentIndependently operated networksBusiness realitiesUntrusted parties with competing goalsDifficult to deploy solutions that require fundamental change.
9How can networking research turn the tables? Yesterday’s networking researchers developed technologies to improve the operation of existing networks. (Reactive approach)Tomorrow’s networking researchers should develop technologies that enable evolution and innovation. (Proactive approach)Images: band-aid & hammer/crystal ballWe have the plumbers and users. We need the architects.
10Our Current Thinking: Network as Artifact “There is a tendency in our field to believe that everything we currently use is a paragon of engineering, rather than a snapshot of our understanding at the time. We build great myths of spin about how what we have done is the only way to do it to the point that our universities now teach the flaws to students (and professors and textbook authors) who don't know better.”-- John Day
11Instead: Could we change the network as easily as applications? TCP/IP Header in Lego Format.
12Home Networking & Access Networks ProblemsPerformance problems are difficult to debugAccess ISPs discriminate, give poor performanceHard to manage, troubleshoot, secureResearchProgrammable gateways in homesPerform active and passive measurementsCollect information about user behaviorRemotely control, troubleshoot, and secureProject ongoing with FCCHome networks are difficult for experts to debug, let alone average home users. As we have recently seen in the news, the Federal Communications Commission has also taken an interest in benchmarking access ISP performance in the US, pursuing a deployment of measurement devices in more than 10,000 homes across the country to measure access network performance from various vantage points. We are collaborating with the FCC in this effort: we have analyzed a similar dataset for home network users in France and are now cooperating with the FCC to deploy programmable gateways in homes around the United States. These boxes (shown on the slide) perform a combination of active and passive measurements of both the access link, and of performance inside the home. This allows us to answer interesting questions such as: Where is the cause of performance degradation that a home user is experiencing (e.g., on the access link or inside the home)? We are also collaborating with professors in HCI (Keith Edwards) to understand user behavior (e.g., how users respond to poor performance).
13Anti-Censorship Problems Research Censorship in 23 countries worldwide Even in the US!Existing techniques are not deniableResearchExploiting different media for cover traffic (e.g., user-generated content)Bootstrapping and incentivesDesigning better resistance to coercionUse of social networksOur tool, Collage, featured in New ScientistMore than 23 countries around the world actively censor Internet content. Even the United States has seen examples of law enforcement shutting down Web sites that are somehow deemed objectionable. Towards enabling the free flow of information on the Internet, we are developing techniques to circumvent censorship firewalls, such as those in China and Iran. Our latest tool, Collage, hides censored content in material that is hosted user-generated content sites, such as Flickr or Picasa (small “chunks” of files are hidden inside photos). We are looking to expand on these techniques, and also to provide better techniques for bootstrapping (i.e., distributing the anti-censorship software).
14Programmable Networking ProblemsNetworks are difficult to configure, manage, secureDetecting and preventing errorsPredicting the outcome of a configurationResearchAnalysis of existing network configurationsDesign of high-level languages for configuring and programming networksDesign and prototyping of new programmable network devicesFrequently Changing Configuration CommandsNetworks are difficult to configure, manage, and secure. Network operators make tens to hundreds of changes to low-level network device configurations every day (the tag cloud on the slide shows the frequency of changes for various configuration types: access control lists are among the most common). Two major challenges with network configuration are detecting and preventing errors, and predicting the outcome of a configuration on network behavior. We are working to tackle these problems by (1) analyzing existing network configurations to help us better understand the nature of configuration changes and tasks; (2) designing high-level languages and network controllers to make it easier for operators to configure and debug networks; (3) designing new, open programmable networking devices that allow a protocol designer to easily evolve and develop network protocols (a marked departure from Cisco’s closed and proprietary network devices).
15Why Networking is Fun You can apply many different “tools” Theoretical foundationsStatistics, machine learning, signal processing, data mining, etc.You can build cool systems that people useReal, working systems that people want and needSolving real problems (network management, anti-censorship, fighting spam, etc.)You can measure and exploreMeasurement puts the “science” in computer science
16Why Networking is (More) Fun Young, relatively immature fieldGreat if you like to make order out of chaosTremendous intellectual progress is still neededDefining the problem is a big part of the challengeRecognizing a need, formulating a well-defined problem is at least as important as solving the problem.Lots of platforms for building your ideasProgrammability: Click, OpenFlow/NOX, NetFPGARouting software: Quagga, XORP, and BirdTestbeds: Emulab, PlanetLab, Orbit, GENI, …Measurements: RouteViews, traceroute, Internet2, …The “lots of platforms” is relevant to the course, where we will leverage these platforms to Do Great Things.
18How Practitioners Learn Networking Certification coursesOn how to configure specific pieces of equipment“On the job” trainingAka “trial by fire”
19How Universities Teach Networking Undergraduates: how the Internet worksGraduates: read the 20 “best” papersFew general principles, little “hands-on” experience“There is a tendency in our field to believe that everything we currently use is a paragon of engineering, rather than a snapshot of our understanding at the time. We build great myths of spin about how what we have done is the only way to do it to the point that our universities now teach the flaws to students (and professors and textbook authors) who don't know better.” -- John DayNo need to be too apologetic here. This is a reflection of where we are as a field. The key point is not that we should feel bad about this, but rather than we should not be satisfied with the current state of our understanding.
20How Did We Get Here? Internet design came from a different era Single group of cooperative designersCohesive networkTrusted group of usersThe reality today is much differentIndependently operated networksBusiness realities (remember depeering)Untrusted parties, often with competing goals
21Difficult to deploy solutions that require fundamental change. The ImpasseDifficult to deploy solutions that require fundamental change.How many can be easily solved?How many of these problems require fundamental change?
22Why We Are at an Impasse Testing new architectures is challenging How to convince a network operator to “try something out”?…especially if the change requires universal deploymentDeploying new architectures is more challengingAnd things are getting worse, not betterWorse yet, we don’t even know what those new archiectures should be (or whether they are necessary)So, we tend to teach networking courses as though the protocols, architectures, etc. are fixed. The reality is different. The network is evolving.
23This Course: A New Approach Similar material, different organizationRather than studying “layer-by-layer”, we will look at different problems in networkingWe will study different approaches to the same problem and debate their meritsWill study this in the context of different types of networks
24Logistics Course Web page Course mailing list Check this page regularly for updates to the syllabus, assignments, readings, etc.Course mailing listRun through T-SquareQuestions to staff members (instructor, TA)
25Syllabus Overview Approximately two papers per lecture Read them before classPost thoughts to wikiIntroductionContent and ApplicationsTransit NetworksCellular & Mobile NetworksAccess Networks
26High-Level Course Structure Reading and analyzing research papersDifferent ways to approach management problemsSummaries, critiques, and comparisons of the papersLectures and DiscussionOverview of background materialDiscussion and debate about the research papers (old school vs. new school)Problem SetsLearning the platforms for evaluating your ideasClick/Emulab, OpenFlow/NOX, and measurementsFinal research projectNovel research with a system-building component
27Configuration Configuration defines the network’s behavior Problem Network configuration is low-level, vendor-specific, and error-proneNetwork configuration is a significant cause of downtimeSolutionsDesign tools that make the network easier to manageRefactor network design to make networks more manageable
28Traffic EngineeringNetwork operators must manage network capacity, performance, and costProblemsTraffic is dynamic (network conditions are, too)Determining the outcome of a configuration change is challengingSolutionsOffline tuning of configuration parametersOnline adaptation of configuration, paths, etc.
29TroubleshootingIdentifying the source of a problem is difficult enough…Let alone determining how to fix it!MonitorxyTargetsBetter example here? Why High? Google stuff?Combination of active and passive measurementsInference tools, data mining, etc.Open question: Can better architectures make troubleshooting easier?
30SecurityThe network is ripe for attackers who seek monetary gain, destruction, etc.ProblemsSpam is 95% of all traffic30,000+ phishing attacks every month…SolutionsAnalyze network traffic data and design better detectionRedesign the network to make these attacks more difficult to mount in the first place
31Maintenance and Planning Operators must maintain high availability in the face of failures and planned maintenanceProblemsNetwork failures can disrupt connectivityNetwork resources must be reprovisioned as demands increase, etc.SolutionsRouting protocols for “hitless” planned maintenanceBetter cost modelsArbor networks study
32Frequently Changing Configuration Commands Other “Hot Topics”Frequently Changing Configuration CommandsProgrammable HardwareConfiguration LanguagesHome Networking and Access Network Performance
33Class Components and Grading Problem sets and Labs (45%)Hands onFirst assignment will be out this weekTwo Quizzes (25%)October 20 and December 1Covering papers and lecture materialProject (30%)Research project idea of your choosingShould apply ideas from the classGroups of 3-5 peopleWill be adding project ideas to wiki soon
35LatenessLate policy: Maximum of 72 hours late throughout the term (use as you like).All problem sets and projects will be due at 11:59 p.m. on the due date.All problem sets and projects will be turned in on T-Square.
36Collaboration Policy See the Georgia Tech Honor Code Sign up in groups of five to work on problem sets and projects. Use the wiki to declare your groupsWorking together on assignments is encouraged, but you mustturn in your own assignmentswrite your own code, analysisacknowledge your collaborators
38You Spend a Lot of Time Reading Reading papers for grad classes (like this one!)Reviewing papers for conferences/journalsGiving colleagues feedback on their papersKeeping up with work related to your researchStaying broadly educated about the fieldTransitioning into a new research areaLearning how to write better papers So, it is worthwhile to learn to read effectively
39Why Read Research Papers? Read for a conference or a classKeep current in your own fieldGet “up to speed” in a new fieldLearn about a sub-field (e.g., wireless)Learn about another discipline that may offer solutions to a problem
40Step 1: Deciding What to Read Purpose: Learn about “hot topics” of current research in an area. (searching for problems, etc.)Approach: Scan papers in latest conference proceedingsPurpose: Get up to speed on sub-fieldApproach: Transitive closure of related work of papers in a top conferencePurpose: Learn about an area that is further afieldApproach: Ask expert colleagues
41Step 2: Deciding How to Read Always “top down”First: Abstract, introduction, conclusionRest of paper if necessaryIf you want to do follow-up researchIf you want to better understand the methods/conclusionsNext steps depend on specific purpose
42Reading the News Conference proceedings Top-Down Method Goal: Grasp main idea of a collection of a large number of papers. Keep informed about problems and recent solutionsTop-Down MethodSkim table of contents: Papers are clustered into “sessions” which typically identify the main areasConsider authorsPrioritize by (1) area of interest (2) reputable authors
43How to Conduct a Literature Survey Create the seedRecent paper from top conferenceSurvey paper, if one existsSeminal paper, if it is different from the abovePerform transitive closure of cited workRead related work sections of above papers
44Keeping NotesOne-sentence summaries are infinitely better than nothing at allPrimitive approach: Single file of notesBetter: Database with BibTeXThere are some existing tools for bibliography managementWill also help you more quickly construct related work sections for your papers
45Keshav’s Three-Pass Approach: Step 1 A ten-minute scan to get the general ideaTitle, abstract, and introductionSection and subsection titlesConclusionBibliographyWhat to learn: the five C’sCategory: What type of paper is it?Context: What body of work does it relate to?Correctness: Do the assumptions seem valid?Contributions: What are the main research contributions?Clarity: Is the paper well-written?Decide whether to read further…Keep this in mind when you write your papers, so the readers (and reviewers) decide to read further…
46Keshav’s Three-Pass Approach: Step 2 A more careful, one-hour readingRead with greater care, but ignore details like proofsFigures, diagrams, and illustrationsMark relevant references for later readingGrasp the content of the paperBe able to summarize the main thrust to othersIdentify whether you can (or should) fully understandDecide whether toAbandon reading the paper in any greater depthRead background material before proceeding furtherPersevere and continue on to the third pass
47Keshav’s Three-Pass Approach: Step 3 Several-hour virtual re-implementation of the workMaking the same assumptions, recreate the workIdentify the paper’s innovations and its failingsIdentify and challenge every assumptionThink how you would present the ideas yourselfJot down ideas for future workWhen should you read this carefully?Reviewing for a conference or journalGiving colleagues feedback on a paperUnderstanding a paper closely related to your researchDeeply understanding a classic paper in the field
48Other Tips for Reading Papers Read at the right level for what you need“Work smarter, not harder”Read at the right time of dayWhen you are fresh, not sleepyRead in the right placeWhere you are not distracted, and have enough timeRead activelyWith a purpose (what is your goal?)With a pen or computer to take notesRead criticallyThink, question, challenge, critique, …
49How to Read For This Class Read criticallyQuestions:Is the question important?Does this system make the right “division of labor”?Is the placement of function appropriate?Are there other disciplines that can be brought to bear on this problem?Does the system design (or approach) make sense?
50Next Three Classes: Crash Review The HostDiscovery: DNS, ARP, lookup, interconnection, naming and addressingResource sharing: TCPThe Data PlaneRouter internals: Scheduling, forwarding, packet classification, etc.Forwarding tables, lookup, etc.The Control PlaneSpanning tree protocols, routing protocols (intradomain, interdomain, etc.)