Socket
A socket is an abstract representation of a communication endpoint.
Sockets work with Unix I/O services just like files, pipes & FIFOs.
Sockets (obviously) have special needs:
- establishing a connection
- specifying communication endpoint addresses