If the Internet is the answer then what

  • Slides: 73
Download presentation
If the Internet is the answer, then what was the question? EE 122 Fall

If the Internet is the answer, then what was the question? EE 122 Fall 2011 Scott Shenker http: //inst. eecs. berkeley. edu/~ee 122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley 1

Administrivia • No sections next week (Monday is a holiday) • Enrollment: admitted 20

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

Outline for today’s class • The telephone network – boring • Why does the

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 3

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

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

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 5

The switch in “circuit switching” incoming links Node outgoing links How does the node

The switch in “circuit switching” incoming links Node outgoing links How does the node connect the incoming link to the outgoing link? 6

Circuit Switching With Human Operator 7

Circuit Switching With Human Operator 7

“Modern” switches • Almon Brown Strowger (1839 - 1902) – 1889: Invents the “girl-less,

“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 Switch 2 Host 2 time 9

Timing in Circuit Switching Host 1 Switch 2 Host 2 time 9

Timing in Circuit Switching Host 1 Circuit Establishment Switch 1 Switch 2 Host 2

Timing in Circuit Switching Host 1 Circuit Establishment Switch 1 Switch 2 Host 2 propagation delay between Host 1 and Switch 1 time 10

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay Circuit Establishment

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay Circuit Establishment propagation delay between Host 1 and Switch 1 time 11

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay Circuit Establishment

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay Circuit Establishment propagation delay between Host 1 and Switch 1 time 12

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay Circuit Establishment

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay Circuit Establishment propagation delay between Host 1 and Switch 1 propagation delay between Host 1 and Host 2 time 13

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay propagation delay

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay propagation delay between Host 1 and Switch 1 Circuit Establishment Transfer propagation delay between Host 1 and Host 2 Information time 14

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay propagation delay

Timing in Circuit Switching Host 1 Switch 2 Host 2 Transmission delay propagation delay between Host 1 and Switch 1 Circuit Establishment Transfer propagation delay between Host 1 and Host 2 Information time Circuit Teardown 15

Sharing a link incoming links Node outgoing links How do the black and orange

Sharing a link incoming links Node outgoing links How do the black and orange circuits share the outgoing link? 16

Circuit Switching: Multiplexing a Link – Each circuit allocated certain time slots time •

Circuit Switching: Multiplexing a Link – Each circuit allocated certain time slots time • Frequency-division – Each circuit allocated certain frequencies frequency • Time-division time 17

Time-Division Multiplexing/Demultiplexing Frames Slots = 0 1 2 3 4 5 • Time divided

Time-Division Multiplexing/Demultiplexing Frames Slots = 0 1 2 3 4 5 • 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! 18

Strengths of phone system • Predictable performance – Known delays – No drops •

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

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

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

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

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 –

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? •

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

Paul Baran • Baran investigated survivable networks for USAF – Network should withstand almost any degree of destruction to individual components without loss of endto-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

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

Taxonomy of Communication Networks • Communication networks can be classified based on the way

Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network 28

Taxonomy of Communication Networks • Communication networks can be classified based on the way

Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Broadcast Communication Network 29

Broadcast Communication Networks • Information transmitted by any node is received by every other

Broadcast Communication Networks • Information transmitted by any node is received by every other node in the network – Usually only in LANs (Local Area Networks) E. g. , Wi. Fi, 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 30

Taxonomy of Communication Networks • Communication networks can be classified based on the way

Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Broadcast Communication Network 31

Taxonomy of Communication Networks • Communication networks can be classified based on the way

Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network 32

Taxonomy of Communication Networks • Communication networks can be classified based on the way

Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network 33

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

Packet Switching • Data sent as chunks of formatted bit-sequences (Packets) • Packets have following structure: Header Data Trailer (sometimes) 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) 34

Packet Switching • Node in a packet switching network incoming links Node outgoing links

Packet Switching • Node in a packet switching network incoming links Node outgoing links Memory 35

