コンピュータネットワークの仕組み - プロトコル

コンピュータネットワークの物理的部分をそれ自体で組み立てることは、機能的に接続された装置にも通信方法を必要とするには不十分である。 これらの通信言語はネットワークプロトコルと呼ばれます

ネットワークプロトコルの目的

プロトコルなしでは、デバイスは、ネットワーク接続を介して互いに送信する電子信号を理解する能力が不足しています。 ネットワークプロトコルは、以下の基本機能を提供します。

郵便サービスが物理的な紙の郵便をどのように扱うかとのネットワークプロトコルの比較を考えてみましょう。 郵便サービスが多くの情報源と宛先からの手紙を管理するのと同様に、ネットワークプロトコルを使用すると、データは多くの経路を連続して流れるようになります。 しかし、物理的なメールとは異なり、ネットワークプロトコルは、1つの宛先に一定のフローを送り( ストリーミングと呼ばれる)、メッセージのコピーを自動的に作成して複数の宛先に同時に配信する( ブロードキャストと呼ばれる)などの高度な機能も提供します。

一般的な種類のネットワークプロトコル

あらゆる種類のコンピュータネットワークのニーズをすべてサポートするプロトコルは存在しません。 ここ数年、多くの異なる種類のネットワークプロトコルが発明され、それぞれが特定の種類のネットワーク通信をサポートしようとしています。 1つのタイプのプロトコルを別のプロトコルと区別する3つの基本的な特徴は、

シンプレックス対デュプレックス 。 シンプレックス接続では、1つのデバイスだけがネットワーク上で送信できます。 逆に、デュプレックスネットワーク接続は、デバイスが同じ物理リンクを介してデータを送受信することを可能にします。

2. コネクション型またはコネクションレス型 。 接続指向のネットワークプロトコルは、2つのデバイス間で会話( セッションと呼ばれる)を互いに実行できるようにする( ハンドシェイクと呼ばれるプロセス)アドレス情報を交換します。 逆に、コネクションレスプロトコルは、前後に送信される同様のメッセージを考慮せずに(メッセージが正常に受信されたかどうかを知らずに)、個々のメッセージをあるポイントから別のポイントに配信します。

3. 。 ネットワークプロトコルは通常、グループで一緒に機能します(図は多くの場合、プロトコルをボックスを互いの上に重ねて表示するため、 スタックと呼ばれます )。 いくつかのプロトコルは、異なるタイプの無線またはネットワークケーブルが物理的にどのように機能するかに密接に関連した下位層で機能します。 他のものは、ネットワークアプリケーションの仕組みに連動する上位層で動作し、中間層で動作するものもあります。

インターネットプロトコルファミリ

一般的に使用される最も一般的なネットワークプロトコルは、 インターネットプロトコル(IP)ファミリに属します。 IP自体は、インターネットを介して家庭や他のローカルネットワークが相互に通信できるようにする基本的なプロトコルです

IPは、個々のメッセージをあるネットワークから別のネットワークに移動するのには効果的ですが、会話の概念(メッセージのストリームが片方向または双方向に移動できる接続)はサポートしていません。 伝送制御プロトコル(TCP)は、この上位レイヤ機能を持つIPを拡張し、ポイントツーポイント接続がインターネット上で非常に重要であるため、2つのプロトコルはほぼ常にペアになり、TCP / IPとして知られています。

TCPとIPの両方は、ネットワークプロトコルスタックの中間層で動作します。 インターネット上の一般的なアプリケーションは、TCP / IPの上に独自のプロトコルを実装することがあります。 HTTP(HyperText Transfer Protocol)は、世界中のWebブラウザやサーバーで使用されています。 TCP / IPは、 イーサネットのような低レベルのネットワーク技術の上で動作します 。 IPファミリのその他の一般的なネットワークプロトコルには、 ARPICMP 、およびFTPがあります

ネットワークプロトコルによるパケットの使用方法

インターネットとその他のほとんどのデータネットワークは、データをパケットと呼ばれる小さな部分に編成することによって機能します 。 通信のパフォーマンスと信頼性を向上させるために、2つのネットワークデバイス間で送信される大きなメッセージは、それぞれ、基盤となるハードウェアとソフトウェアによって細かいパケットに分割されることがよくあります。 これらのパケット交換ネットワークでは、ネットワークがサポートするプロトコルに従って、パケットを特定の方法で編成する必要があります。 このアプローチは、現代のネットワークの技術では、ビットとバイト(デジタル '1'と '0')の形式でデータを処理するため、うまく機能します。

各ネットワークプロトコルは、そのデータパケットをどのように編成(フォーマット)するかに関する規則を定義しています。 インターネットプロトコルのようなプロトコルは多くの場合、レイヤーで連携して動作するため、あるプロトコル用にフォーマットされたパケット内に埋め込まれたデータは、他の関連プロトコル( カプセル化と呼ばれる方法)の形式になる可能性があります。

プロトコルは通常、各パケットをヘッダーペイロードフッターの 3つの部分に分割します。 パケットヘッダーとフッターには、送受信デバイスのアドレスを含め、ネットワークをサポートするために必要なコンテキスト情報が含まれていますが、ペイロードには実際に送信するデータが含まれています。 ヘッダーやフッターには、メッセージの送信順序を追跡するカウンタや、ネットワークアプリケーションがデータの破損や改ざんを検出するのに役立つチェックサムなど、ネットワーク接続の信頼性やパフォーマンスを向上させるための特別なデータも含まれています。

ネットワークデバイスによるプロトコルの使用方法

ネットワークデバイスのオペレーティングシステムには、いくつかの低レベルネットワークプロトコルの組み込みサポートが含まれています。 例えば、現代のデスクトップコンピュータのオペレーティングシステムはすべてイーサネットとTCP / IPの両方をサポートしていますが、多くのスマートフォンはWi-FiファミリのBluetoothとプロトコルをサポートしています 。 これらのプロトコルは、最終的にイーサネットポートやWi-FiやBluetoothラジオなど、デバイスの物理ネットワークインターフェイスに接続します。

ネットワークアプリケーションは、オペレーティングシステムと通信する上位プロトコルをサポートします。 例えば、Webブラウザは、 http://のようなアドレスを、Webサーバーが受け取って正しいWebページを返すのに必要なデータを含むHTTPパケットに変換することができます。 受信デバイスは、ヘッダーとフッターを取り除き、パケットを正しい順序で連結することによって、個々のパケットを元のメッセージに再組み立てする責任があります。