<<

Introduction The transport layer is the core of the OSI model. Protocols at this layer oversee the delivery of data from an application program on one device to an application program on another device. They act as a liaison between the upper-layer protocols (session, presentation, and application) and the services provided by the lower layers.

Duties of the transport layer:

The services provided are similar to those of the layer. The data , however, is designed to provide its services within a single network, while the transport layer provides these services across an internetwork made of many networks. While the transport layer controls all three of the lower layers. The services provided by transport layer protocols can be divided into five broad categories: end to-end delivery, addressing, reliable delivery, , and .

End –to –end delivery The oversees the end-to-end delivery of individual packets but does not see any relationship between those packets, even those belonging to a single message. It treats each as an independent entity. The transport layer, on the other hand, makes sure that the entire message (not just a single packet) arrives intact. Thus, it oversees the end-to-end (source – to-destination) delivery of an entire message.

Addressing The transport layer interacts with the functions of the . However, many combine session, presentation, and application level protocols into a single packages, called an application. In these cases, delivery to the session layer functions is, in effect, delivery to the application. So communication occurs not just from end machine to end machine but from end application to end application. Data generated by an application on one machine must be received not just by the other machine but by the correct application on that other machine. To ensure accurate delivery from service access point to service access point, we need another level of addressing in addition to those at the data link and network levels. Data link level protocols need to know which two computers within a network are communicating. Network level protocols need to know which two computers within an are communicating. But at the transport level, the protocol needs to know which upper-layer protocols are communicating.

Reliable Delivery At the transport layer, reliable delivery has four aspects: error control, sequence control, loss control, and duplication control.

Error Control When transferring data, the primary goal of reliability is error control. functions guarantee error-free delivery node-to-node for each link. However, node- to-node reliability does not ensure end-to-end reliability. The transport layer must therefore do its own checking end-to-end to make sure that the packet has arrived as intended by the source.

Sequence Control The second aspect of reliability implemented at the transport layer is sequence control. On the sending end, the transport layer is responsible for ensuring that data units received from the upper layers are usable by the lower layers. On the receiving end, it is responsible for ensuring that the various pieces of a transmission are correctly reassembled.

Segmentation and Concatenation When the size of the data unit received from the upper layer is too long for the network layer or data link layer frame to handle, the transport protocol divides it into smaller, usable blocks. The dividing process is called segmentation. When, on the other hand, the size of the data units belonging to a single session are so small that several can fit together into a single datagram or frame, the transport protocol combines them into a single data unit. The combing process is called concatenation.

Sequence Numbers Most transport layer services add a sequence number at the end of each segment. If a longer data unit has been segmented, the numbers indicate the order for reassembly. If several shorter units have been concatenated, the numbers indicate the end of each submit and allow them to be separated accurately at the destination. In addition, each segment carries a field that indicates whether it is the final segment of a transmission or a middle segment with more still to come.

Loss Control The third aspect of reliability covered by the transport layer is loss control. The transport layer ensures that all pieces of a transmission arrive at the destination, not just some of them. When data have been segmented for delivery, some segments may be lost in transit. Sequence numbers allow the receiver’s transport layer protocol to identify any missing segments and request redelivery.

Duplication Control The fourth aspect of reliability covered by the transport layer is duplication control. Transport layer functions must guarantee that no pieces of data arrive at the receiving system duplicated. Just as they allow identification of lost packets, sequence numbers allow the receiver to identify and discard duplicate segments.

Flow Control Like the data link layer, the transport layer is responsible for flow control. However, flow control at this layer is performed end-to-end rather than across a single link. Transport layer flow control also uses a sliding window protocol. However, the window at the transport layer can vary in size to accommodate buffer occupancy.

Multiplexing To improve transmission efficiency, the transport layer has the option of multiplexing. Multiplexing at this layer occurs two ways: upward, meaning that multiple transport layer connections use the same network connection, or downward, meaning that one transport-layer connection uses multiple network connections. Upward The transport layer uses virtual circuits based on the services of the lower three layers. Normally, the underlying networks charge for each connection. To make more cost effective use of an established circuit, the transport layer can send several transmissions bound for the same destination along the same path by upward multiplexing. This means if the underlying network protocol has a high , for example in the range of 1 Gbps, and the user can create data only in the range of Mbps, then several users can share one network connection. Downward Downward multiplexing allows the transport layer to split a single connection among several different paths to improve throughput (speed of delivery). This option is useful when the underlying networks have low or slow capacity

Connection End to end delivery can be accomplished in two ways connection oriented and connectionless. A connection oriented protocol establishes a virtual circuited or pathway through the internal between sender and receiver. All of the packets belonging to a message are then sent over this same path. Using a single pathway for the entire message facilitates the acknowledgement process and retransmission of damaged and lost frames connection oriented services is generally considered reliable.

Connection Oriented transmission has three stages: 1. Connection establishment. 2. Data transfer 3. Connection termination.

Connection Establishment Before communicating device can send data to the other, the initializing device must first determine the availability of the other to exchange data and a pathway must be found through the network by which the data can be sent. This step is called connection establishment. Connection establishment requires three Transport Layer actions called three way handshake as shown in figure given below. • The computer requesting the connection sends a connection request packet to the intended receiver. • The responding computer returns a confirmation packet to the requesting computer. • The requesting computing returns a packet acknowledging the confirmation.

Connection Termination Once all of the data have been transferred, the connection must be terminated. Connection termination also requires three way handshake • Requesting computer sends a disconnection request packet. • Responding computers confirms the disconnection request. • The requesting computer acknowledges the confirmation.

