2016-10-15 11 views

答えて

6
  • UDPははるかに高速です。 TCPは3ウェイハンドシェイクを必要とするため低速です。 DNSサーバーへの負荷も重要な要素です。 DNSサーバー(UDPを使用しているため)は接続を維持しません。
  • 一般に、DNS要求は非常に小さく、UDPセグメント内にうまく収まります。
  • UDPは信頼性がありませんが、アプリケーション層に信頼性を追加できます。アプリケーションはUDPを使用することができ、アプリケーション層でタイムアウトを使用して再送信することで信頼性が高くなります。
+1

あなたの答えに3つのノートがあります:1) 'DNS'は' ** UDP'だけではなく 'TCP'も使います。 2)「TCP」の遅さは、接続確立(主に3ウェイハンドシェイクではない**)で主に**ではなく**です。 3)信頼性は上位層に追加できますが、** DNSの場合ではありません**。 – MarianD

4

UDPが安いです。 UDP自体は信頼できるものではありませんが、DNSなどの上位プロトコルは信頼性を維持する可能性があります。応答がない場合にはUDPデータグラムを繰り返すことにより、

しかし最後はDNSのケースではありません。 DNS自体は、UDP(主なプロトコルとして)以外にも、信頼できる伝送制御プロトコルTCP)も使用します。

レスポンスデータサイズが512バイトを超え、信頼性の高い配信が必要なタスク(例:ゾーン転送)の場合は、最後に使用されます。

さらに、のすべてのクエリにTCPを使用するリゾルバ実装があります。

関連する問題