カレンダー

11 | 2016/12 | 01
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告



最近の記事

カテゴリー

DATE: CATEGORY:TECH


【メモ】

DNSの仕組み・・・というか用語をちょいちょい忘れるので、
参考になるURLをまとめておきます。

DNSの仕組みの基本を理解しよう

ここで、かなりDNSの詳細が記載されているので、とりあえず、
勉強と理解するには良いサイトです。

ネームサーバの3つの働きとは

DNSの機能をバクッと説明してくれてます。
①をある程度理解したうえで見れば、非常に分かりのいいサイトかと思います。

この図とか、かなり分かりやすいと思うんですが。。。
005_01.gif



ルートDNS
トップレベルドメインの種類

この辺は、ちょっと詳細なので、DNSの仕組みとかの理解には不要かも。
DNSのピラミッドの頂点である、ルートDNS、TLDの詳細がまとめてあります。


digコマンドとは
nslookup~DNSサーバに名前解決の問い合わせを行う

DNSの仕組みを実体験するのに、nslookupやらdigが
非常に分かりやすいので、参考までに。

digコマンドの実行結果例

$ dig google.com

; <<>> DiG 9.5.0-P2 <<>> google.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17158
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

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

;; ANSWER SECTION:
google.com. 136 IN A 72.14.205.100
google.com. 136 IN A 74.125.45.100
google.com. 136 IN A 209.85.171.100


;; Query time: 301 msec
;; SERVER: 60.254.193.158#53(60.254.193.158)
;; WHEN: Wed Jan 7 23:10:48 2009
;; MSG SIZE rcvd: 76


参考までに見方だけ、簡単に。
ポイントは赤色の文字のとこ。

「google.com」ドメインのAレコードは何だ!?
って聞いてるっぽいですね。
で、応答は、「google.com」ドメインは、
IP「72.14.205.100」と「74.125.45.100」と「209.85.171.100」
だ!!って返ってきてるわけですね。

IPが返ってきているということは、聞きにいったDNSサーバは、
フルサービスリゾルバか、実際にそのドメインを管理するDNSサーバの
どちらか、って事がわかります。

で、コマンド実行を見ると、DNSサーバを指定してないです。
この場合、普通はプロバイダのDNSサーバ(フルサービスリゾルバ)
に聞きにいってるんではないかな?って雰囲気がわかります。

続きは、フルサービスリゾルバの動きを想定してみる。

digコマンドの実行結果例2(ルートサーバに問合せ)

$ dig @A.ROOT-SERVERS.NET www.google.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.5 <<>> @A.ROOT-SERVERS.NET www.google.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9461
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 14

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

;; AUTHORITY SECTION:
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e::2:30
a.gtld-servers.net. 172800 IN A 192.5.6.30
b.gtld-servers.net. 172800 IN AAAA 2001:503:231d::2:30
b.gtld-servers.net. 172800 IN A 192.33.14.30
c.gtld-servers.net. 172800 IN A 192.26.92.30
d.gtld-servers.net. 172800 IN A 192.31.80.30
e.gtld-servers.net. 172800 IN A 192.12.94.30
f.gtld-servers.net. 172800 IN A 192.35.51.30
g.gtld-servers.net. 172800 IN A 192.42.93.30
h.gtld-servers.net. 172800 IN A 192.54.112.30
i.gtld-servers.net. 172800 IN A 192.43.172.30
j.gtld-servers.net. 172800 IN A 192.48.79.30
k.gtld-servers.net. 172800 IN A 192.52.178.30
l.gtld-servers.net. 172800 IN A 192.41.162.30

;; Query time: 57 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Wed Jan 9 11:26:50 2013
;; MSG SIZE rcvd: 504


コマンドは、DNSのルートサーバ「A.ROOT-SERVERS.NET」に対して、
「www.google.com」ドメインのIPは何ですか!?って聞いてます。
# A.ROOT-SERVERS.NETは、DNSという仕組みのトップに位置するDNSです。
ルートサーバ

で、応答は色々帰ってきてるんですが、
さっきみた「ANSWER SECTION」がありません。

というわけで、今回は「AUTHORITY SECTION」に注目してみます。
ここでは、.comを管理(委譲)しているDNSサーバが分かります。

要は、「www.google.com」の最初の.comは、AUTHORITY SECTIONに
記載されているサーバに権限を委譲してるので、そいつが知ってるよ。
って教えてくれてるわけです。

んでは、a.gtld-servers.netに聞いてみます。

$ dig @a.gtld-servers.net. www.google.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.5 <<>> @a.gtld-servers.net. www.google.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63790
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 4

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

;; AUTHORITY SECTION:
google.com. 172800 IN NS ns2.google.com.
google.com. 172800 IN NS ns1.google.com.
google.com. 172800 IN NS ns3.google.com.
google.com. 172800 IN NS ns4.google.com.

;; ADDITIONAL SECTION:
ns2.google.com. 172800 IN A 216.239.34.10
ns1.google.com. 172800 IN A 216.239.32.10
ns3.google.com. 172800 IN A 216.239.36.10
ns4.google.com. 172800 IN A 216.239.38.10

;; Query time: 168 msec
;; SERVER: 192.5.6.30#53(192.5.6.30)
;; WHEN: Wed Jan 9 11:27:31 2013
;; MSG SIZE rcvd: 168


次は、「google.com」は、「ns1.google.com.」に権限を委譲
しているので、そいつらが知ってるよ、って教えてくれてます。

この辺をクライアントでいちいち機器に行くのは手間で、
且つDNSサーバ側にも負荷が伴うので、ここで出てくるのが、
フルサービスリゾルバ。

こいつの動きは、クライアントからのリクエストに対して、
「んじゃ、ルートサーバに聞いて、次は、a.gtld-servers.net.に聞きにいって、
さらに次の、さらに次の。。。」とAレコードでIPを知っているサーバまで、
バックグラウンドで引いてくれて、結果がわかったら、その情報を
クライアントに返してくれる、ってわけです。

これだけでも、ちょっと分かった気になれます。
# 本当はもっと奥が深いんでしょうけど(^^;

P.S.
浅い知識での記事なので、間違いがありましたらご指摘くださいm(_)m

ではでは。

【参考URL】
コンピュータ系blog:dig コマンド
dig コマンドを理解する

タグ : TECH NOTE DNS 仕組み

Comment

コメントの投稿

管理者にだけ表示を許可する


トラックバック


この記事にトラックバックする



copyright © なんとなしの日記 all rights reserved.
内職☆在宅ワークの最強は?アフィリエイト!. 初心者だってカッコ良いホームページ作るぅ!
Powered by FC2ブログ
Related Posts Plugin for WordPress, Blogger...