The OSI transport protocol

Transport classes

The OSI model defines five types of transport classes: . TP0: Simple class . TP1: Basic error recovery class . TP2 : Multiplexing class . TP3; Error recovery and multiplexing class . TP4: Error detection and recovery class

Which class is used depends on the type of service required by the upper layers.

TP0 and TP2 are used with perfect network layers. A perfect network layer is one in which the number of packets that are lost or damaged is almost zero.

TP1 AND TP3 are used with residual – error network layers. A residual – error layer is one in which some percentage of errors are never corrected.

TP4 is used with unreliable network layers. TP4 provides fully reliable, full- duplex, connection- oriented services similar to TCP in the TCP/IP Protocol suite.

TRANSPORT (TPDU)

The format of a transport protocol data unit is shown in the figure.

Length Fixed parameters Variable Parameters Data

Length The length field occupies the first byte and indicates the total number of bytes.

Fixed Parameters The fixed parameters field contains parameters, or control fields, that are commonly present in all transport layer packets. It consists of five parts: code, source reference, destination reference, sequence number and credit allocation.

 Code The code identifies the type of data unit. The following codes are recognized by the ISO.

CR: Connection Request CC: Connection Confirm DR: Disconnect request DC: Disconnect Confirm DT: Data ED: Expedited Data AK: Data acknowledge EA: Expedited data acknowledge RJ: Reject ER: Error

 Source and destination reference: The source and destination reference fields contain the addresses of the original sender and the ultimate destination of the packet.  Sequence number: As a transmission is divided into smaller packets for transport, each segment is given a number that identifies its place in the sequence.  Credit allocation: enables a receiving station to tell the sender how many more data units may be sent before the sender must wait for an acknowledgment.

Variable parameters contains parameters that occur infrequently. These control codes are used mostly for management.

Data Contain regular data or expedited data coming from the upper layers. Expedited data consist of a high – priority message that must be handled out of sequence.

Connection Oriented and Connectionless Services

Connection oriented Transport services first create a virtual circuit between two remote entities. COTS makes four different kinds of services available to the upper layers: T-CONNECT, T- DATA, T- EXPEDTED –DATA and T- DISCONNECT. The upper-layer user of COTS first uses the T-CONNECT service to set up a full duplex transport connection with a peer function on a remote device. Once the connection has been established, the two peers can transfer data using the services of either T-DATA or T- EXPEDITED- DATA. T-DATA provides nonconfirmed service but is still reliable. If the T- EXPEDITED-DATA service is used, the amount of expedited data that can be carried is limited to 16 octets. Either the user or the transport service provider may employ the T-DISCONNECT service to terminate a transport connection at any time during the data transfer.

Connectionless Transport services provide only one kind of service to the upper layers: T-UNIT- DATA T-UNIT- DATA provides a single free standing data unit for all transmissions. Each unit contains all of the protocol control information necessary for delivery but contains no provisioning for sequencing or flow control.

SESSION LAYER

The fifth layer of the OSI is the session layer. The session layer establishes, maintains and synchronizes dialogs between communicating upper layer (communication maybe between either users or applications). The session layer also handles upper level problem such as inadequate disk space or lack of paper for the printer. The session layer manages the back and forth nature of the exchange.

Services of the session layer: . To coordinate connection and disconnection of dialogs between applications. . To provide synchronization points for data exchange. . To coordinate who sends when . To ensure that data exchange is complete before the session closes.

Session and transport interaction The transport layer can make an abrupt disconnection. The session layer has an obligation to the user and cannot disconnect until the session can be brought to a graceful conclusion. Eg: ATM transaction.. The transport layer quits after the delivery of the message to the machine to give you your money. The session layer cannot finish until it receives confirmation that the transaction has actually been completed. It can continue the session with another transport layer connection.

Session-to-Transport Communication The session layer must communicate with the transport layer. The communication can be of three types: one-to-one, many-to-one, and one-to-many. In a one-to-one communication, there is one session layer connection for each transport layer connection. In a many-to-one communication, multiple session layer connections share the services of one transport layer connections. In a one- to- many communication, one session layer connection needs many transport layer connections to handle the task.

Synchronization Points The transport layer is responsible for delivering a transmission with complete reliability. The session layer provides a mechanism called synchronization points, for recovering data that have been delivered but mishandled. Two types of synchronization points may be used: major and minor. Major synchronization points divide an exchange into a series of dialogs. Generally each major synchronization point must be acknowledged before the session can continue. If an error occurs, data can be recovered only up to the last major point. Minor synchronization points are inserted into the middle of dialogs and may or may not require confirmation, depending on the application. They are primarily security blankets. If an error occurs, the control can go back one or more minor synchronization points within a dialog to recover the data.

Dialog

Major sync Minor sync Minor sync Minor sync Major sync

Dialog Dialog Dialog

Major Minor Minor Major Minor Minor Major Minor Minor Major Sync sync sync sync sync sync sync sync sync sync

Session Protocol Data Unit The session layer supports 36 different types of session protocol data units (SPDUs). Fortunately all of them follow the same general format .The fields are as follows: . SPDU identifier (SI).The SPDU identifier indicates the data unit . Length identifier (LI).The length indicator gives the length of the SPDU parameter field. . Parameter group information/parameter information (PGI/PI). The parameter group informative/parameter information field includes control information and quality of service specifications.

SI LI PGI/PI Data a

One or more parameter information fields, or one or more parameter or more parameter group information fields.

SI SPDI identifier LI Length indicator PI Parameter information PGI Parameter group information