Architectures

Download Report

Transcript Architectures

The Application
Layer
Networks : 13:00 to 16:00
W1.01
Arron Martin Zeus Brown
1
OSI or TCP/IP
2
OSI (Open Systems Interconnection)
model
3
TCP/IP Model
4
Application Layer

Top of stack


works for user programs
provides services

e.g. NFS, remote command execution, user
authentication

architecture neutral

additonal - defines protocols for full-screen
text editor! (why?)
Application Layer

Does not



run programs
require programs to know protocols
Does


embody interface between user programs
and presentation layer
Allow client-server interaction to occur
Clients & Servers

Client


works on behalf of the user
Server




provides access to resources
controls access to resources
manages requests
maintains resource integrity
Server Examples







X11
NFS
SMB
LPD
WWW
FTP
TELNET







SMTP
POP
IMAP
MAPI
Windows
Linux
etc. etc. etc.
Client-Server example
Request R
Grant - ID
Client
Perform on ID
Result
Release ID
ACK
Server
Note



Client should block until its request has
been fulfilled
Server decides order of allocation
(cf O/S resource management rules DEADLOCK handling)
Requirements - 1

Application Protocol

Common Language
 supporting all possible operations
 e.g.
 “Open file”
 “Write to file”
 “Read from file”
 “Close file”

two-way if necessary (acknowledgements, errors
etc.)
Requirements - 2

Lower-level protocols

support adequate communications



reliability
delivery modes
Network/Comms infrastructure
Lower Level Models

IP suite






TCP vs UDP
Sockets & Ports
RPC, RMI
DCOM
RPC
ORBs (CORBA etc.)
More on these later…...
Server Types

State driven




require exact sequence of events
break if sequence breaks
complete conversations only
Stateless


handle partial conversations
cope with broken / incomplete event
sequences
State Driven servers


Based on Finite State Machines (FSMs)
or Finite State Automata
Each event causes the machine to move
to a new state from which events will
cause more transitions.

In any state, an unknown or unexpected
event will be a problem.

If an event does not occur - what
happens to the machine ?
Stateless servers


Not state driven
Event driven

(cf WIMP system)

Any event can happen at any time

Server will process correctly


(cf WWW server)
More complex - more robust
Tutorial Topic


HTTP
(N.B. HTTPS is HTTP working through an
encrypting presentation layer for added
“security” [some argue that HTTP works at
the application & session layers too] )
17