プロトコルスタック

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
OSIモデルのプロトコルスタック

プロトコルスタックまたはネットワークスタックコンピュータネットワークプロトコルスイートまたはプロトコルファミリ実装です。これらの用語のいくつかは同じ意味で使用されますが、厳密に言えば、スイート通信プロトコルの定義であり、スタックはそれらのソフトウェア実装です。[1]

スイート内の個々のプロトコルは、多くの場合、単一の目的を念頭に置いて設計されています。このモジュール化により、設計と評価が簡素化されます。各プロトコルモジュールは通常、他の2つのモジュールと通信するため、通常、プロトコルのスタック内のレイヤーとして想像されます。最も低いプロトコルは、常に通信ハードウェアとの低レベルの相互作用を扱います。各上位層は、追加の機能を追加します。ユーザーアプリケーションは通常、最上位のレイヤーのみを処理します。[2]

一般的なプロトコルスイートの説明

  T〜〜〜T
 [A] [B] _____ [C]

ABCの3台のコンピューターを想像してみてくださいABはどちらも無線機器を備えており、適切なネットワークプロトコル( IEEE 802.11など)を使用して電波を介して通信できますBCはケーブルを介して接続され、データの交換に使用されます(ここでも、Point-to-Pointプロトコルなどのプロトコルを使用します)。ただし、これらのコンピューターは概念的に異なるネットワーク上にあるため、これら2つのプロトコルはどちらもAからCに情報を転送できません。それらを接続するには、ネットワーク間プロトコルが必要です。

2つのプロトコルを組み合わせて、ケーブルとワイヤレスの両方の伝送をマスターする強力な3番目のプロトコルを形成することもできますが、プロトコルの可能な組み合わせごとに異なるスーパープロトコルが必要になります。基本プロトコルをそのままにして、それらのいずれかの上で機能するプロトコルを設計する方が簡単です(インターネットプロトコルがその一例です)。これにより、それぞれ2つのプロトコルの2つのスタックが作成されます。ネットワーク間プロトコルは、より単純な言語で各基本プロトコルと通信します。基本プロトコルは相互に直接通信しません。

コンピューターAでデータのチャンクをCに送信する要求は、 CがBを介して到達可能であることを(どのような手段でも)認識している上位プロトコルによって行われますしたがって、データパケットをBに送信するようにワイヤレスプロトコルに指示します。このコンピューターでは、下位層のハンドラーがパケットをネットワーク間プロトコルに渡します。ネットワーク間プロトコルは、Bが最終的な宛先ではないことを認識すると、再び下位レベルの関数を呼び出します。今回は、ケーブルプロトコルを使用してデータをCに送信します。そこで、受信したパケットは再び上位プロトコルに渡されます宛先である)は、 C上の上位のプロトコルまたはアプリケーションにそれを渡します

実際の実装では、プロトコルスタックは、メディア、トランスポート、およびアプリケーションの3つの主要なセクションに分割されることがよくあります。特定のオペレーティングシステムまたはプラットフォームには、多くの場合、2つの明確に定義されたソフトウェアインターフェイスがあります。1つはメディア層とトランスポート層の間、もう1つはトランスポート層とアプリケーションの間です。メディアからトランスポートへのインターフェイスは、トランスポートプロトコルソフトウェアが特定のメディアとハードウェアの種類をどのように利用し、デバイスドライバーに関連付けられるかを定義しますたとえば、このインターフェイスレベルは、TCP / IPトランスポートソフトウェアがネットワークインターフェイスコントローラと通信する方法を定義します。これらのインターフェースの例には、ODIおよびNDISが含まれます。MicrosoftWindowsおよびDOS環境。アプリケーションからトランスポートへのインターフェースは、アプリケーションプログラムがトランスポート層をどのように利用するかを定義します。たとえば、このインターフェイスレベルは、WebブラウザプログラムがTCP / IPトランスポートソフトウェアと通信する方法を定義します。これらのインターフェイスの例にはUnixライクな環境でのBerkeleyソケットとSystem V STREAMS 、およびMicrosoftWindows用の Winsockが含まれます。

Amigaソフトウェアで使用されるネットワークプロトコルスタック
プロトコルスタックと対応するレイヤーの例
プロトコル
HTTP 申し込み
TCP 輸送
IP インターネットまたはネットワーク
イーサネット リンクまたはデータリンク
IEEE 802.3ab 物理的

スパニングレイヤー

共通のプロトコルスタックに基づく相互運用性の多くのコミュニティの重要な機能は、DavidClarkによって造られた用語であるスパニングレイヤーです[3]。

「特定のプロトコルは、下位層での違いを埋めるという特定の目的で設計されているため、共通の合意は必要ありません。代わりに、この層は、以下で使用されるさまざまなサービスまたはテクノロジー間で変換を実行できるようにする定義を提供します。やや抽象的な言葉で言えば、そのようなレイヤー以上では共通の標準が相互運用に貢献し、レイヤーの下では変換が使用されます。このペーパーでは、このようなレイヤーを「スパニングレイヤー」と呼びます。実際の問題として、実際の相互運用は効果的なスパニングレイヤーの定義と使用。しかし、スパニングレイヤーを作成するにはさまざまな方法があります。」

インターネットプロトコルスタックでは、インターネットプロトコルスイートは、レイヤー3でのデータグラムのグローバルルーティングのためのベストエフォートサービスを定義するスパニングレイヤーを構成しますインターネットは、このスパニングレイヤーに基づく 相互運用のコミュニティです。

も参照してください

参考文献

  1. ^ 「プロトコルスタックとは何ですか?」WEBOPEDIA。1997年9月24日2010年2月21日取得[プロトコルスタックは]連携して機能するネットワークプロトコル層のセットです。7つのプロトコル層を定義するOSI参照モデルは、インターネットを介した通信を定義するTCP / IPプロトコルのセットと同様に、スタックと呼ばれることがよくあります。
  2. ^ GeorgN.Strauß(2010-01-09)。「OSIモデル、パート10。アプリケーション層」イカロイッテ。2012年3月20日にオリジナルからアーカイブされました。2010年2月21日取得アプリケーション層はOSIモデルの最上位層であり、データベースアクセス、電子メール、ファイル転送などのユーザーアプリケーションを直接サポートするサービスを提供します。
  3. ^ デビッドクラーク(1997)。相互運用、オープンインターフェイス、およびプロトコルアーキテクチャ予測不可能な確実性:ホワイトペーパー国立研究評議会。ISBN 9780309060363