Applications and Layered Architecture

advertisement
Applications and layered architectures
• Various services: various applications require
various services
• Flexibility: powerful networks need to be
flexible enough to support the current services
and future services
• Architectures: an overall network architecture
is necessary to achieve the flexibility
1
Layered architectures
• Layers: grouping the common functions
• Benefits of layers:
– Simplicity: easy to design once layers and their
interaction are defined clearly
– Flexibility: easy to modify and develop
networks by separate layers modifications
– Incremental changes: add new layers, add new
functions to a layer
2
Three obvious tasks (layers)
• Transport of data across the network from
one end to the other
• Routing/forwarding of packets across
multiple hops
• Transfer of a frame from one interface to
another (i.e., one hop).
3
Big picture of layered architectures
•
•
•
•
Web browsing and e-mail examples
OSI reference model (Seven layers)
TCP/IP architecture
Detailed end-to-end examples to complete
big picture of layered architectures
• Socket API and other utilities
4
Terminology
• Client/Server model: the most typical interaction between
two parties within networks
• Client: the process making requests
• Server (Daemon): the process waiting and receiving
requests, processing the requests and returning results
• Protocols: a set of rules governing how two
communicating parties are to interact.
• Service: a protocol will provide a service
• Layers’ protocols: each layer carries out a specific set of
functions using its own protocol, and builds on the services
of the layer below it (provides a service to its upper layer).
5
Example—HTTP and Web Browsing
• HTTP: HyperText Transfer Protocol
– Rules by which the (HTTP) client and server
interact so as to retrieve a document and how
the request and response are phased
– Client sets up a two-way connection before
request
– Client generally carries out DNS (Domain
Name Service) to find IP address of server
6
Retrieve a document from the Web
•
•
•
•
Event
User selects a document
HTTP Client locates the
server host and sets up a two
way connection
HTTP client sends message
requesting document
HTTP server listing on TCP
port 80 interprets message
Message content
Get /infocom/index.htm HTTP/1.0
7
Retrieve a document from the Web (cont.)
Event
• HTTP server sends a result code
and a description of information
that the client will receive
•
HTTP server reads the requested
file and sends the file through TCP
port
• HTTP server disconnects the
connection
• Text is displayed by the client
browser, which interprets HTML
Message content
HTTP/1.1 200 OK
Server: Apache/1.2/5 FrontPage 3.0.4
Content-Length: 414
Content-Type: text/html
<html>
<head>
<title>IEEE Infocom’99—The future is
Now …
8
HTTP client/server interaction
Request
HTTP
client
HTTP
server
Response
9
Figure 2.1
HTT
P
client
HTTP
server
Ephemeral
Port #
Port 80
GET
80, #
TCP
TCP
#, 80
STATUS
•TCP provides a pipe between HTTP client and HTTP server
•Transfer of message between HTTP client/server is virtual, indirect
•HTTP is said to use the service provided by TCP (lower layer)10
Figure 2.2
Example—DNS query
• DNS—Domain Name Service
• Domain nameIP address
– such as cs.iupui.edu134.68.140.1
• It is a distributed database system on
multiple machines, each of which can act as
a DNS server that other systems can query
• May recursively query to resolve an IP
address
11
DNS query and response
Event
1.Application requests name to address
translation
2. Resolver composes query message
3. Resolver sends datagram encapsulating
the query
4. DNS server looks up address and
prepares response
Message content
Header: OPCODE=SQUERY
Question:
QNAME=cs.iupui.edu., QCLASS=IN,
QTYPE=A
Header: OPCODE=SQUERY,RESPONSE AA
Question: QNAME=cs.iupui.edu.,
QCLASS=IN,QTYPE=A
Answer: cs.iupui.edu. 86400 IN A134.68.140.1
5. DNS sends UDP datagram encapsulating
the response message
12
DNS
client
DNS
server
Ephemeral
Port #
Port 53
Query
53, #
UDP
UDP
#, 53
STATUS
•UDP provides a pipe between DNS client and DNS server
•Transfer of message between DNS client/server is virtual, indirect
•DNS is said to use the service provided by UDP (lower layer)
13
•UDP is connectionless, so no connection between client/server Figure 2.2
Email: Client and Servers
Servers: POP3: Post Office Protocol, port #110
or IMAP: Internet Mail Access Protocol, port #143
SMTP: Simple Main Transfer Protocol, port #25
Client: MS outlook (express) or pine or elm,,…
The picture copied from http://www.howstuffworks.com/email.htm
14
Layered structures
HTTP, DNS, EMAIL
||
TCP/UDP
||
IP
15
Unified view of layers, protocols, and services
• Various layers: a layer groups a set of relevant functions
• Peer processes (entities): the two corresponding communicating
processes (entities) in a layer
• Protocol: rules governing the behavior of two peer entities in that layer
• Services: the functionality provided by a layer
• Protocol Data Unit (PDU): the data exchanged between peer entities
• Header: protocol control/address information in a PDU
• Service Data Unit (SDU): actual user information in a PDU
• PDU =Header + SDU, PDUn+1 = SDUn
• Service Access Point (SAP): a place (unique identifier, software port)
of layer n where layer n+1 can access the services offered by layer n
16
Peer-to-peer communication
n-PDUs
n
n
entity
entity
PDU = Header + SDU
17
Figure 2.3
Layer services
n+1
entity
n-SAP
n+1
entity
n+1-PDU
n-SDU
n+1-PDU
n-SDU
n-SDU
H
n entity
H
n-SAP
n-SDU
n entity
n-PDU
•n+1-PDU is passed to layer n through n-SAP
•n-SDU (n+1-PDU) is encapsulated, layer n does not touch it (usually)
•Layer n+1 just relies on the success of transfer by layer n, but does
not
18
Figure 2.2
concern the implementation of layer n
Services: connection-oriented &
connectionless services
• a service provided by layer n involves:
– Accepting n+1-PDU from layer n+1
– Transferring to its peer
– The peer delivers to the user at layer n+1
• Connection-oriented service:
– 1. Set up a connection between two n-SAPs,
– 2. Transferring n-PDUs using layer n protocol,
– 3. Tear down the connection and release resources
• Connectionless service:
– no set up, each PDU is transferred directly from SAP to SAP;
control information from layer n+1 to layer n must contain all the
address information required to transfer the PDUs
• Example: http.
19
Confirmed & unconfirmed service
• Confirmed service: the sender must be informed
of the outcome.
• Unconfirmed service: the sender need not to be
informed of the outcome.
Example: connection setup is a confirmed service.
The connectionless service may be confirmed or
unconfirmed depending whether sender requires
acknowledgment.
QUESTION? Does it make sense for a network to provide a
confirmed, connectionless transfer service?
20
Segmentation and blocking
• Different networks may have different limitation
on the size of a block of information.
• MTU: Maximum Transfer Unit
• Segmentation: if the size of block information is
too large, need to break into several segments and
transfer them separately.
• Blocking: if SDUs are too small as to result in
inefficiency, then combine several SDUs into a
single SDU.
21
(a)
n-PDU
(b)
Segmentation
Reassembly
n-SDU
n-SDU
n-PDU
n-PDU
n-PDU
Blocking
n-SDU
n-SDU
n-PDU
n-PDU
n-PDU
Unblocking
n-SDU
n-SDU
n-SDU
n-SDU
n-PDU
Segmentation/reassembly and blocking/unblocking
22
Figure 2.5
Application A
Application B
Application
Layer
Application
Layer
Presentation
Layer
Presentation
Layer
Session
Layer
Session
Layer
Transport
Layer
Communication Network
Transport
Layer
Network
Layer
Network
Layer
Network
Layer
Network
Layer
Data Link
Layer
Data Link
Layer
Data Link
Layer
Data Link
Layer
Physical
Layer
Physical
Layer
Physical
Layer
Physical
Layer
Electrical and/or Optical Signals
The OSI reference model (proposed by ISO)
23
Figure 2.6
OSI reference model—seven layers
• All applications are built on the top of the seven
layers, specifically, on the top of the application
layer.
• The top 4 layers are end-to-end and involves the
interaction of peer entities across the network,
however, the bottom 3 layers are point-to-point
and involve the interaction of peer entities across a
single hop.
24
OSI reference model— layer 7 and 6
• Application layer:
– provides services that are frequently required by applications. e.g.,
WWW applications (browser and web server) are built on HTTP
layer.
• Presentation layer:
– provides application layer with independence from difference in the
representation of data.
– For example, application A uses machine-dependent data format
DFA and application B uses machine-dependent format DFB, then
at end A, the representation layer will convert the data in DFA to
machine-independent data, then when data arrive at end B, the
representation layer will convert the machine-independent data
into format DFB. DFA  machine-independent DFB.
– Different codes for characters and integers, 1th bit or last bit as
most significant bit.
25
OSI reference model— layer 5
• Session layer: provides dialog control and enhances the
reliable transfer service provided by transport layer.
– it establishes and terminates connections between SS-users and
synchronizes the data exchange between them.
– it performs various negotiations for the use of session layer tokens,
which the SS-user must possess to begin communicating.
– it inserts synchronization points in transmitted data that allow the
session to be recovered in the event of errors or interruptions.
– it enables SS-users to interrupt a session and resume it later at a
specific point.
26
OSI reference model— layer 4
• Transport layer: end-to-end transfer of message from the source
machine to the destination machine.
– Only being executed at end computer systems.
– Certain end-to-end services:
• Connection-oriented:
– Error-free transfer of byte stream
– Error detection and recovery
– Sequence and flow control.
• Unconfirmed connection-less:
– Transfer of individual messages
– Provides appropriate address information
27
OSI reference model— layer 4 (cont.)
• Transport layer
– Segmentation/reassembly and
blocking/unblocking
– Possibly setting up and releasing connections
– Possibly multiplexing multiple transport layer
connections into one network connection
– Possibly split one transport layer connection
into several network connections
– Accessing transport layer by socket interface
28
Connection-oriented VS. Connectionless
Connection-oriented
Connectionless
Maintain state information
about every connection
No knowledge of the
"connection"
Allocate resources to
connections at switches
No resource allocation
Admission control
No admission control
Per connection routing
Per packet routing
Reliable and in-order delivery Robust but out of order,
duplicate, delay, even lost in
delivery
29
Connection-oriented VS. Connectionless (cont.)
Connection-oriented
Connectionless
Route packet based on identifier
(connection ID in every packet)
Route packet based on destination
address, which is in every packet
Forwarding table specifies the
output port and outgoing identifier
value as function of the
incoming identifier value
Routing table specifies the output
port depending on the destination
address
Forwarding table set up by
signaling during connection
Router executes distributed
algorithm to share network state
information and dynamically
calculate the routing table
establishment.
Connection must be re-established
in cases of failure
Packets are rerouted around
failures, robust against
failures
30
OSI reference model— layer 3
•
Network layer: provides the transfer of data in
the form of packets across the communication
networks.
– Routing (which makes this layer most complex)
– Congestion control
– Internet sub-layer: routing between the different
networks, hiding the details of each specific network
such as address differences, size and format
differences
– Being implemented at each intermediate node
31
PS = packet switch
C
PS
C
C = computer
PS
PS
PS
C
C
C
A packet-switching network using a uniform routing procedure
32
Figure 2.7
The networks may be quite different.
A gateway/router may connect several networks.
G = gateway/router
net 3
G
net 1
G
G
G
net 2
net 5
G
net 4
G
An internetwork
33
Figure 2.8
Switches/routers/gateways
• Circuit switch, used in telephone networks
• Packet switch/router/gateway:
– Generally consider them as the same meaning
– Packet switch deals with a uniform routing procedure,
within one homogenous network, one pair of data link
and physical layer
– Router/gateway deals with routing in multiple
heterogeneous networks, more than one pair of data
link and physical layers
– Gateway sometime contains firewall function
34
Switches/routers/gateways (cont.)
• Mainly from the point of software, i.e.,
containing functions of lower three layers
• Of course, there are some requirements for
hardware such as speed, disk, memory,
multiple interfaces.
• Bridge: used to connect multiple similar
LANs.
35
OSI reference model— layer 2
• Data link layer: provides the transfer of frames
across a transmission link that directly connects
two nodes
–
–
–
–
–
Point-to-point transfer
Framing to indicate the boundaries of frames
Inserting control and physical address information
Inserting check bits for recovering from error
Flow control (in point-to-point basis)
• Links: point-to-point, shared media,wireless
36
point-to-point link
transceivers
  
 

