notes - Academic Csuohio
Download
Report
Transcript notes - Academic Csuohio
EEC-484/584
Computer Networks
Lecture 3
Wenbing Zhao
[email protected]
(Part of the slides are based on Drs. Kurose & Ross’s slides
for their Computer Networking book)
Outline
Protocol layers, reference models
Network standards
Internet history
Application layer
Principles of networked applications
4/10/2016
EEC-484/584: Computer Networks
Protocol “Layers”
Networks are complex!
many “pieces”:
hosts
routers
links of various media
applications
protocols
hardware, software
4/10/2016
Question:
Is there any hope of
organizing structure of
network?
Or at least our discussion of
networks?
EEC-484/584: Computer Networks
Organization of Air Travel
ticket (purchase)
ticket (complain)
baggage (check)
baggage (claim)
gates (load)
gates (unload)
runway takeoff
runway landing
airplane routing
airplane routing
airplane routing
4/10/2016
A series of steps
EEC-484/584: Computer Networks
Layering of Airline Functionality
ticket (purchase)
ticket (complain)
ticket
baggage (check)
baggage (claim)
baggage
gates (load)
gates (unload)
gate
runway (takeoff)
runway (land)
takeoff/landing
airplane routing
airplane routing
airplane routing
departure
airport
airplane routing
airplane routing
intermediate air-traffic
control centers
arrival
airport
Layers: each layer implements a service
4/10/2016
Via its own internal-layer actions
Relying on services provided by layer below
EEC-484/584: Computer Networks
Why Layering?
Dealing with complex systems:
Explicit structure allows identification, relationship
of complex system’s pieces
Layered reference model for discussion
Modularization eases maintenance, updating of
system
4/10/2016
Change of implementation of layer’s service
transparent to rest of system
E.g., change in gate procedure doesn’t affect rest of
system
EEC-484/584: Computer Networks
Internet Protocol Stack
Application: supporting network applications
Transport: process-process data transfer
IP, routing protocols
Link: data transfer between neighboring network
elements
Transport
TCP, UDP
Network: routing of datagrams from source to
destination
Application
HTTP, DNS, SMTP
PPP, Ethernet
Physical: bits “on the wire”
4/10/2016
EEC-484/584: Computer Networks
Network
Link
Physical
ISO/OSI Reference Model
Presentation: allow applications to
interpret meaning of data, e.g.,
encryption, compression, machinespecific conventions
Session: synchronization, checkpointing,
recovery of data exchange
Internet stack “missing” these layers!
these services, if needed, must be
implemented in application
Application
Presentation
Session
Transport
Network
Link
Physical
4/10/2016
EEC-484/584: Computer Networks
source
message
segment
M
Ht
M
datagram Hn Ht
M
frame Hl Hn Ht
M
Encapsulation
application
transport
network
link
physical
link
physical
switch
destination
M
Ht
M
Hn Ht
Hl Hn Ht
M
M
4/10/2016
application
transport
network
link
physical
Hn Ht
Hl Hn Ht
M
M
network
link
physical
Hn Ht
M
router
EEC-484/584: Computer Networks
Network Standardization
Why standard?
Only way to achieve interoperability
Standards also increase the market for products
adhering to them
Two kinds of standards
4/10/2016
De facto – from the fact (standards that just happened)
De jure – by law (formal, legal standards adopted by
authorized organization)
EEC-484/584: Computer Networks
Treaty Organization between Nations
United Nations
ITU - International Telecommunications Union
CCITT/ITU-T – telephone and data
communications
4/10/2016
EEC-484/584: Computer Networks
Voluntary, Nontreaty Organization
ISO (International Standards Organization)
issues standards on wide range of topics
200 TC (Technical Committees)
TC97 – computers and info processing
SC (Subcommittees)
WG (Working Groups)
ANSI (American National Standards Institute)
4/10/2016
EEC-484/584: Computer Networks
IEEE 802 Standards
4/10/2016
EEC-484/584: Computer Networks
Internet Standard Body
Internet Society (used to be Internet
Architecture Board)
Internet Research Task Force (IRTF)
Internet Engineering Task Force (IETF)
Concentrate on long term research
Deal with short term engineering issues
Standardization process
Proposed standard: request for comments (RFCs)
Draft standard: after >= 4 month test by >= 2 sites
Internet standard: if convinced the idea is sound
4/10/2016
EEC-484/584: Computer Networks
Internet History
1961-1972: Early packet-switching principles
1961: Kleinrock - queueing
theory shows effectiveness
of packet-switching
1964: Baran - packetswitching in military nets
1967: ARPAnet conceived
by Advanced Research
Projects Agency
1969: first ARPAnet node
operational
4/10/2016
1972:
ARPAnet public demonstration
NCP (Network Control Protocol)
first host-host protocol
first e-mail program
ARPAnet has 15 nodes
EEC-484/584: Computer Networks
Internet History
1972-1980: Internetworking, new and proprietary nets
1970: ALOHAnet satellite
network in Hawaii
1974: Cerf and Kahn architecture for interconnecting
networks
1976: Ethernet at Xerox PARC
late70’s: proprietary
architectures: DECnet, SNA,
XNA
late 70’s: switching fixed length
packets (ATM precursor)
1979: ARPAnet has 200 nodes
4/10/2016
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
EEC-484/584: Computer Networks
Internet History
1980-1990: new protocols, a proliferation of networks
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
4/10/2016
New national networks:
Csnet, BITnet, NSFnet,
Minitel
100,000 hosts connected to
confederation of networks
EEC-484/584: Computer Networks
Internet History
1990, 2000’s: commercialization, the Web, new apps
Early 1990’s: ARPAnet
Late 1990’s – 2000’s:
decommissioned
More killer apps: instant
1991: NSF lifts restrictions on
messaging, P2P file sharing
commercial use of NSFnet
Network security to forefront
(decommissioned, 1995)
Est. 50 million host, 100
Early 1990s: Web
million+ users
Hypertext [Bush 1945, Nelson
Backbone links running at
1960’s]
Gbps
HTML, HTTP: Berners-Lee
1994: Mosaic, later Netscape
Late 1990’s: commercialization
of the Web
4/10/2016
EEC-484/584: Computer Networks
Internet History
2007:
~500 million hosts
Voice, Video over IP
P2P applications: BitTorrent (file sharing), Skype (VoIP),
PPLive (video)
More applications: youtube, gaming
Wireless, mobility
4/10/2016
EEC-484/584: Computer Networks
Introduction: Summary
Covered a “ton” of material!
Internet overview
What’s a protocol?
Network edge, core, access
network
Packet-switching versus
circuit-switching
Internet structure
Performance: loss, delay,
throughput
Layering, reference models
Networking standards
History
4/10/2016
You now have:
Context, overview, “feel”
of networking
More depth, detail to
follow!
EEC-484/584: Computer Networks
Application Layer Protocols
Principles of networked applications
Client server model
Sockets
Addressing
Protocol
What do we need from transport layer?
4/10/2016
EEC-484/584: Computer Networks
Wenbing Zhao
Creating a Network Application
Write programs that
run on different end
systems and
communicate over a
network
application
transport
network
data link
physical
No need to write code
for devices in subnet
Subnet devices do not run
user application code
application on end systems
allows for rapid app
development, propagation
4/10/2016
application
transport
network
data link
physical
EEC-484/584: Computer Networks
application
transport
network
data link
physical
Wenbing Zhao
Inter-Process Communications
Process: program
running within a host
Processes in different
hosts communicate by
exchanging messages
Client process: process
that initiates
communication
Server process:
process that waits to be
contacted
More accurately, client and server should be regarded
as the roles played by a process. A process can be
both a client and a server
4/10/2016
EEC-484/584: Computer Networks
Wenbing Zhao
Sockets
Process sends/receives
messages to/from its socket
For each point-to-point
connection, there are two
sockets, one on each side
API (Application
Programming Interface): (1)
choice of transport protocol;
(2) ability to fix a few
parameters
4/10/2016
host or
server
host or
server
Controlled by
app developer
process
process
socket
socket
TCP with
buffers,
variables
Internet
TCP with
buffers,
variables
Controlled
by OS
EEC-484/584: Computer Networks
Wenbing Zhao
Addressing
To receive messages, a process must have an
identifier
Each host device has a unique 32-bit IP address
Question: Does the IP address of the host on which
the process runs suffice for identifying the process?
4/10/2016
EEC-484/584: Computer Networks
Wenbing Zhao
Addressing
Identifier includes both IP address and port
numbers (16-bit) associated with process on host
Example port numbers:
HTTP server: 80
SSH server: 22
To send HTTP request to academic.csuohio.edu
Web server:
4/10/2016
IP address: 137.148.49.46
Port number: 80
EEC-484/584: Computer Networks
Wenbing Zhao
Application Layer Protocol Defines
Types of messages exchanged
Message syntax
what fields in messages & how
fields are delineated
Message semantics
e.g., request, response
meaning of information in fields
Public-domain protocols:
defined in RFCs
allows for interoperability
e.g., HTTP, SMTP
Proprietary protocols:
e.g., KaZaA
Rules for when and how processes
send & respond to messages
4/10/2016
EEC-484/584: Computer Networks
Wenbing Zhao
What Transport Service Does an Application
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”
4/10/2016
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
EEC-484/584: Computer Networks
Wenbing Zhao
Exercise
A system has an n-layer protocol hierarchy.
Applications generate messages of length M
bytes. At each of the layers, an h-byte header
is added. What fraction of the network
bandwidth is filled with headers?
4/10/2016
EEC-484/584: Computer Networks