[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

DNSラウンドロビン

pointこの用語のポイント

pointDNSのお話で出てくるよ

point一つのドメイン名に複数のIPアドレスを割り当てるよ

point負荷分散のための仕組みだよ

スポンサーリンク

簡単に書くよ

DNSラウンドロビンとは

DNSの仕組みにおいて、1つのドメイン名に対して複数のIPアドレスを割り当てることによって、負荷を分散する仕組み
です。

image piyo

詳しく書くよ

順番に見ていきましょう。

IPアドレスは「コンピュータさん向けのネットワーク上の住所」ね。
通信において、送信先を特定するときに使う情報です。
「198.51.100.10」のような形式になっています。

DNSラウンドロビン

ドメイン名は人間様向けのネットワーク上の住所です。
「i-3-i.info」のような形式になっています。

DNSラウンドロビン2

普通のコンピュータさんはIPアドレスしか分かりません。
ドメイン名を見せられても「う~ん、どこの住所だろう」と困ってしまいます。

DNSラウンドロビン3

一方、人間様はIPアドレスがピンときません。
例えば「198.51.100.1」と「198.51.100.10」と「198.51.100.11」の違いなんて、パッと見で分かりませんよね。
うっかりミスも増えそうです。

DNSラウンドロビン4

そのため、コンピュータさんはコンピュータさんが分かりやすい形式の住所(IPアドレス)、人間様は人間様が分かりやすい形式の住所(ドメイン名)を扱える仕組みがあります。
具体的には、事前にIPアドレスとドメイン名の対応付けを行っておいて、必要に応じて変換するのです。

DNSラウンドロビン5

このIPアドレスとドメイン名の対応付けを行い、かつ必要に応じて変換してくれる仕組みを「DNS」と言います。
そして、この変換をお仕事としているコンピュータは「DNSサーバ」と呼ばれています。

DNSラウンドロビン6

さて、このDNSの仕組みにおいて、ドメイン名とIPアドレスの対応付けは1対1で行うのが普通です。
例えば

ドメイン名「i-3-i.info」に対応するIPアドレスは「198.51.100.10」

といった調子です。

ところがどっこい、ドメイン名とIPアドレスを1対nで対応付けることもできるのです。
例えば

ドメイン名「i-3-i.info」に対応するIPアドレスは「198.51.100.10」と「198.51.100.11」と「198.51.100.12」

といった調子です。

このように、1つのドメイン名に対して複数のIPアドレスを割り当てる仕組みが「DNSラウンドロビン」です。

ドメイン名とIPアドレスを1対1で対応付けた場合、問い合わせに対する答えは1つです。

例えば、ピヨ太君から「『i-3-i.info』に遊びに行きたいんだけどIPアドレスは何?」とDNSサーバさんに問い合わせが来たとしましょう。

DNSラウンドロビン7

DNSサーバさんは「『198.51.100.10』だよ~」とお返事します。

DNSラウンドロビン8

ピヨ太君はIPアドレスが「198.51.100.10」のコンピュータに向かいます。

DNSラウンドロビン9

同じようにピヨ子さんから「『i-3-i.info』に遊びに行きたいんだけどIPアドレスは何?」と問い合わせが来ました。

DNSラウンドロビン10

DNSサーバさんは「『198.51.100.10』だよ~」とお返事します。

DNSラウンドロビン11

ピヨ子さんはIPアドレスが「198.51.100.10」のコンピュータに向かいます。

DNSラウンドロビン12

同じようにアクマ君から「『i-3-i.info』に遊びに行きたいんだけどIPアドレスは何?」と問い合わせが来ました。

DNSラウンドロビン13

DNSサーバさんは「『198.51.100.10』だよ~」とお返事します。

DNSラウンドロビン14

アクマ君はIPアドレスが「198.51.100.10」のコンピュータに向かいます。

DNSラウンドロビン15

ピヨ太君も、ピヨ子さんも、アクマ君も、IPアドレスが「198.51.100.10」のコンピュータに向かいました。
ドメイン名「i-3-i.info」(=IPアドレスが「198.51.100.10」)に遊びに行った3人を相手にするのは、IPアドレスが「198.51.100.10」のコンピュータ1台です。

DNSラウンドロビン16

これが普通の流れです。

それでは次にDNSラウンドロビンの仕組みを使った場合を見てみましょう。

DNSラウンドロビンを使うと、ドメイン名とIPアドレスを1対nで対応付けることができます。
そうすると、問い合わせに対する答えが複数になるのです。

「ドメイン名『i-3-i.info』に対応するIPアドレスは何?」の問い合わせに対する答えが「『198.51.100.10』だよ」になったり「『198.51.100.11』だよ」になったり「『198.51.100.12』だよ」になったりします。

例えば、ピヨ太君から「『i-3-i.info』に遊びに行きたいんだけどIPアドレスは何?」とDNSサーバさんに問い合わせが来たとしましょう。

DNSラウンドロビン17

DNSサーバさんは「『198.51.100.10』だよ~」とお返事します。

DNSラウンドロビン18

ピヨ太君はIPアドレスが「198.51.100.10」のコンピュータに向かいます。

DNSラウンドロビン19

同じようにピヨ子さんから「『i-3-i.info』に遊びに行きたいんだけどIPアドレスは何?」と問い合わせが来ました。

DNSラウンドロビン20

DNSサーバさんは「『198.51.100.11』だよ~」とお返事します。

DNSラウンドロビン21

ピヨ子さんはIPアドレスが「198.51.100.11」のコンピュータに向かいます。

DNSラウンドロビン22

同じようにアクマ君から「『i-3-i.info』に遊びに行きたいんだけどIPアドレスは何?」と問い合わせが来ました。

DNSラウンドロビン23

DNSサーバさんは「『198.51.100.12』だよ~」とお返事します。

DNSラウンドロビン24

アクマ君はIPアドレスが「198.51.100.12」のコンピュータに向かいます。

DNSラウンドロビン25

ピヨ太君はIPアドレスが「198.51.100.10」のコンピュータに向かいました。
ピヨ子さんはIPアドレスが「198.51.100.11」のコンピュータに向かいました。
アクマ君はIPアドレスが「198.51.100.12」のコンピュータに向かいました。

ドメイン名「i-3-i.info」に遊びに行った3人を相手にするのは、IPアドレスが「198.51.100.10」のコンピュータ、「198.51.100.11」のコンピュータ、「198.51.100.12」のコンピュータ3台です。

DNSラウンドロビン26

普通の流れ(ドメイン名とIPアドレスの対応:1対1)では、1台のコンピュータで3人の相手をしました。
DNSラウンドロビンを使った流れ(ドメイン名とIPアドレスの対応:1対n)では、3台で3人の相手をします。

コンピュータ1台あたりの負担は軽くなりました。

このように、DNSラウンドロビンは負荷分散を目的とした仕組みです。

DNSラウンドロビンを使うメリットは「お手軽に負荷分散ができる」です。
やることは基本的にゾーンファイル権威DNSサーバさんがお仕事で使うネタ帳)を書き換えるだけだからです。

