Download PowerPoint

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Wake-on-LAN wikipedia , lookup

Net neutrality wikipedia , lookup

Distributed firewall wikipedia , lookup

Net neutrality law wikipedia , lookup

Network tap wikipedia , lookup

Computer network wikipedia , lookup

Peering wikipedia , lookup

Deep packet inspection wikipedia , lookup

Airborne Networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Net bias wikipedia , lookup

Internet protocol suite wikipedia , lookup

Quality of service wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Transcript
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
3
Internet History
Internet History
• 1961
Kleinrock advocates packet switching (why?)
– In parallel, packet switching work done at RAND and NPL
•
•
•
•
•
1962
1965
1967
1969
1970
Licklider’s vision of Galactic Network
Roberts connects 2 computers over phone line
Roberts publishes vision of ARPANET
BBN installs first InterfaceMsgProcessor @UCLA
Network Control Protocol
– assumed reliable transmission!
• 1972
• 1972
• 1972
public demonstration of ARPANET
Email invented
Kahn advocates Open Architecture networking
5
The Problem
• Many different packet-switching networks
• Only nodes on the same network could communicate
6
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
Solution
Gateways
8
Question
• Kahn imagined there would be only a few net
works (~20) and thus only a few routers
• He was wrong
• Why?
9
Internet Evolution (1960s plan)
10
Internet
Evolution
1969
11
Internet Evolution (April 1971)
12
Internet Evolution (Sept. 1971)
13
Internet Evolution (Sept. 1971)
14
15
“Today (~2000)”
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 bust
16
Internet Design Goals
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
Robust
• As long as the network is not partitioned, two endpoints sh
ould be able to communicate
• Failures (except network partitions) should not interfere wit
h endpoint 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
Types of Services
• Use of the term “communication services”
already implied that they wanted applicationneutral network
• Realized TCP wasn’t needed (or wanted) by some
applications
– Remote debugging, delivery of digitized speech
• Separated TCP from IP, and introduced UDP
– What’s missing from UDP?
20
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
Host Attachment
• Clark observes that the cost of host attachmen
t may be somewhat higher
– Because edge hosts have to be smart
• But the administrative cost of adding hosts is v
ery low, which is probably more important
22
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
Questions
• What priority order would a commercial design h
ave?
• What would a commercially invented Internet loo
k like?
• What goals are missing from this list?
• Which goals led to the success of the Internet?
24
Layering and other General Mutterin
gs about Internet Architecture
Logical Communication
• Layers interacts with corresponding layer on p
eer
Host A
Application
Presentation
Session
Transport
Network
Datalink
Physical
Host B
Router
Network
Datalink
Physical
Physical medium
Application
Presentation
Session
Transport
Network
Datalink
Physical
26
OSI vs. Internet
• OSI: conceptually define services, interfaces, protocols
• Internet: provide a successful implementation
Application
Presentation
Session
Transport
Network
Datalink
Physical
OSI (formal)
Application
Transport
Internet
Net access/
Physical
Internet (informal)
Telnet
FTP
TCP
DNS
UDP
IP
LAN
Packet
radio
27
Hourglass
28
Implications of Hourglass
• A single Internet layer module:
• Allows all networks to interoperate
– all networks technologies that support IP can exchang
e packets
• 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
Can We Shift the Hourglass?
HTTP as
the new IP?
30
Endless Arguments about End-to
-End
Placing Functionality
• The most influential paper about placing funct
ionality is “End-to-End Arguments in System D
esign” 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
Basic Observation
• Some applications have end-to-end performance
requirements
– 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
Example: Reliable File Transfer
• Solution 1: make each step reliable, and then c
oncatenate them
• Solution 2: end-to-end check and retry
Host A
Host B
Appl.
OS
Appl.
OK
OS
34
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 appli
cation layer with no need for reliability from lower lay
ers
• Is there any need to implement reliability at lowe
r layers?
35
Example: Speech / VoIP
• Standard example for E2E argument
– Packets need “semi-reliable” delivery at endpoint for t
ransformation 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 m
ultimedia networking community
36
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
What the Paper Says
The function in question can completely and corre
ctly be implemented only with the knowledge an
d help of the application standing at the end poin
ts of the communication system. Therefore, provi
ding that questioned function as a feature of the
communication system itself is not possible. (Som
etimes an incomplete version of the function pro
vided by the communication system may be usef
ul as a performance enhancement.)
BTW, E2E also applicable to OS and H/W design…
38
Conservative Interpretation
• “Don’t implement a function at the lower level
s of the system unless it can be completely im
plemented at this level” (Peterson and Davie)
• Unless you can relieve the burden from hosts,
then don’t bother
39
Radical Interpretations
• Don’t implement anything in the network that ca
n 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
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 en
hancement
• But do so only if it does not impose burden on ap
plications that do not require that functionality
41
Do These Belong in the Network?
• Multicast?
• Routing?
• Quality of Service (QoS)?
• Name resolution? (is DNS “in the network”?)
• Web caches?
42