# ネットワークの一様記述モデル ## 定義 ネットワークの一様記述モデルとは、*The Real Internet Architecture*(Zave & Rexford, 2024)が提示する、あらゆる種類のネットワークを同一の語彙で記述するための枠組みである。ネットワークは、コンピュータや計算機能を持つ装置(機械, machine)上で動作するモジュール群である分散システムのうち、他の分散システムに通信サービスを提供する目的を持つものと定義される。この定義のもとで、任意のネットワークは次の部品の組み合わせとして一様に記述できる: (1)メンバー(member、機械上でネットワーク参加を担う機能モジュール)とその命名(naming、ネットワークごとの構文的名前空間からの識別文字列の割り当て)、(2)リンク(link、メンバー間の通信チャネル)とトポロジ、(3)管理権限(administrative authority)とインフラストラクチャ/ユーザメンバーの区分、(4)ルーティング(routing)と転送(forwarding、常にパケット記述とアクションの対からなる「マッチ-アクションテーブル」に帰着する)、(5)セッション(session)とセッションプロトコル(セッション識別・プロトコル埋め込みを含む)。この語彙は特定のネットワーク種別(Ethernet・IPなど)を前提とせず、Ethernet・IPネットワーク・MANET(ZebraNet)・Named Data Network・Resilient Overlay Network・MPLSネットワークという性質の大きく異なる6種の設計すべてを同じ記述テンプレートで説明できる汎用性を狙って設計されている。本書はこの一様な記述を、第3章以降で扱う「合成(composition、bridgingとlayeringの2手法)」の理論的な出発点として位置づける。(Source: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 2 Describing Networks and Services]] §2.1, §2.2, §2.7) ## 「メンバー」対「ノード」: 語彙選択の設計判断 本モデルの最も特徴的な語彙選択は、「ノード(node)」ではなく「メンバー(member)」を基本単位に採用したことである。1台の機械は複数ネットワーク(たとえばEthernetとInternet)のメンバーを同時に持ちうるため、「メンバー」という概念を機械そのものと意図的に切り離す必要がある、というのが理由として明示されている。この区別は、ハードウェア/ソフトウェアの区分やカーネル/ユーザ空間の区分のような他の分割とは独立な、純粋に概念的な分割である。(Source: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 2 Describing Networks and Services]] §2.2.2.1) ## 横断的知見 - **『ノード』を基本単位に据えるPeterson & Davieの語彙と、『メンバー』を機械から切り離すZave & Rexfordの語彙は、同じ「パケット交換の基本単位」という現象を、異なる抽象化の起点から捉えている**: *Computer Networks: A Systems Approach* 第1章は「ネットワークは、物理リンクで結ばれた2つ以上のノード、あるいはノードで結ばれた2つ以上のネットワークとして再帰的に定義できる」と述べ、ノードを一貫して基本単位に据える。一方、本書はまさにこの「ノード」という語を避け、「メンバー」という語をわざわざ導入する。理由は明示的で、1台の機械が複数ネットワークのメンバーを同時に持てることを表現するためである。Systems Approach第1章の例(ルータ/ゲートウェイは2つ以上のネットワークに接続されたノード)は暗黙にこの多重帰属を扱ってはいるが、「ノード」という単一の語で機械・ネットワーク参加単位の両方を指すため、1台の機械が複数の独立したネットワークのメンバーシップを同時に持つという構図を語彙レベルでは明示的に表現していない。両者を並べると、「一様な記述モデル」を目指す設計は、複数ネットワークにまたがる合成をあらかじめ想定した語彙選択(メンバー)を要求することが分かる。(Source: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 2 Describing Networks and Services]] §2.2.2.1, [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 1 Foundation]] §1.2.2) - **両書は「ネットワークをどう定義するか」という最初の一歩で異なる設計判断をしており、Systems Approachは合成(internetworking)を定義そのものに畳み込むのに対し、本書は単一ネットワークの記述と複数ネットワークの合成を章単位で意図的に分離する**: Systems Approach第1章の定義(「ノードで結ばれた2つ以上のネットワークとして再帰的に定義できる」)は、複数ネットワークが相互接続された「internetwork」を単一の再帰的定義の中に含めている。これに対し本書第2章は、ネットワークを「他の分散システムに通信サービスを提供する分散システム」とだけ定義し、複数ネットワークの合成(bridging・layering)は明示的に第3章以降へ先送りする。本書自身が「本章はネットワークを単独で論じるが、実世界ではほとんどのネットワークは孤立していない」と述べており(§2.1)、この先送りは怠慢ではなく、合成という操作を専用の形式的テンプレートで扱うための意図的な章立てである。同じ「複数ネットワークがどう組み合わさるか」という問題を、一方は基礎定義に織り込み、他方は独立した合成演算子として後段で切り出す、という構成上の対比が生じている。(Source: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 2 Describing Networks and Services]] §2.1, [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 1 Foundation]] §1.2.2) - **「到達可能性(reachability)がルーティングの第一目標である」という主張は、語彙も出発点もまったく異なる両書で一致して現れる、独立収斂の観察である**: 本書第2章は「ルーティングの第一目標は到達可能性であり、第二の目標は資源の効率的配分である」と述べる。Systems Approach第1章のKey Takeaway(§1.2.2)も「接続性を提供する鍵となる課題は、到達可能な各ノードにアドレスを定義し、そのアドレスを用いてメッセージを適切な宛先ノードへ転送することである」と述べており、用語(メンバー対ノード、ルーティング対アドレッシング)は異なっても、到達可能性を最優先の設計目標に置く点で完全に一致する。これは、語彙の設計思想が大きく異なる2つの教科書が、ネットワーク設計の最上位目標については独立に同じ結論へ到達していることを示す。(Source: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 2 Describing Networks and Services]] §2.2.4.1, [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 1 Foundation]] §1.2.2) ## 未解決の問い - 本書が第3章以降で定式化する「bridging」「layering」という2つの合成演算子が、本ページが指摘した「メンバーを機械から切り離す」語彙選択をどう活用するのか(例えば1台の機械が複数の被layering対象ネットワークのメンバーを持つ状況をどう形式化するか)は、この章の範囲だけでは確認できない。第3章の担当者によるingestで検証が必要。 - Zave & Rexfordの「メンバー/フォワーダ/セッション」という語彙と、Peterson & Davieの「ノード/ルータ・スイッチ/コネクション・フロー」という語彙の正確な対応表はまだ作られていない。特に「セッション」と「コネクション」「フロー」の異同(セッションはプロトコルに依存しない上位概念なのか)は今後の章のingestで精緻化する必要がある。 - 本書が合成を第2章の定義から意図的に除外したという章立て上の判断が、読者の理解にとってSystems Approachの再帰的定義方式より優れているかどうかは、両モデルで同じ実例(たとえば家庭内Wi-FiとISPネットワークの接続)を記述し比較しない限り評価できない。 ## 関連 - ソース: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 2 Describing Networks and Services]](本モデルの定義そのもの) / [[@2020__SystemsApproach__Computer Networks - A Systems Approach - Chapter 1 Foundation]](対照的な「ノード」中心の語彙) - 概念: [[ネットワークアーキテクチャ]](本モデルが依拠する、より広い「アーキテクチャ」という語の用法) / [[命名]](本モデルにおける命名の扱い) - 実体: [[Pamela Zave]] / [[Jennifer Rexford]] / [[Larry Peterson]] / [[Bruce Davie]] ## 出典 - Pamela Zave, Jennifer Rexford, *The Real Internet Architecture*, Princeton University Press, 2024, Chapter 2. - Larry Peterson and Bruce Davie, *Computer Networks: A Systems Approach*, 6th edition, Chapter 1: Foundation, §1.2.2. https://book.systemsapproach.org/foundation.html