« Javaのちょいミス | トップページ | 12月 »

2009/11/19

なぜ、DNSは、信頼性の乏しいUDPを使っているか?

学校のClient / ServerのNetwworkに関するエッセーの宿題をやっている。ただ単に、文章で、答えるやつ。その1つにUDPとTCPの違いについて、説明せよという問いがあった。この問いの答えを、簡単に言えば、TCPは、信頼性があり、UDPは、信頼性がない、ということになる。TCPは、送られてこなかったパケット(データー)があるか、検出でき、再送信をリクエストできる。大きなデーターをパケット単位に小分けにして送り、受信側で、組み立てる。UDPは、抜け落ちたパケットを感知することができない。

では、ネットのURLなどをIPアドレスに変換するDNS servverは、なぜ、信頼性の乏しいUDPを利用しているのだろうか? 自問自答してみたら、答えが出た。サーバーに送るリクエストも、返ってくる答えも短く、1つのパケットで済んでしまう。2つ以上のパケットにまたがるデーター、つまりリクエストや答えなら、packet lossは、致命的な障害だが、1つのパケットに収まれば、来るか来ないかの問題のみになり、来なかったら、来なかったまで、不完全なリクエストや答えが存在しない。だから、信頼性の乏しいが速いUDPで十分となる。

元同僚のDNSの専門家に、メールでウラを取ったが、この解釈で正しいと言うことだった。

いちいち、ブログに書くような話題でもないが、まあいいか?

http://www.softpanorama.org/DNS/dns_ports.shtml

|

« Javaのちょいミス | トップページ | 12月 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/160143/32285795

この記事へのトラックバック一覧です: なぜ、DNSは、信頼性の乏しいUDPを使っているか?:

« Javaのちょいミス | トップページ | 12月 »