Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

プロトコル階層(プロトコルカイソウ)とは | 意味や読み方など丁寧でわかりやすい用語解説

プロトコル階層(プロトコルカイソウ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

プロトコル階層 (プロトコルカイソウ)

英語表記

protocol stack (プロトコルスタック)

用語解説

プロトコル階層とは、コンピュータネットワークにおける通信処理を、機能ごとに複数の層(レイヤー)に分割して体系化した概念である。ネットワーク通信は非常に複雑な処理の集合体であり、この複雑な処理全体を一括して扱うのは現実的ではない。そこで、各機能の役割を明確に区切り、それぞれを独立した層として定義することで、開発や管理を効率化し、問題発生時の原因特定を容易にする目的でこの概念が導入された。これにより、通信機器やソフトウェアの設計者は、自分が担当する層の機能だけに集中でき、全体の整合性を保ちながらシステムを構築できる。

このプロトコル階層の考え方を具体的にモデル化したものとして、国際標準化機構(ISO)が策定した「OSI参照モデル(Open Systems Interconnection Reference Model)」が広く知られている。OSI参照モデルは、ネットワーク通信の機能を7つの層に分割しており、各層には特定のプロトコル(通信規約)が属する。このモデルは、異なるベンダーが製造した機器やソフトウェア間でも、円滑な通信を可能にするための共通の指針を提供する。

OSI参照モデルの各層は以下の通り、上位層から下位層へと順に定義される。

第7層:アプリケーション層 ユーザーが直接利用するアプリケーションとネットワークサービスの接点となる層である。電子メール(SMTP, POP3, IMAP4)、Webブラウジング(HTTP, HTTPS)、ファイル転送(FTP)など、具体的なネットワークアプリケーションの機能を提供する。この層で定義されるプロトコルは、ユーザーが求める通信サービスを実現するための「最終的な」規約となる。

第6層:プレゼンテーション層 アプリケーション層で扱うデータの表現形式を変換・標準化する役割を担う層である。異なるシステム間で文字コード(ASCII, Unicode)、画像形式(JPEG, GIF)、データ圧縮(ZIP)などの違いを吸収し、相互に理解可能な形式に変換する。また、データの暗号化や復号化もこの層で行われることがある。これにより、アプリケーション層はデータの表現形式を意識せずに済む。

第5層:セッション層 通信を行うアプリケーション間でセッション(通信の開始から終了までの一連の流れ)を確立し、管理し、終了させる役割を持つ層である。データ転送の同期をとり、通信中に何らかの障害が発生した場合でも、途中で中断した場所から再開できるようにする機能を提供する。例えば、会議システムやストリーミングサービスなどで、複数の参加者間の通信を同期させる役割を果たす。

第4層:トランスポート層 アプリケーション層から送られてきたデータを、ネットワークを介して確実に相手のアプリケーションまで届けるための責任を負う層である。データの分割と再構築、エラー検出と再送制御、そして通信経路におけるデータ流量の調整(フロー制御)を行う。代表的なプロトコルには、信頼性の高い通信を提供するTCP(Transmission Control Protocol)や、高速だが信頼性は保証しないUDP(User Datagram Protocol)がある。ポート番号を用いて、どのアプリケーションが通信しているかを識別するのもこの層の役割である。

第3層:ネットワーク層 複数のネットワークをまたがって、データをエンドツーエンドで(送信元から最終的な宛先まで)ルーティングする役割を持つ層である。IPアドレス(Internet Protocol address)を用いて通信相手を特定し、最適な経路を選択してデータを転送する。ルーターは、この層で動作する代表的なネットワーク機器である。データは「パケット」という単位で扱われる。

第2層:データリンク層 物理的なネットワーク媒体(LANケーブルやWi-Fiなど)に直接データを流すためのルールを定める層である。隣接するノード(直接接続された機器)間でデータを確実に転送する。イーサネット(Ethernet)やWi-Fi(IEEE 802.11)などがこの層のプロトコルにあたる。MACアドレス(Media Access Control address)を用いて、同一ネットワーク内の機器を識別し、フレームという単位でデータを送受信する。エラー検出や物理層のアクセス制御も担当する。

第1層:物理層 ネットワークにおける最も下位の層であり、物理的な媒体(ケーブルの種類、コネクタの形状、電圧、光信号の方式など)や電気的・物理的な仕様を定義する層である。ビットと呼ばれる電気信号や光信号の送受信を直接的に行う。ハブやリピーターなどがこの層で動作する機器である。データはビット列としてのみ認識され、その意味は上位層で解釈される。

OSI参照モデルはあくまで理想的なモデルであり、実際にインターネットで広く使われているのは「TCP/IPモデル」と呼ばれるプロトコルスタックである。TCP/IPモデルはOSI参照モデルよりもシンプルで、通常は4層または5層で構成される。しかし、OSI参照モデルが持つ階層化の概念は、ネットワークの機能を理解するための強力な枠組みとして今もなお非常に重要である。TCP/IPモデルの各層も、OSI参照モデルの複数の層の機能を統合したものとして理解することができる。例えば、TCP/IPモデルの「アプリケーション層」はOSI参照モデルのアプリケーション層、プレゼンテーション層、セッション層を兼ねている。

このように通信処理を階層化することには、いくつかの大きなメリットがある。第一に、各層が独立して機能するため、特定の層のプロトコルや技術に変更があっても、他の層に与える影響を最小限に抑えられる。例えば、物理層のケーブルの種類が変わっても、アプリケーション層の動作には直接影響しない。第二に、システム開発の効率が向上する。各開発者は自分が担当する層の機能に集中できるため、全体を把握する必要がなく、専門性を高めやすい。第三に、通信トラブルが発生した際に、どの層で問題が起きているかを切り分けやすくなる。例えば、IPアドレスで通信できない場合はネットワーク層に問題がある可能性が高く、特定のアプリケーションだけが動かない場合はアプリケーション層の問題である可能性が高いと判断できる。第四に、異なるベンダーの製品や多様な技術を組み合わせやすくなる。各層のインターフェースが標準化されていれば、異なる製品間でも相互運用が可能となる。

ネットワークでデータが送信される際には、上位層から下位層へと順に処理が進む。この過程で、各層は上位層から受け取ったデータに自身の層で必要な制御情報(ヘッダ)を付加していく。この処理を「カプセル化」と呼ぶ。例えば、トランスポート層はアプリケーション層のデータにTCPヘッダを付加し、ネットワーク層はトランスポート層から受け取ったデータ(既にTCPヘッダが付加されている)にIPヘッダを付加するといった具合である。データが受信側に到達すると、今度は下位層から上位層へと順に処理が進み、各層で自身のヘッダを取り除き、上位層にデータを渡す。これを「非カプセル化」と呼ぶ。このようにして、送信側と受信側で各層が協力し合い、複雑な通信を実現している。

関連コンテンツ

関連IT用語

関連プログラミング言語