1. 序章
私たちが人間としてコミュニケーションをとるとき、私たちは他の人にメッセージを送信しています。 会話の例を見てみましょう。 メッセージを正しく送信するには、それを話す必要があります。 ただし、コミュニケーションの質を向上させるために使用できるサポートリソースは複数あります。
これらのサポートリソースの例としては、話している相手とアイコンタクトを取り、状況に応じて適切な声のイントネーションを想定し、重要なトピックを強調する必要があるときにジェスチャーを行うことが挙げられます。 もちろん、これらのリソースは送信される情報の負荷を増大させますが、メッセージを明確にするために関連しています。
電気通信ネットワークを介して、デバイスは毎日いくつかのメッセージを交換します。 私たちの通信と同様に、デバイスはメッセージが適切に宛先に到達することを保証するために多くの通信リソースを使用します。
このチュートリアルでは、コンピュータネットワークで送信されるメッセージの形式とデータについて学習します。 最初に、コンピューターがネットワークを介してどのように通信するかについて簡単に説明します。 したがって、特にペイロード、ヘッダー、およびオーバーヘッドの概念を分析して、コンピューターメッセージの一般的な形式を詳細に調査します。
2. コンピュータ通信の概要
コンピュータネットワークでは、通信はデバイスから別のデバイスへのメッセージの送受信で構成されます。 このようなシナリオでは、メッセージを送信するコンピューターが正しくアドレス指定する必要があります。 さらに、送信者は、受信者がメッセージを処理できるようにするために必要なすべてのリソースを含める必要があります。
通常、ネットワークプロトコルは、コンピュータ通信で送信元アドレスと宛先アドレス、および必要なリソースを保持する役割を果たします。したがって、コンピュータからルーター、プロキシ、スイッチなどのネットワーク機能まで、通信に関与するすべてのデバイスは、これらのプロトコルを認識して処理する必要があります。
これらのプロトコルで期待される情報は、コアメッセージを囲み、パケットとフレームを形成します。 これらのパケットとフレームには、使用される各プロトコルの情報とコアメッセージ自体の情報を配置し、標準のメッセージ構造を作成するための特定の位置があります。 次のセクションでは、このメッセージ構造について説明します。
3. メッセージの一般的な構造
一般的に、パケットとフレームは、ヘッダーとペイロードの2つの部分に分割できます。 まず、ヘッダーには、たとえば、発信元から宛先へのパケットのルーティングと適切なアプリケーションへの配信を可能にする情報が含まれています。 ただし、ペイロードは、送信元が宛先が受信して消費することを期待するメッセージコンテンツです。
次の画像は、ネットワークを介して送信されるコンピュータメッセージの構造を調査するためにこのセクションに沿って使用する抽象的なパケットを示しています。
抽象パケットは、UDPoverIPv4パケットで構成されます。 簡単にするために、この例ではリンク層のアドレス指定(フレーム)とアプリケーションヘッダーについては考慮しません。
4. ヘッダー
コンピュータネットワークでは、ヘッダーはフレームまたはパケットの先頭にある補足情報です。 通常、ヘッダーはプロトコルに従って構造化されます。 したがって、ヘッダーの特定の位置で、事前に決定されたデータが使用可能である必要があります。
コンピュータネットワークを介して通信するために、OSIまたはTCP/IPモデルの各層は異なるプロトコルを提供します。 次に、各プロトコルには特定のヘッダーがあります。 以下に、いくつかの一般的なプロトコルとそれぞれのヘッダーに関する情報を示します。
- イーサネット:データリンクプロトコル(OSIのレイヤー2、TCP / IPのレイヤー1)。 イーサネットヘッダー(802.3標準)には14バイトがあります
- ARP:データリンクプロトコル(OSIのレイヤー2、TCP / IPのレイヤー1)。 ARPヘッダーのサイズは、ネットワークで使用されている他のプロトコルによって異なります。 最も一般的なケースであるARPoverEthernet / IPv4の場合、ヘッダーには28バイトが含まれます
- IPv4:ネットワークプロトコル(OSIのレイヤー3、TCP / IPのレイヤー2)。 IPv4ヘッダーには、最小20バイト、最大60バイトがあります。
- IPv6:ネットワークプロトコル(OSIのレイヤー3、TCP / IPのレイヤー2)。 IPv6には、40バイトの固定長ヘッダーがあります
- TCP:トランスポートプロトコル(OSIのレイヤー4、TCP / IPのレイヤー3)。 IPv6ヘッダーには、最小20バイト、最大60バイトがあります。
- UDP:トランスポートプロトコル(OSIのレイヤー4、TCP / IPのレイヤー3)。 UDPには8バイトの固定長ヘッダーがあります
したがって、標準的な例を考えると、ネットワーク層用のIPヘッダーとトランスポート層用のUDPヘッダーの2つのヘッダーがあります。 以下の画像でこれらのヘッダーを強調表示しています。
5. ペイロード
このシナリオでは、ペイロードは発信元が宛先に送信するデータです。 このように、パケットのペイロードは、パケットの最後に挿入されるヘッダーまたは可能なフラグを包含しません(終了フラグは、採用されたプロトコルに従ってオンデマンドで挿入されます)。
さらに、パケットとフレームは、固定長または可変長のペイロードを持つことができます。 固定長ペイロードのバイト数は常に同じです。 したがって、ペイロードの開始位置または終了位置を定義するために補足情報を追加する必要はありません。 ただし、送信者のメッセージ長がペイロードの固定長よりも短い場合、ペイロードの浪費が発生します。
反対に、可変長のペイロードは、パケットまたはフレームを送信者のメッセージ長に適合させ、ペイロードの浪費を回避します。 ただし、ペイロードの境界を示すために補足情報が必要です。
最後に、パケットまたはフレームの一般的なペイロードは、送信者のメッセージです。 ただし、ペイロードをレイヤーごとに分析すると、上位層プロトコルのヘッダーは下位層プロトコルのペイロードの一部になります。 たとえば、IPヘッダーはイーサネットペイロードの一部です。 同様に、UDPヘッダーはIPペイロードの一部です。
標準的な例では、次の画像はパケットの一般的なレイヤー指向のペイロードを強調しています。
6. オーバーヘッド
一般に、コンピューティングでは、オーバーヘッドとは、処理、メモリ、帯域幅などのコンピューティングリソースの過剰な使用を意味します。 私たちの特定のケースでは、オーバーヘッドは、発信元から宛先への特定のメッセージの送信を可能にする補足情報に必要な追加のメモリです。
要約すると、実際には、ヘッダーと終了フラグに使用される合計バイト数を取得することで、フレームまたはパケットのオーバーヘッドを計算できます。 これは、採用されているネットワークプロトコルに直接関連するバイト数の合計を作成することを意味します。
したがって、標準のパケット例では、オーバーヘッドはIPヘッダーとUDPヘッダーのバイトによって定義されます。 次の画像は、このオーバーヘッドを示しています。
7. 結論
この記事では、コンピュータネットワークで送信されるメッセージの一般的な構造について説明しました。 最初に、コンピュータ通信に関するいくつかの関連する概念の概要を説明しました。 次に、コンピュータメッセージの構造を詳細に調査しました。 私たちの焦点は、ヘッダー、ペイロード、およびオーバーヘッドの概念を理解することでした。したがって、特定のケーススタディでそれらを観察しました。
フレームとパケットの構造は、送信者のメッセージを伝送するだけでなく、送信を可能にする無数の情報をサポートしていると結論付けることができます。 これにより、異なるネットワークプロトコルを同じパケットまたはフレーム内に共存させることができ、たとえば、メッセージの適切なアドレス指定、ルーティング、および保護が可能になります。