+ All Categories
Home > Documents > Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Date post: 27-Mar-2015
Category:
Upload: sierra-keith
View: 227 times
Download: 0 times
Share this document with a friend
Popular Tags:
50
Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011
Transcript
Page 1: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

Course Overview and Introduction

Nick FeamsterCS 6250: Computer Networking

Fall 2011

Page 2: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

2

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

Page 3: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

It’s an Exciting Time

• More people– Today: 1.9B users– 2020: 5B users

• More global– Africa, India: ~7%

penetration

• More “things”• More traffic

– 44 exabytes by 2012

• Fewer wires

3

Source: internet world stats

Page 4: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 5: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

New Technology and Innovation

5…but, much of this innovation is actually coming from industry.…but, much of this innovation is actually coming from industry.

4.5 Billion GSM. WCDMA subscriptions (source: gsacom)

4.5 Billion GSM. WCDMA subscriptions (source: gsacom)

Page 6: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 7: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 8: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

8

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.

Page 9: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 10: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

Our Current Thinking: Network as Artifact

10

“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

Page 11: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

Instead: Could we change the network as easily as applications?

11

TCP/IP Header in Lego Format.TCP/IP Header in Lego Format.

Page 12: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 13: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

Our tool, Collage, featured in New Scientist

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

Page 14: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Frequently Changing Configuration Commands

Page 15: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 16: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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, …

Page 17: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

17

Meanwhile, back in the classroom…

Page 18: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

18

How Practitioners Learn Networking

• Certification courses– On how to configure specific pieces of equipment

• “On the job” training– Aka “trial by fire”

Page 19: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 20: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 21: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

21

The Impasse

• How many can be easily solved?

• How many of these problems require fundamental change?

Difficult to deploy solutions that require fundamental change.

Page 22: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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.

Page 23: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 24: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

24

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

Page 25: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

Syllabus Overview

25

Introduction

Transit Networks

Access Networks

Content and Applications

Cellular & Mobile Networks

• Approximately two papers per lecture

• Read them before class• Post thoughts to wiki

Page 26: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 27: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 28: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 29: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

Troubleshooting

• Identifying the source of a problem is difficult enough…

• Let alone determining how to fix it!

29

Monitor

x

y

Targets

• Combination of active and passive measurements• Inference tools, data mining, etc.• Open question: Can better architectures make

troubleshooting easier?

Page 30: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 31: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 32: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

Other “Hot Topics”

• Programmable Hardware

• Configuration Languages

• Home Networking and Access Network Performance

32

Frequently Changing Configuration Commands

Frequently Changing Configuration Commands

Page 33: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 34: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

More Logistics…

34

Page 35: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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.

Page 36: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 37: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

How to Read

Page 38: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 39: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 40: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 41: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 42: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 43: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 44: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 45: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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…

Page 46: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 47: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 48: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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, …

Page 49: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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

Page 50: Course Overview and Introduction Nick Feamster CS 6250: Computer Networking Fall 2011.

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


Recommended