DNSがアプリケーションレイヤープロトコルである理由


7

DNSの主な役割は、ドメイン名を対応するIPアドレスに変換することです。なぜアプリケーションレイヤープロトコルである必要があるのでしょうか。

たとえば、TCP接続を作成する場合、レイヤー4に宛先IPアドレスが必要なため、DNSはアプリケーションレイヤープロトコルだと思います。正しいですか?別の答えはありますか?

ありがとう!


@sergeyrarはケースを要約します(基本的に、DNSはTCP + UDPよりも上なので、単純なインターネットスタックでは、ビューから隠されている場合が多いとしても、アプリケーションプロトコルです)が、なぜそれが重要なのですか?コンテキストとは何ですか?純粋に理論的な質問ですか?また、DNSはドメイン名を対応するIPアドレスに変換するだけでなく、それよりも少し広いです。
Patrick Mevzek

何か回答がありましたか?もしそうなら、あなたは答えを受け入れて、質問が永遠にポップアップし続けないようにして、答えを探します。または、独自の回答を提供して受け入れることもできます。
Ron Maupin

回答:


7

DNSのクエリと応答はアプリケーションレベルの通信であるため、DNSはアプリケーション層プロトコルです。アプリケーション層は、DNSパケットのクエリと回答のセクションのみを理解します。したがって、アプリケーションレイヤーのDNSクエリ/応答は、レイヤー4 udpにカプセル化され、次にレイヤー3 IPにカプセル化されます。


1
DNSはUDP TCPを使用ます(はい、ここで繰り返します)。
Patrick Mevzek

ゾーン転送にのみ使用するTCPは正しいですか?しかし、通常のクエリ/回答はudpになります。
abdul_razak

いいえ、これは正しくありません。TCPは「通常の」クエリにも使用できます。:参照してくださいRFCは、他の質問を参照の上、あるいは、例えば@RonMaupinが引用しserverfault.com/questions/404840/...
パトリックMevzek

6

物理層、データリンク層、ネットワーク層、またはトランスポート層のプロトコルは名前を使用しません。名前だけを使用する必要があるのはアプリケーションだけなので、DNSはアプリケーションが名前をネットワークアドレスに変換できるようにするため、アプリケーション層プロトコルです。


4

たとえば、TCP接続を作成する場合、レイヤー4に宛先IPアドレスが必要なため、DNSはアプリケーションレイヤープロトコルだと思います。正しいですか?

IPはレイヤ3プロトコルです。

DNSはホスト名をIPアドレスに変換するサービスにすぎません。人間は数字よりも名前を覚えるのが得意なので、これが必要です。

したがって、Webサイト名を入力すると、ブラウザクライアントには、入力した名前のDNS要求を発行するようにオペレーティングシステムに要求するAPIがいくつかあります。

DNS要求は、インターネット上のどこかにある特定のDNSサーバーのIPアドレス(手動で構成したアドレス、またはDHCP更新を介して受信したアドレス)に送信されます。そのサーバーがどのサービスを具体的に必要とするかを知るために(このサーバーはたとえばHTTPサーバーでもある可能性があるため)、ポート番号も指定する必要があります。DNSはUDPポート53を使用します。そのため、アプリケーションレイヤープロトコルである必要があります。

DNSサーバーが常にローカルサブネット上にある場合は、これを実装するレイヤー4プロトコルを使用できます(サーバーは、この要求専用の一意のマルチキャストIPアドレス(たとえば、OSPFと同じメカニズム)によって着信要求を識別します)。


私に反対票を投じた人、あなたの議論を提示してください!あなたの洞察を聞きたいです。
sergeyrar

1
DNSはUDP TCPを使用ます!
Patrick Mevzek

1
すべての回答が否決されたため、DNSがアプリケーション層プロトコルであることに誰かが本当に反対していると思います。
Ron Maupin

正しい@PatrickMevzekですが、多くの実装はRFC 5966に追いついていませんが、DNS Transport over TCP-実装要件: " このドキュメントでは、TCPのサポートが完全なDNSプロトコルの必須部分になるように、コアDNSプロトコルの仕様を更新します実装。
ロンモーピン

@RonMaupinこれはまれなケースになり、実装に関して(とにかくDNSSECで必要になるため)、特定の実装を念頭に置いていますか?それは多くの誤った情報のままであり、正当な理由なしにネットワークがTCP / 53を盲目的にフィルタリングしているだけです(単に彼らは、これはAXFRにのみ必要であると誤解しています。RFCは、ドキュメントが現在SHOULDを超えていることを示す方法を示すために行われました。そうでない場合、人々は前のドキュメントを指すことで自分を根絶するだけです。
Patrick Mevzek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.