39
With thanks to Nick Mckeown, Jennifer Rexford Sachin Katti CS244 Spring 2014 Lecture 1 Introduction

Lecture_1_2014

Embed Size (px)

DESCRIPTION

jk

Citation preview

Page 1: Lecture_1_2014

With thanks to Nick Mckeown, Jennifer Rexford

Sachin Katti

CS244 Spring 2014

Lecture 1

Introduction

Page 2: Lecture_1_2014

The Internet: An Exciting Time

One of the most influential inventions– A research experiment that escaped from the lab– … to be a (the?) global communications infrastructure

Ever wider reach– Today: 2 billion users– Tomorrow: more users, computers, sensors, content

Constant innovation– Apps: Web, P2P, social networks, virtual worlds– Links: optics, WiFi, cellular, ...

2

Page 3: Lecture_1_2014

Transforming EverythingThe ways we do business

– E-commerce, advertising, cloud computing, ...

The way we have relationships– E-mail, IM, Facebook friends, virtual worlds

How we think about law– Interstate commerce? National boundaries? Wikileaks?

The way we govern– E-voting and E-government– Censorship and wiretapping

The way we fight– Cyber-attacks, including nation-state attacks

3

Page 4: Lecture_1_2014

But what is networking?

Page 5: Lecture_1_2014

A Plethora of Protocol Acronyms?

BGPARP

HTTP

DNS

PPP

OSPF

DHCP

TCP

UDP

SMTP

FTP

SSH

MAC

IPRIP

NAT

CIDR

VLAN VTP

NNTP

POP

IMAP

REDECN

SACK

SNMP

TFTP

TLS

WAPSIP IPX

STUN

RTP

RTSP

RTCP

PIM

IGMPICMP

MPLS

LDP

HIP

LISP

LLDP

BFD

5

Page 6: Lecture_1_2014

A Heap of Header Formats?

6

Page 7: Lecture_1_2014

TCP/IP Header Formats in Lego

7

Page 8: Lecture_1_2014

A Big Bunch of Boxes?

Router Switch

FirewallNAT

Loadbalancer

DHCPserver

DNSserver

Bridge

Hub

Repeater

Basestation

ProxyWANaccelerator

GatewayIntrusionDetectionSystem

Packetshaper

RouteReflector

LabelSwitchedRouter Scrubber

Packetsniffer

DeepPacketInspection

8

Page 9: Lecture_1_2014

An Application Domain?

Page 10: Lecture_1_2014

Application Domain for Theory?• Algorithms and data structures

• Control theory

• Queuing theory

• Optimization theory

• Game theory and mechanism design

• Formal methods

• Information theory

• Cryptography

• Programming languages

• Graph theory

Page 11: Lecture_1_2014

Application Domain for Systems?

• Distributed systems• Operating systems• Computer architecture• Software engineering• …

Page 12: Lecture_1_2014

What Peers in Other Fields Say“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 papers are strange.  They have a lot of text.”

Is networking a problem domain or a scholarly discipline?

Page 13: Lecture_1_2014

“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 (Internet pioneer)

Page 14: Lecture_1_2014

Before you all leave …

Page 15: Lecture_1_2014

So, Why is Networking Cool?Relevant

– Can measure/build things– Can impact the real world

Interdisciplinary – Well-motivated problems + rigorous solution

techniques– Interplay with policy and economics

Widely-read papers– Many of the most cited papers in CS are in networking– Congestion control, distributed hash tables, resource

reservation, self-similar traffic, multimedia protocols,…– Three of top-ten CS authors (Shenker, Jacobson, Floyd)

Page 16: Lecture_1_2014

So, Why is Networking Cool?Young, relatively immature field

– Tremendous intellectual progress is still needed– You can help decide what networking really is

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

Class Content

• Four main sub-topics– Architecture

• Why was the Internet designed the way it is and what are the implications?

– Design & management• The underlying plumbing and research issues

– Specialized networks (wireless & datacenters)• Special network architectures to accommodate link

technology constraints or workload constraints

– Applications (P2P, CDN, OTT)• Things built on top of the network

17

Page 18: Lecture_1_2014

Architectural questions tended to dominate CS

networking research

Page 19: Lecture_1_2014

Decomposition of Function

Definition and placement of function– What to do, and where to do it

The “division of labor”– Between the host, network, and management

systems– Across multiple concurrent protocols and

mechanisms

19

Page 20: Lecture_1_2014

Today’s Divisions of Labor

End host and the network– Packet switching– Best-effort delivery– Fixed end-points with

IP addresses

Protocol layers– IP as the center of the universe– IP above the link layer– IP below transport and application

network

UDP TCP

Data Link

Physical

Applications

Page 21: Lecture_1_2014

Today’s Divisions of Labor

Network elements– Data plane: packets– Control plane: events– Management: policies

Administrative domains– Autonomous Systems– Destination IP prefixes– Policy-based path-vector routing

