What is TCP or IP?
TCP/IP (Transmission Control Protocol/Internet Protocol) is a communication language. Further, it is also called the protocol of the Internet. Further, it is commonly known as the Internet Protocol Suite It can also be used as a communications protocol in a private network i.e. intranet or extranet.
TCP and IP are communication protocols. A communication protocol specifies the exact format and meaning of data a computer sends and also conditions under which the data should be sent, etc. Most importantly, communication protocols are independent of the software and the hardware used.
Origin of TCP/IP
- The comprehensive set of communications protocols called TCP/IP. It became widely available and well-known only when Berkeley Software Distribution released Berkeley UNIX 4.2 BSD in September 1983.
- TCP/IP protocols are based on standards originally developed for the US government and US research community.
- It was developed to allow free interchange of data among all machines, independent of type, manufacturer, hardware or operating system.
- In the late 1980s, TCP/IP received a further boost to its fortunes when Sun Microsystems published the specification for Open Network Computing (ONC), often called the Network File System (NFS). NFS adds important functions to TCP/IP and is now very widely available and is regarded as an integral part of the TCP/IP protocol suite.
- The suite of protocols commonly referred to as TCP/IP (US Military Standards 1778 and 1777) was developed by the United States Department of Defense for its A.R.P.A (Advanced Research Project Agency) network.
- This is a very large scale wide area network linking many major commercial, university and military establishments.
- The relevance of TCP/IP to LANs is two-fold. First, as it is a datagram based protocol, it is well suited to LAN access methods, particularly Ethernet. Secondly, it is particularly popular within the UNIX community, giving it a large user base, many of whom wish to use LANs.
Features of TCP/IP
- It is the first networking protocols used for the internet, which a standard for communicating between the computers over the internet. These communication protocols are also used for other similar other networks.
- Transmission Control Protocol (TCP), which uses a set of rules to exchange messages with other internet points at the information packet level.
- Internet Protocol (IP), which uses a set of rules to send and receive messages at the internet address level.
- A set of protocols that provides the basis for operating the internet.
- TCP/IP used by the networks for data transmission and exchange.
- TCP uses a set of rules to exchange messages and data with other internet points by dividing the information at packet level. It breaks the data into small packets.
- IP is used to address and pass the packets from one host to another host and make them reach at their destination.
- IP uses a set of rules to send and receive messages at the internet address level.
- It is also a two-layer program. One is higher layer and second is lower layer. The higher layer, Transmission Control Protocol, manages the assembling of a message or file into smaller packets that are transmitted over the Internet and received by a TCP layer that reassembles the packets into the original message.
- TCP/IP uses the client/server model of communication in which a computer user (a client) requests and is provided a service (such as sending a Web page) by another computer (a server) in the network.
- TCP/IP communication is primarily point-to-point, meaning each communication is from one point (or host computer) in the network to another point or host computer.
- Additional protocols that include the Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP), each with defined sets of rules to use with corresponding programs elsewhere on the internet.
TCP/IP Protocol Layers
Like most networking software, TCP/IP is modelled in layers. This layered representation leads to the term protocol stack, which refers to the stack of layers in the protocol suite.
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). The interface between the application and transport layers is defined by port numbers and sockets.
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.
The internetwork layer, also called the internet layer or the network layer, provides the “virtual network” image of an internet (this layer shields the higher levels 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.
Network Interface Layer
The network interface layer also called the link layer or the data-link layer is the interface to the actual network hardware. This interface may or may not provide reliable delivery, and maybe 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 (which is reliable in itself), ATM, FDDI, and even SNA.
Working of TCP/IP
The working of TCP/IP are as follows:
FTP (File Transfer Protocol)
FTP is a client and server protocol. The computer on a network is running an FTP server in order to access files on a computer via FTP.
Its main features are:
- File transfer facilities are usually provided for by a mechanism known as the File Transfer Protocol (FTP).
- FTP is a simple featured file-moving utility that allows a record oriented transfer, a block transfer, or an image transfer.
- FTP knows about EBCDIC and ASCII and may provide some rudimentary conversion facilities before a transfer begins.
- FTP has evolved in some cases to special implementations that know how to convert specific file formats between certain types of machine architectures.
- It is a useful feature to have when transferring very large files.
- FTP is software that allows the transfer of files between the machines. (i.e. servers to clients and vice versa).
- A file may contain any type of digital information, text, image, movie, sound, software etc.
- The user can upload and download a file by using an FTP server.
HTTP (Hypertext Transfer Protocol)
It is a client-server protocol, which is used for the transmission of the hypertext between the two computers. It is also known as a simple request and response protocol that is run over a TCP/IP protocol. HTTP is a connection-less protocol because as soon as the request is made and fulfilled, the connection between the client and server is terminated.
Its main features are:
- A protocol for moving hypertext files across the network.
- It is used by World Wide Web (WWW) for transmission of hypertext.
- It is based on client/server technology.
- The data transferred may be plain text, images, graphics etc.
TELNET (Telecommunication Network)
TELNET means a remote login. It works on the principle of client-server technology. It establishes a connection through the internet between remote clients with the remote host on the basis of the IP address given by the user.
Telnet clients are also known as terminal emulation programs because telnet emulates the operating system on which the user is sitting and activates the operating system of the remote host which is log in.
Therefore, the main features of Telnet are as follows:
- Telnet is a virtual terminal facility that allows a user to connect to a remote system as if the user‟s terminal were hard-wired to that remote system.
- It provides a basic protocol handling facility and a negotiation facility that allows for the inclusion of different types of terminal protocols and signaling mechanisms.
- Telnet service was one of the first to be provided in a standard way by the TCP/IP architecture.
- It allows terminal and workstation users to gain access to a host system and to display host data on their screens. e) It provides a low cost connection.
- It is used connect to another computer.
- This process is called remote login.
- It specifies exactly how remote login client and remote login server interact.
- The telnet client software locates the host over the internet and establishes the remote login session to the host.
It is used for searching, retrieving and displaying documents from remote websites on the internet. It is based on client-server technology. Gopher client application is required on the system to search and retrieve the information.
WAIS (Wide Area Information Service)
It is an internet search tool used for information retrieval. It searches for strings of text, provided by the user. WAIS breaks up the sentences into words and searches this word combination.
SMTP (Simple Mail Transfer Protocol)
It is a standard protocol used to transfer mail messages between computers. It specifies the format in which a mail message has to be composed. It is a simple mail ASCII protocol.
POP (Post Office Protocol)
It is a protocol designed to allow a single user to read a mail from a server. Its main function is to fetch mail from the remote mailbox and stores it on the user machine to read later.
IMAP (Interactive Mail Access Protocol)
It is designed to help the user who uses multiple computers, a workstation in the office, a PC at home or a laptop on the road. The basic idea behind IMAP is to maintain a central repository that can be accessed from any machine.
Trivial File Transfer Protocol
The Trivial File Transfer Protocol (TFTP) is a simple program with minimal facilities, designed to be implemented in permanent memory (PROM). It is often used in conjunction with the boot protocol. TFTP lacks the security features of FTP and it is normal to disable the TFTP server on hosts which do not provide a boot service.
Simple Mail Transfer Protocol
It provides a mechanism by which a user can specify a destination address, a particular path to follow and a message. It provides for return receipts, forwarding of mail, and other similar features. It is heavily used in the defence area.
Network File System
It was developed by Sun Microsystems Inc. It provides user services familiar to any user of a proprietary resource-sharing LAN(Local Area Network) such as NetWare. It uses the UDP(User Datagram Protocol) transport protocol. It provides the mechanism for true distributed computing, where processing power, not just data, is shared among networked machines.