3 - Communication Flashcards
What do communication protocols achieve?
- Formalises rules of communication
- Agreement on how data are transmitted
Layered Protocol
- Each layer adds a header(/trailer)
- Virtually independent
OSI Model stands for…?
Open Systems Interconnection
What is the OSI model?
Communication organised in seven layers
Each layer has its own protocols
What does the physical layer do?
How bits are transmitted over hardware.
Uses line codes
Line codes
Return to zero
Manchester
What is the data link layer responsibble for?
Data integrity
Data link layer summary
- local delivery of frames
- Logical link control
- Media access control
Data link layer protocols
- Ethernet,
- Address Resolution Protocol (ARP)
What does Network layer do?
Route packets
Network Layer summary
- Host addressing
- Routing, message forwarding
Network Layer protocols
IP
What does Transport Layer do?
Establlishes connection
Transport layer summary
Connection-oriented or connectionless
Packet order, reliability, process addressing
Transport layer protocols
Transmission Control Protocol
User Datagram Protocol
Real-time Transport Protocol
What does Session layer manage?
Sessions between appplications
Session layer summary
- Control and sync or message exchange
- Authentication/authorisation
- Checkpointing/recovery
Session layer protocols
RPC
Password Authentication Protocol
Presentation layer summary
- Encodings, definition of datasets
- Data conversion, compression, encryption
Presentation layer protocols
External Data Representation (EDR)
Application layer summary
- Data input/output
- Services for applications
APplication layer protocols
FTP
HTTP
DNS
SMTP
Middleware Protocol types
- Communication
- (Un)marshalling of data
- Naming
- Security
- Scaling mechanisms
Transient vs Persistent
Transient - discarded if not delivered
Persistent - Buffered
Async vs sync
Async - Sender continues immediately
Sync - Sender blocked until response
Discrete vs Streaming
Discrete
- individual
- not dependent on arrival time
Streaming
- Depends on arrival time
- Intervals between packets important
Message Passing Interface
What is it used in and why?
Parallel High Performance computing
Sockets are not optimised enough
What assumption is made with MPI?
All communication partners are known
No fault tolerance
RPC
Remote Procedure Call. Call as though it is local.
RPC process
- Client call. Handled by stub (alike to remote object)
- stub builds message and calls local OS
- OS sends message to remote
- remote os gives to server stub
- Server stub unpacks method call and parameters then calls.
- Performs call and returns
- Packs into message and calls OS
- Server OS sends message back
- back to client stub
- CLient stub unpacks result and returns
RPC Parameter passing issues
Must agree on encoding
Pass by reference not possible
- must be marshalled
Solution to RPC interface description issue
Use generic language to describe interface - Interface Definition Langu
IDL file
Contains unique interface ID and an interface description of the remote procedure and parameters
IDL compiler
Outputs a header.h header file, the client stub and server stub code
When binding RPC, the server must be…?
Server must be registered and prepared
Message oriented middleware
Persistent async (compared to synchronous transient RPC)
Messages in queues
Transmission may take longer
Additional features
- Fault tolerance
- Load balancing
- Multicasting
What separates a message broker from a simple queue?
Simple queues require agreement on messaging protocol. Broker can convert data
Give some non-lecture examples of structured and attribute based names
Post addresses (structured).
Students in a database (attribute)