「プロトコル」は、日本語に「規約」と訳されます。
人間同士の日常コミュニケーションを例にすると、言葉や文字などがプロトコルに該当します。
相手と話すには、「どんな言葉を使うか」などといった取り決めが必要です。
予め会話に使う言葉を決めておかなければ、会話になりません。
通信におても、「お互いにどのような取り決めで通信を行うか」、という定義が必要になります。
通信の手順や方式を予め決めておかなければ、上手く通信できないからです。
ネットワーク通信には、Web やメール、ファイル転送など様々な通信がありますが、これらにはそれぞれプロトコルが定められています。
プロトコルは、大別すると標準化プロトコルと独自プロトコルに分けられます。
標準化プロトコルは、公的機関によって認定された規約であり、内容は公開されます。
このプロトコルに沿った仕様の製品であれば、ベンダを問わずに通信が行えます。
一方、独自プロトコルはベンダによる自社開発のプロトコルで、他のベンダとの通信はできません。
標準化された規格の中には、もともとベンダの独自プロトコルだったものがデファクトスタンダードになり、標準化されたものもあります。
プロトコルの標準化を推進する機関を以下に挙げます。
-
・ IETF(Internet Engineering Task Force)
-
インターネットで利用される技術の標準化を策定する組織。RFC(Request For Comments)という文書を発行する。
-
・ ISO(International Organization for Standardization)
-
国際標準化機構
-
・ ITU(International Telecommunications Union)
-
国際電気通信連合
-
・ IEEE(Institute of Electrical and Electronic Engineers)
-
米国電気電子学会
異なる設計思想や世代のシステムと円滑に通信を行う事を目的として、ISO により「OSI 基本参照モデル」が制定されました(OSI :Open Systems Interconnection)。
OSI 基本参照モデルでは、通信全体の機能を7階層に分けています。
1〜4層を下位層、5〜7層を上位層と呼ばれます。
下位層はシステム側に近い機能(通信の制御など)、上位層は人間に近い機能(データの形式など)を規定します。
-
・ アプリケーション層
-
アプリケーション層は、データの意味内容直接扱います。
HTTP やSMTP など、アプリケーションに特化したプロトコルを規定し、ユーザに最も近い部分を担います。
-
・ プレゼンテーション層
-
プレゼンテーション層は、データの表現形式を規定します。
データの保存形式や圧縮、文字コードなどが該当します。
-
・ セッション層
-
セッション層は、コネクション確立のタイミングやデータ転送のタイミングを管理します。
半二重通信や全二重通信がセッション層に該当します。
-
・ トランスポート層
-
トランスポート層は、データ転送の制御を行います。
伝送エラーの検出、再送を担当するの役目を担います。
ノードが複数のアプリケーションを同時に利用できるのは、トランスポート層による制御があるからです。
TCP やUDP がに該当します。
-
・ ネットワーク層
-
ネットワーク層は、異なるネットワーク間で互いに通信するための規定をしています。
IP アドレスがネットワーク層に該当します。
MAC アドレスは同じネットワーク内でのみ有効であり、ネットワークを超える場合にはIP アドレスによって他のノードと通信を行います。
-
・ データリンク層
-
データリンク層は同じネットワークに接続されたノード間での通信を規定しています。
MAC アドレスの管理もデータリンク層で行われます。
-
・ 物理層
-
最下層の物理層は、システムの物理的、電気的な特性を規定します。
ディジタルデータをどのように電圧や電流の値に割り付けるか、ケーブルやコネクタの形状や要件などを規定します。
通信を理解する上で、OSI 基本参照モデルは非常に重要です。
特に、通信パケットの流れを追う上では、トランスポート層、ネットワーク層、データリンク層がポイントになります。