is host name to ip a one-to-one mapping?

user881480 picture user881480 · Aug 7, 2011 · Viewed 8k times · Source

is host name to ip a one-to-one mapping? how can a host name have multiple ip addresses? according to Java's getAllByName, it returns a list of ips for a hostName, but its documentation seems to suggest otherwise or at least not explaining the one to many mapping:

The host name can either be a machine name, such as "java.sun.com", or a textual representation of its IP address.

http://download.oracle.com/javase/1.4.2/docs/api/java/net/InetAddress.html#getAllByName%28java.lang.String%29

Answer

Lukáš Lalinský picture Lukáš Lalinský · Aug 7, 2011

No, every host name can have multiple DNS A records pointing to different IPs. This is often used for high-level load balancing. You can check that for example on google.com:

$ host google.com
google.com has address 209.85.148.104
google.com has address 209.85.148.105
google.com has address 209.85.148.103
google.com has address 209.85.148.106
google.com has address 209.85.148.147
google.com has address 209.85.148.99
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.