Creates logical connection between two machines on the network.
Makes connected machines think that they are directly connected.
Provedes reliable, perfect transport of messages.
Breaks data into packets to move through routers. Tries hard, but may drop packets.
If so, it will initiate procedure to recover them.