32
The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University http://www.cs.princeton.edu/~jrex

The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Embed Size (px)

Citation preview

Page 1: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

The Networking Philosopher’s Problem

Jennifer Rexford

Computer Science Department

Princeton University

http://www.cs.princeton.edu/~jrex

Page 2: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

The Internet: An Exciting Time

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

• Ever wider reach–Today: 1.7 billion users–Tomorrow: more users, computers, sensors

• Near-constant innovation–Apps: Web, P2P, social networks, virtual worlds–Links: optics, WiFi, cellular, WiMax, …

2

Page 3: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

So, why every two years, when I teach graduate networking,

I have all sorts of angst...

3

Page 4: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

What is Networking?

4

Page 5: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

A Plethora of Protocol Acronyms?

5

BGP

ARPHTTP

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

Page 6: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

A Heap of Header Formats?

6

Page 7: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

TCP/IP Header Formats in Lego

7

Page 8: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

A Big Bunch of Boxes?

8

Router Switch

FirewallNAT

Loadbalancer

DHCPserver

DNSserver

Bridge

Hub

Repeater

Basestation

ProxyWANaccelerator

GatewayIntrusionDetectionSystem

Packetshaper

RouteReflector

LabelSwitched

Router Scrubber

Packetsniffer

DeepPacket

Inspection

Page 9: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

A Ton of Tools?

9

traceroutenslookup

ping

ipconfig

rancid

whois

tcpdump

wiresharkNDT

iperf

dummynet

syslog

tratsnort

bro

arpwatch

mrtg

nmap

ntop

dig

wget

net-snmp

Page 10: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

What Do Peers in Other Fields Say?

• “You networking people are very curious.  You really love your artifacts.”

• “In my college networking class I fell asleep at the start of the semester when the IP header was on the screen, and woke up at the end of the semester with the TCP header on the screen.”

• “Networking is all details and no principles.”

10Is networking “just the (arti)facts”?

Page 11: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

An Application Domain?

11

Page 12: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

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 12

Page 13: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Application Domain for Systems?

• Distributed systems

• Operating systems

• Computer architecture

• Software engineering

• …

13

Page 14: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

An Exercise in Entrepreneurship?

• Identify a need or desirable capability– Whether previously known or not

• Invent a new feature or system that provides it

• Determine how it fits in the existing network

• Build and/or evaluate your solution

• Pitch or $ell the problem and solution to others– Whether to investors or a program committee

• Bask in glory, or lick your wounds

14

Page 15: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

What Peers in Other Fields Say?

• “Networking papers are strange.  They have a lot of text.”

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

15Is networking a problem domain or a scholarly discipline?

Page 16: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

What Do We Teach Networking Students?

16

Page 17: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

How Practitioners Learn Networking

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

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

17

Page 18: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

How Colleges Teach Networking

• Undergraduates: how the Internet works

• Graduates: read the 20 “best” papers

• Few general principles, little “hands-on” experience

• (I’m as guilty as anyone) 18

“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 19: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Now That I’ve Bummed You Out…

Or, Why Should You Stay in This Field?

19

Page 20: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

So, Why is Networking Cool?

• Tangible, relates to reality– Can measure/build things (we do “love our artifacts”)– Can truly effect far-reaching change in the real world

• Inherently interdisciplinary – Well-motivated problems + rigorous solution techniques– Interplay with policy, economics, and social science

• 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)– So, somebody is interested in reading this stuff… 20

Page 21: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

So, Why is Networking Cool? (Cont)

• Young, relatively immature field– Great if you like to make order out of chaos– 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, … 21

Page 22: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

But, That Doesn’t Say What Networking Really Is

22

Page 23: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Maybe networking is defined more by the questions we ask,

than the techniques we use

23

Page 24: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Decomposition of Function

• How to – Design and operate components and protocols – That can be used and combined in many ways – To do many things

• 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

• How do we know if we got it right?– Soul searching? A proof or analysis? A prototype?

24

Page 25: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

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

25

network

UDP TCP

Data Link

Physical

Applications

Page 26: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

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

26

3 2 1

d

“d: path (2,1)” “d: path (1)”

data traffic data traffic

Page 27: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Beyond Today’s Division of Labor

27

Page 28: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Between Hosts and the Network

• Networked 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– Early vs. late binding– Server and network

load balancing– End-host network stack

and socket API

. . . .

clients

servers

data centers

Internet

Page 29: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Between Network and Management

• Smart management, dumb network

• Dumb management, smart network– Network elements talk

amongst themselves– Adapting automatically

measure control

Page 30: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Between Administrative Domains

Can we have all three? Under what conditions?

Evolvable Protocols(under-specified, programmable)

Autonomy(autonomous parties, with

different economic objectives)

Global Properties (stability, scalability, reliability,

security, managability, …)

?

Page 31: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Conclusion

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

• But the field is immature– More of a “domain” than a “discipline”– Still searching for its intellectual center

• Please help!– Master a discipline and apply it to networking– Define what the networking “discipline” really is

31

Page 32: The Networking Philosopher’s Problem Jennifer Rexford Computer Science Department Princeton University jrex

Random Advice on Being an Effective Graduate Student

http://www.freedom-to-tinker.com/blog/jrex/advice-new-graduate-students

32