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