カプセル化と非カプセル化
カプセル化と非カプセル化
ネットワークにおけるカプセル化(encapsulation)とは、データの送信時に、データにヘッダーやフッターを付加して、データの送信元から送信先までの経路上で正しくルーティングされるようにすることを指します。
具体的には、データはアプリケーション層からネットワーク層、トランスポート層、そして物理層にかけて、それぞれの層でヘッダーやフッターが付加されてカプセル化されます。カプセル化されたデータは、ネットワーク上を送信される際には、各ノードでそれぞれのヘッダーやフッターを取り除かれながら転送され、最終的に受信先でデータが復元されます。
一方、非カプセル化(non-encapsulation)とは、データをそのまま送信することを指します。この場合、データが正しくルーティングされるようにするためには、各ノードでルーティング処理を行う必要があります。非カプセル化の場合、データが直接送信されるため、送信元と受信先の両方で同じプロトコルを使用する必要があります。
例えば、UDPは非カプセル化のプロトコルであり、データをそのまま送信します。一方、TCPはカプセル化されたプロトコルであり、ヘッダーにシーケンス番号やアククノウリッジメント番号が含まれ、データの完全性を確認するためにチェックサムが付加されます。
カプセル化
カプセル化は、通信におけるデータを特定の形式に整形することで、通信上での伝送やルーティングを可能にする技術です。
通常、ネットワーク上でのデータ通信には、複数の層に分かれたプロトコルが使用されます。各層では、上位層から下位層に向けてデータを受け渡しするためのヘッダーやフッターが付加され、下位層での処理に必要な情報を伝えます。このように、通信のためにデータに必要な情報を付加することを、カプセル化と呼びます。
具体的には、データは上位層から順に下位層に向けてカプセル化されていきます。例えば、アプリケーション層のデータには、トランスポート層のプロトコルを特定するためのポート番号がヘッダーとして付加されます。その後、ネットワーク層でルーティング情報やIPアドレスが付加され、さらに下位の物理層ではMACアドレスやフレームチェックシーケンスなどの情報が付加されます。このようにカプセル化されたデータは、ネットワークを経由して受信側で順次解凍され、元のデータに復元されます。
カプセル化によって、通信の安全性や信頼性を向上させることができます。例えば、TCP/IPプロトコルでは、データを分割して複数のパケットに分けて送信し、各パケットにはシーケンス番号が割り当てられ、受信側で正しい順序でデータを復元することができます。また、IPSecなどのセキュリティプロトコルでは、カプセル化を用いてデータの暗号化や認証を行い、データの盗聴や改竄を防止することができます。
非カプセル化
ネットワークにおける非カプセル化のプロセスは、次のようになります。
- 受信元システムは、物理層で受信したフレームを受け取ります。
- 受信元システムは、ネットワーク層でフレームからデータグラムを取り出します。
- 受信元システムは、データグラムの宛先IPアドレスをチェックし、自身に宛てられたデータであるかどうかを判断します。
- 宛先が自身である場合、受信元システムはデータグラムからトランスポート層のセグメントを取り出します。
- 受信元システムは、セグメントをアプリケーションに渡し、受信したデータを処理します。
以上が、ネットワークにおける非カプセル化のプロセスです。非カプセル化は、受信側で行われるため、送信時に付加されたヘッダーやフッターが除去され、受信側のアプリケーションが必要とするデータだけが取り出されることになります。