Upload
isabella-moore
View
214
Download
2
Embed Size (px)
Citation preview
1: Introduction 1
Internet History
1961: Kleinrock - queueing theory shows effectiveness of packet-switching
1964: Baran - packet-switching in military nets
1967: ARPAnet conceived by Advanced Reearch Projects Agency
1969: first ARPAnet node operational
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
1: Introduction 2
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
1: Introduction 3
Internet History
1983: deployment of TCP/IP
1982: smtp e-mail protocol defined
1983: DNS defined for name-to-IP-address translation
1985: ftp protocol defined
1988: TCP congestion control
new national networks: Csnet, BITnet, NSFnet, Minitel
100,000 hosts connected to confederation of networks
1980-1990: new protocols, a proliferation of networks
1: Introduction 4
Internet History
Early 1990’s: ARPAnet decomissioned
1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995)
early 1990s: WWW hypertext [Bush 1945,
Nelson 1960’s] HTML, http: Berners-Lee 1994: Mosaic, later
Netscape late 1990’s:
commercialization of the WWW
Late 1990’s: est. 50 million
computers on Internet est. 100 million+
users backbone links
runnning at 1 Gbps
1990’s: commercialization, the WWW
1: Introduction 5
ATM: Asynchronous Transfer Mode nets
Internet: today’s de facto
standard for global data networking
1980’s: telco’s develop ATM:
competing network standard for carrying high-speed voice/data
standards bodies: ATM Forum ITU
ATM principles: small (48 byte payload, 5
byte header) fixed length cells (like packets) fast switching small size good for voice
virtual-circuit network: switches maintain state for each “call”
well-defined interface between “network” and “user” (think of telephone company)
1: Introduction 6
ATM layers
ATM Adaptation Layer (AAL): interface to upper layers end-system segmentation/
reassembly ATM Layer: cell
switching Physical
AALATM
physical
AALATM
physical
AALATM
physical
AALATM
physical
ATMphysical
Where’s the application? ATM: lower layer functionality only IP-over ATM: later
applicationTCP/UDP
IP
applicationTCP/UDP
IP
applicationTCP/UDP
IP
applicationTCP/UDP
IP
1: Introduction 7
Summary on IntroductionCovered a “ton” of
material! Internet overview what’s a protocol? network edge, core,
access network performance: loss,
delay layering and service
models backbones, NAPs, ISPs history ATM network
You now hopefully have:
context, overview, “feel” of networking
more depth, detail later in course
1: Introduction 8
Application LayerGoals: conceptual +
implementation aspects of network application protocols client server
paradigm service models
learn about protocols by examining popular application-level protocols
More goals specific protocols:
http ftp smtp pop dns
programming network applications socket programming
1: Introduction 9
Applications and application-layer protocols
Application: communicating, distributed processes running in network hosts
in “user space” exchange messages to
implement app e.g., email, file transfer,
the WebApplication-layer protocols
one “piece” of an app define messages
exchanged by apps and actions taken
user services provided by lower layer protocols
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1: Introduction 10
Client-server paradigm
Typical network app has two pieces: client and server
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
Client: initiates contact with server
(“speaks first”) typically requests service
from server, e.g.: request WWW page,
send emailServer: provides requested service
to client e.g., sends requested WWW
page, receives/stores received email
request
reply
1: Introduction 11
Application-layer protocols (cont).
API: application programming interface
defines interface between application and transport layer
socket: Internet API two processes
communicate by sending data into socket, reading data out of socket
Q: how does a process “identify” the other process with which it wants to communicate? IP address of host
running other process “port number” -
allows receiving host to determine to which local process the message should be delivered
… lots more on this later.
1: Introduction 12
What transport service does an app need?Data loss some apps (e.g., audio) can
tolerate some loss other apps (e.g., file
transfer, telnet) require 100% reliable data transfer Timing
some apps (e.g., Internet telephony, interactive games) require low delay to be “effective”
Bandwidth some apps (e.g., multimedia)
require minimum amount of bandwidth to be “effective”
other apps (“elastic apps”) make use of whatever bandwidth they get
1: Introduction 13
Transport service requirements of common apps
Application
file transfere-mail
Web documentsreal-time audio/video
stored audio/videointeractive games
financial apps
Data loss
no lossno lossno lossloss-tolerant
loss-tolerantloss-tolerantno loss
Bandwidth
elasticelasticelasticaudio: 5Kb-1Mbvideo:10Kb-5Mbsame as above few Kbps upelastic
Time Sensitive
nononoyes, 100’s msec
yes, few secsyes, 100’s msecyes and no
1: Introduction 14
Internet apps: their protocols and transport protocols
Application
e-mailremote terminal access
Web file transfer
streaming multimedia
remote file serverInternet telephony
Applicationlayer protocol
smtp [RFC 821]telnet [RFC 854]http [RFC 2068]ftp [RFC 959]proprietary(e.g. RealNetworks)NSFproprietary(e.g., Vocaltec)
Underlyingtransport protocol
TCPTCPTCPTCPTCP or UDP
TCP or UDPtypically UDP