TCP/IP has an intermediary role between software and a computer network. TCP/IP provides mechanism and rules that allow two computers communicate with each other.

TCP/IP has the following roles:

1. Addressing: TCP/IP assigns a unique address to each computer so that they can identify each other and then communicate.

2. Packeting: It contains a lot of information about data being transmitted. It includes size of the information being sent, the source, the destination, type of data i.e. audio, video, text, etc., source and destination port number, data acknowledgement flag, version of information.

3. Segmenting, reassembly: TCP/IP chops the transmitted data into small chunks and then reassembles them at the destination. Data segmenting is important so that if data were to be distorted or dropped, only a part of it will be effected, and hence only that part will need to be retransmitted, ensuring lesser bandwidth consumption and faster communication.

4. Sequencing: TCP/IP also enables the computer to put all the transmitted information into right sequence - the sequence it was sent.

5. Data Integrity Insurance: It detects which data has been transmitted, which couldn’t be transmitted or got distorted in transition. It then makes sure that the lost or distorted data is re-transmitted until it is completely and successfully received at the destination.

These were functions of TCP/IP. All information we pull off Internet in our internet browser, or we transmit through a FTP software and many other such data transmission applications use TCP/IP to ensure integrity of information and also to enhance communication performance. TCP/IP therefore is crucial in data transmission and is being used in virtually every data transmission application.

There is another protocol than TCP/IP, it is called UDP/IP. To find out advantages of using TCP over UDP, read this page.