OSI参照モデルは、コンピュータネットワークにおける通信プロセスを7つの層に分けて理解するための枠組みです。これにより、ネットワーク通信の各段階を効率的に管理し、問題が発生した場合に特定しやすくなります。この記事では、データがどのようにOSIモデルの各層を通過して最終的に受信者に届くのかを詳述します。
1. 物理層(Layer 1)
物理層は、ネットワークの最下層であり、データ通信のための物理的な接続を提供します。この層では、電気的な信号や光信号、無線波などを用いてデータが伝送されます。データが送信元から受信先に物理的に届くまでの経路や方法が決定されるため、例えばケーブル、スイッチ、ハブなどが関与します。

物理層では、データは「ビット」として表現されます。これらのビットは、電気信号としてケーブルや無線を通じて物理的に送信されます。
2. データリンク層(Layer 2)
データリンク層は、物理層で送られたビットを有効なデータに変換し、エラーの検出と訂正を行います。この層は、データが正確に転送されることを保証するために重要な役割を果たします。具体的には、データリンク層はフレームという単位でデータを処理します。
データリンク層では、MACアドレス(物理アドレス)を使用して、ネットワーク上の異なるデバイス間での通信を管理します。例えば、イーサネットやWi-Fiなどの技術がこの層で動作します。データリンク層では、エラーが発生した場合に再送信を行う機能も提供されます。
3. ネットワーク層(Layer 3)
ネットワーク層は、異なるネットワーク間でデータを転送する役割を担っています。この層では、データの送信先を特定するためにIPアドレスを使用し、ルーティングを行います。ネットワーク層は、最適な経路を選択し、データを目的地まで効率的に届けるために必要な処理を行います。
ネットワーク層では、IPパケットという単位でデータを扱い、ルータやゲートウェイがこの層における重要な機器となります。IPアドレスによって、異なるサブネットやネットワーク間でデータが正しく転送されることが保証されます。
4. トランスポート層(Layer 4)
トランスポート層は、データの信頼性と順序を保証する役割を担います。この層では、データが正しく届くように、セグメントという単位でデータが扱われ、必要に応じて再送信や順序の管理が行われます。代表的なプロトコルには、TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)があります。
TCPは、接続型のプロトコルであり、データの順序やエラー修正を保証します。これに対して、UDPは接続レスで、エラー訂正や順序保証を行わないため、通信が高速に行えるという特徴があります。トランスポート層は、データの信頼性を確保するため、セッションの管理やデータフロー制御も行います。
5. セッション層(Layer 5)
セッション層は、通信のセッション(接続)の確立、維持、終了を管理します。この層では、アプリケーション間での対話的なやり取りをサポートし、データ交換を行う際の順序やタイミングを調整します。
セッション層は、クライアントとサーバー間の通信をセッションとして管理し、例えば、チャットアプリケーションやファイル転送におけるやり取りをサポートします。また、セッション層では、セッションの復元や中断した通信の再開を行うことも可能です。
6. プレゼンテーション層(Layer 6)
プレゼンテーション層は、アプリケーション層と通信層(下位層)との間でデータのフォーマットを変換する役割を持っています。データのエンコーディングや暗号化、圧縮を行い、異なるシステム間でのデータ互換性を確保します。
例えば、データがテキストとして送信される場合、異なる文字コード(UTF-8、ASCIIなど)を使っているシステム間での互換性を持たせるためにプレゼンテーション層がフォーマットを調整します。また、セキュリティが求められる場合には、データを暗号化して送信する処理もこの層で行われます。
7. アプリケーション層(Layer 7)
アプリケーション層は、ユーザーが直接触れるネットワークの最上位層です。この層では、ネットワークサービスを提供するためのプロトコルが実行されます。代表的なプロトコルとしては、HTTP(ウェブブラウザ)、FTP(ファイル転送)、SMTP(メール送信)、DNS(ドメイン名解決)などがあります。
アプリケーション層は、ユーザーとネットワークとのインターフェースを提供し、最終的なデータの送信者と受信者が通信を行うための手段を提供します。この層では、ユーザーが利用するアプリケーションが直接データを生成し、他のアプリケーションと通信を行います。
データがOSI層を通過するプロセス
データが送信されるとき、そのデータはアプリケーション層で生成され、順番に下位の層を通過しながら処理されます。最終的に物理層で送信され、受信側では逆に上位層に戻ってきます。この流れは以下の通りです:
- アプリケーション層(Layer 7) でデータが生成される。
- プレゼンテーション層(Layer 6) でデータがフォーマットや暗号化される。
- セッション層(Layer 5) でセッションが確立される。
- トランスポート層(Layer 4) でデータの信頼性や順序が管理される。
- ネットワーク層(Layer 3) でルーティングが行われ、IPパケットとして送信される。
- データリンク層(Layer 2) でMACアドレスを使い、フレームとして物理的に送信される。
- 物理層(Layer 1) でビットとして電気的信号や光信号に変換され、物理的なメディアを通じて送信される。
受信側では、逆の順序で各層がデータを処理し、最終的にアプリケーション層でデータが表示されます。このように、OSI参照モデルを通じてデータは送信者から受信者に伝送され、通信が成り立ちます。