cs542 internet system technology wst510 web architecture an.kaist.ac.kr/courses/2012/wst510

42
CS542 Internet System Technology WST510 Web Architecture http://an.kaist.ac.kr/courses/2012/wst510 2012.2.9. Lecture #2 Sue Moon and Ben Zhao

Upload: viet

Post on 08-Feb-2016

77 views

Category:

Documents


2 download

DESCRIPTION

CS542 Internet System Technology WST510 Web Architecture http://an.kaist.ac.kr/courses/2012/wst510. 2012.2.9. Lecture #2 Sue Moon and Ben Zhao. Today’s Agenda. History of the Internet Design goals Layering End-to-end arguments. Internet History. Internet History. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

CS542 Internet System TechnologyWST510 Web Architecture

http://an.kaist.ac.kr/courses/2012/wst510

2012.2.9.Lecture #2

Sue Moon and Ben Zhao

Page 2: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510
Page 3: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Today’s Agenda

• History of the Internet

• Design goals

• Layering

• End-to-end arguments

3

Page 4: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Internet History

Page 5: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

5

Internet History• 1961 Kleinrock advocates packet switching (why?)

– In parallel, packet switching work done at RAND and NPL• 1962 Licklider’s vision of Galactic Network• 1965 Roberts connects 2 computers over phone line• 1967 Roberts publishes vision of ARPANET• 1969 BBN installs first InterfaceMsgProcessor @UCLA• 1970 Network Control Protocol

– assumed reliable transmission!• 1972 public demonstration of ARPANET• 1972 Email invented• 1972 Kahn advocates Open Architecture networking

Page 6: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

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

6

Page 7: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Kahn’s Ground Rules

• Each network is independent and must not be required to change

• Best-effort communication

• Boxes (routers) connect networks

• No global control at operations level

7

Page 8: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Solution

8

Gateways

Page 9: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Question

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

• He was wrong

• Why?

9

Page 10: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Internet Evolution (1960s plan)

10

Page 11: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

InternetEvolution

1969

11

Page 12: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Internet Evolution (April 1971)

12

Page 13: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Internet Evolution (Sept. 1971)

13

Page 14: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Internet Evolution (Sept. 1971)

14

Page 15: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

15“Today (~2000)”

Page 16: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

History Continued• 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

• 1985 NSFnet (picks TCP/IP)

• 198x Internet meltdowns due to congestion

• 1986+ Van Jacobson saves the Internet (BSD TCP)

• 1988 Deering and Cheriton propose multicast, Morris Worm

• 199x QoS rises and falls

• 199x ATM rises and falls (as an internetworking layer)

• 1994 Internet goes commercial

• 200x The Internet boom and bust16

Page 17: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Internet Design Goals

Page 18: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Goals (Clark’88)

• Connect existing networks• Robust in face of failures (not nuclear war…)• Support multiple types of services• Accommodate a variety of networks• Allow distributed management• Easy host attachment• Cost effective• Allow resource accountability

18

Page 19: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Robust• As long as the network is not partitioned, two endpoints should be

able to communicate• Failures (except network partitions) should not interfere with end-

point semantics (why?)

• Maintain state only at end-points, why?– Fate-sharing

• State dies IFF endpoint using it dies• eliminates network state restoration• Protection against a # of failures, easy to engineer

– stateless network architecture (no per-flow state)

• Routing state is held by network (why?)

19

Page 20: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Types of Services

• Use of the term “communication services” already implied that they wanted application-neutral network

• Realized TCP wasn’t needed (or wanted) by some appli-cations– Remote debugging, delivery of digitized speech

• Separated TCP from IP, and introduced UDP– What’s missing from UDP?

20

Page 21: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Variety of Networks

• Incredibly successful!– Minimal requirements on networks– No need for reliability, in-order, fixed size packets,

etc.

• IP over everything– Then: ARPANET, X.25, DARPA satellite network..– Now: ATM, SONET, WDM…

21

Page 22: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Host Attachment

• Clark observes that the cost of host attach-ment may be somewhat higher – Because edge hosts have to be smart

• But the administrative cost of adding hosts is very low, which is probably more important

22

Page 23: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Real Goals

• Something that works…..• Connect existing networks• Survivability (not nuclear war…)• Support multiple types of services• Accommodate a variety of networks• Allow distributed management• Easy host attachment• Cost effective• Allow resource accountability

23

Page 24: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Questions

• What priority order would a commercial design have?

