1 If the Internet is the answer, then what was the question? EE122 Fall 2011 Scott Shenker ee122/...

Preview:

Citation preview

1

If the Internet is the answer,then what was the question?

EE122 Fall 2011

Scott Shenker

http://inst.eecs.berkeley.edu/~ee122/

Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxsonand other colleagues at Princeton and UC Berkeley

Administrivia

• No sections next week (Monday is a holiday)

• Enrollment: admitted 20 additional seniors– We are now at our legal limit; there is nothing I can do– Tuesday 10-11 section: moved to Cory 521

• Need feedback on the index cards– Can do it anonymously on Piazza– Or send email to me

• Plug computers arrived!– Now we just have to get them to work…..(Go Yahel!)

• Get instructional account forms in section

2

3

Outline for today’s class

• The telephone network– boring

• Why does the Internet use packet switching?– Less boring, but hardly earthshattering

• Important life lessons– This will change your life….

• Internet history– From my somewhat heretical viewpoint

Telephone network

• Alexander Graham Bell– 1876: Demonstrates the telephone at US

Centenary Exhibition in Philadelphia

5

Telephone network uses circuit switching

• Establish: source creates circuit to destination– Nodes along the path store connection info– And reserve resources for the connection– If circuit not available: “Busy signal”

• Transfer: source sends data over the circuit– No destination address, since nodes know path– Continual stream of data

• Teardown: source tears down circuit when done

6

The switch in “circuit switching”

incoming links outgoing linksNode

How does the node connect the incominglink to the outgoing link?

7

Circuit Switching With Human Operator

“Modern” switches

• Almon Brown Strowger (1839 - 1902)– 1889: Invents the “girl-less, cuss-less” telephone system

-- the mechanical switching system

9

Timing in Circuit Switching

Host 1 Host 2Switch 1 Switch 2

time

10

Timing in Circuit Switching

Circuit Establishment

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

time

11

Timing in Circuit Switching

Circuit Establishment

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

Transmission delay

time

12

Timing in Circuit Switching

Circuit Establishment

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

Transmission delay

time

13

Timing in Circuit Switching

Circuit Establishment

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

propagation delay between Host 1 and Host 2

Transmission delay

time

14

Timing in Circuit Switching

Information

Circuit Establishment

Transfer

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

propagation delay between Host 1 and Host 2

Transmission delay

time

15

Timing in Circuit Switching

Information

Circuit Establishment

Transfer

Circuit Teardown

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

propagation delay between Host 1 and Host 2

Transmission delay

time

16

Sharing a link

incoming links outgoing linksNode

How do the black and orange circuitsshare the outgoing link?

17

Circuit Switching: Multiplexing a Link

• Time-division– Each circuit allocated

certain time slots

• Frequency-division– Each circuit allocated

certain frequencies

timefrequency

time

18

Time-Division Multiplexing/Demultiplexing

• Time divided into frames; frames into slots

• Relative slot position inside a frame determines to which conversation data belongs

– E.g., slot 0 belongs to orange conversation

• Requires synchronization between sender and receiver

• Need to dynamically bind a slot to a conversation

• If a conversation does not use its circuit capacity is lost!

Frames

0 1 2 3 4 5 0 1 2 3 4 5Slots =

Strengths of phone system

• Predictable performance– Known delays– No drops

• Easy to reason about

• Supports a crucial service

What about weaknesses?

19

Weakness #1: Not resilient to failure

• Any failure along the path prevents transmission

• Entire transmission has to be restarted

• “All or nothing” delivery model

20

Weakness #2: Wastes bandwidth

• Consider a network application with:– Peak bandwidth P– Average bandwidth A

• How much does the network have to reserve for the application to work?– The peak bandwidth

• What is the resulting level of utilization?– Ratio of A/P

21

Smooth vs Bursty Applications

• Some applications have relatively small P/A ratios– Voice might have a ratio of 3:1 or so

• Data applications tend to be rather bursty– Ratios of 100 or greater are common

• Circuit switching too inefficient for bursty apps

