If the Internet is the answer, then what was the question?
description
Transcript of If the Internet is the answer, then what was the question?
1
If the Internet is the answer,then what was the question?
EE122 Fall 2011
Scott Shenkerhttp://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 section2
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/(m - nl)
• Case 2: Flows each have 1/nth share of bandwidth– No sharing– Delay = n/(m - nl) 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 performance 58
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
Timeline1961 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!