人間のコミュニケーションと同様に、ネットワーク通信を正常に行うには、各種ネットワークおよびコンピュータ プロトコルが相互に連携できる必要があります。 通信機能を実行するうえで必要な、互いに関連するプロトコルから成る、プロトコル スイートと呼ばれるグループがあります。 プロトコル スイートは、ソフトウェア、ハードウェア、またはその両方に、ホストおよびネットワーク デバイスによって実装されます。

プロトコル スイートの各プロトコルが相互に連携する様子を視覚的に表すには、その相互連携をスタックとして表示するのが最適です。 プロトコル スタックは、プロトコル スイートの各プロトコルの実装方法を示します。 プロトコルを階層の視点から見ると、上位層のサービスは、下位層のプロトコルによって定義される機能に依存します。 スタックの下位層になるにつれて、ネットワーク上でのデータの移動と、上位層へのサービスの提供に関係するようになり、一方で、上位層になるにつれて、送信されるメッセージのコンテンツに重点が置かれるようになります。 図に示すように、階層を使用すると、1 対 1 のコミュニケーションで発生する動作を階層に分けて定義できます。 最下位の物理層では、2 人は言葉を発声します。 第 2 層のルール層では、共通の言語で話をすることに決めます。 最上位のコンテンツ層には、実際に発声された言葉があります。 これが通信内容です。

もちろん、この会話を目撃したとしても、実際に各層が空間に浮かんでいるわけではありません。 階層は 1 つのモデルとして使用したもので、複雑なタスクを扱いやすいようにいくつかの単位に分割し、その動作を規定する方法を示しています。