• Generally:– Don’t care about factors of two in performance– But when it gets to several orders of magnitude….

22

Weakness #3: Designed Tied to App

• Design revolves around the requirements of voice

• Not general feature of circuit switching– But definitely part of the telephone network design

23

Weakness #4: Setup Time

• Every connection requires round-trip time to set up– Slows down short transfers

• In actuality, may not be a big issue– TCP requires round-trip time for handshake– No one seems to mind….

• This was a big issue in the ATM vs IP battle– But I think it is overemphasized as a key factor

24

What if we wanted a resilient network?

• How would we design it?

• This is the question Paul Baran asked….

25

Paul Baran

• Baran investigated survivable networks for USAF– Network should withstand almost any degree of

destruction to individual components without loss of end-to-end communications.

• “On Distributed Communications” (1964)– Distributed control– Message blocks (packets)– Store-and-forward delivery

26

What about a less wasteful network?

• How would we design it?

• This is the question Len Kleinrock asked…..– Analyzed packet switching and statistical multiplexing

27

28

• Communication networks can be classified based on the way in which the nodes exchange information:

Taxonomy of Communication Networks

Communication Network

29

• Communication networks can be classified based on the way in which the nodes exchange information:

Taxonomy of Communication Networks

Communication Network

BroadcastCommunication

Network

30

• Information transmitted by any node is received by every other node in the network– Usually only in LANs (Local Area Networks)

E.g., WiFi, Ethernet (classical, but not current) E.g., lecture!

• What problems does this raise?• Problem #1: limited range• Problem #2: coordinating access to the shared

communication medium – Multiple Access Problem

• Problem #3: privacy of communication

Broadcast Communication Networks

31

• Communication networks can be classified based on the way in which the nodes exchange information:

Taxonomy of Communication Networks

Communication Network

SwitchedCommunication

Network

BroadcastCommunication

Network

32

• Communication networks can be classified based on the way in which the nodes exchange information:

Taxonomy of Communication Networks

Communication Network

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

33

• Communication networks can be classified based on the way in which the nodes exchange information:

Taxonomy of Communication Networks

Communication Network

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

34

Packet Switching• Data sent as chunks of formatted bit-sequences (Packets)

• Packets have following structure:

Header and Trailer carry control information (e.g., destination address, checksum)

• Each packet traverses the network from node to node along some path (Routing) based on header info.

• Usually, once a node receives the entire packet, it stores it (hopefully briefly) and then forwards it to the next node (Store-and-Forward Networks)

Header Data Trailer (sometimes)

35

Packet Switching

• Node in a packet switching network

incoming links outgoing linksNode

Memory

36

Packet Switching: Multiplexing/Demultiplexing

• How to tell packets apart?– Use meta-data (header) to describe data

• No reserved resources; dynamic sharing– Single flow can use the entire link capacity if it is alone– This leads to increased efficiency

Simple Example: M/M/1 Queue

37

• Consider n flows sharing a single queue

• Flow: random (Poisson) arrivals at rate l

• Random (Exponential) service with average 1/m

• Utilization factor: r = nl/m– If r >1, system is unstable

• Case 1: Flows share bandwidth– Delay = 1/( - n)

• Case 2: Flows each have 1/nth share of bandwidth– No sharing– Delay = n/( - n) Not sharing increases delay by n

38

• Communication networks can be classified based on the way in which the nodes exchange information:

Taxonomy of Communication Networks

Communication Network

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

Datagram Network

39

Datagram Packet Switching• Each packet is independently switched

– Each packet header contains full destination address

• No resources are pre-allocated (reserved) in advance

• Leverages “statistical multiplexing” – Gambling that packets from different conversations won’t

all arrive at the same time, so we don’t need enough capacity for all of them at their peak transmission rate

– Assuming independence of traffic sources, can compute probability that there is enough capacity

40

Timing of Datagram Packet Switching

Packet 1

Host 1 Host 2Node 1 Node 2

propagationdelay betweenHost 1 and Node 1

41

Timing of Datagram Packet Switching

Packet 1

