スタックを通るパケットを追跡する
送信側のスタックをデータが下へ進み、受信側のスタックを上へ進む様子を確認します。
「スタックを通るパケットを追跡する」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
1つのメッセージを追う
各層の働きを具体的に理解するため、1つのメッセージがコンピューターから別のコンピューターへ届くまでを追ってみます。送信側のスタックを下へ進み、ネットワークを横切り、受信側のスタックを上へ進むデータを見ていきます。この一連の流れを見ることで、カプセル化、アドレス指定、ルーティングが1つの明確な流れとしてつながり、各層がどのように役割を果たすかが分かります。
送信側がデータを作成する
まず、送信側コンピューターのアプリケーション層から始まります。たとえば、ブラウザーがWebページを要求するリクエストを作成するとします。この生のリクエストが元のデータであり、まだネットワーク用のヘッダーはありません。アプリケーションは旅を始めるためにデータをトランスポート層へ渡します。ここから、データがネットワークへ向かって下へ進むにつれて、各層がデータを包んでいきます。
トランスポート層へ下る
トランスポート層は、データを正しいサービスへ届けるためにポート番号を含むヘッダーを追加します。またTCPでは、信頼性を確保するためにシーケンス番号も追加します。データはここでセグメントになります。必要に応じて、トランスポート層は大きなデータを複数のセグメントに分割します。その後、各セグメントがアドレス指定のためにインターネット層へ渡されます。
インターネット層へ下る
インターネット層は、送信元と宛先のIPアドレスを保持するIPヘッダーでセグメントを包み、パケットを作成します。これらのIPアドレスは送信元から宛先まで変わらず、元の送信者と最終的な受信者を識別します。これでパケットは、途中にいくつのネットワークがあっても、最終的にどの機器へ到達すべきかを把握します。
リンク層へ下る
リンク層は、ローカルネットワーク上の次の機器のMACアドレスとエラーチェック用のトレーラーを含むフレームでパケットを包みます。フレームは信号に変換され、伝送媒体を通じて送られます。ここで重要なのは、宛先MACアドレスが最終的な機器ではなく、次のホップだけを指している点です。
ルーターへの最初のホップ
宛先が別のネットワークにある場合、フレームはまずルーター(デフォルトゲートウェイ)へ送られます。ルーターはフレームを受信して取り外し、パケット内のIPアドレスを読み取り、次に転送する場所を決定します。その後、ルーターは次のホップの新しい宛先MACアドレスを使って新しいフレームを作成します。パケットは残りますが、フレームは作り直されます。
ネットワークを1ホップずつ横断する
このパターンは、経路上の各ルーターで繰り返されます。すべてのホップで、フレームはそのローカルリンク用の新しいMACアドレスを使って作り直されますが、パケットとそのIPアドレスは変わりません。つまり、リンク層のラッパーは常に変化しますが、ネットワーク層のアドレス指定は端から端まで維持されます。パケットは宛先ネットワークに到達するまで、ルーターからルーターへ移動します。
受信側に到着する
パケットが最終的なネットワークに到達すると、最後の機器がフレームを宛先コンピューターへ届けます。ここでデカプセル化が始まります。受信側はデータをスタックの上へ進め、各層が自分自身のヘッダーを読み取って削除します。送信側で下へ進んだ旅が、受信側では上へ進む旅として再現されます。
受信側のスタックを上る
リンク層はフレームにエラーがないか確認し、フレームを取り除いてパケットを取り出します。インターネット層は宛先IPを確認し、IPヘッダーを削除します。トランスポート層はポートを読み取り、必要に応じてセグメントの順序を並べ替えて再構成し、整ったデータを上位層へ渡します。各層は送信側の対応する層が行った処理を、正確に元に戻します。
アプリケーションへ届ける
最後に、受信側のアプリケーション層が、送信側で作成された元のデータ、つまりWebリクエストをそのまま受け取ります。受信側のサービスはそれを処理し、同じ経路を逆向きにたどる応答を返します。メッセージはネットワークを横断しましたが、アプリケーションから見ると、まるで互いに直接通信したように見えます。
旅の全体像
メッセージは送信側のスタックを下へ進み、トランスポートヘッダーを得てセグメントに、IPヘッダーを得てパケットに、リンクヘッダーを得てフレームになります。ルーターを通過すると、各ホップでフレームは作り直されますが、パケットは同じままです。その後、各ヘッダーが取り除かれながら受信側のスタックを上へ進みます。この「下へ、横断、上へ」という経路が、ネットワーク上のすべての通信で実際に起きている流れです。
確認問題
パケットがルーターを通過するとき、何が同じままで、各ホップで何が変化しますか。
まとめ
パケットの流れを追ってみましょう。送信側ではデータが下へ進み、セグメント(ポート)、パケット(端から端までのIPアドレス)、フレーム(次のホップのMAC)へと変化します。各ルーターでは、フレームが新しいMACアドレスで作り直されますが、パケットとIPアドレスは変わりません。宛先では、各層がヘッダーを取り除きながらデータが上へ進み、元のメッセージがアプリケーションへ届けられます。下へ、横断、上へ。
よくある質問
「スタックを通るパケットを追跡する」レッスンは無料ですか?
はい。「スタックを通るパケットを追跡する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「スタックを通るパケットを追跡する」で何を学びますか?
送信側のスタックをデータが下へ進み、受信側のスタックを上へ進む様子を確認します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「スタックを通るパケットを追跡する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- TCP/IPの4階層の概要
- TCP/IPとOSIモデルを比較する
- カプセル化によってデータが包まれる仕組み
- スタックを通るパケットを追跡する