TCP makes it easier for computer programs to communicate with each other, typically over a computer network. When a program wants to send a lot of data, TCP is in charge of dividing the data, sending it through the network, and putting it back together correctly on a different computer. In the process, IP chooses which wires and "intersections" get used to send all the data pieces in the fastest way. It does this using packets.