2

www.stackoverflow.com に対する HTTP アプリケーション要求。このメッセージはトランスポート層に渡されます。トランスポート層はヘッダーを追加し、パケットをインターネット層に送信します。インターネット層は、トランスポート層によって追加されたヘッダーにしかアクセスできないため、www.stackoverflow.com を表示できません。次に、インターネット層はこの要求パケットのルートをどのように決定できますか。

アプリケーション層とトランスポート層だけがそのフィールドを知っているため、IPヘッダーの宛先アドレスフィールドはどのように埋められますか。(アプリケーション層は、ヘッダーにポート番号が記載されているインターネット層およびトランスポート層と相互作用しません。)

4

4 に答える 4

2

アプリケーション層は、DNS 経由で URL からホストの IP アドレスを取得済みです。アプリケーション層からの IP アドレスとその他のデータは、トランスポート層に送信されます。トランスポート層はデータをパケット化し、インターネット層に送信してから送信します。

于 2010-01-07T06:12:42.290 に答える
1

アプリケーション (この場合はブラウザー) は、最終的にgetaddrinfoライブラリー関数または同等の関数を呼び出す何かを行い、システムのリゾルバーが DNS で名前を検索して一連の IP アドレスを返すようにしました。

アプリケーションは何らかの方法でそれらの 1 つを選択し (これを行うには標準的な方法がありますが、標準的な方法がいくつもあるのが素晴らしいことです)、connectシステム コールを使用して接続を確立しました。これにより、カーネル内のトランスポート層が接続を確立する作業を開始しました。 IPアドレス。

これにより、宛先アドレスとローカル アドレスを送信元とする IP パケットが作成され、次のプロトコルは TCP に設定され、TCP ヘッダーで SYN ビットがオンになります。パス上の各ルーターは、テーブルを調べてパケットを転送します。

TCP マジックが発生し、SYN+ACK が返され、接続が確立され、HTTP マジックが発生し、ページが読み込まれます。

于 2010-01-07T06:20:59.497 に答える
0

rfc791 IP - アドレッシング

名前、アドレス、およびルートが区別されます [4]。名前は私たちが求めるものを示します。アドレスは、その場所を示します。ルートは、そこに到達する方法を示します。インターネット プロトコルは、主にアドレスを扱います。名前からアドレスへのマッピングを作成するのは、上位レベル (つまり、ホスト間またはアプリケーション) プロトコルのタスクです。Internet モジュールは、インターネット アドレスをローカル ネット アドレスにマップします。ローカル ネット アドレスからルートへのマッピングを作成するのは、下位レベル (つまり、ローカル ネットまたはゲートウェイ) 手順のタスクです。アドレスは 4 オクテット (32 ビット) の固定長です。

詳細: http://www.faqs.org/rfcs/rfc791.html#ixzz0buBJkVEI

名前からアドレスへのマッピングを作成するのは、上位レベル (つまり、ホスト間またはアプリケーション) プロトコルのタスクです。

于 2010-01-07T06:25:39.303 に答える
0

実際の IP ヘッダーがアドレスを取得する方法を知りたい場合。ソケットが作成されると、カーネルで発生します。この場合、TCP ソケット、チェックアウト

男 7 IP

データは TCP ヘッダーのチェックサムに含まれますが、TCP パケットから継承されません。

于 2010-01-07T07:12:44.493 に答える