EEC 484/584 - Academic Server

Download Report

Transcript EEC 484/584 - Academic Server

EEC-484/584
Computer Networks
Lecture 3
Wenbing Zhao
(Part of the slides are based on Drs. Kurose & Ross’s slides
for their Computer Networking book)
1
Outline




Protocol layers, reference models
Network standards
Internet history
Application layer

Principles of networked applications
3/21/2017
EEC-484/584: Computer Networks
2
Protocol “Layers”
Networks are complex!

many “pieces”:
 hosts
 routers
 links of various media
 applications
 protocols
 hardware, software
3/21/2017
Question:
Is there any hope of
organizing structure of
network?
Or at least our discussion of
networks?
EEC-484/584: Computer Networks
3
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

3/21/2017
A series of steps
EEC-484/584: Computer Networks
4
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


3/21/2017
Via its own internal-layer actions
Relying on services provided by layer below
EEC-484/584: Computer Networks
5
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


3/21/2017
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
6
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
Network
Link
Physical
Physical: bits “on the wire”
3/21/2017
EEC-484/584: Computer Networks
7
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
3/21/2017
EEC-484/584: Computer Networks
8
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
3/21/2017
application
transport
network
link
physical
Hn Ht
Hl Hn Ht
M
M
network
link
physical
Hn Ht
M
router
EEC-484/584: Computer Networks
9
Network Standardization

Why standard?



Only way to achieve interoperability
Standards also increase the market for products
adhering to them
Two kinds of standards


3/21/2017
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
10
Treaty Organization between Nations
United Nations
ITU - International Telecommunications Union
CCITT/ITU-T – telephone and data
communications
3/21/2017
EEC-484/584: Computer Networks
11
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)
3/21/2017
EEC-484/584: Computer Networks
12
IEEE 802 Standards
3/21/2017
EEC-484/584: Computer Networks
13
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
3/21/2017
EEC-484/584: Computer Networks
14
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
3/21/2017

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
15
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
3/21/2017
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
16
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
3/21/2017


New national networks:
Csnet, BITnet, NSFnet,
Minitel
100,000 hosts connected to
confederation of networks
EEC-484/584: Computer Networks
17
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
3/21/2017
EEC-484/584: Computer Networks
18
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
3/21/2017
EEC-484/584: Computer Networks
19
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
3/21/2017
You now have:
 Context, overview, “feel”
of networking
 More depth, detail to
follow!
EEC-484/584: Computer Networks
20
Application Layer Protocols

Principles of networked applications





Client server model
Sockets
Addressing
Protocol
What do we need from transport layer?
3/21/2017
EEC-484/584: Computer Networks
21
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
3/21/2017
application
transport
network
data link
physical
EEC-484/584: Computer Networks
application
transport
network
data link
physical
22
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
3/21/2017
EEC-484/584: Computer Networks
23
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
3/21/2017
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
24
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?
3/21/2017
EEC-484/584: Computer Networks
25
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:


3/21/2017
IP address: 137.148.49.46
Port number: 80
EEC-484/584: Computer Networks
26
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
3/21/2017
EEC-484/584: Computer Networks
27
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”
3/21/2017
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
28
Wenbing Zhao
Homework#1 problem1

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?
3/21/2017
EEC-484/584: Computer Networks
29