Packet Switching: Multiplexing/Demultiplexing • How to tell packets apart? – Use meta-data (header) to

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 36

Simple Example: M/M/1 Queue • Consider n flows sharing a single queue • Flow:

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: r = n / – 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 37

Taxonomy of Communication Networks • Communication networks can be classified based on the way

Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Datagram Network 38

Datagram Packet Switching • Each packet is independently switched – Each packet header contains

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 39

Timing of Datagram Packet Switching Host 1 Node 1 Packet 1 Node 2 Host

Timing of Datagram Packet Switching Host 1 Node 1 Packet 1 Node 2 Host 2 propagation delay between Host 1 and Node 1 40

Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host

Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host 1 Node 1 Packet 1 Node 2 Host 2 propagation delay between Host 1 and Node 1 41

Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host

Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host 1 Node 1 Packet 1 Host 2 Node 2 propagation delay between Host 1 and Node 1 Packet 1 processing delay of Packet 1 at Node 2 Packet 1 42

Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host

Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host 1 Node 1 Packet 2 Packet 3 Host 2 Node 2 propagation delay between Host 1 and Node 1 Packet 1 processing delay of Packet 1 at Node 2 Packet 3 Packet 1 Packet 2 Packet 3 43

Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node

Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 7 Host E Node 4 44

Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node

Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 7 Host E Node 4 45

Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node

Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 7 Host E Node 4 46

Taxonomy of Communication Networks • Communication networks can be classified based on the way

Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Datagram Network A hybrid of circuits and packets; headers include a “circuit identifier” established during a setup phase Virtual Circuit Network 47

5 Minute Break Questions Before We Proceed? 48

5 Minute Break Questions Before We Proceed? 48

If you were building a network…. • Which would you choose? – Circuit switched?

If you were building a network…. • Which would you choose? – Circuit switched? – Packet-switched? • Let’s review the strengths and weaknesses 49

Advantages of Circuit Switching • Guaranteed bandwidth – Predictable communication performance – Not “best-effort”

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 50

Disadvantages of Circuit Switching • Wasted bandwidth – Bursty traffic leads to idle connection

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 51

Packet-Switching vs. Circuit-Switching • Reliability advantage: since routers don’t know about individual conversations, when

Packet-Switching vs. Circuit-Switching • Reliability advantage: since routers don’t know about individual 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 bandwidth guarantees) 52

Choosing a Design for the Internet • If you cared about: – Resilience –

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

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

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

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

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

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

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

Internet History

Timeline 1961 Baran and Kleinrock advocate packet switching 1962 Licklider’s vision of Galactic Network

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 1971 Network Control Program (protocol) 1972 Public demonstration of ARPANET 61

The beginning of the Internet revolution • Kleinrock’s group at UCLA tried to log

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

Timeline continued… 1972 Email invented 1972 Telnet introduced 1972 Kahn advocates Open Architecture networking 63

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

The Problem • Many different packet-switching networks • Only nodes on the same network could communicate 64

Kahn’s Rules for Interconnection • Each network is independent and must not be required

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? ) 65

Solution Gateways 66

Solution Gateways 66

Kahn’s vision • Kahn imagined there would be only a few networks (~20) and

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 67

Timeline continued…. 1973 FTP introduced 1974 Cerf and Kahn paper on TCP/IP 1980 TCP/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 198 x XNS, DECbit, and other protocols 1984 Janet (British research network) 1985 NSFnet (picks TCP/IP) 198 x 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

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

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

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) 199 x ATM rises and falls

Timeline continued…. . 1993 Search engines invented (Excite) 199 x ATM rises and falls (as internetworking layer) 199 x Qo. S rises and falls 1994 Internet goes commercial 1998 IPv 6 specification 1998 Google reinvents search 200 x The Internet boom and bust 2011 EE 122 enrollment suggests boom is back! 72

Next Lecture(s) • Monday is a holiday • Wednesday: Internet Priorities and Principles –

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! 73