Shared media link
37
Figure 1.17
Wireless link
BSS
BSS
MSC
HLR
VLR
EIR
AC
AC = authentication center
BSS = base station subsystem
EIR = equipment identity register
HLR = home location register
STP
PSTN
MSC
PSTN
STP
VLR
SS#7
wireline
terminal
= mobile switching center
= public switched telephone network
= signal transfer point
= visitor location register
38
Figure 4.52
OSI reference model— layer 1
• Physical layer: deals with the transfer of
bits over a communication channel.
– Setting up and release of physical connection
– Mechanical factors
– Systems parameters
• Again, each intermediate node in the
networks has the network layer, data link
layer and physical layer
39
Transfer of what across what in each layer
Transport layer: transfer of messages from end (source) to end (destination
Network layer:transfer of packets across multiple networks.
Data link layer: transfer of frames
Physical layer: transfer of bits
across a transmission link.
over
a communication channel.
The intermediate node (or router) has low three layers.
The end node has high four layers + low three layers.
40
Headers and trailers added to data
Application A
data
Application
Layer
data
Transport
Layer
data
Network
Layer
Physical
Layer
data
dt
Presentation
Layer
ph
data
Session
Layer
Application
Layer
ah
data
Presentation
Layer
Data Link
Layer
Application B
data
bits
sh
Session
Layer
th
Transport
Layer
Network
Layer
nh
dh
Data Link
Layer
Physical
Layer
41
Figure 2.9
Download