2011-08-07 48 views
4

是ip的一個一對一映射的主機名?主機名稱如何具有多個IP地址?根據Java的getAllByName ,它返回IPS的機器名的列表,但它的文檔似乎暗示,否則或至少不解釋一對多映射:是ip的一個一對一映射的主機名?

 
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

回答

7

號,每一臺主機名稱可以有多個指向不同IP的DNS A記錄。這通常用於高級負載平衡。您可以檢查例如在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. 
0

不,一個主機可能有幾個A記錄,在這種情況下,解析器將返回所有IP地址的列表。您可以檢查它在幾乎所有的大型網站:

;; QUESTION SECTION: 
;google.com.     IN  A 

;; ANSWER SECTION: 
google.com.    283  IN  A  74.125.232.82 
google.com.    283  IN  A  74.125.232.81 
google.com.    283  IN  A  74.125.232.83 
google.com.    283  IN  A  74.125.232.80 
google.com.    283  IN  A  74.125.232.84 
1

其實IP的一臺機器取決於正在使用的那箱網絡接口卡(NIC)的數量。所以如果一臺機器安裝了3個網卡,那麼這個盒子會有1個主機名,但有3個不同的IP。