• What would a commercially invented Internet look like?

• What goals are missing from this list?

• Which goals led to the success of the Internet?

24

Page 25: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Layering and other General Mutter-ings about Internet Architecture

Page 26: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Logical Communication

• Layers interacts with corresponding layer on peer

26

ApplicationPresentation

SessionTransportNetworkDatalinkPhysical

ApplicationPresentation

SessionTransportNetworkDatalinkPhysical

NetworkDatalinkPhysical

Physical medium

Host A Host B

Router

Page 27: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

OSI vs. Internet• OSI: conceptually define services, interfaces, protocols• Internet: provide a successful implementation

27

ApplicationPresentation

SessionTransportNetworkDatalinkPhysical

InternetNet access/Physical

Transport

Application

IP

LAN Packetradio

TCP UDP

Telnet FTP DNS

OSI (formal) Internet (informal)

Page 28: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Hourglass

28

Page 29: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Implications of Hourglass

• A single Internet layer module:

• Allows all networks to interoperate– all networks technologies that support IP can exchange pack-

ets

• Allows all applications to function on all networks– all applications that can run on IP can use any network

• Simultaneous developments above and below IP

29

Page 30: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Can We Shift the Hourglass?

30

HTTP asthe new IP?

Page 31: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Endless Arguments about End-to-End

Page 32: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Placing Functionality

• The most influential paper about placing functionality is “End-to-End Arguments in Sys-tem Design” by Saltzer, Reed, and Clark

• The “Sacred Text” of the Internet– endless disputes about what it means– everyone cites it as supporting their position

32

Page 33: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Basic Observation

• Some applications have end-to-end performance re-quirements– reliability, security, etc.

• Implementing these in the network is very hard:– every step along the way must be fail-proof

• The hosts:– can satisfy the requirement without the network– can’t depend on the network

33

Page 34: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Example: Reliable File Transfer

• Solution 1: make each step reliable, and then concatenate them

• Solution 2: end-to-end check and retry

34

OS

Appl.

OS

Appl.

Host A Host B

OK

Page 35: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Example (cont’d)

• Solution 1 not complete– What happens if any network element misbehaves?– The receiver has to do the check anyway!

• Solution 2 is complete– Full functionality can be entirely implemented at application

layer with no need for reliability from lower layers

• Is there any need to implement reliability at lower lay-ers?

35

Page 36: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Example: Speech / VoIP• Standard example for E2E argument– Packets need “semi-reliable” delivery at endpoint for transfor-

mation into audio• If lower layers try for “perfect reliability,”– Delay and retransmit at link layer– Result: uncontrolled delays and stream disruption

• Instead, endpoint can tolerate some data loss– Rely on the ultimate “endpoint,” the human– “What did you just say?”– This is the source of much “cross-layer” work in the multimedia

networking community

36

Page 37: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Conclusion

Implementing this functionality in the network:• Doesn’t reduce host implementation complexity• Does increase network complexity• Probably imposes delay and overhead on all appli-

cations, even if they don’t need functionality

• However, implementing in network can enhance performance in some cases– very lossy link

37

Page 38: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

What the Paper Says

The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the end points of the com-munication system. Therefore, providing that ques-tioned function as a feature of the communication sys-tem itself is not possible. (Sometimes an incomplete version of the function provided by the communication system may be useful as a performance enhancement.)

BTW, E2E also applicable to OS and H/W design…

38

Page 39: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Conservative Interpretation

• “Don’t implement a function at the lower lev-els of the system unless it can be completely implemented at this level” (Peterson and Davie)

• Unless you can relieve the burden from hosts, then don’t bother

39

Page 40: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Radical Interpretations

• Don’t implement anything in the network that can be implemented correctly by the hosts– e.g., multicast– Makes network layer absolutely minimal– Ignores performance issues

• Don’t rely on anything that’s not on the data path– E.g., no DNS– Makes network layer more complicated

40

Page 41: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Moderate Interpretation

• Think twice before implementing functionality in the network

• If hosts can implement functionality correctly, im-plement it a lower layer only as a performance enhancement

• But do so only if it does not impose burden on applications that do not require that functionality

41

Page 42: CS542 Internet System Technology WST510 Web Architecture an.kaist.ac.kr/courses/2012/wst510

Do These Belong in the Network?

• Multicast?

• Routing?

• Quality of Service (QoS)?

• Name resolution? (is DNS “in the network”?)

• Web caches?

42