if a clean slat e is the solution what wa s the...

28
If a Clean Slate is the solution what was the problem? Van Jacobson Stanford Clean SlateSeminar February 27, 2006

Upload: others

Post on 28-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

If a Clean Slate is the solutionwhat was the problem?

Van Jacobson

Stanford ‘Clean Slate’ SeminarFebruary 27, 2006

Page 2: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

A Brief History of Networking

• Generation 1: the phone system - focus on the wires.

• Generation 2: the Internet - focus on the machines connected to the wires.

• Generation 3? dissemination - focus on the data flowing between the machines connected to the wires.

2

Page 3: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

• The utility of the system depends on running a pair of wires to every home & office.

• Those pairs are the dominant cost.

• Revenue comes from dynamically constructing a path from caller to callee.

3

The Phone System is not about phones, it’s about connecting wires to other wires

Page 4: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

• For a telco, a ca! is not the conversation you have with your mom in Phoenix, it’s a path between two end-office line cards.

• A phone number is not the ‘name’ of your mom’s phone, it’s a program for the end-office switch fabric to build a path to the destination line card.

4

Page 5: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Switchboard coordinate(AT&T Operators, 1959)

Sequential switch sequencing(Strowger stepper)

Some ways to build paths

5

Page 6: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Structural problems with phone system

• Path building is non-local and encourages centralization / monopoly.

• A call fails if any element in path fails so reliability goes down exponentially as system scales up.

• Data can’t flow until path is set up so efficiency decreases when setup time or bandwidth increase or holding time decreases.

6

Page 7: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

The next step: packet switching

• Change point of view to focus on endpoints rather than paths.

• Data sent in independent chunks and each chunk contains the name of the final destination.

• If arriving chunk is for a different destination, node tries to forward it (using static configuration and/or distributed routing computation).

7

Paul Baran, 1964

Don Davies, 1963

Page 8: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Packet switching used the existing wires,it just used them differently

8

In 1964 these ideas were ‘lunatic fringe’ — anyone who knew anything about communicationsknew this could never work.

Page 9: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

The ARPAnetSeptember, 1971

9

SRIAmes

Stanford

UCLA

UCSB

RAND

SDC

Utah

ILLINOISCMU

Case

LincolnMIT

BBN

BBN

Harvard

Burroughs

Mitre

T

T

T

Page 10: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

The ARPAnet was built on top of the existing phone system.

‣ It needed cheap, ubiquitous wires.

‣ It needed a digital signaling technology (but not anything like the state of the art).

➡At the outset, the new network just looked like an inefficient way to use the old network.

➡The research community was putting enormous effort into the details of circuit switched data. In the end it didn’t matter.

10

Page 11: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

11

Page 12: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

The CATENET and TCP/IP

• Packet switching worked so well that by 1973 everyone was building a network.

• Each was done as a clean slate so they didn’t interoperate.

• Since Paul had already abstracted out all the topological details Vint realized that a common encapsulation & addressing structure was all that was needed to glue together arbitrary networks.

12Vint Cerf, 1973

Bob Kahn, 1973

Page 13: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Multinetwork Demonstration 1977

13

Page 14: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

TCP/IP advantages• Adaptive routing lets system repair failures and

hook itself up initially.

• Reliability increases exponentially with system size.

• No call setup means high efficiency at any bandwidth, holding time or scale.

• Distributed routing supports any topology and tends to spread load and avoid a hierarchy’s hot spots.

14

Page 15: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

TCP/IP issues• “Connected” is a binary attribute: you’re either

part of the internet and can talk to everything or you’re isolated.

• Becoming part of the internet requires a globally unique, globally known IP address that’s topologically stable on routing time scales (minutes to hours).

‣ connecting is a heavy weight operation

‣ the net doesn’t like things that move

15

Page 16: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Like the phone system before it, TCP/IP solved the problems it set out to solve so well that even today it’s hard to conceive of an alternative.

TCP/IP’s issues don’t reflect an architectural failing but rather its massive success in creating a world rich in information & communication.

When TCP/IP was invented there were few machines and many users per machine. Today there are many machines and many machines per user, all with vast amounts of data to be synchronized & shared.

And that creates an entirely new class of problem . . .

