Presentation is loading. Please wait.

Presentation is loading. Please wait.

Course Overview and Introduction

Similar presentations


Presentation on theme: "Course Overview and Introduction"— Presentation transcript:

1 Course Overview and Introduction
Nick Feamster CS 6250: Computer Networking Fall 2011

2 Who Am I? Nick Feamster Office: Klaus 3348 Questions: Use Piazza Q&A
Associate Professor Research Area: Networking Operations and Security Office: Klaus 3348 Questions: Use Piazza Q&A Office Hours: Wednesdays 12-1 p.m. TAs: Srikanth Sundaresan, Surya Sivakumar

3 It’s an Exciting Time More people More global More “things”
Today: 1.9B users 2020: 5B users More global Africa, India: ~7% penetration More “things” More traffic 44 exabytes by 2012 Fewer wires Source: internet world stats Transit 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

4 It’s Also a Critical Time
As much as 95% of traffic is spam Spam moving to new domains such as Twitter About 50k new phishing attacks every month Nearly 60 countries censor Internet content

5 New 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.

6 Meanwhile…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.”

7 Why Has It Been So Difficult?
Network applications (and threats) evolve Developments call for changes to the network itself Testing new technologies is challenging Convince a network operator to “try something out”? What if the change requires universal deployment? Deploying new technologies is more challenging And things are getting worse, not better

8 Difficult to deploy solutions that require fundamental change.
How Did We Get Here? Internet design came from a different era Single group of cooperative designers Cohesive network Trusted group of users The reality today is much different Independently operated networks Business realities Untrusted parties with competing goals Difficult to deploy solutions that require fundamental change.

9 How 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 ball We have the plumbers and users. We need the architects.

10 Our 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

11 Instead: Could we change the network as easily as applications?
TCP/IP Header in Lego Format.

12 Home Networking & Access Networks
Problems Performance problems are difficult to debug Access ISPs discriminate, give poor performance Hard to manage, troubleshoot, secure Research Programmable gateways in homes Perform active and passive measurements Collect information about user behavior Remotely control, troubleshoot, and secure Project ongoing with FCC Home 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).

13 Anti-Censorship Problems Research Censorship in 23 countries worldwide
Even in the US! Existing techniques are not deniable Research Exploiting different media for cover traffic (e.g., user-generated content) Bootstrapping and incentives Designing better resistance to coercion Use of social networks Our tool, Collage, featured in New Scientist More 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).

14 Programmable Networking
Problems Networks are difficult to configure, manage, secure Detecting and preventing errors Predicting the outcome of a configuration Research Analysis of existing network configurations Design of high-level languages for configuring and programming networks Design and prototyping of new programmable network devices Frequently Changing Configuration Commands Networks 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).

15 Why Networking is Fun You can apply many different “tools”
Theoretical foundations Statistics, machine learning, signal processing, data mining, etc. You can build cool systems that people use Real, working systems that people want and need Solving real problems (network management, anti-censorship, fighting spam, etc.) You can measure and explore Measurement puts the “science” in computer science

16 Why Networking is (More) Fun
Young, relatively immature field Great if you like to make order out of chaos Tremendous intellectual progress is still needed Defining the problem is a big part of the challenge Recognizing a need, formulating a well-defined problem is at least as important as solving the problem. Lots of platforms for building your ideas Programmability: Click, OpenFlow/NOX, NetFPGA Routing software: Quagga, XORP, and Bird Testbeds: 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.

17 Meanwhile, back in the classroom…

18 How Practitioners Learn Networking
Certification courses On how to configure specific pieces of equipment “On the job” training Aka “trial by fire”

19 How Universities Teach Networking
Undergraduates: how the Internet works Graduates: read the 20 “best” papers Few 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 Day No 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.

20 How Did We Get Here? Internet design came from a different era
Single group of cooperative designers Cohesive network Trusted group of users The reality today is much different Independently operated networks Business realities (remember depeering) Untrusted parties, often with competing goals

21 Difficult to deploy solutions that require fundamental change.
The Impasse Difficult to deploy solutions that require fundamental change. How many can be easily solved? How many of these problems require fundamental change?

22 Why 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 deployment Deploying new architectures is more challenging And things are getting worse, not better Worse 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.

23 This Course: A New Approach
Similar material, different organization Rather than studying “layer-by-layer”, we will look at different problems in networking We will study different approaches to the same problem and debate their merits Will study this in the context of different types of networks

24 Logistics Course Web page Course mailing list
Check this page regularly for updates to the syllabus, assignments, readings, etc. Course mailing list Run through T-Square Questions to staff members (instructor, TA)

25 Syllabus Overview Approximately two papers per lecture
Read them before class Post thoughts to wiki Introduction Content and Applications Transit Networks Cellular & Mobile Networks Access Networks

26 High-Level Course Structure
Reading and analyzing research papers Different ways to approach management problems Summaries, critiques, and comparisons of the papers Lectures and Discussion Overview of background material Discussion and debate about the research papers (old school vs. new school) Problem Sets Learning the platforms for evaluating your ideas Click/Emulab, OpenFlow/NOX, and measurements Final research project Novel research with a system-building component

