質問: catv用のルータの説明を読んでいて・・・ 各社のcatv用ルータの説明を読んでいて次の様な文章がありました。 *b wan側のdhcpクライアントが取得したdnsサーバーのアドレスを、lan側のdhcpサーバーにより各ホストに伝達する。 *c dnsに関する問い合わせに対して、wan側でdhcpにより取得したdnsサーバーに問い合わせるよう返答する機能で、lan側のdhcpでは、とりあえず自分自身のipアドレスをdnsサーバーとして伝達することになる。 あるルータには*bの機能が有り、*cの機能はありません。 また別のルータには*cの機能があり、*bの機能はありません。 と言う風に両方の機能をあわせもった製品はありませんでした。 それは多分両方ともほぼ同じ機能だからと私は想像します。(おそらく) しかし全く同じ機能ならわざわざ違いを特筆しないと思いますので、*bと*cの違いをお聞きしたいのです。 なるべく詳しく、回答自体のレベルは問いません。 徹底的に違いの説明を頂戴したいと思います。 宜しくお願いします。
回答: wanをcatv事業者の持つネットワークとします。そして、説明のために、ルータのipアドレスをwan側が210.224.170.10、lan側を192.168.0.1、wan上のdnsサーバを210.224.170.30、lan上の各ホストを192.168.0.3とします。 *bの機能は、ルータのwan側のnicがdhcpクライアントとなり、catv事業者の持つdhcpサーバからipアドレスとdnsサーバのアドレスを受信します。ルータはこれにより、 ip:210.224.170.10 dns:210.224.170.30 がセットされます。次に、ホストがlanに接続すると、ルータはホストのdhcp要求にこたえ、ホストのipアドレスとdnsを使用する際に問い合わせるべきdnsサーバのipアドレスを返します。すると、ホストには ip:192.168.0.3 dns:210.224.170.30 の値がセットされます。ホストは、名前の解決をする際にはdnsサーバに直接問い合わせをするようになります。 *cの機能では、ルータがwan側のnicに ip:210.224.170.10 dns:210.224.170.30 をセットするまでは同じですが、ホストに渡す値が変わります。ホストのdhcp要求に対して、ルータは ip:192.168.0.3 dns:192.168.0.1 を返します。ホストは、名前解決を行うとき、ルータに問い合わせます。すると、ルータは先ほど取得したdnsサーバに向けて名前解決を要求し、返ってきた結果をルータがホストに返します。ルータが、dnsの代理サーバとなるのです。 どちらの機能も、ホストから見れば名前の解決はできるわけですが、その手順が多少異なるというわけです。*bのほうが機構は単純で、*cは機構は多少複雑ですが、名前解決を行うたびにネットワークに負荷をかけずにすむ(ルータがキャッシュするため)という利点があります。実物を扱ったことがないので正確なことはわかりませんが、機能はこのとおりでしょう。足りないところ、明らかに間違った認識などがありましたら、補足ください。