# Para-passthrough Hypervisor
## 定義
Para-passthrough Hypervisor(パラパススルーハイパーバイザ)は、実デバイスをゲスト OS にほぼそのまま見せつつ、特定のデバイス I/O だけをハイパーバイザが傍受・制御できる薄いハイパーバイザアーキテクチャである。完全な VM のようにすべてのリソースを仮想化するのではなく、対象デバイス(例: NIC)の I/O だけを選択的に介入するため、オーバーヘッドが小さい。Subaco は BitVisor をベースに、このアーキテクチャを用いてコンテナごとに仮想 NIC を提供し、パケットの送信元検証とルーティング/アクセス制御を行う。(Source: [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]] §4, §5)
## 横断的知見
- **「すべてを仮想化しない」選択的介入**: 完全な VM(KVM/QEMU)はゲスト OS 全体を起動するが、para-passthrough ハイパーバイザは対象デバイスの I/O のみをキャプチャする。Subaco の実装では、BitVisor の virtio-net ドライバを拡張して数百の仮想 NIC を作り、Ethernet・ARP・IP パケットの送信元検証をドライバ内で行う。これにより、コンテナの起動時間を runC と同等に保ちながら、ハードウェア仮想化ベースのネットワーク隔離を実現する。(Source: [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]] §5, §6.2.1)
- **コンテナのセマンティックギャップをハードウェア情報で解消**: ハイパーバイザが直接取得するのは I/O ポート空間や PCI BDF といったハードウェア情報であり、コンテナ ID ではない。Subaco は Intel VT-x のコンテキスト情報とコンテナごとに割り当てた NIC の対応付けによって、このセマンティックギャップを解消し、パケットがどのコンテナから発信されたかを特定する。(Source: [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]] §4.1)
## 未解決の問い
- Para-passthrough ハイパーバイザは NIC 以外のデバイス(GPU、ストレージ等)にも Sandbox Tailoring として適用可能か。
- 仮想 NIC のスケール(数百〜数千)に応じたコンテキストスイッチのオーバーヘッドは、どの程度の仮想 NIC 数まで許容できるか。
- Para-passthrough ハイパーバイザが提供する隔離境界は、メモリや CPU の側面攻撃(side-channel)に対してどの程度有効か。
## 関連
- ソース: [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]]
- 概念: [[Sandbox Tailoring]] / [[コンテナネットワーク分離]] / [[コンテナ仮想化]] / [[カーネル内VM]]
- エンティティ: [[Yuki Nakata]] / [[Katsuya Matsubara]] / [[Ryosuke Matsumoto (SAKURA internet)]]
- 関連 MOC: [[Cloud Container Orchestration]]
## 出典
- [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]](§4 Subaco, §5 Implementation)