亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 5312 | 回復: 17
打印 上一主題 下一主題

[DNS] gethostbyname和dns協(xié)議的困惑 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2006-05-23 22:14 |只看該作者 |倒序瀏覽
最近接觸一種叫DNS負載均衡的技術,其中有些疑惑之處想請教各位!

就拿msn來說吧!
它有個登錄服務器的域名為messenger.hotmail.com.它一定對應多臺物理服務器,ip地址也肯定不同。

我用dig試了一下.

C:\Tools\dig>dig messenger.hotmail.com

; <<>> DiG 9.2.3 <<>> messenger.hotmail.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 9, ADDITIONAL: 9

;; QUESTION SECTION:
;messenger.hotmail.com.         IN      A

;; ANSWER SECTION:
messenger.hotmail.com.  210     IN      CNAME   dp.msnmessenger.akadns.net.
dp.msnmessenger.akadns.net. 60  IN      A       65.54.239.80

;; AUTHORITY SECTION:
akadns.net.             166831  IN      NS      zc.akadns.org.
akadns.net.             166831  IN      NS      zd.akadns.org.
akadns.net.             166831  IN      NS      eur4.akadns.net.
akadns.net.             166831  IN      NS      eur8.akadns.net.
akadns.net.             166831  IN      NS      usw5.akadns.net.
akadns.net.             166831  IN      NS      asia4.akadns.net.
akadns.net.             166831  IN      NS      asia9.akadns.net.
akadns.net.             166831  IN      NS      za.akadns.org.
akadns.net.             166831  IN      NS      zb.akadns.org.

;; ADDITIONAL SECTION:
za.akadns.org.          1383    IN      A       81.52.250.134
zb.akadns.org.          1383    IN      A       206.132.100.105
zc.akadns.org.          1383    IN      A       69.45.78.3
zd.akadns.org.          1383    IN      A       65.203.234.28
eur4.akadns.net.        140311  IN      A       195.219.3.170
eur8.akadns.net.        140315  IN      A       62.4.69.96
usw5.akadns.net.        102652  IN      A       63.241.73.200
asia4.akadns.net.       140313  IN      A       61.213.147.96
asia9.akadns.net.       140313  IN      A       220.73.220.4

;; Query time: 109 msec
;; SERVER: 202.96.209.134#53(202.96.209.134)
;; WHEN: Mon May 22 22:11:44 2006
;; MSG SIZE  rcvd: 414


但是我用gethostbyname只能得到ANSWER SECTION字段中的ip地址。
我就想知道ANSWER SECTION和ADDITIONAL SECTION分別代表什么意思?這和gethostbyname有什么聯(lián)系?

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
2 [報告]
發(fā)表于 2006-05-24 08:53 |只看該作者
struct hostent 要研究清楚內(nèi)容,及用法, gethostbyname 確實只取 Answer Section,
其他部份他不會看
           struct hostent {
                   char    *h_name;        /* official name of host */
                   char    **h_aliases;    /* alias list */
                   int     h_addrtype;     /* host address type */
                   int     h_length;       /* length of address */
                   char    **h_addr_list;  /* list of addresses */
           }

論壇徽章:
0
3 [報告]
發(fā)表于 2006-05-24 09:23 |只看該作者
搭車問個問題 :

gethostname 和 gethostbyname 有什么區(qū)別呢?

謝謝 abel 先了。^_^

論壇徽章:
0
4 [報告]
發(fā)表于 2006-05-24 09:57 |只看該作者
gethostname 和 gethostbyname 有什么區(qū)別呢?

膚淺的理解,gethostname是取本機的hostname,gethostbyname是取remote hostname.

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
5 [報告]
發(fā)表于 2006-05-24 10:00 |只看該作者
原帖由 ailms 于 2006-5-24 09:23 發(fā)表
搭車問個問題 :

gethostname 和 gethostbyname 有什么區(qū)別呢?

謝謝 abel 先了。^_^

gethostname/sethostname 是取得/設定 主機名稱,類似於 command mode 的 hostname

gethostby{addr,name} 則分別求反解(addr), 正解(name),
前面有人問怎拿掉反解檢查(不是其他解析,如 A,MX 等 dns 行為) 就是要有辨法把
[root@log cnptr]# nm -v /usr/lib/libresolv.so | grep gethostby
00003220 T res_gethostbyname2
00003640 T res_gethostbyaddr
00003ee0 T res_gethostbyname

