Top Banner
The Internet: Packet Switching and Other Big Ideas Ian Foster
40

The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

Mar 10, 2018

Download

Documents

vanminh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

The Internet:Packet Switching and

Other Big Ideas

Ian Foster

Page 2: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

2

The Internet

19694 nodes

2004100s of millions

Page 3: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

3The Internet

Clearly a huge success in terms of not only impact but also scalability

Some (not all) of the basic notions have scaled over eight orders of magnitude

What were underlying big ideas? Let’s say:Packet switching

End-to-end principle

Internet community & “standards” process

Also other important algorithms, e.g.Routing, naming, multicast

Common thread: (fairly) robust emergent behaviors from simple local strategies

Page 4: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

4

Overview

Birth of the InternetPacket switching

Process and governance

End-to-end principleE.g., congestion avoidance and control

Decentralized, adaptive algorithmsRouting

Naming

Multicast

Page 5: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

5

Simple Switching Network

Page 6: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

6

Problem Statement

Many “stations” connected by point-to-point “connections” (with some redundancy)

Enable any station to send “messages” to any other station, despite diverse failure modes

And furtherBe efficient in use of network resources

Support stations of diverse capabilities

Support diverse applications & behaviors, including many not yet known (!)

Page 7: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

7

“Traditional” Approach:Circuit Switching

A dedicated communication path between the two stations

Communication involves:Circuit Establishment

Point to Point from terminal node to network

Internal Switching and multiplexing among switching nodes.

Data Transfer

Circuit Disconnect

E.g., the telephone network

Page 8: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

8

Circuit Switching

Once connection is established:Network is transparent

Nodes seems to be directly connected

Fixed data rate with “no delay”

HoweverCan be inefficient: resources are dedicated to connection even if no data is sent

Delay prior to usage of connection

Page 9: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

9Public Switching Telecommunication NetworkThe generic component of the public switching telecommunication network is divided into:

Subscribers

Local loop (connects subscribers to the network)

Exchange (switching centers)

(end office)

Trunks (connection between exchanges)

(carry multiple voice channels using FDM or STDM)

Page 10: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

10

History of the Internet:Application Pull

Emergence of (timeshared) computers supporting interactive use

J.C.R. Licklider of MIT, proposes a global network of computers

L.C.R. Licklider & W. Clark, "On-Line Man Computer Communication", August 1962.

A globally interconnected set of computers through which everyone could quickly access data and programs from any site

Moves to the Advanced Research Projects Agency (ARPA) late in 1962

Lobbies to realize his vision

Page 11: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

11Licklider As Visionary:Man-Computer Symbiosis (1960)…

… is an expected development in cooperative interaction between men and electronic computers. The main aims are

1. to let computers facilitate formulative thinking as they now facilitate the solution of formulated problems, and

2. to enable men and computers to cooperate in making decisions and controlling complex situations without inflexible dependence on predetermined programs.

Page 12: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

12Technology Push

1962: Paul BaranCommissioned by the U.S. Air Force to study how it could maintain command and control over its missiles and bombers after a nuclear attack

Invents packet switching ideas (but talks about a “Distributed Adaptive Message Block Network”)

1961-65: Leonard Kleinrock (MIT UCLA)Develops the theory of packet switching

1965: Donald Davies in the UKIndependently invents packet switching, & coins the term “packet”

Page 13: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

13

Baran (1964)

There is an increasingly repeated statement made that one day we will require more capacity for data transmission than needed for analog voice transmission. If this statement is correct, then it would appear prudent to broaden our planning consideration to include new concepts for future data network directions. Otherwise, we may stumble into being boxed in with the uncomfortable restraints of communications links and switches originally designed for high quality analog transmission. New digital computer techniques using redundancy make cheap unreliable links potentially usable. A new switched network compatible with these links appears appropriate to meet the upcoming demand for digital service. This network is best designed for data transmission and for survivability at the outset.

Page 14: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

14

Baran (1964)

