Transcript ppt - NOISE
Course Overview and
Introduction
Nick Feamster
CS 6250: Computer Networking
Fall 2011
Who Am I?
• Nick Feamster
– 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
2
It’s an Exciting Time
• More people
– Today: 1.9B users
– 2020: 5B users
• More global
– Africa, India: ~7%
penetration
Source: internet world stats
• More “things”
• More traffic
– 44 exabytes by 2012
• Fewer wires
3
It’s Also a Critical Time
• As much as 95% of email traffic is spam
– Spam moving to new domains such as Twitter
• About 50k new phishing attacks every month
• Nearly 60 countries censor Internet content
4
New Technology and Innovation
4.5 Billion GSM. WCDMA subscriptions
(source: gsacom)
…but, much of this innovation is actually coming from industry.
5
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.”
6
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
7
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.
8
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)
We have the plumbers and users.
We need the architects.
9
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
10
Instead: Could we change the
network as easily as applications?
TCP/IP Header in Lego Format.
11
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
Anti-Censorship
• Problems
– 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
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
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, anticensorship, fighting spam, etc.)
• You can measure and explore
– Measurement puts the “science” in computer science
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, …
Meanwhile, back in the
classroom…
17
How Practitioners Learn Networking
• Certification courses
– On how to configure specific pieces of equipment
• “On the job” training
– Aka “trial by fire”
18
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
19
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
20
The Impasse
Difficult to deploy solutions that require
fundamental change.
• How many can be easily solved?
• How many of these problems require
fundamental change?
21
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.
22
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
23
Logistics
• Course Web page
– http://www.gtnoise.net/classes/cs6250/fall_2011/
– Check this page regularly for updates to the syllabus,
assignments, readings, etc.
• Course mailing list
– Run through T-Square
– [email protected]
• Questions to staff members (instructor, TA)
– http://www.piazza.com/gatech/cs6250
24
Syllabus Overview
Introduction
• Approximately two papers
per lecture
• Read them before class
• Post thoughts to wiki
Content and Applications
Transit Networks
Cellular & Mobile Networks
Access Networks
25
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
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
27
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.
28
Troubleshooting
• Identifying the source
of a problem is
difficult enough…
• Let alone determining
how to fix it!
Monitor
Targets
y
x
• Combination of active and passive measurements
• Inference tools, data mining, etc.
• Open question: Can better architectures make
troubleshooting easier?
29
Security
• The network is ripe for
attackers who seek
monetary gain,
destruction, etc.
• Problems
– Spam is 95% of all email 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
30
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
31
Other “Hot Topics”
• Programmable
Hardware
Frequently Changing
Configuration Commands
• Configuration
Languages
• Home Networking
and Access Network
Performance
32
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
33
More Logistics…
34
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.
35
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
36
How to Read
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
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
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
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
Reading the News
• Conference proceedings
– 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
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
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
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…
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
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
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, …
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?
49
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.)
50