Beruflich Dokumente
Kultur Dokumente
history
Introduction 1-1
Internet Architecture
q http://www.nap.edu/html/coming_of_age/
q http://www.ietf.org/rfc/rfc1958.txt
Introduction 1-2
Why did the Internet win?
q Packet switching over circuit switching
q End-to-end principle and “Hourglass” design
q Layering of functionality
q Distributed design, decentralized control
q Superior organizational process
Introduction 1-3
Packet switching versus
Circuit switching
q Analogy
v Zip cars vs. privately owned cars
q Zip cars
v Many users share a single car
v Large demand for cars causes users to delay
usage
v Car is more efficiently used
Introduction 1-4
Packet vs. circuit switching
q mesh of interconnected
routers
q the fundamental
question: how is data
transferred through net?
v circuit switching:
dedicated circuit per
call: telephone net
v packet-switching: data
sent thru net in
discrete “chunks”
Introduction 1-5
Circuit Switching
End-end resources
reserved for “call”
q network resources
(e.g., bandwidth)
divided into “pieces”
v link bandwidth, switch
capacity
v pieces allocated to calls
v resource piece idle if not
used by owning call
• dedicated resources: no
sharing
q circuit-like (guaranteed)
performance
q call setup and admission
control required
Introduction 1-6
Case study: Circuit Switching
Introduction 1-7
Network Core: Packet Switching
each end-end data stream congestion:
divided into packets q aggregate resource
q user A, B packets share demand can exceed
network resources amount available
q each packet uses full link q packets queue, wait for
bandwidth link use
q resources used as needed q store and forward:
packets move one hop
at a time
Bandwidth division into “pieces”
Dedicated allocation
Resource reservation
Introduction 1-8
Packet Switching: Statistical Multiplexing
10 Mb/s
A Ethernet statistical multiplexing C
1.5 Mb/s
B
queue of packets
waiting for output
link
D E
Introduction 1-9
Packet switching versus circuit switching
Packet switching allows more users to use network!
q N users over 1 Mb/s link
q each user:
v 100 kb/s when “active”
v active 10% of time
q circuit-switching:
v 10 users N users
q packet switching: 1 Mbps link
v with 35 users, probability
> 10 active less than .0004
v Allows more users to use
network Q: how did we get value 0.0004?
v “Statistical multiplexing
gain”
Introduction 1-10
Packet switching versus circuit switching
Is packet switching a “slam dunk winner?”
q Great for bursty data
v resource sharing
v simpler, no call setup
q Bad for applications with hard resource requirements
v Excessive congestion: packet delay and loss
v Need protocols for reliable data transfer, congestion control
v Applications must be written to handle congestion
Q: How to provide circuit-like behavior?
v bandwidth guarantees needed for audio/video apps
v still an unsolved problem
v Common practice: over-provision
Introduction 1-11
Problems with packet switching
Packet loss and queuing delay
packets queue in router buffers
q packet arrival rate to link exceeds output link capacity
q packets queue, wait for turn
q when packet arrives to full queue, packet is dropped (aka lost)
v lost packet may be retransmitted by previous node, by source end
system, or not retransmitted at all
packet being transmitted (delay)
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
Introduction 1-12
Case study: Packet Switching
Introduction 1-13
Why did the Internet win?
q Packet switching over circuit switching
q End-to-end principle and “Hourglass” design
q Layering of functionality
q Distributed design, decentralized control
q Superior organizational process
Introduction 1-14
End-to-end principle and
Hourglass design
Introduction 1-15
End-to-end principle
q J. H. Saltzer, D. P. Reed and D. D. Clark
“End-to-end arguments in system design”,
Transactions on Computer Systems, Vol. 2,
No. 4, 1984
q http://www.acm.org/pubs/citations/journal
s/tocs/1984-2-4/p277-saltzer/
Introduction 1-16
Hourglass design
q D. Clark, “The design philosophy of the
DARPA Internet”, SIGCOMM 1988, August
16 - 18, 1988.
http://www.acm.org/pubs/citations/proceedings/comm/52324/
p106-clark/
Introduction 1-17
End-to-end principle
q Where to put the functionality?
v In the network? At the edges?
Introduction 1-18
Hourglass design
q End-to-end principle leads to “Hourglass”
design of protocols
q Only one protocol at the Internet level
v Minimal required elements at narrowest point
q IP – Internet Protocol
v http://www.rfc-editor.org/rfc/rfc791.txt
v http://www.rfc-editor.org/rfc/rfc1812.txt
v Unreliable datagram service
v Addressing and connectionless connectivity
v Fragmentation and assembly
Introduction 1-19
Hourglass design
q Simplicity allowed fast deployment of multi-
vendor, multi-provider public network
v Ease of implementation
v Limited hardware requirements (important in 1970s)
• Is it relevant now with today’s semiconductor speeds?
v Eventual economies of scale
q Designed independently of hardware
v No link-layer specific functions
v Hardware addresses decoupled from IP addresses
v IP header contains no data/physical link specific
information
v Allows IP to run over any fabric
Introduction 1-20
Hourglass design
q Waist expands at transport layer
v Network layer = host to host communication
v Transport layer = application to application communication
q Two dominant services layered above IP
q TCP – Transmission Control Protocol
v Connection-oriented service
v http://www.rfc-editor.org/rfc/rfc793.txt
Introduction 1-21
Hourglass design
q TCP – Transmission Control Protocol
v Reliable, in-order byte-stream data transfer
• Acknowledgements and retransmissions
v Flow control
• Sender won’t overwhelm receiver
v Congestion control
• Senders won’t overwhelm network
q UDP – User Datagram Protocol
v Unreliable data transfer
v No flow control
v No congestion control
Introduction 1-22
Hourglass design
q What uses TCP?
v HTTP (Web), SMTP (E-mail transmission), IMAP, POP (E-
mail access)
q What uses (mainly) UDP?
v NTP (network time protocol), Highly interactive on-line
games (First-Person Shooters)
v Many protocols can use both
q Check out /etc/services on *nix or
C:\WIN*\system32\services
q IANA
v http://www.iana.org/assignments/port-numbers
Introduction 1-23
Hourglass design
q Question?
v Are TCP, UDP, and IP enough?
v What other functionality would applications
need?
Introduction 1-24
Hourglass design
q Security?
v IPsec/SSL/TLS
q Quality-of-service?
v RSVP, int-serv, diff-serv
Introduction 1-25
End-to-end principle and the
Hourglass design
q The good
v Basic network functionality allowed for
extremely quick adoption and deployment using
simple devices
q The bad
v New network features and functionality are
impossible to deploy, requiring widespread
adoption within the network
v IP Multicast, QoS
Introduction 1-26
Why did the Internet win?
q Packet switching over circuit switching
q End-to-end principle and “Hourglass” design
q Layering of functionality
q Distributed design, decentralized control
q Superior organizational process
Introduction 1-27
Layering
q Modular approach to network functionality
v Simplifies complex systems
• Each layer relies on services from layer below and
exports services to layer above
v Hides implementation
v Eases maintenance and updating of system
• Layer implementations can change without disturbing
other layers (black box)
Introduction 1-28
Layering
q Examples:
v Topology and physical configuration hidden by
network-layer routing
• Applications require no knowledge of routes
• New applications deployed without coordination with
network operators or operating system vendors
Application
Host-to-host connectivity
Link hardware
Introduction 1-29
Layering essential in Protocols
q Set of rules governing communication
between network elements (applications,
hosts, routers)
q Protocols specify:
v Interface to higher layers (API)
v Interface to peer
• Format and order of messages
• Actions taken on receipt of a message
Introduction 1-30
Layering: Internet protocols
q application: supporting network applications
v FTP, SMTP, HTTP
q transport: process-process data transfer
application
v TCP, UDP
q network: routing of datagrams from source transport
to destination
v IP network
q link: data transfer between neighboring
network elements link
v Ethernet, 802.11
q physical: bits “on the wire” physical
Introduction 1-31
source
message M application
Layers in action
segment Ht M transport
datagram Hn Ht M network
frame Hl Hn Ht M link
physical
Hl Hn Ht M link Hl Hn Ht M
physical
switch
destination Hn Ht M network Hn Ht M
M application Hl Hn Ht M link Hl Hn Ht M
Ht M transport physical
Hn Ht M network
Hl Hn Ht M link router
physical
Introduction 1-32
Why did the Internet win?
q Packet switching over circuit switching
q End-to-end principle and “Hourglass” design
q Layering of functionality
q Distributed design, decentralized control
q Superior organizational process
Introduction 1-33
Distributed design and control
q Requirements from DARPA
v Must survive a nuclear attack
q Reliability
v Intelligent aggregation of unreliable
components
v Alternate paths, adaptivity
q ISO/OSI
v Comparison to IETF left as an exercise
Introduction 1-35
Internet history
Introduction 1-36
Internet History
1961-1972: Early packet-switching principles
Introduction 1-37
Internet History
1972-1980: Internetworking, new and proprietary nets
q 1970’s: proprietary network Cerf and Kahn’s internetworking
architectures developed: principles:
DECnet, SNA, XNA v minimalism, autonomy - no
internal changes required
q 1974: Cerf and Kahn -
to interconnect networks
architecture for
v best effort service model
interconnecting networks
v stateless routers
q 1976: Ethernet at Xerox v decentralized control
PARC define today’s Internet
q 1979: ARPAnet has 200 nodes architecture
Introduction 1-38
Internet History
1980-1990: new protocols, a proliferation of networks
Introduction 1-40
Internet History
2007:
q ~500 million hosts
q Voice, Video over IP
q P2P applications: BitTorrent
(file sharing) Skype (VoIP),
PPLive (video)
q more applications: YouTube,
gaming
q wireless, mobility
Introduction 1-41