The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format message block permits building relatively simple switching mechanisms using an adaptive store-and-forward routing policy to handle all forms of digital data including "real-time" voice. This network rapidly responds to changes in the network status. Recent history of measured network traffic is used to modify path selection. Simulation results are shown to indicate that highly efficient routing can be performed by local control without the necessity for any central--and therefore vulnerable--control point.

Page 15: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

15

Baran’s Proposal:A Packet Switched Network

“Packet switching is the breaking down of data into datagrams or packets that are labeled to indicate the origin and the destination of the information and the forwarding of these packets from one computer to another computer until the information arrives at its final destination computer. This was crucial to the realization of a computer network. If packets are lost at any given point, the message can be resent by the originator.”

Page 16: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

16

Packet Switching

Basic ideaData to be transmitted is divided into small packets of information and labeled to identify the sender and recipientSent over a network and then reassembled at their destinationIf any packet did not arrive or was not intact, original sender requested to resend the packet

Note that this implies (relative to circuit switching)

Less state at intermediate nodesMore flexibility in end system behaviorsMore efficient use of networks More sophistication at end points

Page 17: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

17

The Importance ofTechnology Trends

Packet switching was arguably a logical consequence of Moore’s law

Computers became fast enough to enable “smart terminals” able to perform substantial processing

Page 18: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

18

Theoretical Underpinnings“Packet switching was new andradical in the 1960s. In order to planto spend millions of dollars andstake my reputation, I needed tounderstand that it would work.Without Kleinrock’s work onNetworks and Queuing Theory, Icould never have taken such a radicalstep. All the communicationscommunity argued that it couldn’twork. This book was critical to mystanding up to them and betting thatit would work.”

Larry Roberts

Page 19: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

19

1969 Press Release:“UCLA to be the First Station in Nationwide Computer Network”

"As of now, computer networks are still in their infancy," says Dr. Kleinrock. "But as they grow up and become more sophisticated, we will probably see the spread of 'computer utilities' which, like present electric and telephone utilities, will service individual homes and offices across the country.”

Page 20: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

20

History of the Internet1968: ARPA awarded the ARPANET contract to BBN. BBN had selected a Honeywell minicomputer as the base on which they would build the switch. The physical network was constructed in 1969, linking four nodes: University of California at Los Angeles, SRI (in Stanford), University of California at Santa Barbara, and University of Utah. The network was wired together via 50 Kbps circuits.

Backbones: 50Kbps ARPANET - Hosts: 4

1972: First e-mail program created by Ray Tomlinson of BBN.ARPANET used the Network Control Protocol or NCP to transfer data. This allowed communications between hosts running on the same network.

Backbones: 50Kbps ARPANET - Hosts: 23

1973: Development began on the protocol to be called TCP/IP, by a group headed by Vint Cerf from Stanford and Bob Kahn from ARPA. This new protocol was to allow diverse computer networks to interconnect and communicate with each other.

Backbones: 50Kbps ARPANET - Hosts: 23+

Page 21: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

History of the Internet1974: First Use of term Internet by Vint Cerf and Bob Kahn in paper on Transmission Control Protocol.

Backbones: 50Kbps ARPANET - Hosts: 23+

1976: Dr. Robert M. Metcalfe develops Ethernet, which allowed coaxial cable to move data extremely fast. This was a crucial component to the development of LANs.

The packet satellite project went into practical use. SATNET, Atlantic packet Satellite network, was born.

UUCP (Unix-to-Unix CoPy) developed at AT&T Bell Labs and distributed with UNIX one year later.

DOD began to experiment with the TCP/IP protocol and soon decided to require it for use on ARPANET

Backbones: 50Kbps ARPANET, plus satellite and radio connections - Hosts: 111+

21

Page 22: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

22History of the Internet1979: USENET (the decentralized news group network) created: based on UUCP. BITNET introduced the "store and forward" network, used for email and listservs.

Backbones: 50Kbps ARPANET, plus satellite and radio connections - Hosts: 111+

1981: NSF created backbone called CSNET 56 Kbps network for institutions without access to ARPANET.