一方のデメリットは……説明が面倒くさくなってきたので小難しい表現も使いますね。
分からない用語が出てきたら、頑張って調べてください。

DNSラウンドロビンをロードバランサ(負担を軽くするために処理を振り分ける誘導係的な装置)と比較した際のデメリットとして

1.負荷状況を考慮しないで振り分けを機械的に行う
2.死活監視をしない
3.セッションを管理できない


などがあります。
細かいことは、専門的に解説しているところで情報を補完してください。

そろそろ読むのが疲れましたか?
私も書くのが疲れてきました。

ですが、せっかくなので、DNSラウンドロビンの仕組みについて、もう少し細かい部分にも触れておきます。
読むのが疲れた人は、ここで読むのを止めても結構です。
DNSラウンドロビンの概要の説明は、終わりました。





……えっ、まだ読んでくれるのですか?

ありがとうございます。
それでは、もう少し細かい部分を書いていきます。

先ほどのピヨ太君たち3バカトリオを使った説明ですが、ピヨ太君の問い合わせに対して、DNSサーバさんは「『198.51.100.10』だよ~」とお返事をしました。

DNSラウンドロビン27

ピヨ子さんの問い合わせに対して、DNSサーバさんは「『198.51.100.11』だよ~」とお返事をしました。

DNSラウンドロビン28

アクマ君の問い合わせに対して、DNSサーバさんは「『198.51.100.12』だよ~」とお返事をしました。

DNSラウンドロビン29

この説明は嘘です。

いや、嘘ではないですけどね。

どっちだよ。

実はですね。

ピヨ太君の問い合わせに対して、DNSサーバさんは「『198.51.100.10』と『198.51.100.11』と『198.51.100.12』だよ~」とお返事をしているのです。

DNSラウンドロビン30

ただし、ピヨ太君はせっかちさんです。
最初の「198.51.100.10」を聞いた時点で、IPアドレスが「198.51.100.10」のコンピュータに向かっちゃいます。

DNSラウンドロビン31

同じように、ピヨ子さんの問い合わせに対しては「『198.51.100.11』と『198.51.100.12』と『198.51.100.10』だよ~」とお返事をしているのです。
ピヨ太君の場合と、伝える内容は同じです。
伝える順番が違うだけです。

DNSラウンドロビン32

ただし、ピヨ子さんもせっかちです。
最初の「198.51.100.11」を聞いた時点で、IPアドレスが「198.51.100.11」のコンピュータに向かっちゃいます。

DNSラウンドロビン33

同じように、アクマ君の問い合わせに対しては「『198.51.100.12』と『198.51.100.10』と『198.51.100.11』だよ~」とお返事をしているのです。
ピヨ太君やピヨ子さんの場合と、伝える内容は同じです。
伝える順番が違うだけです。

DNSラウンドロビン34

やっぱりアクマ君もせっかちです。
最初の「198.51.100.12」を聞いた時点で、IPアドレスが「198.51.100.12」のコンピュータに向かっちゃいます。

DNSラウンドロビン35

結果として、3人は別々のコンピュータに向かい、負荷が分散されます。

……というのが、もともとのDNSラウンドロビンの仕組みでした。
コンピュータの

答えがいっぱい返ってきたときは最初に聞いたのを採用することが多い

性質を利用して振り分けを行っていたのです。

ところがあるとき、RFC3484とかいう文書で

答えがいっぱい返ってきたときは自分に一番近いのを採用してね

というルールというかマナーが発表されました。

「最初に聞いたやつ」ではなく「自分に一番近いやつ」です。
そうすると、順番を並び替えても意味がなくなってしまいます。

よって、RFC3484を考慮しているやつが相手だとDNSラウンドロビンの設定をしていても上手く振り分けられない、という場合もあるようです。

とはいえ、DNSラウンドロビンは手軽で便利ですからね。
「RFC3484?何それ?美味しいの?」なんてとぼけてみたり、新しいテクニック?を考えて何とかしたり、いろいろ工夫もされているようです。

気になる方は「DNSラウンドロビン RFC3484」あたりをキーワードにしてGoogleYahoo!などで検索してみてください。
きっといろいろな情報が見つかると思います。

image piyo2

一言でまとめるよ

まぁ「DNSラウンドロビン」って単語が出てきたら「1つのドメイン名に複数のIPアドレスを割り当てる仕組みなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク