- Two-sided communication links between two programs in a network.
- Connection: Machines are aware of the each other's network location(IP) and TCP port
- Can be TCP or UDP based.
Two kinds of sockets: Server(wait for request) and Client(receive and send data)