Backbones: 50Kbps ARPANET, 56Kbps CSNET, plus satellite and radio connections - Hosts: 213

1983: Internet Activities Board (IAB) created.

On January 1st, every machine connected to ARPANET had to use TCP/IP. TCP/IP became the core Internet protocol and replaced NCP entirely.

University of Wisconsin created Domain Name System (DNS), which translated domain names into corresponding IP numbers. No need to remember numbers!

Backbones: 50Kbps ARPANET, 56Kbps CSNET, plus satellite and radio connections - Hosts: 562

Page 23: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

23

Process and Governance

A key to the rapid growth of the Internet has been the free and open access to the basic documents, especially the specifications of the protocols

“Request for Comments” (RFC) documents

“Rough Consensus and Running Code”Frequent face-to-face meetings

Heavy use of email

Emphasis on implementation experiences

Page 24: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

24

RFCs: For Example …

RFC: 791

INTERNET PROTOCOL

DARPA INTERNET PROGRAM

PROTOCOL SPECIFICATION

September 1981

This document specifies the DoD Standard Internet Protocol. This

document is based on six earlier editions of the ARPA Internet Protocol

Specification, and the present text draws heavily from them. There have

been many contributors to this work both in terms of concepts and in

terms of text. This edition revises aspects of addressing, error

handling, option codes, and the security, precedence, compartments, and

handling restriction features of the internet protocol.

Page 25: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

25Network Working Group D. Waitzman

Request for Comments: 1149 BBN STC

1 April 1990

A Standard for the Transmission of IP Datagrams on Avian Carriers

Status of this Memo

This memo describes an experimental method for the encapsulation of

IP datagrams in avian carriers. This specification is primarily

useful in Metropolitan Area Networks. This is an experimental, not

recommended standard. Distribution of this memo is unlimited.

Overview and Rationale

Avian carriers can provide high delay, low throughput, and low

altitude service. The connection topology is limited to a single

point-to-point path for each carrier, used with standard carriers,

but many carriers can be used without significant interference with

each other, outside of early spring. This is because of the 3D ether

space available to the carriers, in contrast to the 1D ether used by

IEEE802.3. The carriers have an intrinsic collision avoidance

system, which increases availability. Unlike some network

technologies, such as packet radio, communication is not limited to

line-of-sight distance. Connection oriented service is available in

some cities, usually based upon a central hub topology.

And …

Page 26: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

26

Overview

Birth of the InternetPacket switching

Process and governance

End-to-end principleE.g., congestion avoidance and control

Decentralized, adaptive algorithmsRouting

Naming

Multicast

Page 27: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

Generalizing:The End-to-End Principle

Reliable systems tend to require end-to-end processing to operate correctly, in addition to any processing in intermediate systems

End-to-end processing alone suffices to make the system operate: intermediate processing stages are largely redundant

Thus, intermediate processing can be made simpler, relying on end-to-end processing to make the system work

This leads to the model of a “dumb network” with smart terminals, a completely different model to the previous paradigm of the smart network with “dumb terminals”

27

Page 28: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

28

End-to-End Principle Applied:End-to-End Transport

Dumb network: each node repeatedlyReceives a packet, with destination info

Forwards it towards destination, if it can, with time to live decremented

Note: Must maintain routing information

Smart terminals are responsible forGenerating packets

Receiving packets

Detecting and dealing with out of order and missing packets

Page 29: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

29

Datagram Lifetime

Datagrams could loop indefinitelyConsumes resources

Transport protocol may need upper bound on datagram life

Datagram marked with lifetime Time To Live field in IP

Once lifetime expires, datagram discarded (not forwarded)

Hop countDecrement time to live on passing through each router

Time countNeed to know how long since last router

Page 30: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

30IP Fragmentation

IP re-assembles at destination only

Uses fields in headerData Unit Identifier (ID)

Identifies end system originated datagram

Source and destination address

Protocol layer generating data (e.g., TCP)

Identification supplied by that layer

