--.--
--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

03.22
Thu
続き↓




前回まではパケットのルーティングの方法的なことについて纏めましたが、

今度は、DNSについて書いてみます。

まずDNSというものができた経緯から。

そもそもコンピュータというものは基本的にIPアドレスしか理解できません。

つまりIPアドレスというのはコンピュータにとって都合の良い、理解しやすい宛先の記述方法です。

だけれども、私たち人間はそうではないです。

よく見かける、192.168.1.1などの十進数表記ドット区切りのIPアドレスも元をただせば、2進数で

11000000101010000000000100000001

のような感じのものです。はい全然わかりませんね。

つまり、数字のならびは人間にやさしくない。なので別名を付けたい。だけどコンピュータは数字の並びしか理解できない。

ここで生まれたのがDNSという仕組みです。

DNSはこのややこしく覚えずらいIPアドレスと人間が理解しやすいURL(ドメイン名)との間にたって

各々の変換を行ってくれる機能なのです

だから例えば私たちが普段ブラウザに、www.google.comと入力するとそれはDNSサーバに問い合わせが行われ、

IPアドレスに変換されます。IPアドレスがわかればあとは前回記事にしたような通信の仕方で、www.google.com

というサーバと通信が始まります。インターネットの裏方はこんな感じになってるんですね。

じゃ具体的に次はどのようにDNSサーバに問い合わせを行っているかを書いてみます。

その為にはこのドメイン名の仕組みを少し書く必要があるので、まずはそこから。

(いろいろと書いてますが間違ってたら突っ込んでくださいね!ww)

なんていうのかなー笑

このドメイン名ってのは木構造というかフォルダみたいな構造になってるんですよね。

ちょっとペイントでまた懲りずに分かりずらい図をかきましたw


dnstreestrct.png

こんな感じです

ここでは特にwww.example.comというURLを例に考えていきましょう。

まず名称から。

URLで一番右のcomというのはTLD(Top Level Domain)といます。

他にもTLDにはorgやnet,jpなどたくさんあります。

その中でもorgやcomなど国の関係がないものをgTLD(Generic Top Level Domain)といい

国の関係するjpなどのTLDを特にccTLD(country code Top Level Domain)なんていいます。

では本題のどのようにしてDNSサーバにIPアドレスを問い合わせるのかについてです。

ポイントは"区分わけ"だと思ってます自分的には。

どういうことかというと、一つのDNSサーバがすべてをこなすのではなく、

仕事(IPアドレスの問い合わせ要求)を複数のDNSサーバで分担して行うということです。

以下にその順序を示します。


まずIPアドレスが知りたくて困っているクライアントがいる。

そのクライアントはTLDを管理しているルートサーバに問い合わせる。

クライアント「www.example.comのIPアドレスを教えてください!!」

ルートサーバ「TLDは.comか。ってことは.comを管理しているあっちのサーバに教えてもらって」

クライアント「了解です!」

クライアント「www.example.comのIPアドレスを教えてください!!」

.comを管理するDNSサーバ「あー、ルートサーバに回されてきたのね。だけど.example.comはあっちのDNSサーバの管轄だからあっちに行って下さい」

クライアント「了解です!」

クライアント「www.example.comのIPアドレスを教えてください!!」

.example.comを管理するDNSサーバ「www.example.comは私の管轄です。IPアドレスは、xxx.yyy.zzz.aaaです」

クライアント「ありがとうございました」



余計わかりずらくなったらすみません。ww

でもまぁ基本はこんな感じのはずです。(本当はキャッシュDNSサーバとかを挟みます)

ちなみにこの最終的なDNSサーバは.example.comを管理していることに由来して

権威DNSサーバとか言ったりします。

これでIPアドレスが得られましためでたしめでたし。ノシ


余談。


だけどこんなめんどくさい方法をやらなくてもいいと思いませんか?

実はDNSという考えが生まれた初期には、

もっと原始的な方法がとられていたようです。

当然私は知りませんでしたけど。ww

どういうものかと言うとようは、接続したいドメイン名とIPアドレスの変換テーブルが

ファイルとして各PCとかに入ってればいいんですよ。

そうすれば、ユーザが接続したいサーバをドメイン名で指定してきてもすぐにIPアドレスに変換できます。

だけどこのやりかたは、すぐに破綻したようです。なぜならインターネットには星の数ほど接続先となりうる

コンピュータがあるわけですから。それらの変換テーブルを各々のコンピュータにリストアップしておくのは

不可能です。


・・・なんですが、まだこの機能は残っています。

きっと特殊な環境とかでは役に立っているんでしょう。

そのファイルの場所を書いておくと、

Linuxディストリビューションだと(私はUbuntuですが)/etc/hosts

WindowsだとC:\Windows\System32\drivers\etc\hostsです

さらに余談ですが、

このhostsファイルはDNSサーバで引いてきたIPアドレスよりも優先されます

だから、googleのURLを打ち込んでも、yahooに行くようにすることも可能です。


それでは!!
スポンサーサイト
comment 0 trackback 0
トラックバックURL
http://telracsmoratori.blog.fc2.com/tb.php/105-cb3ea950
トラックバック
コメント
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。