View page as slide show

Communication software and architecture

Communication

  • Communication is transmission of information from one entity to another
    • From source to destination
    • Exchange of information can be between two or more separate entities
  • Entities has to be connected to each other
    • e.g. wired or wireless communication channel
    • direct or via several systems
  • Communication between entities are conducted with messages

Message

  • also known as: Datagram, frame, packet, signal, PDU.
  • Block of information sent from one entity to another.
    • the smallest unit of information that can be understood and handled by receiver
  • Consists of data and metadata
    • header and payload
  • Protocol defines the message format e.g. encoding

Protocol

  • In order for two entities to understand each other, they “have to speak same language”
    • What is communicated
    • How it is communicated
    • when it is communicated
  • Protocol defines the rules for communication
    • Computers require clear rules in order to operate.
    • The syntax, semantics, and synchronization of communication
  • Common protocol allows different types of devices to understand each other
  • Standardization is important
    • Ensures compatibility of devices from different vendors
    • Enables competition among manufacturers.

Protocol specification

  1. The service to be provided by the protocol
  2. The assumption about the environment in which the protocol is executed
  3. The vocabulary of messages used to implement the protocol
  4. The encoding of each message in the vocabulary
  5. The procedure rules guarding the consistency ofmessage exchange

Protocol requirements

  • Protocol consists of several steps.
    • There is beginning and end for protocol
  • Protocol has to be unambiguous
    • Each step in protocol has to be defined
  • Protocol has to be complete
    • There has to be specific action for all possible situations.
  • All communicating participants has to know the protocol and follow it.

Protocol vs language

  • Both languages and protocols have vocabulary and syntax
  • procedure rules and grammar define how vocabulary and syntax are used
  • service specification defines the semantics of protocol
  • protocol language have to deal with problems from concurrency
    • timing
    • race conditions and deadlocks
    • order of events

Simple Communication example

  • Lets think what are the needs to print a file from computer.
    • Rules for beginning and end of printing.
    • Rules for de/encoding of the bits to electromagnetic waves.
    • How the bits represent what is to be printed
    • Detection and correction of transmission errors
  • Hard to accomplish with single protocol
    • Need multiple protocols

Communication architecture

  • Modern communication system consists of several tasks
    • e.g. web browsing requires among other things: routing, name to address conversion, channel securing etc.
    • To ease the creation of communication application, different functions required for efficient communication are separated
    • Each service should be defined in it's own protocol specification
  • Communication architecture defines the interoperability and relation of two or more protocols

Layered communication architecture

layered-entities.jpg

  • Different communication tasks are separated on their own layers
    • Protocol stack
  • Each layer has its own tasks and own protocol
    • Entities at same layer (layer N) are called peer entities
    • Connection between peer entities is peer connection following peer protocol
  • Lower layer provides a service to higher layer
    • IP provides routing service to TCP that provides reliable communication channel to application
    • Implementation details of lower layer do not affect on higher layer implementation

OSI- Reference Model

OSI Model
LayerFunction Data unit
7. Application layerApplication Data
6. Presentation layer Data representation and encryption Data
5. Session layer Coordination of interactions in user sessions Data
4. Transport layer End-to End connection Segment
3. Network layer host-to-host connection e.g. RoutingDatagram/packet
2. Link layer Physical addressingFrame
1. Physical layer transmission of bits over a physical circuitBit

osi-layers.jpg

Communication in layered architecture

  • Horizontal communication (protocol)
    • Communication of peer entities. Peer entities form virtual channel between each other
    • Communication between peer entities are conducted with Protocol Data Units (PDU's)
  • Vertical communication
    • Messages are called primitives
    • Layer N produces service to layer n+1 and uses the service of layer n-1
    • Service is accessed via service access point (SAP)
    • PDU is enveloped and given to lower layer

Protocol entity service types

confirmed-service.jpg

  • Confirmed service
    • primitives: request → indication → response→confirmation
  • Unconfirmed service
    • no handshake
    • request → indication
  • Provider initiated
    • indication to both sides from lower layer
    • e.g. lost connection

Interfaces

interfaces.jpg

  • Layer N entity passes IDU to layer N-1 via N-1 SAP
  • SDU : Service data unit (protocol data)
  • PCI : Protocol control information (protocol header)
  • PDU : protocol data unit (N PDU is usually N-1 SDU)
  • ICI : Interface control information
  • IDU : Interface data unit

Protocol functions

  • Segmentation and reassembly
    • dividing data to proper size for transmission
  • encapsulation
  • connection control
    • connection-oriented communication: establishment, data transfer, termination
  • ordered delivery
    • maintaining PDU order
  • flow control
    • limiting the transmission to fit for receiver
  • Error control
  • Synchronization
  • Addressing
  • Multiplexing
  • transmission services
    • Security
    • Priorities

Protocol system structure

protocol-structure.jpg

Protocol Entity in layered architecture

protocol-entity-communication.jpg

Data flow in protocol system

data-flow.jpg

Client-Server based communication models

  • Request-reply
    • Client requests data and server provides requested data
    • The most common model
    • Latency affects heavily
  • Push
    • e.g. Broadcasting
    • Server sends data to clients without requests
    • Can be intrusive
  • Publish-Subscribe
    • e.g. Multicasting
    • Client request subscribtion to server
    • Whenever there is new data, the server pushes it to subsrcribees

Peer-to-Peer communications

  • Same entity can act as client and server
    • Communicating partners are equal
    • Any entity can initiate the connection
  • No set roles for requests and replies
    • Anyone can request and provide data
Last modified: 2013/07/01 14:42