By whom or what do IP - addresses get resolved?

Solution 1:

This process is nothing like DNS, and I humbly submit you are looking at this wrong (ie your intuition likely can't be reconciled with the way Internet routing works). Here is a brief overview which may be helpful. While substantially correct it is oversimplified.

  • The mechanisms used to get data between IP addresses are called routing.
  • IP is called "packed switched". This means that data is broken up into chunks and each chunk is individually handled.
  • In order to transfer data between systems it typically goes through a number of machines which either know the IP address, or forward it on to another machine that knows how to (typically machines which forward packets are known as routers). Each machine knows its own IP addresses and has a table of grouped addresses (called networks or subnets).
  • Machines are part of a small network which is defined by the IP address of the machine and a subnet mask. Machines which are in this group are directly connected and send each other traffic directly [ how this happens varies depending on how the systems are connected, but ethernet and WIFI have a mechanism to map network interfaces to IP addresses (using something called ARP). Very often DHCP is used to help this process and automatically assign IP addresses within the range. At the ethernet level there is some amount of machines shouting "Who do I send this to", and then sending it to the machine that answers.
  • Most systems outside of ISP's and very large providers have an entry where they send all IP addresses they don't know about, called a default route. So your computer has a default route of your router - so it sends traffic to the wider internet to your router. Your router has a default route and sends it to the next router until it reaches where it wants to go. (larger ISP systems may not have a default route, but will know how to route all traffic - and there are systems to dynamically change how traffic is routed using dynamic routing - typically something called BGP)

Filling in some gaps -

  • Each packet is seperately handled (this is one of the things that makes the Internet robust and flexible)
  • Each packet includes some information including the source address, destination address, Internet protocol subtype (eg TCP, UDP, ICMP) and ports.
  • Some devices don't have 'real IP addresses' in which case a router can rewrite the packets to and from the device and act as a proxy for it. This is called NAT (network address translation).
  • People don't "dial in" to the Internet anymore. This is an old technology to abuse the phone network. In reality things have been flipped around - systems are always connected and the phone system is now largely sent across the Internet (ie VOIP).