Skip to main content

Transport Layer

Transport Layer(Layer 4): The transport layer is responsible for the delivery of an entire message from one process to another. It ensures that the whole message arrives intact and in order, overseeing both error control and flow control at the source-to-destination level.


 Functions include:


  • Service-point Addressing: Computers often run more than one program at the same time. For this reason, source-to-destination delivery means delivery not only from one computer(source) to another(receiver), but also from a specific process on one computer to a specific process on the other. The transport layer header, therefore, must include a type of address, called service point address(port address). The Network layer is responsible for sending each packet to the correct computer; the transport layer gets the message to the correct process on that computer.
  • Segmentation and Reassembly: A message is divided into transmittable segments, each segment containing a sequence number. These numbers enable the transport layer to reassemble the message correctly at the destination and to identify and replace packets, that were lost in the transmission.
  • Connection Control: This layer can be connection-less or connection-oriented. A connection-oriented transport layer makes a connection with the transport layer at the destination machine first, before packet delivery. The connection is terminated after all the data is sent. A connection-less transport layer treats each segment as an independent packet and delivers it to the transport layer at the destination machine.
  • Flow and Error Control: Unlike data link layer, both error control as well as flow control at this layer, is performed end-to-end or process-to-process, rather than across a single link.

Comments

Popular posts from this blog

Configuring 2 backend servers and a load balancer with HAProxy

A load balancer is a device that distributes the traffic across a cluster of servers. In computing, load balancing improves the distribution of workloads across multiple computing resources, such as computers, a computer cluster, network links, central processing units, or disk drives.As a result, it improves responsiveness and increases the availability of applications.  For load balancing, we need to install LAMP server on backend servers and HAProxy on the load balancer. HAProxy is a free, open source software that provides a high availability load balancer and proxy server for TCP and HTTP based applications that spread requests across multiple servers. Here we will make two backend servers and one load balancer. At two backend servers enter the following commands— $sudo apt-get install apache2 $sudo apt-get install mysql-server $sudo apt-get install php libapache2-mod-php php-mysql $sudo gedit /var/www/html/index.html (Mak...

Packet capturing of different protocols using Wireshark

Wireshark is the world’s foremost and widely-used network protocol analyzer . It is used for network troubleshooting, analysis, software and communications protocol development, and education. It is a free and an open-source packet analyzer.It is cross-platform. To trace the packets first of all download and install Wireshark in the windows operating system. Open Wireshark and then choose the interface. 1.Tracking FTP Packets Step 1:   $sudo apt-get install vsftpd  command on Ubuntu terminal Step 2: Start Wireshark and open command prompt in windows. In the command prompt enter the IP address of Ubuntu Machine. It asks for username and password authentication for the Ubuntu  machine. Step 3 : Start capturing by clicking the green button in Wireshark.   Step 4: In the filter of Wireshark ,  enter ftp followed by IP address to track. Step 5 : Press the red button to stop capturing. ...

Fundamental Concepts of Arrays

  An   array   is a collection of elements of the same data type stored in   contiguous memory cells . It has a   fixed size   and is by default   passed by reference   to a function.  Eg. int arr[6] = {4, -3, 8, 5, -1, 6}; It initializes an integer array 'arr' storing 6 elements.  Assuming the size of an integer to be 4 bytes and base cell address to be 2000. It can be represented as -  A  dynamic array  is similar to a static array but it has the ability to  automatically resize  itself when an element is inserted or deleted.  They are available as  vectors in C++  and likewise l ists in Java .  Eg. list<int> l;      vector<int> v; Vectors are slightly less efficient than static arrays due to the occasional resizing and copying of elements.   The amortized time complexity of insertion in a dynamic array is O(1).  [Amortized Time complexity ...