1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

カプセル化とは

Posted at

プロトコルの持つ役割の中で最も大きいものが「カプセル化」「非カプセル化」です。ネットワークの通信では、OSI参照モデルのレイヤーを超えるたびに、データを入れ物(カプセル)に入れたり出したりします。カプセルに入れる処理がカプセル化カプセルから取り出す処理が非カプセル化です。これら2つの処理は、ロシアのお土産で有名なマトリョーシカ人形とよく似ています。カプセル化と非カプセル化は、アプリケーションデータを送り出すサーバーと受け取るクライアントについて考えると理解しやすくなります。以下、その流れを見ていきましょう。

サーバーで行う処理がカプセル化です。サーバーはレイヤーの上流から下流に向けて、カプセル化の処理を行い、転送用のデータを作っていきます。サーバーアプリケーションは、アプリケーションデータを作ると、そのままの状態でトランスポート層に渡します。トランスポート層は、受け取ったアプリケーションデータをTCP/UDPのカプセル(セグメント)に入れて、ネットワーク層に渡します。ネットワーク層は、受け取ったセグメントをIPのカプセル(パケット)に入れて、データリンク層に渡します。データリンク層は、受け取ったパケットをイーサネットのカプセル(フレーム)に入れて、物理層に渡します。物理層は受け取ったフレームを、信号に乗せやすいビットに変換した後、電気信号や光信号にして送ります。
 それに対して、クライアントで行う処理が非カプセル化です。クライアントはレイヤーの下流から上流へ向けて非カプセル化の処理を行い、オリジナルのアプリケーションデータに戻していきます。物理層で電気信号、光信号を送ると、ビットに変換した後、フレームにして、データリンク層へと渡します。データリンク層は、受け取ったフレームからパケットを取り出して、ネットワーク層へと渡します。ネットワーク層は受け取ったパケットからセグメントを取り出して、トランスポート層へ渡します。トランスポート層は、受け取ったセグメントからデータを取り出して、オリジナルのアプリケーションデータをクライアントアプリケーションに渡します。

データの呼び名の違い

「フレーム」、「パケット」「セグメント」という呼び名は、OSI参照モデルのどの階層のデータであるかを示しているだけです。

  • レイヤー5〜7はアプケーションデータ
  • レイヤー4はセグメント
  • レイヤー3はパケット
  • レイヤー2はフレーム

感想

階層の違いでデータの呼び方が違うことがわかったのでスッキリした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?