27 Configuration Configuration defines the network’s behavior Problem
Network configuration is low-level, vendor-specific, and error-prone Network configuration is a significant cause of downtime Solutions Design tools that make the network easier to manage Refactor network design to make networks more manageable

28 Traffic Engineering Network operators must manage network capacity, performance, and cost Problems Traffic is dynamic (network conditions are, too) Determining the outcome of a configuration change is challenging Solutions Offline tuning of configuration parameters Online adaptation of configuration, paths, etc.

29 Troubleshooting Identifying the source of a problem is difficult enough… Let alone determining how to fix it! Monitor x y Targets Better example here? Why High? Google stuff? Combination of active and passive measurements Inference tools, data mining, etc. Open question: Can better architectures make troubleshooting easier?

30 Security The network is ripe for attackers who seek monetary gain, destruction, etc. Problems Spam is 95% of all traffic 30,000+ phishing attacks every month Solutions Analyze network traffic data and design better detection Redesign the network to make these attacks more difficult to mount in the first place

31 Maintenance and Planning
Operators must maintain high availability in the face of failures and planned maintenance Problems Network failures can disrupt connectivity Network resources must be reprovisioned as demands increase, etc. Solutions Routing protocols for “hitless” planned maintenance Better cost models Arbor networks study

32 Frequently Changing Configuration Commands
Other “Hot Topics” Frequently Changing Configuration Commands Programmable Hardware Configuration Languages Home Networking and Access Network Performance

33 Class Components and Grading
Problem sets and Labs (45%) Hands on First assignment will be out this week Two Quizzes (25%) October 20 and December 1 Covering papers and lecture material Project (30%) Research project idea of your choosing Should apply ideas from the class Groups of 3-5 people Will be adding project ideas to wiki soon

34 More Logistics…

35 Lateness Late 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.

36 Collaboration 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 groups Working together on assignments is encouraged, but you must turn in your own assignments write your own code, analysis acknowledge your collaborators

37 How to Read

38 You Spend a Lot of Time Reading
Reading papers for grad classes (like this one!) Reviewing papers for conferences/journals Giving colleagues feedback on their papers Keeping up with work related to your research Staying broadly educated about the field Transitioning into a new research area Learning how to write better papers  So, it is worthwhile to learn to read effectively

39 Why Read Research Papers?
Read for a conference or a class Keep current in your own field Get “up to speed” in a new field Learn about a sub-field (e.g., wireless) Learn about another discipline that may offer solutions to a problem

40 Step 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 proceedings Purpose: Get up to speed on sub-field Approach: Transitive closure of related work of papers in a top conference Purpose: Learn about an area that is further afield Approach: Ask expert colleagues

41 Step 2: Deciding How to Read
Always “top down” First: Abstract, introduction, conclusion Rest of paper if necessary If you want to do follow-up research If you want to better understand the methods/conclusions Next steps depend on specific purpose

42 Reading 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 solutions Top-Down Method Skim table of contents: Papers are clustered into “sessions” which typically identify the main areas Consider authors Prioritize by (1) area of interest (2) reputable authors

43 How to Conduct a Literature Survey
Create the seed Recent paper from top conference Survey paper, if one exists Seminal paper, if it is different from the above Perform transitive closure of cited work Read related work sections of above papers

44 Keeping Notes One-sentence summaries are infinitely better than nothing at all Primitive approach: Single file of notes Better: Database with BibTeX There are some existing tools for bibliography management Will also help you more quickly construct related work sections for your papers

45 Keshav’s Three-Pass Approach: Step 1
A ten-minute scan to get the general idea Title, abstract, and introduction Section and subsection titles Conclusion Bibliography What to learn: the five C’s Category: 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… 

46 Keshav’s Three-Pass Approach: Step 2
A more careful, one-hour reading Read with greater care, but ignore details like proofs Figures, diagrams, and illustrations Mark relevant references for later reading Grasp the content of the paper Be able to summarize the main thrust to others Identify whether you can (or should) fully understand Decide whether to Abandon reading the paper in any greater depth Read background material before proceeding further Persevere and continue on to the third pass

47 Keshav’s Three-Pass Approach: Step 3
Several-hour virtual re-implementation of the work Making the same assumptions, recreate the work Identify the paper’s innovations and its failings Identify and challenge every assumption Think how you would present the ideas yourself Jot down ideas for future work When should you read this carefully? Reviewing for a conference or journal Giving colleagues feedback on a paper Understanding a paper closely related to your research Deeply understanding a classic paper in the field

48 Other Tips for Reading Papers
Read at the right level for what you need “Work smarter, not harder” Read at the right time of day When you are fresh, not sleepy Read in the right place Where you are not distracted, and have enough time Read actively With a purpose (what is your goal?) With a pen or computer to take notes Read critically Think, question, challenge, critique, …

49 How to Read For This Class
Read critically Questions: 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?

50 Next Three Classes: Crash Review
The Host Discovery: DNS, ARP, lookup, interconnection, naming and addressing Resource sharing: TCP The Data Plane Router internals: Scheduling, forwarding, packet classification, etc. Forwarding tables, lookup, etc. The Control Plane Spanning tree protocols, routing protocols (intradomain, interdomain, etc.)


Download ppt "Course Overview and Introduction"

Similar presentations


Ads by Google