Skip to main content

TCP/IP Protocol Suite

The name TCP/IP refers to a suite of data communication protocols. The name comes from two of the more important protocols in the suite. The Transmission Control Protocol(TCP) and the Internet Protocol(IP). It consists of five layers: Physical, Data Link, Internet, Transport, and Application. The internet layer is equivalent to the Network layer and the Application layer is roughly doing the job of the Session, Presentation, and Application layer.

TCP/IP is a hierarchical protocol made up of interactive modules, each of which provides a specific functionality.


The layers of the TCP/IP suite contain relatively independent protocols that can be mixed and matched depending on the needs of the system.


  • Application Layer: This layer is the top layer in the TCP/IP model. It includes processes which use Transport Layer Protocol to transmit the data to their destination. There are different Application Layer Protocols such as HTTP, FTP, SMTP, SNMP protocols etc.
  • Transport Layer: It receives the data from the Application Layer which is above Transport Layer. It acts as a backbone between the host's system connected with each other and it mainly concerns about the transmission of data. It decides if data transmission should be on a parallel path or a single path. It adds header information to the data.TCP and UDP are mainly used as transport Layer protocols. 
  • Network or Internet Layer: This layer sends the packets across the network. Packets mainly contain source and destination IP address and actual data to be transmitted.
  • Network Interface Layer: It is the lowest layer of the TCP/IP model. It is used to connect to the host so that the packets can be sent over it. It includes encapsulation of IP packets into frames, mapping IP addresses to physical hardware devices.








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...

Network Connection verification and Troubleshooting commands in Windows

To ensure the proper network connection in the system, we do the following three types of checking: ---   Check the NIC card --- Check whether we have an IP or not or our gateway is active or not by a ping test -----  Check if the port no or the service is active or not To check the connection go to command prompt and enter the commands >ping localhost  then NIC  working. >ping 172.29.0.1 then gateway working >ipconfig In computing, ipconfig (internet protocol configuration) is a console application (command line tool) in Microsoft Windows used to control the network connections on windows.It displays all current TCP/IP network configuration values and can modify DHCP and DNS settings. Usually, ipconfig command is used with the command-line switch  /all. > ipconfig /all This command shows the various network configurations, MAC address, default gateway and IP addresses of different servers on the ne...

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 ...