Host 1 Host 2Node 1 Node 2

propagationdelay betweenHost 1 and Node 1

transmission time of Packet 1at Host 1

42

Packet 1

Packet 1

Timing of Datagram Packet Switching

Packet 1 processing

delay of Packet 1 at Node 2

Host 1 Host 2Node 1 Node 2

propagationdelay betweenHost 1 and Node 1

transmission time of Packet 1at Host 1

43

Packet 1

Packet 2

Packet 3

Packet 1

Packet 2

Packet 3

Timing of Datagram Packet Switching

Packet 1

Packet 2

Packet 3

processing

delay of Packet 1 at Node 2

Host 1 Host 2Node 1 Node 2

propagationdelay betweenHost 1 and Node 1

transmission time of Packet 1at Host 1

44

Datagram Packet Switching

Host A

Host BHost E

Host D

Host C

Node 1 Node 2

Node 3

Node 4

Node 5

Node 6 Node 7

45

Datagram Packet Switching

Host A

Host BHost E

Host D

Host C

Node 1 Node 2

Node 3

Node 4

Node 5

Node 6 Node 7

46

Datagram Packet Switching

Host A

Host BHost E

Host D

Host C

Node 1 Node 2

Node 3

Node 4

Node 5

Node 6 Node 7

47

• Communication networks can be classified based on the way in which the nodes exchange information:

Taxonomy of Communication Networks

Communication Network

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

Datagram Network

Virtual Circuit Network

A hybrid of circuits and packets; headers include a

“circuit identifier” established during a setup phase

48

5 Minute Break

Questions Before We Proceed?

If you were building a network….

• Which would you choose?– Circuit switched?– Packet-switched?

• Let’s review the strengths and weaknesses

49

50

Advantages of Circuit Switching• Guaranteed bandwidth

– Predictable communication performance– Not “best-effort” delivery with no real guarantees

• Simple abstraction– Reliable communication channel between hosts– No worries about lost or out-of-order packets

• Simple forwarding – Forwarding based on time slot or frequency– No need to inspect a packet header

• Low per-packet overhead– Forwarding based on time slot or frequency– No headers on each packet

51

Disadvantages of Circuit Switching• Wasted bandwidth

– Bursty traffic leads to idle connection during silent period– Unable to achieve gains from “statistical multiplexing”

• Blocked connections– Connection refused when resources are not sufficient– Unable to offer “okay” service to everybody

• Network state– Network nodes must store per-connection information– Unable to avoid per-connection storage and state– This makes failures more disruptive!

• Connection set-up delay – No communication until the connection is set up– Unable to avoid extra latency for small data transfers

52

Packet-Switching vs. Circuit-Switching

• Reliability advantage: since routers don’t know about individual conversations, when a router or link fails, it iseasy to fail over to a different path

• Efficiency advantage of packet-switching over circuit switching: Exploitation of statistical multiplexing

• Deployability advantage: easier for different parties to link their networks together because they’re not promising to reserve resources for one another

• Disadvantage: packet-switching must handle congestion– More complex routers (more buffering, sophisticated dropping)– Harder to provide good network services (e.g., delay and

bandwidth guarantees)

Choosing a Design for the Internet

• If you cared about:– Resilience– Bursty applications– Ease of interconnection– …

• Which would you choose?

• Not so fast…..– Hindsight is great– But there were important reasons to choose differently

53

The paradox of the Internet’s design

• As we will discuss next lecture, one of the main design goals is to support a wide range of apps

• These applications have different requirements

• Shouldn’t the Internet support them all?

54

Diversity of application requirements• Size of transfers

• Bidirectionality (or not)

• Latency sensitive (or not)

• Tolerance of jitter (or not)

• Tolerance of packet drop (or not)

• Need for reliability (or not)

• Multipoint (or not)

• …..

55

Diversity of application requirements• Size of transfers

• Bidirectionality (or not)

• Latency sensitive (or not)

• Tolerance of jitter (or not)

• Tolerance of packet drop (or not)

• Need for reliability (or not)

• Multipoint (or not)

