1

lets say that i have an a web browser. trying to connect to www.google.com.

the web browser send a DNS request on port 53 to the transport layer. the transport layer encapsulate the request into a segment on TCP and transfer it to the network layer.

the network layer identified the packet and use the defulte DNS server ip address and send it to the Link Layer.

The Link Layer use ARP and etc..

getting the response.

the Link layer transfers to the network layer , and here is my question :).

does the network layer hold any table of hostname to ip?

from now on , the response should bubble up to the application layer. dose the application layer add the ip that was extract from the dns request to the packet?

私が理解していることから、アプリケーション層はポートにバインドしようとする必要があり、次にトランスポート層はソケットを介してホスト名/ IPに接続するか、IP層に報告してそれを行う必要があります。

しかし、問題はどのようにですか?

ありがとう。

4

1 に答える 1

2

DNS 応答は、ヘッダーとそれに続くアプリケーション関連のデータ本体を含む UDP パケットです。データには要求のドメイン名が含まれますが、これはネットワーク層ではなく、DNS 要求を行ったアプリケーションの利益のためです。ネットワーク層は、データ本体の内容を分析しません。

DNS 応答パケットをデコードし、後でポートにバインドするときに使用するために IP アドレスを保存するのはアプリケーション レイヤーです。バインディングは DNS 名について何も認識せず、IP のみを認識します。

于 2013-01-12T10:26:16.550 に答える