這其中的 gethostbyaddr 給 hook 掉 ,不過這些東西可能要對 C 及 nm/ar/ranlib/libtool 等熟一點的人才好做

論壇徽章:
0
6 [報告]
發(fā)表于 2006-05-24 10:20 |只看該作者
謝謝ro4tub 和 abel !

因為在看sendmail的書時提到,sendmail如何獲取本地主機的Canonical Name,到目前還是不清楚 :

1)先執(zhí)行 gethostname

2)再把 gethostname 得到的值給 gehostbyname

3)gethostbyname 的結果作為 Cw 的值

請問為什么不直接 gethostbyname ,而非要先經(jīng)過 gethostname 這一個步驟呢?

如果我只是要獲取本地主機名,這兩者返回的東西有什么不同嗎?

謝謝!

[ 本帖最后由 ailms 于 2006-5-24 10:24 編輯 ]

論壇徽章:
0
7 [報告]
發(fā)表于 2006-05-24 10:28 |只看該作者
原帖由 abel 于 2006-5-24 10:00 發(fā)表

gethostname/sethostname 是取得/設定 主機名稱,類似於 command mode 的 hostname

gethostby{addr,name} 則分別求反解(addr), 正解(name),
前面有人問怎拿掉反解檢查(不是其他解析,如 A,MX 等 dns 行為 ...


看來不懂C真是吃虧。

不過服務器例如 sendmail 就不能自定義不要做反解嗎?

論壇徽章:
0
8 [報告]
發(fā)表于 2006-05-24 11:05 |只看該作者
剛剛開會......
還沒來得及說清我自己的問題呢,呵呵!

msn messager client 通過調(diào)用gethostbyname("messenger.hotmail.com"),這其實是向"中國電信dns服務器"查詢的,返回一個ip_addr,然后client通過connect(ip_addr).

我的問題是,client連接的服務器很可能并不是同一個ip_addr,但是用gethostbyname每次返回的都是同一個
ip_addr,這怎么解釋.

另外,對于ANSWER SECTION和ADDITIONAL SECTION分別代表什么意思?我也看了rfc,但是說的好象很眩,
我要知道具體的而不是抽象的解釋.

還有struct hostent {
                   char    *h_name;        /* official name of host */
                   char    **h_aliases;    /* alias list */
                   int     h_addrtype;     /* host address type */
                   int     h_length;       /* length of address */
                   char    **h_addr_list;  /* list of addresses */
           } ;
也看unix network programming一書的解釋,但是還不是很明白這個h_aliases有什么用,至于h_addr_list是否就是我之前所說的messenger.hotmail.com 域名對應的多個ip地址呢?

而這種一個域名多個ip技術,是否我向某個機構提交一個申請,我想給我的f_u_c_k.com綁定61.143.12.4,
61.143.12.8,61.143.12.9,他那邊就會給我控制嗎,而不需要administrator做任何控制嗎?


在下是一個程序員,對于系統(tǒng)管理有很多的疑惑,還請多多指教!謝謝!

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
9 [報告]
發(fā)表于 2006-05-24 11:12 |只看該作者
原帖由 ailms 于 2006-5-24 10:28 發(fā)表


看來不懂C真是吃虧。

不過服務器例如 sendmail 就不能自定義不要做反解嗎?

不行,絕大多數(shù)的 daemon 都會做反解, apache 預設不做,也可以設定成要做 log 反解,
或是 order allow,deny 中有 fqdn 格式就會最反解比對
反解是不能拿掉的,因為多數(shù)是寫死在程式中
sendmail 只能定義 resolver 行為時間,不能定義 不做反解,即使你把 syslog 關了
他還是會做反解的
#O Timeout.resolver.retrans=5s
#O Timeout.resolver.retrans.first=5s
#O Timeout.resolver.retrans.normal=5s
#O Timeout.resolver.retry=4
#O Timeout.resolver.retry.first=4
#O Timeout.resolver.retry.normal=4

論壇徽章:
0
10 [報告]
發(fā)表于 2006-05-24 11:14 |只看該作者
answer部分就是你的query的答案,additional 就是對 answer 部分或者 authority 部分的一些補充。

例如你請求一個 A 記錄,一般除了給出 answer 部分外,

還會給出那些服務器是你查詢域名的權威服務器(authority部分),

還有這些權威服務器的ip(additional部分)。

至于每次都返回一個地址,我想是 cache 的關系,清一下看還會不會得到同樣的結果

如果有多個地址,一般只會使用 answer 部分的第一個。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP