View page as slide show

Communications Software and Architecture

OSI Transport layer

  • The layer that will provide reliable communication channel to upper layers
    • Guarantees that all packets arrive in correct order.
    • Validates that there are no errors in incoming packets
    • Handles retransmissions
  • Provides transparent end-to-end connectivity e.g. bitpipe
    • Upper layers can provide data in any form to transport layer
      • binary, unicode, ascii…..
    • Should handle disconnections and reconnections happening on lower layers
      • disconnections do not show to upper layers
    • Can multiplex several application layer connection in single transport connection.
  • Good example layer to look at for connection forming and disconnnecting

Networks and transport

  • Transport layer tasks depend on the quality of used network connection.
    • If we have reliable error free network, there is no need for error control.
  • Less functionality means lighter protocol that results better performance
    • not enough functionality causes problems
  • Networks divided in three classes based on capabilities in OSI
    • A: reliable connection, with minimal probability for errors and no N-RESET (network is not crashing)
    • B: Network with error control, but possibility for N-RESET
    • C: Unrelaible network with possibility of packet loss, packet corruption, duplication and N-RESET
  • Based on the demands of the different network classes 5 protocol classes have been defined for transport layer
  • 0: for A: Minimal functionality: connection forming and disconnecting, data trasnfer.
  • 1: for B: Minimal functionality plus network error recovery
  • 2: for A: Minimal functionality plus multiplexing
  • 3: for B: like 1 plus multiplexing
  • 4: for C: error detection, error recovery, multiplexing

Tasks

  • Connection handling: for protocol classes: 0,1,2,3,4
  • TSDU segmentation: 0,1,2,3,4 (dividing data to proper size)
  • DATA PDU transfer: 0,1,2,3,4
  • Data PDU sequence numbers: 1,3,4 optional on 2
  • Hurried data: 3,4 optional in 1,2
  • Normal Disconnection: 0,1,2,3,4
  • Reset and network loss recovery: 1,3,4
  • flow control and DATA PDU storage until ACK: 1,3,4
  • Multiplexing: 2,3,4
  • retransmission with timer: 4
  • inactivity timer: 4
  • error control: optional on 4

Transport service

  • Connection oriented or connectionless
  • Connectionless transport means that higher layer protocols are also connectionless
  • connectionless protocols require less from transport layer
    • e.g. No need for connection forming or connection closing negotiation
  • Connection oriented protocols are more common.
  • Independent from applications

Connection oriented transport

  • Phases
  1. Connection forming
  2. Data transfer
  3. Connection closing

Primitives

  • primitive : parameters
  • T-CONNECT request : receiver address, source address, expedited data?, QOS parameters, user data
  • T-CONNECT indication: receiver address, source address, expedited data?, QOS parameters, user data
  • T-CONNECT response : receiver address, expedited data response, QOS parameter response, user data
  • T-CONNECT confirm : receiver address, expedited data response, QOS parameter response, user data
  • T-DATA request : user data
  • T_DATA indication : user data
  • T-DISCONNECT request : user data
  • T-DISCONNECT indication : disconnect code, user data

PDUs

  • Connection Request (CR)
  • Connection Confirm (CC)
  • ACK
  • DATA
  • Disconnect request (DR)
  • Disconnect confirm (DC)

Connection forming

  • Simple connection request- connection confirm pair
    • problem: what if the connection request message gets duplicated in network?
    • On short transactions the problem may cause duplication of the whole transaction without notice.
  • Three-way handshake (CR-CC-ACK)
    • The receiver of connection request may make challenge to the sender to make sure new connection is wanted
    • receiver uses new sequence number that the connection initiator has to ACK before connection is formed.
      • sequence numbers under use are freezed for certain to prevent the duplicate messages to cause problems. (big enough seuqence number space)

Disconnection

  • Three different reasons for disconenction
  1. Normal disconnection with Disconnect request (DR) and Disconnect confirm (DC)
    • No possibility to not accept disconnection
  2. Negotiated Disconnection
    • Receiver of DR may deny the disconnection, in which case disconnect requester has to accept more data.
    • User (application) can be asked if he accepts the disconnection, before it is performed.
  3. Disconnection without warning, lower layer informs about lost connection
    1. Provider abort: network connection
    2. user abort: protocol entity calls lower layer directly with proper disconnection primitive to close connection instead of using PDU.
  • Data may be lost in cases one and three
  • OSI transport uses the method 1.
  • negotiated disconnect may be futile over unreliable network.
    • two army problem

Reliable connections mechanisms

  • Checksum :
  • Timer
  • Sequence numbers
  • Acknowledgements
  • Negative Acknowledgements
  • Transmission windows (pipelining)
Last modified: 2013/07/01 14:42