CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER
Transport Layer The Transport layer ensures the reliable arrival of messages and provides error checking mechanisms and data flow controls. Transport layer offers peer-to-peer and end-toend connection between two processes on remote hosts. Transport layer takes data from upper layer (i.e. Application layer) and then breaks it into smaller size segments, numbers each byte, and hands over to lower layer (Network Layer) for delivery.
Transport Layer
Functions This Layer is the first one which breaks the information data, supplied by Application layer in to smaller units called segments. It numbers every byte in the segment and maintains their accounting. This layer ensures that data must be received in the same sequence in which it was sent. This layer provides end-to-end delivery of data between hosts which may or may not belong to the same subnet. All server processes intend to communicate over the network are equipped with well-known Transport Service Access Points (TSAPs) also known as port numbers.
End-to-End Communication A process on one host identifies its peer host on remote network by means of Transport Services Access Point (TSAPs), also known as Port numbers. TSAPs are very well defined and a process which is trying to communicate with its peer knows this in advance.
End-to-End Communication The two main Transport layer protocols are: Transmission Control Protocol It provides reliable communication between two hosts. User Datagram Protocol It provides unreliable communication between two hosts.
Transmission Control Protocol The transmission Control Protocol (TCP) is one of the most important protocols of Internet Protocols suite. It is most widely used protocol for data transmission in communication network such as internet.
Roles of Transmission Control Protocol Tracking the individual communication between applications on the source and destination hosts Segmenting data and managing each piece Reassembling the segments into streams of application data Identifying the different applications
Roles of Transmission Control Protocol Tracking Individual Conversations Any host may have multiple applications that are communicating across the network. Each of these applications will be communicating with one or more applications on remote hosts. It is the responsibility of the Transport layer to maintain the multiple communication streams between these applications.
Roles of Transmission Control Protocol Segmenting Data As each application creates a stream data to be sent to a remote application, this data must be prepared to be sent across the media in manageable pieces. The Transport layer protocols describe services that segment this data from the Application layer. This includes the encapsulation required on each piece of data. Each piece of application data requires headers to be added at the Transport layer to indicate to which communication it is associated.
Roles of Transmission Control Protocol Segmenting Data As each application creates a stream data to be sent to a remote application, this data must be prepared to be sent across the media in manageable pieces. The Transport layer protocols describe services that segment this data from the Application layer. This includes the encapsulation required on each piece of data. Each piece of application data requires headers to be added at the Transport layer to indicate to which communication it is associated.
Roles of Transmission Control Protocol Reassembling Segments At the receiving host, each piece of data may be directed to the appropriate application. Additionally, these individual pieces of data must also be reconstructed into a complete data stream that is useful to the Application layer. The protocols at the Transport layer describe the how the Transport layer header information is used to reassemble the data pieces into streams to be passed to the Application layer.
Roles of Transmission Control Protocol Identifying the Applications In order to pass data streams to the proper applications, the Transport layer must identify the target application. To accomplish this, the Transport layer assigns an application an identifier. The TCP/IP protocols call this identifier a port number. Each software process that needs to access the network is assigned a port number unique in that host. This port number is used in the transport layer header to indicate to which application that piece of data is associated.
Roles of Transmission Control Protocol Identifying the Applications (cont ) The Transport layer is the link between the Application layer and the lower layer that are responsible for network transmission. This layer accepts data from different conversations and passes it down to the lower layers as manageable pieces that can be eventually multiplexed over the media. Applications do not need to know the operational details of the network in use. The applications generate data that is sent from one application to another, without regard to the destination host type, the type of media over which the data must travel, the path taken by the data, the congestion on a link, or the size of the network.
Roles of Transmission Control Protocol Identifying the Applications (cont ) Additionally, the lower layers are not aware that there are multiple applications sending data on the network. Their responsibility is to deliver data to the appropriate device. The Transport layer then sorts these pieces before delivering them to the appropriate application.
User Datagram Protocol The User Datagram Protocol (UDP) is simplest Transport Layer communication protocol available of the TCP/IP protocol suite. It involves minimum amount of communication mechanism. UDP is said to be an unreliable transport protocol but it uses IP services which provides best effort delivery mechanism. In UDP, the receiver does not generate an acknowledgement of packet received and in turn, the sender does not wait for any acknowledgement of packet sent.
User Datagram Protocol - Features UDP is used when acknowledgement of data does not hold any significance. UDP is good protocol for data flowing in one direction. UDP is simple and suitable for query based communications. UDP is not connection oriented. UDP does not provide congestion control mechanism. UDP does not guarantee ordered delivery of data. UDP is stateless. UDP is suitable protocol for streaming applications such as VoIP, multimedia streaming.
TCP vs UDP Connection Function Usage TCP TCP is a connection-oriented protocol. As a message makes its way across the internet from one computer to another. This is connection based. TCP is suited for applications that require high reliability, and transmission time is relatively less critical. UDP UDP is a connectionless protocol. UDP is also a protocol used in message transport or transfer. This is not connection based which means that one program can send a load of packets to another and that would be the end of the relationship. UDP is suitable for applications that need fast, efficient transmission, such as games. UDP's stateless nature is also useful for servers that answer small queries from huge numbers of clients.
TCP vs UDP Speed of transfer Error Checking TCP The speed for TCP is slower than UDP. TCP does error checking UDP UDP is faster because there is no error-checking for packets. UDP does error checking, but no recovery options. Reliability There is absolute guarantee that the data transferred remains intact and arrives in the same order in which it was sent. There is no guarantee that the messages or packets sent would reach at all.
Separating Multiple Communication Consider a computer connected to a network that is simultaneously receiving and sending e-mail and instant messages, viewing websites, and conducting a VoIP phone call. Each of these applications is sending and receiving data over the network at the same time. However, data from the phone call is not directed to the web browser, and text from an instant message does not appear in an e-mail. Further, users require that an e-mail or web page be completely received and presented for the information to be considered useful. Slight delays are considered acceptable to ensure that the complete information is received and presented.
Separating Multiple Communication In contrast, occasionally missing small parts of a telephone conversation might be considered acceptable. One can either infer the missing audio from the context of the conversation or ask the other person to repeat what they said. This is considered preferable to the delays that would result from asking the network to manage and resend missing segments. In this example, the user - not the network - manages the resending or replacement of missing information.
Separating Multiple Communication