Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite is the engine for the Internet and networks worldwide. Its simplicity and power has led to its becoming the single network protocol of choice in the world today. TCP/IP is a set of protocols developed to allow cooperating computers to share resources across the network.
This model was initially developed & used by ARPANET (Advanced Research Project Agency Network). ARPANET was a community of researchers sponsored by the U.S. department of defense. It connects many universities and government installations using leased telephone lines .Certainly the ARPAnet is the best- known TCP/IP network.
The most accurate name for the set of protocols is the “Internet protocol suite“. TCP and IP are two of the protocols in this suite. The Internet is a collection of networks. Term “Internet” applies to this entire set of networks. Like most networking software, TCP/IP is modeled in layers. This layered representation leads to the term protocol stack, which refers to the stack of layers in the protocol suite. It can be used for positioning the TCP/IP protocol suite against others network software like Open System Interconnection (OSI) model.
By dividing the communication software into layers, the protocol stack allows for division of labor, ease of implementation and code testing, and the ability to develop alternative layer implementations. Layers communicate with those above and below via concise interfaces. In this regard, a layer provides a service for the layer directly above it and makes use of services provided by the layer directly below it. For example, the IP layer provides the ability to transfer data from one host to another without any guarantee to reliable delivery or duplicate suppression.
TCP/IP is a family of protocols . A few provide “low- level” functions needed for many applications. These include IP, TCP, and UDP. Others are protocols for doing specific tasks, e.g. transferring files between computers, sending mail, or finding out who is logged in on another computer. Initially TCP/IP was used mostly between minicomputers or mainframes. These machines had their own disks, and generally were self contained.
We’ll be covering the following topics in this tutorial:
Application Layer
The application layer is provided by the program that uses TCP/IP for communication. An application is a user process cooperating with another process usually on a different host (there is also a benefit to application communication within a single host). Examples of applications include Telnet and the File Transfer Protocol (FTP).
Transport Layer
The transport layer provides the end-to-end data transfer by delivering data from an application to its remote peer. Multiple applications can be supported simultaneously. The most-used transport layer protocol is the Transmission Control Protocol (TCP), which provides connection-oriented reliable data delivery, duplicate data suppression, congestion control, and flow control.
Another transport layer protocol is the User Datagram Protocol It provides connectionless, unreliable, best-effort service. As a result, applications using UDP as the transport protocol have to provide their own end-to-end integrity, flow control, and congestion control, if desired. Usually, UDP is used by applications that need a fast transport mechanism and can tolerate the loss of some data.
Internetwork Layer
The internetwork layer, also called the internet layer or the network layer, provides the “virtual network” image of an internet this layer shields the higherlevels from the physical network architecture below it. Internet Protocol (IP) is the most important protocol in this layer. It is a connectionless protocol that does not assume reliability from lower layers. IP does not provide reliability, flow control, or error recovery.
These functions must be provided at a higher level. IP provides a routing function that attempts to deliver transmitted messages to their destination. A message unit in an IP network is called an IP datagram.
This is the basic unit of information transmitted across TCP/IP networks. Other internetwork-layer protocols are IP, ICMP, IGMP, ARP, and RARP.
Network Interface Layer
The network interface layer, also called the link layer or the data-link layer or Host to Network Layer, is the interface to the actual network hardware. This interface may or may not provide reliable delivery, and may be packet or stream oriented.
In fact, TCP/IP does not specify any protocol here, but can use almost any network interface available, which illustrates the flexibility of the IP layer. Examples are IEEE 802.2, X.25,ATM, FDDI, and even SNA.TCP/IP specifications do not describe or standardize any network-layer protocols, they only standardize ways of accessing those protocols from the internet work layer.