Course Overview and Introduction

Slides:



Advertisements
Similar presentations
Requirements Engineering Processes – 2
Advertisements

1 OpenFlow + : Extension for OpenFlow and its Implementation Hongyu Hu, Jun Bi, Tao Feng, You Wang, Pingping Lin Tsinghua University
Research Summary Nick Feamster. The Big Picture Improving Internet availability by making networks easier to operate Three approaches –From the ground.
Course Overview and Introduction CS 3251: Computer Networking I Nick Feamster Spring 2013.
Nick Feamster Research: Network security and operations –Helping network operators run the network better –Helping users help themselves Lab meetings:
Nick Feamster Research: Network security and operations Teaching CS 7260 in Spring 2007 CS 7001 Mini-projects: –
Nick Feamster Research: Network security and operations –Helping network operators run the network better –Helping users help themselves Lab meetings:
Nick Feamster Research: Network security and operations –Helping network operators run the network better –Helping users help themselves Lab meetings:
1 Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
Network Operations Research Nick Feamster
Network Security Highlights Nick Feamster Georgia Tech.
Academic vs. Industrial Research Jobs
How To Recognize a Great Idea Nick Feamster and Alex Gray College of Computing Georgia Institute of Technology.
© Nick Feamster and Alex Gray Reading and Reviewing Papers Nick Feamster and Alex Gray College of Computing Georgia Institute of Technology.
ELECTRONIC DATA COLLECTION SYSTEM Howard Hamilton.
Critical Reading Strategies: Overview of Research Process
By Rick Clements Software Testing 101 By Rick Clements
Introduction to Algorithms 6.046J/18.401J
Using outcomes data for program improvement Kathy Hebbeler and Cornelia Taylor Early Childhood Outcome Center, SRI International.
Protocol layers and Wireshark Rahul Hiran TDTS11:Computer Networks and Internet Protocols 1 Note: T he slides are adapted and modified based on slides.
2010 Labs & Tools for ITE 1 Gratitude Kudyachete, Manager - SSA CATC Lab Tools for IT E 4.1.
Time Management F OR A S MALL B USINESS. TIMEMANAGEMENT 2 Welcome 1. Agenda 2. Ground Rules 3. Introductions.
Chapter 1: Introduction to Scaling Networks
SW381: Web Applications Development Prerequisite: SW211 (Introduction to Software Engineering) Instructor: Dr. Mohammad Anwar Hossain Office: Room 2058.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 2 The OSI Model and the TCP/IP.
CMPT 275 Software Engineering
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.1 Module 10 Routing Fundamentals and Subnets.
DECIDE WHAT'S IMPORTANT Strategy ~ 2.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.1 Module 9 TCP/IP Protocol Suite and IP Addressing.
RefWorks: The Basics October 12, What is RefWorks? A personal bibliographic software manager –Manages citations –Creates bibliogaphies Accessible.
Introduction to ikhlas ikhlas is an affordable and effective Online Accounting Solution that is currently available in Brunei.
Welcome to the seminar course
But nobody told me this! Planning for success Mario Borunda and Girish Chowdhary (The advise I whish I had been told)
Literature Survey, Literature Comprehension, & Literature Review.
SENG 531: Labs TA: Brad Cossette Office Hours: Monday, Wednesday.
CSCD 433/533 Advanced Computer Networks Lecture 1 Course Overview Fall 2011.
1 GENI: Global Environment for Network Innovations Jennifer Rexford Princeton University
W4140 Network Laboratory Lecture 13 Dec 11 - Fall 2006 Shlomo Hershkop Columbia University.
1 GENI: Global Environment for Network Innovations Jennifer Rexford On behalf of Allison Mankin (NSF)
CSCD 555 Research Methods for Computer Science
Welcome to CS 450 Internet Security: A Measurement-based Approach.
Welcome to CS 395/495 Measurement and Analysis of Online Social Networks.
Welcome to CS 395/495 Internet Architectures. What is this class about? (1) Goal: to help you understand what the future Internet will look like –What.
Advanced Research Methodology
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
How to do Quality Research for Your Research Paper
CSCD 330 Network Programming Fall/Winter/Spring 2014 Lecture 1 - Course Details.
Dana Nau: CMSC 722, AI Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Science Fair How To Get Started… (
How to Read Research Papers? Xiao Qin Department of Computer Science and Software Engineering Auburn University
Computer Science, FSU1 CNT5505 DATA/COMUTER COMMUNICATIONS FALL 2008 Time: 3:35AM-4:50AM, MW Location: Love 103 Fall 2008, 3 credits.
CSCD 330 Network Programming Winter 2015 Lecture 1 - Course Details.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Computer Science, FSU1 CNT5505 DATA/COMUTER COMMUNICATIONS Fall 2010.
Computer Networks CNT5106C
Welcome to EECS 395/495 Online Advertising: A Systems Approach.
CSCD 433/533 Advanced Computer Networks Lecture 1 Course Overview Spring 2016.
CSE 704 Data Center Computing Intro
How to Read a Paper.
CNT 4704 Computer Communication Networking (not “analysis”)
E 96 Introduction to Engineering Design Peter Reiher UCLA
CPSC 441: Computer Communications
CSCD 330 Network Programming Spring
Experimental Psychology PSY 433
CSCD 330 Network Programming Spring
V. Arun College of Information and Computer Sciences
Tonga Institute of Higher Education IT 141: Information Systems
CSCD 330 Network Programming Spring
Tonga Institute of Higher Education IT 141: Information Systems
Presentation transcript:

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

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

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 2003. 81 m indians use the internet (7%), but 500m own mobile phones/SIM cards

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

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.

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.”

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

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.

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.

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

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

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).

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).

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).

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

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.

Meanwhile, back in the classroom…

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

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.

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

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?

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.

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

Logistics Course Web page Course mailing list 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 cs6250@t-square.gatech.edu Questions to staff members (instructor, TA) http://www.piazza.com/gatech/cs6250

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

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

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.

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?

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

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

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

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

More Logistics…

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.

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

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

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… Keep this in mind when you write your papers, so the readers (and reviewers) decide 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?

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.)