In real-life, to communicate with each other, we use telephone line, e-mail. These tools requires that Communicator should provide info about person to whom he wants to communicate. For telephone line, it is phone number. For e-mail, it is e-mail ID. Telephone line finds the address of both person, binds them, reserve bandwidth until communication ends. So, for each talk, it maintains some info which will be discarded once talk ends. For e-mail as well, some info is stored per user.
Now, considering two computer program communicating each other. In the same way, both should have identity. If these programs sits in different machine, then address is needed which is provided using IP address assignment
A Unix domain socket or IPC socket (inter-process communication socket) is a data communications endpoint for exchanging data between processes executing on the same host operating system.The API for Unix domain sockets is similar to that of an Internet socket, but rather than using an underlying network protocol, all communication occurs entirely within the operating system kernel. Unix domain sockets use the file system as their address name space.
http://bhavin.directi.com/unix-domain-sockets-vs-tcp-sockets/
https://en.wikipedia.org/wiki/Unix_domain_socket