TCP vs. IP
Transmission Control Protocol (also known as TCP) is a core protocol of the Internet Protocol Suite. It operates at a higher level than its compatriot, Internet Protocol (also known as IP). The two main concerns of TCP are the two end systems – a web browser and a web server, for example. TCP provides the delivery of a stream of bytes from a program from one computer to another computer. TCP is also in charge of controlling size, flow control, the rate of data exchange, and network traffic congestion.
IP is a protocol used for data communication across a packet switched internetwork (that is, an internetwork in which all transmitted data is grouped together). As with TCP, it also uses the Internet Protocol Suite. It is the primary protocol in the Internet Layer of the Internet Protocol Suite. Its main task is to deliver distinguished protocol datagrams (also known as packets) from the source host to the destination host based only their addresses. As such, IP defines addressing methods and structures for the encapsulation of the packets.
TCP provides communication services at an intermediate level between an application program and the IP. What this means is that when an application program wants to send a large piece of data across the internet using the IP, instead of breaking the data into sizes that will fit the IP and using a series of requests from the IP, the software is capable of issuing a single request to TCP, and let this protocol handle the details of the IP transfer. TCP detects problems that arise in the IP, requests retransmission of the packets that were lost, rearranges the order of the packets (so that they are put back into their proper order), and helps to minimize network congestion (in order to reduce the occurrence of other problems down the line). Once all this has been done and the proper copy of the data has been compiled, the packet is passed along to the application program.
IP encapsulation means that the data from an upper layer protocol is collected in the form of a packet – or datagram. There is no real need for circuit setup before a host sends packets to another host to which it has never previously communicated. As such, IP is a protocol without a connection – in direct contrast with public switched telephone networks that require the setup of a circuit in order for each phone call to go through. As a result of the IP encapsulation, it can be used over a heterogeneous network (a network connecting computers that may consist of a combination of connection tools) in order to resolve IP addresses to data link addresses.
Summary:
1. TCP is a core operating on a relatively high level; IP operates at a lower level.
2. TCP provides communication services at an intermediate level between an application program and the IP; IP encapsulates all data, and is connectionless.