1 minseok kwon department of computer science rochester institute of technology [email protected] jmk...
TRANSCRIPT
1
Minseok Kwon
Department of Computer ScienceRochester Institute of Technology
http://www.cs.rit.edu/~jmk
Week 1: Internet Week 1: Internet ArchitectureArchitecture
2
Internet Architecture• What made the Internet THE WINNER?
• Packet switching• Hourglass design• End-to-end argument• Layered structure• Distributed control• Superior organizational process
3
The Network Core• What is the networks?
• Mesh of interconnected routers
• How is data transferred through net?• Circuit switching:
dedicated circuit per call, e.g., telephone net
• Packet-switching: data sent thru net in discrete “chunks”, e.g., data net
4
Circuit Switching
• End-to-end resources are reserved for call.• Link bandwidth,
switch capacity• Dedicated
resources: no sharing
• Circuit-like performance (guaranteed)
• Call setup required
5
Packet Switching
Each end-end data stream divided into packets
• User A, B packets share network resources
• Each packet uses full link bandwidth
• Resources used as needed
Resource contention: • Aggregate resource
demand can exceed amount available
• Congestion: packets queue, wait for link use
• Store and forward: packets move one hop at a timeBandwidth division into
“pieces”Dedicated allocationResource reservation
6
Packet Switching
A
B
C10 Mb/sEthernet
1.5 Mb/s
D E
statistical multiplexing
queue of packetswaiting for output
link
7
Circuit or Packet?• Which one you like between circuit-
switching and packet-switching?
• Which one is simpler?
• Which one is good for bursty traffic?
• Which one is good for real-time traffic?
8
Routing and Forwarding
• Goal: move packets through routers from source to destination
• Datagram network: • Destination address in packet determines
next hop• Routes may change during session
• Virtual circuit network: • Each packet carries tag (virtual circuit ID),
tag determines next hop• Fixed path determined at call setup time,
remains fixed thru call• Routers maintain per-call state
9
Hourglass Design
10
Hourglass Design
Intelligence
IP (Internet Protocol)
Unreliable datagram serviceAddressing and connectionlessFragmentation and Reassembly
• Phone network: dumb edge device, intelligent network
11
Hourglass Design• Why is the hourglass design good?
• How about with multi-vendor, multi-provider public network?
• Is this independent of hardware?
• Which layer in fact provides reliable data transfer?
12
Hourglass Design• Which application protocols use TCP?
• HTTP, FTP, Telnet, SMTP, NNTP, BGP, IMAP, POP
• Which uses (mainly) UDP?• SNMP, NTP, NFS, RTP, DNS
• Streaming media, IP telephony, teleconferencing
• More questions• Are these enough?
• How can we provide more sophisticated services such as security, quality-of-service, controlling greedy sources, accounting and pricing?
• We have IPSec, DiffServ, SCTP, etc.
13
The End-to-End Argument
• Adding checks during transit may make the system complex, error-prone, or uneconomical.
• In contrast, what about end-to-end checks and retry?• Use checksums at the application level.
• Suppose that node A sends a file to node B. • One concern is the file may be corrupted during this file
transfer.• Where should we check errors, in the network or at the
edge?A B
14
The End-to-End Argument• Application knows best!• The communication subsystems need to be
reliable within reason, but should not provide these “application” features.
• Example: delivery guarantees, data encryption, duplicate suppression
• Reliability versus performance?
15
The End-to-End Argument
16
Layered Structure• Networks are complex!• Is there any hope of organizing structure of
network?
• The answer is layering!• Why layering?
• Effective to deal with complex systems.• Explicit structure allows identification, relationship of
complex system’s pieces.• Modularization eases maintenance, updating of
system.
• Each layer relies on services from layer below and exports services to layer above.
17
Example: Air Travel Organization
ticket (purchase)
baggage (check)
gates (load)
runway takeoff
airplane routing
ticket (complain)
baggage (claim)
gates (unload)
runway landing
airplane routing
airplane routing
Is there a way to organize structure of network?
18
Internet Protocol Stack
• Application: supporting network applications
• Transport: host-host data transfer
• Network: routing of datagrams from source to destination
• Link: data transfer between neighboring network elements
• Physical: bits “on the wire”
application
transport
network
link
physical
19
Data Communication
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
data
data
20
Protocol Layering and Data
Each layer takes data from above• Adds header information to create new data unit• Passes new data unit to layer below
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
source destination
M
M
M
M
Ht
HtHn
HtHnHl
M
M
M
M
Ht
HtHn
HtHnHl
message
segment
frame
21
Distributed Control• Requirements from DARPA
• Must survive a nuclear attack
• Reliability• Intelligent aggregation of unreliable components• Alternate paths, adaptivity• Distributed management & control of networks
• Exceptions• DNS: Top Level Domain (TLD) server• IP address assignment (ICANN)
22
Superior Organizational Process• IAB/IETF process allowed for quick
specification, implementation, and deployment of new standards• Rough consensus and removing features• Free and easy download of standards• 2 interoperable implementations• Bake-offs• http://www.ietf.org/
• How about ISO/OSI compared to IAB/IETF?
23
Internet History: Starring
Vint Cerf
Robert Kahn
Leonard Kleinrock
Lawrence Roberts
“Where Wizards Stay Up Late: The Origins of the Internet ,”K. Hafner, M. Lyon, Simon & Schuster.
24
Internet History
• 1961: Kleinrock - queueing theory shows effectiveness of packet-switching
• 1964: Baran - packet-switching in military nets
• 1967: ARPAnet conceived by Advanced Research Projects Agency
• 1969: First ARPAnet node operational (UCLA, UCSB, Utah, SRI)
• 1972: • ARPAnet
demonstrated publicly• NCP (Network Control
Protocol) first host-host protocol
• First e-mail program• ARPAnet has 15 nodes
1961-1972: Early packet-switching principles
25
ARPANET• ARPANET -- L. Roberts (1966)
• Galactic computer network + packet switching• DARPA program manager
• Structure and specification (August 1968)• Kahn at BBN updates ARPANET design
• Run over any fabric (separation of hardware and network addresses)
• Support for multiple independent networks
• First node UCLA (Sept. 1969)• 4 node ARPANET (Dec. 1969) SRI, UCSB, Utah • Initial hostname/address database (flat file: hosts.txt)
26
RFCs• 1969: Crocker establishes RFC series of notes
• Official protocol documentation• Printed on paper and snail mailed at first• Then available via ftp and now http• Open and free access to RFCs mandated• Effective, positive feedback loop• Key to quick development process (“time-to-market”)• Has changed considerably as of late...
• Jon Postel: RFC editor and protocol number assignment
27
E-mail• BBN’s Tomlinson (Mar. 1972)
• Time-shared systems at the time allow users to leave messages for each other
• Extended to remote systems• Writes first e-mail application to send and read• Infamous “@” used
28
Internet History
• 1970: ALOHAnet satellite network in Hawaii
• 1973: Metcalfe’s PhD thesis proposes Ethernet
• 1974: Cerf and Kahn - architecture for interconnecting networks
• late70’s: proprietary architectures: DECnet, SNA, XNA
• late 70’s: switching fixed length packets (ATM precursor)
• 1979: ARPAnet has 200 nodes
Cerf and Kahn’s internetworking principles:• minimalism, autonomy
- no internal changes required to interconnect networks
• best effort service model
• stateless routers• decentralized control
Define today’s Internet architecture
1972-1980: Internetworking, new and proprietary nets
29
Meanwhile …• Other non-interoperable networks from jealous
government agencies and companies• DOE: MFENet (Magnetic Fusion Energy scientists)• DOE: HEPNet (High Energy Physicists)• NASA: SPAN (Space physicists)• NSF: CSNET (CS community)• NSF: NSFNet (Academic community) 1985• AT&T: USENET with Unix, UUCP protocols• Academic networks: BITNET (Mainframe connectivity)• Xerox: XNS (Xerox Network System)• IBM: SNA (System Network Architecture)• Digital: DECNet• UK: JANET (Academic community in UK) 1984
30
Internet History
• Early 1990’s: ARPAnet decommissioned
• 1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995)
• early 1990s: Web• hypertext [Bush 1945,
Nelson 1960’s]• HTML, HTTP: Berners-Lee• 1994: Mosaic, later
Netscape• late 1990’s:
commercialization of the Web
Late 1990’s – 2000’s:• More killer apps: instant
messaging, P2P file sharing• Network security to forefront• Est. 50 million host, 100
million+ users• Backbone links running at
Gbps
1990, 2000’s: commercialization, the Web, new apps
31
TCP/IP software proliferation• Widespread dispersal leads to critical mass• Case study: Berkeley Unix
• Unix TCP/IP available at no cost (DoD)• Incorporates BBN TCP/IP implementation• Large-scale dissemination of code base• Eventual economies of scale
32
WWW• CERN (European Organization for Nuclear Research)
• Berners-Lee, Caillau work on WWW (1989)
• First WWW client (browser-editor running under NeXTStep)
• Defines URLs, HTTP, and HTML
• Berners-Lee goes to MIT and LCS to start W3C• Responsible for evolving protocols and standards for the web
• NCSA (National Center for Supercomputing Applications)• Federally funded research center at UIUC• Andreessen: Mosaic and eventually Netscape (1994)
33
Internet Growth
34
Growing Pains• Explosion of networks
• Routing initially flat, each node runs the same distributed routing algorithm
• Moved to hierarchical model to match commercial reality (IGP, EGP)
• Address depletion, Classless addressing (CIDR)
• Congestion• Network “brown-outs”, congestion collapse• Add congestion control to TCP protocol, not IP
• Security• Viruses, worms, denial-of-service attacks• Privacy, authentication, and many more.
35
Acknowledgements• Many parts of this lecture are taken from course slides
by Kurose/Ross and course slides by Wu-chang Feng.