プレーン

Definition:plane

プレーンとは、ネットワークシステムや分散システムにおいて、システムが行う処理や扱う情報を、その役割・目的・性質に基づいて論理的に分類した機能領域を指す概念である。

物理的な装置やソフトウェアモジュールとしての境界とは必ずしも一致せず、同一の機器・ソフトウェア内に複数のプレーンが共存することも、複数の機器にまたがって一つのプレーンが構成されることもある。重要なのは、「何を処理するか」「どの時間スケールで動作するか」「何を目的として最適化されるか」という観点による、関心の分離(separation of concerns)である。

代表的な分類として、以下の三層モデルがよく用いられる。

この分類は元来ネットワークアーキテクチャ(ISDNなど)において用いられたが、その背後にある「処理対象(データ)」と「処理を規定する規則・制御」を分離するという発想自体は、ソフトウェア設計一般にも見られるより広範な概念であり、2010年代以降、クラウド基盤、SDN、分散システムなどの分野へと適用範囲を広げてきた。さらに2020年代に入ると、LLMシステムにおいて推論実行部分をデータプレーン、モデルルーティングやワークフロー制御をコントロールプレーンとみなす議論も現れるなど、適用領域は時代とともに拡張を続けている。

小史

データプレーンコントロールプレーンという用語・概念には、2つの異なる系譜がある。

第一に、ネットワークアーキテクチャ上のプレーンによる論理的分離という考え方は、1980年代のISDNアーキテクチャの一部として初めて登場したとされている。当初はデータプレーン(転送プレーン、ユーザープレーン、キャリアプレーン、ベアラプレーンとも呼ばれる)、コントロールプレーンマネジメントプレーンという3つの論理プレーンに分離する考え方として整理された。

第二に、データを処理する部分制御・管理操作を行う部分を区別するという、より一般的な発想自体はソフトウェア設計においてさらに古くから見られる。例えば Unix では、ファイル操作のうち open/close が制御(コントロールプレーンに相当)、read/write がデータ処理(データプレーンに相当)とみなされる、という古典的な対比がある。

その後、この区別はネットワーク(パケット交換)分野で特に有用とされ、データプレーンは処理速度・単純性・規則性を重視して最適化されるのに対し、コントロールプレーンは設定変更・ポリシー処理・例外処理などを担い、データプレーンの処理を補助・簡素化するという考え方が定着していく。

Mathematics is the language with which God has written the universe.





















プレーン コントロールプレーン データプレーン 光トランスポンダー 光トランシーバ AIクラスタ向けの光接続