プロトコル階層化と参照モデル
プロトコル階層化は、ネットワーク機能を層のスタックに編成し、各層はインターフェースを介して上位層に定義されたサービスを提供します。OSI参照モデルとTCP/IP参照モデルは、これらの機能を分割する2つの典型的な方法を提供します。
Definition
参照モデルとは、通信機能を層に分割する抽象的な階層フレームワークであり、各層は提供するサービス、隣接層に提示するインターフェース、および他のホスト上のピアと通信するために使用するプロトコルによって定義されます。
Scope
このトピックでは、ネットワークプロトコルがなぜ、どのように階層化されるのかを扱います。具体的には、サービス、インターフェース、プロトコルの概念、スタックをデータが下降する際のカプセル化、および2つの主要な参照モデルについて説明します。7層のOSIモデル(物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層)と5層のインターネット/TCP-IPモデルを比較し、各層の機能と、インターネットモデルがOSIの上位層を統合する理由を説明します。個々の層内の詳細なメカニズムについては、対応するトピックで扱われるため、ここでは除外します。
Core questions
- 層のサービス、インターフェース、プロトコルとは何ですか?また、それらはどのように異なりますか?
- OSIモデルとTCP/IPモデルの各層はどのような機能を果たしますか?
- カプセル化とは何ですか?また、ヘッダーはスタックを下降する際にどのように蓄積されますか?
- インターネットは、なぜ完全な7層OSIモデルではなく、5層モデルを採用したのですか?
- 厳密な階層化の利点と欠点は何ですか?
Key concepts
- 層のサービス、インターフェース、プロトコル
- OSI 7層モデル
- TCP/IP 5層モデル
- カプセル化とヘッダー
- 物理層とデータリンク層
- ネットワーク層とトランスポート層
- セッション層とプレゼンテーション層
- アプリケーション層
- プロトコルデータユニット
Key theories
- サービス、インターフェース、プロトコル
- 階層化は、層が提供するサービス、上位層がそれにアクセスするためのインターフェース、および同じ層のピアエンティティが通信するためのプロトコルを区別します。これらを分離することで、隣接する層を壊すことなく実装を変更できます。
- カプセル化
- メッセージがスタックを下降するにつれて、各層は受け取ったデータを自身のヘッダー(および場合によってはトレーラー)で包み込みます。これにより、各層のユニットは上位層をペイロードとして運びます。受信側では、これを逆の順序で解除します。
- インターネット設計哲学
- DARPAインターネットは、シンプルで堅牢なベストエフォート型ネットワークを中心に階層化され、エンドホストにインテリジェンスを持たせることで、OSIの包括的な機能セットよりも生存性と相互運用性を優先しました。これがより簡素なTCP/IPモデルを形成しました。
Clinical relevance
参照モデルは、エンジニアが機能を特定し議論するために使用する共通の語彙です。「問題はレイヤー3にある」とか「このデバイスはレイヤー2スイッチである」と言うことで、スタックのどの部分で動作するのかを正確に伝えます。これらのモデルは、トラブルシューティング、相互運用性標準、およびネットワークソフトウェアとハードウェアのモジュール設計を導きます。
History
OSI参照モデルは、1970年代後半にISOによって開発され、1980年にZimmermannによってベンダーニュートラルなフレームワークとして形式化されました。並行して、TCP/IPスイートはARPANETの研究から発展し、Clarkの1988年の論文はその設計哲学を明確にしました。OSIのスタックは完全に展開されることはありませんでしたが、その用語は存続し、TCP/IPモデルはインターネットの運用標準となりました。
Debates
- OSIの教育的価値とTCP/IPの運用上の現実
- OSIの7層は、セッションやプレゼンテーションといった機能を明確に分離しており、これらはインターネットスタックではアプリケーションに統合されています。このため、OSIは教育に役立ちます。批判者たちは、OSIは過剰設計であり、実際のシステムと一致しなかったと主張しており、教科書では異なる目的のために両方を提示しています。
Key figures
- Hubert Zimmermann
- David D. Clark
- Vinton Cerf
- Robert Kahn
Related topics
Seminal works
- zimmermann1980
- clark1988
- kurose2021
Frequently asked questions
- インターネットプロトコルスタックにはいくつの層がありますか?
- インターネットスタックは通常、アプリケーション層、トランスポート層、ネットワーク層、リンク層、物理層の5層として説明されます。7層のOSIモデルは、アプリケーション層とトランスポート層の間にセッション層とプレゼンテーション層を追加しますが、インターネットモデルではこれらの機能はアプリケーションに委ねられています。
- カプセル化とは何ですか?
- カプセル化とは、各層が上位層から渡されたデータの周りに、通常はヘッダーである自身の制御情報を追加するプロセスです。データが物理リンクに到達するまでには、いくつかの層のヘッダーに包まれており、受信ホストはそれを一度に1層ずつ剥がしていきます。