<< 2024/04 >> | 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 |
|
DNS Over TCP
07/10/13 07:57 / 開発メモ
まず、前知識として
UDP は性質上、連続した複数のパケットを正しく送ることができません。正確には「送信は出来ますが、受信が保証されていません。」 TCP は輻輳制御と呼ばれる機能があり、回線が切断されたりアプリケーションレベルでエラーが発生しない限り正しく相手に送信(相手が受信)することが保証されています。 一般的には、DNS への通信は UDP/53 によって行われますが、UDPでの通信はパケットサイズに制限(512Byte前後)がある為、DNS サーバの設定上(*1) UDP/53 でデータを送信することが出来ない場合があります。 *1 DNS の情報は圧縮が行われ極力この 512byte に収まるように元から設計がされています。ただし設定上の問題で圧縮を行っても 512byte に収まらないことは当然あります。 このような場合に、DNS 通信を UDP/53 では無く TCP/53 で送受信を行う必要があります。これを DNS Over TCP と言います。(RFCにもあるはずですが番号がわかりません) データの受信が保証される TCP で最初から通信をすればいいのでは?と思われますが、UDP と TCP の一番大きな違いとして、通信コストがあげられます。 TCP は、3ハンドシェイクと呼ばれる方法を使って回線を接続します。相手と3回やりとりをして通信を確立するのでこのように呼ばれています。 UDP は、TCP のようにきちんとしたハンドシェイクを行いません。受信側はポートを開けて待っており、送信側は「相手側のポートが開いている」前提で、いきなりパケットを送信することができます。 手間を掛けない分、UDP の方が通信コストが低い訳です。 さて、DNS に戻りますが、DNS は1秒間に数百、数千のアクセスを捌く必要があります。 例えば、akisoftware.jp にアクセスした場合、ブラウザはakisoftware.jp の情報を DNS へ問い合わせします。 akisoftware.jp の中に amazon.co.jp を取り込んだ部分があります、ブラウザはこの amazon.co.jp の情報も DNS へ問い合わせを行います。なにげなく Web サイトへアクセスしていますが、DNS への問い合わせは非常に頻繁に行われています。 もちろん、Web サイトだけでは無く、SMTP/POP3/FTP などドメイン名が関わるサービスは全て DNS に問い合わせを行っています。PMail Server で言えば、SMTPの中の機能のフィルタや、DNSBL、逆引き等全て DNS へ問い合わせを行うことにより確認をすることが出来ています。 DNS はこれほどアクセスが大量に発生するサービスですので、毎回 TCP で接続をして3ハンドで接続を確立して・・・を繰り返すとすぐにサーバーのリソースを食いつぶしてしまいます。 その為に普段は UDP を使って素早く処理を行っているのです。 以上の事から DNS Over TCP は UDP で処理ができない例外的なサイズ(*2)のデータを TCP に切り替えることで DNS から大きな情報を取得する為の仕組みになります。 *2 例外的と言うのは、本来 UDP だけで事足りるように設定を行うことが「推奨」されています。頻繁に問い合わせが必要なDNS情報を UDP では無く TCP で通信をしますと、問い合わせ元、問い合わせ先双方に負担をかけることになります。 また、DNS Over TCP は TCP で送受信する為に余分なデータを付けて送信する必要がある為、より負担が大きくなります。 [更新日付:2007/10/13 07:57:01]
トラックバックを見る(0) Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+9564f0f5a3c09a48d07e69cacdf7e04c8f86f358] TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+9564f0f5a3c09a48d07e69cacdf7e04c8f86f358] 記事へのコメント コメントはありません |
@AKISoftOfficialをフォロー
掲示板 サポートBBS PMailServer BBS アクセスの多い記事
最新記事(カテゴリ別)
PMailServer2 Version 2.53 をリリースしました。
04/08 00:50 フリー版からの製品版移行時の MTA 並列数について 02/17 23:52 メールサーバーの開発を始めて20年 02/07 21:46 PMailServer2 Version 2.52a をリリースしました。 12/26 14:02 PMailServer2 Version 2.52 をリリースしました。 10/01 10:48 PMailServer2 Version 2.51b をリリースしました。 09/19 01:43 PMailServer2 Version 2.51b(仮) Memo 09/12 00:33 PMailServer2 Version 2.51a をリリース、及び脆弱性についてのお知らせ 09/05 01:15 PMailServer2 Version 2.51a Memo 08/21 00:48 アドレスV125(K5)のスターターリレーの交換 08/04 10:10 最新コメント
コメントはありません
UUアクセス数
今日は 329回
昨日は 249回 トータル 304855回 3ヶ月記事別ランキング
プロフィール
Z80から68系、8086系を経由して
Pascalに移行。現在は Delphiをメインに C/C#も囓ってみたり。 「無い物は作れ」の精神で年がら年中なにかを作っています。 すぐ自前で作りたがるので無駄に工数が上がったりして自爆してみたりもします。 好きな物は麺類とお煎餅 Blom内検索
BLOM Version 1.39 ©2007-15 A.K.I Software all rights reserved. |