In the early 1970s, as the development of wide area networking progressed and led to the advent of the Internet, the TCP/IP protocol was also developed. TCP stands for Transmission Control Protocol while IP stands for Internet Protocol. The adoption of TCP/IP protocols as an Internet protocol led to the integration of networks into a large network that has grown rapidly, reaching approximately 2.267 billion users as of the end of December 2011 (Internet World Stats). Today there are many application service protocols that coexist with TCP/IP as the underlying protocol.
TCP/IP is a transport protocol. It can be used to support applications directly, or other protocols can be overlaid on TCP/IP to provide additional functionality. These protocols include:
- HTTP (Hypertext Transfer Protocol) – Used by web browsers and web servers to exchange information. On the other hand, when a secure connection is required, the SSL (Secure Socket Layer) protocol or its successor, Transport Layer Security (TLS), which uses encryption to establish a secure connection through the web browser, but this time uses HTTPS instead of HTTP .
- SMTP (Simple Mail Transfer Protocol) – Used to send and receive emails over the TCP/IP protocol. Due to its limitation in message queuing, it is typically used with other protocols such as POP3 or IMAP.
- TELNET (telecom network) – Used to connect to remote hosts via a telnet client. This results in your computer becoming a virtual machine while you work on the remote computer as if it were on your desktop.
- FTP (File Transfer Protocol) – Used to transfer files from one host to another over a TCP/IP network using FTP client software.
- NNTP (Network News Transfer Protocol) – Used to transport news articles between news servers.
TCP (Transport Control Protocol) and UDP (User Datagram Protocol) are both Internet protocols used to transport data. IP (Internet Protocol) acts as the underlying protocol of the virtual internet network. It sits under the UDP and TCP protocols. IP datagrams provide the basic transmission mechanisms for all TCP/IP networks. This includes the Internet, ATMs, local area networks such as Ethernet, and Token Ring networks. TCP is reliable and connection-oriented. It establishes the connection first before transmitting the data, and the data can flow in either direction. UDP is a datagram protocol with limited capabilities. There is no guarantee that the message will arrive at the other end. The datagram packets reach their destination in any order and must be reassembled. Sometimes UDP is preferred over TCP when small amounts of data are to be transmitted, so the amount of data received does not take much time to reassemble at the destination, making it faster. UDP is also a preferred choice when sending packets of data that do not require a response. It also offers a checksum function to ensure that all data has arrived.
Application protocols sit on top of the two building blocks of internet protocols; namely UDP and TCP. These two protocols have a unique trade-off. UDP provides a simple message-passing protocol that is subject to omission errors, but has minimal cost because there is no accountability for message-passing errors. This protocol is often used for broadcasting; like video streaming. TCP has guaranteed message delivery, but at the cost of additional messages with much higher latency and storage costs.