• …..

56

What service should Internet support?

• Strict delay bounds?– Some applications require them

• Guaranteed delivery?– Some applications are sensitive to packet drops

• No applications mind getting good service– Why not require Internet support these guarantees?

57

Important life lessons

• People (applications) don’t always need what they think they need

• People (applications) don’t always need what we think they need

• Flexibility often more important than performance– But typically only in hindsight!– Example: cell phones vs landlines

• Architect for flexibility, engineer for performance58

Applying lessons to Internet

• Requiring performance guarantees would limit variety of networks that could attach to Internet

• Many applications don’t need these guarantees

• And those that do? – Well, they don’t either (usually)– Tremendous ability to mask drops, delays

• And ISPs can work hard to deliver good service without changing the architecture

• If the Internet had focused on voice applications early, it might have made different choices

59

Internet History

Timeline

1961 Baran and Kleinrock advocate packet switching

1962 Licklider’s vision of Galactic Network

1965 Roberts connects two computers via phone

1967 Roberts publishes vision of ARPANET

1969 BBN installs first IMP at UCLAIMP: Interface Message Processor

1971 Network Control Program (protocol)

1972 Public demonstration of ARPANET61

The beginning of the Internet revolution

• Kleinrock’s group at UCLA tried to log on to Stanford computer: His recollection of the event…

• We typed the L…– “Do you see the L?”– “Yes, we see the L.”

• We typed the O…– “Do you see the O?”– “Yes, we see the O.”

• Then we typed the G…– …and the system crashed!

62

Timeline continued…

1972 Email invented

1972 Telnet introduced

1972 Kahn advocates Open Architecture networking

63

64

The Problem

• Many different packet-switching networks • Only nodes on the same network could

communicate

65

Kahn’s Rules for Interconnection

• Each network is independent and must not be required to change (why?)

• Best-effort communication (why?)

• Boxes (routers) connect networks

• No global control at operations level (why?)

66

Solution

Gateways

67

Kahn’s vision

• Kahn imagined there would be only a few networks (~20) and thus only a few routers

• He was wrong– Why?

• Imagined gateways would “translate” between networks– We think of it as all routers supporting IP

Timeline continued….

1973 FTP introduced

1974 Cerf and Kahn paper on TCP/IP

1980 TCP/IP adopted as defense standard

1983 Global NCP to TCP/IP flag day

198x XNS, DECbit, and other protocols

1984 Janet (British research network)

1985 NSFnet (picks TCP/IP)

198x Internet meltdowns due to congestion

1986 Van Jacobson saves the Internet (BSD TCP) 68

Unsung hero of Internet: David D. Clark

• Chief Architect 1981-1988

• Great consistency of vision

• Kept the Internet true to its basic design principles

• Authored what became known as the End-to-end principle (next lecture)

• Conceives and articulates architectural concepts– Read his “Active Networking and End-To-End

Arguments”

• Perhaps the only “irreplaceable” Internet pioneer

69

Timeline continued…

1988 Deering and Cheriton propose multicast

1989 Birth of the web….Tim Berners-Lee

70

Why did it take physicist to invent web?

• Physicists are the smartest people in the world?

• Computer scientists were trying to invent nirvana– Well, actually Xanadu (Ted Nelson)– More generally, CS researchers focused on hyptertext

• Again, users didn’t need what we wanted to invent– Think about it: a paper on the web design would have

been rejected by every CS conference and journal

• In general, the CS research community is great at solving well-defined problems, but terrible at guessing what users will actually use

71

Timeline continued…..

1993 Search engines invented (Excite)

199x ATM rises and falls (as internetworking layer)

199x QoS rises and falls

1994 Internet goes commercial

1998 IPv6 specification

1998 Google reinvents search

200x The Internet boom and bust

2011 EE122 enrollment suggests boom is back!

72

73

Next Lecture(s)

• Monday is a holiday

• Wednesday: Internet Priorities and Principles– HW #1 assigned on Wednesday

• If you haven’t already:– Take the survey

• Have a good holiday!

Recommended