A question with an incredibly long answer. In a network made up of hundreds of types of hardware, manufactured by hundreds of proprietary vendors, thousands of software packages, from thousands of software shops, and millions of human users speaking all sorts of languages, you can imagine that communication is a pretty tough task. Well, the way this type of problem is solved in information technology is through the use of protocols, or standards.
Protocols define a standard way of communicating.
By using protocols, everyone agrees to certain communication guidelines. And so long as everyone follows those guidelines, they are assured that they can be understood by any other member of the community. The suite is actually composed of several protocols including IP which handles the movement of data between host computers, TCP which manages the movement of data between applications, UDP which also manages the movement of data between applications but is less complex and reliable than TCP, and ICMP which transmits error messages and network traffic statistics. In other words, IP handles the routing of data between networks and nodes on those networks. Domain names are far easier to remember than IP addresses so we usually use domain names instead of IP addresses and rely upon Domain Name Servers to tie domain names to their IP address counterparts behind the scenes.