16

Page 17: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

• The raison d’être of today’s networking, both circuit switched and TCP/IP, is to allow two entities to have a conversation.

• The overwhelming use (>99% according to most measurements) of today’s networks is for an entity to acquire or distribute named chunks of data (like web pages or email messages).

Acquiring named chunks of data is not a conversation, it’s a dissemination (the computer equivalent of “Does anybody have the time?”)

17

Page 18: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

In a dissemination (e.g., getting a web page) the data matters but not who gives it to you.

It’s possible to disseminate via conversation and accomplish the user’s goal as a side effect but:

‣ Security is an afterthought. Channels are secured, not data, so there’s no way to know if what you got is complete, consistent or even what you asked for.

‣ It’s inefficient (hotspots, poor reliability, poor utilization).

‣ Users have to do the translation between their goal & its realization and manually set up the plumbing to make things happen.

18

Page 19: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

• Data is requested, by name, using any and all means available (normal IP, VPN tunnels, local zeroconf addresses, Rendezvous/SLP, proxies, multicast, etc.).

• Anything that hears the request and has a valid copy of the data can respond.

• The returned data is signed, and optionally secured, so its integrity & association with the name can be validated.

Proposal: Base the next generation on dissemination

19

Page 20: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Advantages• Trust & data integrity are foundation of the

design, not an add-on. Phishing, Pharming, SPAM, etc., can easily be made impossible.

• Trust is associated with user level objects, not irrelevant abstractions like an SSL connection.

• It’s hard for an adversary to disrupt a network that uses any thing, any time, any where to communicate.

20

Page 21: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

More Advantages

• Network transacts in content, not conversations, so popular content won’t generate congestion.

• Request/response model gives user fine grained control over incoming traffic (may obviate many QOS concerns).

• User communicates intent to network so network can do more on user’s behalf.

21

Page 22: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Yet More Advantages• There’s no distinction between bits in a memory &

bits on a wire.

• Since nodes don’t need names, wireless & sensor nets can use simple, local protocols (e.g., proximity, diffusion).

• Data can be cached by any node so intermittent operation doesn’t preclude communication. Delay is not only tolerated, it’s irrelevant.

• Can use opportunistic transport (e.g., planes overhead, car-roadway-car, fellow travelers).

22

Page 23: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Stuff to figure out

Page 24: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Stuff that might not be hard

• Protocols for checking integrity of data and of name-data binding (start with PEM & PGP web-of-trust model).

• Operational model for directories and repositories (want creating content to be as easy as it is today so some of the data integrity generation has to be automatic).

• Data location (URL, DHT, epidemics, directed diffusion, filtered “small world”).

24

Page 25: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Stuff about names & naming• Augment names with time/version to create

cacheable, stable references. E.g., “today’s New York Times” becomes “New York Times of 2/27/2006” with a certified relationship between the generic & specific name.

• Integrity preserving data segmentation so all responses can be idempotent & small.

• Nicknames and intentional names (“all the open doors in building A”).

25

Page 26: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Digression on Implicit vs. Explicit Information

• The nice properties of packet switching result from moving source & destination information implicit in a circuit switch’s time slot assignments into explicit addresses in the packet header.(But it’s easy to do this wrong, e.g., ATM.)

• The nice properties of dissemination result from making the time & sequence information implicit in a conversation be explicit in a fully qualified name.

26

Page 27: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Stuff that might be harder

• Incentive structure (flow & congestion control, sharing & redistribution incentives).

• Miscreant & freeloader detection and interaction with anonymity.

• Redistribution (content routing, storage replacement strategies, liability issues).

27

Page 28: If a Clean Slat e is the solution what wa s the problem?yuba.stanford.edu/cleanslate/seminars/jacobson.pdf¥ The utility of the syst em depends on r unning a pair of wires t o e ver

Conclusion• IP rescued us from plumbing at the wire level

but we still have to do it at the data level. A dissemination based architecture would fix this.

• Many ad-hoc dissemination overlays have been created (Akami CDN, BitTorrent p2p, Sonos mesh, Apple Rendezvous) so there’s clearly a need.

• If we’re going to have a future, we need to rescue some grad students from re-inventing the past.

28