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 Paxson and 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!)
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….
Telephone network
• Alexander Graham Bell
– 1876: Demonstrates the telephone at US Centenary Exhibition in Philadelphia
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
6
The switch in “circuit switching”
incoming links Node outgoing links
How does the node connect the incoming link to the outgoing link?
“Modern” switches
• Almon Brown Strowger (1839 - 1902)
– 1889: Invents the “girl-less, cuss-less” telephone system -- the mechanical switching system
Timing in Circuit Switching
Host 1 Host 2
Switch 1 Switch 2
Timing in Circuit Switching
Circuit Establishment Host 1 Host 2 Switch 1 Switch 2 propagation delay between Host 1 and Switch1 timeTiming in Circuit Switching
Circuit Establishment Host 1 Host 2 Switch 1 Switch 2 propagation delay between Host 1 and Switch1 Transmission delay timeTiming in Circuit Switching
Circuit Establishment Host 1 Host 2 Switch 1 Switch 2 propagation delay between Host 1 and Switch1 Transmission delay timeTiming in Circuit Switching
Circuit Establishment Host 1 Host 2 Switch 1 Switch 2 propagation delay between Host 1 and Switch1 propagation delay between Host 1 and Host 2 Transmission delay timeTiming in Circuit Switching
Information Circuit Establishment Transfer Host 1 Host 2 Switch 1 Switch 2 propagation delay between Host 1 and Switch1 propagation delay between Host 1 and Host 2 Transmission delay timeTiming in Circuit Switching
Information Circuit Establishment Transfer Circuit Host 1 Host 2 Switch 1 Switch 2 propagation delay between Host 1 and Switch1 propagation delay between Host 1 and Host 2 Transmission delay time16
Sharing a link
incoming links Node outgoing links
How do the black and orange circuits share the outgoing link?
Circuit Switching:
Multiplexing
a Link
• Time-division
– Each circuit allocated certain time slots
• Frequency-division
– Each circuit allocated certain frequencies time frequen c y 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 5 Slots =
Strengths of phone system
• Predictable performance
– Known delays – No drops
• Easy to reason about
• Supports a crucial service
Weakness #1: Not resilient to failure
• Any failure along the path prevents transmission • Entire transmission has to be restarted
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?
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
Weakness #3: Designed Tied to App
• Design revolves around the requirements of voice • Not general feature of circuit switching
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
What if we wanted a resilient network?
• How would we design it?
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
What about a less wasteful network?
• How would we design it?
• This is the question Len Kleinrock asked…..
• Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Communication Communication Communication Network Network Network Network
• Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Communication Communication Communication Network Network Network Network Broadcast Broadcast Broadcast Broadcast Communication Communication Communication Communication Network NetworkNetwork Network
• 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
• Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Communication Communication Communication Network Network Network Network Switched Switched Switched Switched Communication Communication Communication Communication Network NetworkNetwork Network Broadcast Broadcast Broadcast Broadcast Communication Communication Communication Communication Network NetworkNetwork Network
• Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Communication Communication Communication Network Network Network Network Switched Switched Switched Switched Communication Communication Communication Communication Network NetworkNetwork Network Broadcast Broadcast Broadcast Broadcast Communication Communication Communication Communication Network NetworkNetwork Network Circuit CircuitCircuit
Circuit----SwitchedSwitchedSwitchedSwitched Communication Communication Communication Communication Network NetworkNetwork Network
• Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Communication Communication Communication Network Network Network Network Switched Switched Switched Switched Communication Communication Communication Communication Network NetworkNetwork Network Broadcast Broadcast Broadcast Broadcast Communication Communication Communication Communication Network NetworkNetwork Network Circuit CircuitCircuit
Circuit----SwitchedSwitchedSwitchedSwitched Communication Communication Communication Communication Network NetworkNetwork Network Packet PacketPacket
Packet----SwitchedSwitchedSwitchedSwitched Communication Communication Communication Communication Network NetworkNetwork Network
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
Packet Switching
• Node in a packet switching network
incoming links Node outgoing links
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
• Consider n flows sharing a single queue • Flow: random (Poisson) arrivals at rate λ
• Random (Exponential) service with average 1/µ
• Utilization factor: ρ = nλ/µ
– If ρ >1, system is unstable
• Case 1: Flows share bandwidth
– Delay = 1/(µ - nλ)
• Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Communication Communication Communication Network Network Network Network Switched Switched Switched Switched Communication Communication Communication Communication Network NetworkNetwork Network Broadcast Broadcast Broadcast Broadcast Communication Communication Communication Communication Network NetworkNetwork Network Circuit CircuitCircuit
Circuit----SwitchedSwitchedSwitchedSwitched Communication Communication Communication Communication Network NetworkNetwork Network Packet PacketPacket
Packet----SwitchedSwitchedSwitchedSwitched Communication Communication Communication Communication Network NetworkNetwork Network Datagram Datagram Datagram Datagram Network Network Network Network
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
Timing of Datagram Packet Switching
Packet 1 Host 1 Host 2 Node 1 Node 2 propagation delay between Host 1 and Node 1Timing of Datagram Packet Switching
Packet 1 Host 1 Host 2 Node 1 Node 2 propagation delay between Host 1 and Node 1 transmission time of Packet 1 at Host 1Packet 1 Packet 1
Timing of Datagram Packet Switching
Packet 1 processing delay of Packet 1 at Node 2 Host 1 Host 2 Node 1 Node 2 propagation delay between Host 1 and Node 1 transmission time of Packet 1 at Host 1
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 2 Node 1 Node 2 propagation delay between Host 1 and Node 1 transmission time of Packet 1 at Host 1
Datagram Packet Switching
Host A Host B Host E Host D Host C Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7Datagram Packet Switching
Host A Host B Host E Host D Host C Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7Datagram Packet Switching
Host A Host B Host E Host D Host C Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7• Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Communication Communication Communication Network Network Network Network Switched Switched Switched Switched Communication Communication Communication Communication Network NetworkNetwork Network Broadcast Broadcast Broadcast Broadcast Communication Communication Communication Communication Network NetworkNetwork Network Circuit CircuitCircuit
Circuit----SwitchedSwitchedSwitchedSwitched Communication Communication Communication Communication Network NetworkNetwork Network Packet PacketPacket
Packet----SwitchedSwitchedSwitchedSwitched Communication Communication Communication Communication Network NetworkNetwork Network
A hybrid of circuits and packets; headers include a
“circuit identifier”
established during a setup phase
48
5 Minute Break
If you were building a network….
• Which would you choose?
– Circuit switched? – Packet-switched?
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
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
Packet-Switching vs. Circuit-Switching
• Reliability advantage: since routers don’t know aboutindividual conversations, when a router or link fails, it is
easy 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
Choosing a Design for the Internet
• If you cared about:
– Resilience
– Bursty applications
– Ease of interconnection – …
• Which would you choose? • Not so fast…..
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?
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) • …..
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) • …..
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
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
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
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 UCLA
IMP: Interface Message Processor
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…
Timeline continued…
1972 Email invented
1972 Telnet introduced
64
The Problem
• Many different packet-switching networks • Only nodes on the same network could
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
66
Solution
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
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
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”
Timeline continued…
1988 Deering and Cheriton propose multicast 1989 Birth of the web….Tim Berners-Lee
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
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
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