Data lengthLength of user data in octets

OffsetPosition of fragment of user data in original datagram

In multiples of 64 bits (8 octets)

More flagIndicates that this is not the last fragment

Page 31: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

31

IPv4 Header

Page 32: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

32

Dealing with Failure

Re-assembly may fail if some fragments get lost

Need to detect failure

Re-assembly time outAssigned to first fragment to arrive

If timeout expires before all fragments arrive, discard partial data

Use packet lifetime (time to live in IP)If time to live runs out, kill partial data

Page 33: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

33

Virtual Circuit vs. DatagramDatagram:

Each packet is treated independently.

Each packet has a full address of the destination

Routing decision is taken for each packet at each node

Different packets of one message may take different routes

Virtual Circuit:A connection is setup prior to data transfer

Each packet contains a VC identifier

Routing decision is made once for all packets

All packets follow the same route

Page 34: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

34

Virtual Circuit vs. Datagram

Virtual Circuit:

+ Transmission order preserved

+ Error control is provided

+ One routing decision per connection

+ Receiver prepared for transmission

- Delays in making a connection

- Poor adaptation to node failure

- Poor spreading of load

Datagram:

+ Call setup time is avoided

+ Fast adaptation to congestion control

+ Fast adaptation to node failure

- Transmission order is not preserved

- High load due to route processing (decision per packet)

- Receiver has no preparation for incoming transmissions

Page 35: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

35

Why Packetize

For end-to-end route compromising of many links, packetizing allows for parts of message to be received, processed, and forwarded while others are still being prepared

Amount of retransmitted data due to errors is reduced

Memory capacity of internal network nodes can be reduced

Transmission time can be reduced

Page 36: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

36

Effect of Packet Size on Transmission Time

Page 37: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

37

Circuit Switching vs. Packet Switching

Page 38: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

38

Summary:“Big Ideas” Underlying the Internet

Packet switchingFlexible, robust, efficient (in the network)

Enabled by “smart terminals”

End-to-end arguments in system designE.g., reliable in-order delivery via TCP

Rough consensus and running codeAs a means of creating and evolving a complex artifact

Page 39: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

39

Further Reading

Introduction to distributed communication networkhttp://www.rand.org/publications/RM/RM3420

A digital communications network for computershttp://portal.acm.org/citation.cfm?id=800001.811669

The Evolution of Packet Switchinghttp://www.packet.cc/files/ev-packet-sw.html

End-to-end arguments in system designhttp://citeseer.nj.nec.com/saltzer84endtoend.html

Page 40: The Internet: Packet Switching and Other Big Ideaspeople.cs.uchicago.edu/~fortnow/classes/f04/cmsc311/foster1.pdf · The Internet: Packet Switching and Other Big Ideas Ian Foster.

Assignment 40

1) Compare the delay in sending an x-bit message over a k-hop path in a circuit-switched network and in a (lightly loaded) packet-switched network. The circuit setup time is s sec, the propagation delay is d sec per hop, the packet size is p bits, and the data rate is b bps. Under what conditions does the packet network have a lower delay?

2) Suppose that x bits of user data are to be transmitted over a k-hop path in a packet-switched network as a series of packets, each containing p data bits and h header bits, with x >> p+h. The bit rate of the lines is b bps and the propagation delay is negligible. What value of p minimizes the total delay?

3) Calculate the total time required to transfer a 1.5-MB file in the following cases, assuming a round trip time (RTT) of 80 ms, a packet size of 1 KB and an initial 2 x RTT of "hand-shaking" before data is sent.(a) The bandwidth is 10 Mbps, and data packets can be sent continuously.

(b) The bandwidth is 10 Mbps, but after we finish sending each data packet we must wait one RTT before sending the next.

(c) The link allows infinitely fast transmit, but limits bandwidth such that only 20 packets can be sent per RTT.

(d) Zero transmit time as in (c), but during the first RTT we can send one packet, during the second RTT we can send two packets, during the third we can send four = 2^(3-1), and so on.