# サブダクション
## 定義
サブダクション(subduction、沈み込み)は、『The Real Internet Architecture』が数える3つのネットワーク合成演算子(ブリッジング・レイヤリング・サブダクション、ch.1 §1.5)のうち最後の1つであり、ch.4 §4.5.2で正式に定義される。地質学の「沈み込み」(海洋プレートが大陸プレートの縁の下に滑り込む現象、図4.6)から名を借りた比喩で、あるネットワークが基盤ネットワークと**ブリッジングされていると同時にその上にレイヤリングされてもいる**状態を指す。base Internetのユーザメンバーとテナントネットワーク(仮想エッジネットワーク)のメンバーの間のセッション(図4.7)を例にとると、両者を結ぶリンクは一見「上側はブリッジングリンク、下側はレイヤリングの実装リンク」という2本の独立したリンクに見えるが、実際には物理的に単一のリンクであり、フォワーダにはそれを分割して選択的に転送する手段がない。さらに、ブリッジされた複数ネットワークの集合が単一の上位ネットワーク(supernetwork)と振る舞い上等価であるという性質(第3章)を推移的に適用すると、この理解では「base Internetが自分自身の上にレイヤリングされる」という循環依存が生じてしまう。サブダクションはこの2つの問題——単一リンクの二重扱いと循環依存——を、選択的な制約を組み込んだ形式的定義によって回避しつつ、ブリッジングとレイヤリングの性質をすべて保存したまま、両者の単独または組み合わせでは実現できないネットワークの振る舞いを生み出す演算子である。(Source: ch.4 §4.5.2.1)
## 共有リンク(shared link)というメカニズム
サブダクションを実現する具体的な仕組みが**共有リンク(shared link)**である。共有リンクはサブダクション専用の特殊なリンクで、一方の端は通常のネットワークメンバーの通常のリンクだが、他方の端は同一マシン上に2つ以上の端点(1つがアンダーレイの端点、残りがオーバーレイの端点)を持つ。複数端点を持つマシンでは、着信パケットをどの端点に渡すかを決める**選択述語(predicate)**が各端点に対して用意され、複数端点の述語は互いに排他的でなければならない(どの述語にも一致しない着信パケットは破棄される)。この選択述語はパケットヘッダのみに基づかなければならない。例えば図4.7では、宛先がそのテナントに割り当てられた公開IP名であるパケットだけがテナントネットワーク側へ流れる。(Source: ch.4 §4.5.2.1)
共有リンクの使われ方は少なくとも3通りある。(1) オーバーレイに入る向き(図4.7): base Internetのメンバーからテナントネットワークのメンバーへ向かうパケットが共有リンクの述語によって仮想エッジネットワーク側に振り分けられる。(2) オーバーレイから出る向き(図4.8): 仮想エッジネットワークのゲートウェイメンバーが、複数の発信共有リンクのうちどれを使うか自ら選ぶ場合と、base Internet側のルーティング知識に選択を委ねる場合がある——後者は「どの共有発信リンクへでも転送してよい」という指示をオーバーレイ側がアンダーレイ側に与える形をとる。エンドツーエンドで見ると、パケットがオーバーレイから降りてまた立ち上るセッション形状の「谷」も生じうる。(3) セッション端点がどちらもそのネットワークのメンバーでない「仮想アイランドネットワーク(virtual island network)」(図4.9): ネットワーク運用者が自らのサービス追加のために仮想ネットワークを使う場合に生じ、セッションはbase Internetから立ち上りまたbase Internetへ降りるという形状になる。この場合、実装セッションの経路区間だけがアンダーレイ・オーバーレイ両方のIPヘッダを持ち、他の区間は単一のIPヘッダしか持たない。(Source: ch.4 §4.5.2.2)
## 横断的知見
- **同じサブダクションが、ch.1では「隙間を埋める調整機構」として、ch.4では「循環依存を防ぐ形式的制約」として、異なる強調点で導入される**: ch.1 §1.3.2.6はサブダクションを、AT&Tバックボーンの11ヘッダーパケットを段階的に組み立てる物語(ブリッジング→レイヤリング→レイヤリングの積み重ね→最後にサブダクションで階層間の「隙間」を埋める)の最終ステップとして直感的に導入し、「ピア関係でも純粋な階層関係でもない接続を扱う」演算子と説明する(図1.10)。これに対しch.4 §4.5.2.1は同じ演算子を、テナントネットワークの例を使って「なぜブリッジング+レイヤリングの単純な組み合わせでは不十分か」という否定的な論証(単一リンクの二重扱い、循環依存)から出発し、共有リンクの選択述語という具体的な実装機構まで踏み込んで定式化する。ch.1が読者の直感に訴える比喩的導入であるのに対し、ch.4は形式的な必要性の証明であり、両者は本書全体の「直感的な予告→正式な定義」という構成上の役割分担を示す。(Source: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 1 Introduction]] §1.3.2.6, [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 4 The Real Internet Architecture]] §4.5.2.1)
- **ch.3のTorの例は、正式な定義に先立って「サブダクションの直截な一例」だとだけ名指しされており、ch.4で初めてその名指しの根拠(共有リンクと選択述語の仕組み)が明かされる**: ch.3 §3.4.2は、Torの相互運用プロキシが形成する複合セッションが「レベルをまたぐ(changes levels)」ことを指摘し、これを「第1章で簡単に紹介され第4章で詳述されるサブダクションの直截な一例である」と述べるにとどめる。ch.4はこの伏線を回収する形で、Tor自身ではなくbase Internetとテナントネットワークの例(図4.7)を使って共有リンクと選択述語を導入し、その一般的な仕組みとしてTorのような複合セッションの「レベルをまたぐ」性質を後から説明可能にする。すなわち3つの章(ch.1・ch.3・ch.4)にまたがる伏線とその回収という構成そのものが、本書がサブダクションを「最後に導入すべき最も難しい演算子」として扱っていることを裏づける。(Source: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 3 Composing Networks and Services]] §3.4.2, [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 4 The Real Internet Architecture]] §4.5.2.1, §4.5.2.2)
## 未解決の問い
- ch.4 §4.5.2.1は「サブダクションの形式的定義には特定の循環依存が生じないようにする選択的な制約が組み込まれている」と述べるが、その制約の数学的定式化(述語の排他性以外にどのような条件が課されるか)は本章では明かされない。第6章(規範的応用・検証)がこの形式的定義に踏み込むかどうかは未確認。
- 表4.4は「レイヤリングの用法とサブダクションの用法を区別しない」——ある仮想ネットワークがセッション端点をすべて自身のメンバーとして含むかどうかは流動的で文脈依存でありうる、とch.4 §4.5.2.2は認める。この流動性の具体的な判定基準(いつレイヤリングと呼び、いつサブダクションと呼ぶべきか)は本書のどこにも明示されていない。
- 仮想アイランドネットワーク(図4.9)の実例は第5章で示されると予告されている(ch.4 §4.5.2.2)。第5章ingest後、この節を実例で拡張する余地がある。
- サブダクションはch.1で「今日のインターネットにおけるイノベーションの主要な実現手段」と位置づけられるが、この主張の経験的な裏づけ(サブダクションを使わない設計と比べてどの程度イノベーションの速度・多様性が向上したか)は本書のいずれの章にも定量的には示されていない。
## 関連
- ソース: [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 1 Introduction]](§1.3.2.6、比喩的な予告的導入と図1.10) / [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 3 Composing Networks and Services]](§3.4.2、Torの例への言及) / [[@2024__PrincetonUP__The Real Internet Architecture - Chapter 4 The Real Internet Architecture]](§4.5.1-§4.5.3、正式な定義と共有リンク、AT&Tパケットの完全な解読)
- 概念: [[レイヤリング]](サブダクションが組み合わせるもう一つの演算子) / [[ブリッジング]](サブダクションが組み合わせるもう一つの演算子) / [[オーバーレイネットワーク]] / [[ネットワークアーキテクチャ]] / [[エンドツーエンド論]](サブダクションで合成される仮想エッジネットワークが新しいエンドツーエンド原則の下でのミドルボックス配置を可能にする)
- 実体: [[The Real Internet Architecture]]
## 出典
- Pamela Zave, Jennifer Rexford, *The Real Internet Architecture*, Princeton University Press, 2024, Chapter 1, §1.3.2.6; Chapter 3, §3.4.2; Chapter 4, §4.5.1-§4.5.3.