Page 22: Lecture_1_2014

Beyond Today’s Division of Labor

Page 23: Lecture_1_2014

Between Hosts and the NetworkNetworked services hosted in data centers

– Web sites, social networks, video streaming, online gaming, virtual worlds, ...

– Replicated on servers in multiple data centers

– Churn from mobile users, migrating VMs, failures, …

Time to rethink– Naming and addressing

– Server and networkload balancing

– Energy usage

– End-host network stackand socket API

. . . .

clients

servers

data centers

Internet

Page 24: Lecture_1_2014

Between Network and Management

Smart management, dumb network

Dumb management, smart network– Network elements talk

amongst themselves– Adapting automatically

measure control

Page 25: Lecture_1_2014

Conclusion

Networking is cool– Real, important problems– Opportunities for impact– Inherently interdisciplinary

But the field is immature– More of a “domain” than a “discipline”

Page 26: Lecture_1_2014

About this class

Page 27: Lecture_1_2014

Goals

1. To become familiar with the field of networking research: Network architecture, protocols and systems.

2. To get some practice in the art of reading research papers.

It’s a big field, so we will focus on just a few topics.

Page 28: Lecture_1_2014

Basics

Lecture– Each class we will discuss 1-2 papers– You must read the papers before class– Papers should be read in depth – Most of the lecture will be spent on discussion– 30% of your grade comes from critiques, and in-class

participation

So….read the papers, come to class, and be ready to participate

Page 29: Lecture_1_2014

Grade

Lectures and papers 30%– In-class Participation: 15%– Critiques before class: 15%

Programming assignments 40%– PA #1: 10% Exploration of buffer bloat– PA #2: 10% Buffer sizing– PA #3: 20% A project that you choose.

Exams 30%– Midterm: 15% (in-class, May 5)

– Final: 15% (in class, June 4).

Page 30: Lecture_1_2014

In-class participation

Come prepared to discuss the main ideas

We will all learn from each other

Attendance is a necessary but not sufficient condition for “participation”

Let’s have no laptops in class

Page 31: Lecture_1_2014

CritiquesWhat to submit?

– Short critique for each paper before the class (by midnight the night before the lecture)

– Submit online (see class webpage)

Questions to answer while writing your critique:– What problem are the authors solving?

– Is the problem relevant?

– What is their solution? (Main idea)

– How does it differ from previous work?

– Are there major flaws in the work?

– Will the paper matter in 10 years?

31

Page 32: Lecture_1_2014

Programming AssignmentsThree programming assignments

PA #1- Assigned today. START NOW!!!- Due 4/14 at 5pm

PA #2 - Assigned 4/14- Due 4/28 at 5pm

PA #3- Assigned 4/28- Proposal due 5/5 at 5pm.- Intermediate report due 5/19 at 5pm.- Final Report due 6/2 at 5pm.

32

Page 33: Lecture_1_2014

LogisticsWho will lead the discussions

– Sachin Katti ([email protected])– Office Hours: Wed 5:30-6:30pm, Gates 342

TAs– Kanthi Nagaraj ([email protected])

– Office Hours: Mondays 4:30 – 5:30 in Gates B24A

– Milad Sharif ([email protected])– Office Hours: Thursdays 2:00-3:00PM in Gates B24A.

Course Admin– Chris Hartung ([email protected])

33

Page 34: Lecture_1_2014

Contact

Whenever possible: Piazzza– Quickest response– Someone else probably has same question– Please don’t send to class list

If private: [email protected]

All extension requests must go to Sachin

Page 35: Lecture_1_2014

Hints on reading a paperKeshav: “How to Read a paper”, CCR 2007

Three stage approach1. Read quickly in 5-10minutes

2. Read with greater care; ignore proofs

3. Deconstruct paper; question all assumptions

Page 36: Lecture_1_2014

Stage 1: 5-10 minute read

Read title, abstract, introduction, section headings, conclusion, reference list.

Look for “5 C’s”1. Category: What type of paper is it?

2. Context: Where does it fit in?

3. Correctness: Do assumptions make sense?

4. Contributions: What are the main ones?

5. Clarity: Is it well-written?

Page 37: Lecture_1_2014

Stage 2: Read with care

• Spend an hour re-reading paper in detail• Try to understand the “story”• Summarize the main thrust• Identify main supporting evidence

Page 38: Lecture_1_2014

Stage 3: Deconstruct the paper

• This can take one or more hours• Understand every proof• Question every assumption• Identify missing references• Why was the paper written this way?• What was the author trying to say?• How else could the paper have been

written?

Page 39: Lecture_1_2014

First papers: For Wednesday

Read thoroughly, submit critiques1. The Design Philosophy of the DARPA Internet

Protocols - Clark, 1988

Optional (fun)1. A Brief History of the Internet - Leiner et al.,

20032. On Distributed Communication Networks –

Paul Baran, 1963