Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[修士論文発表] Tiaccoon: コンテナネットワークにおいて複数トランスポート方式で統一...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hiroya Onoe
March 31, 2025
Research
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[修士論文発表] Tiaccoon: コンテナネットワークにおいて複数トランスポート方式で統一的なアクセス制御
Hiroya Onoe
March 31, 2025
More Decks by Hiroya Onoe
See All by Hiroya Onoe
AI-Driven Resilience Infrastructureの夢を語る
hiroyaonoe
0
99
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
3
2.5k
Tiaccoon: Unified Access Control with Multiple Transports in Container Networks
hiroyaonoe
0
1.9k
Tiaccoon: コンテナネットワークにおいて複数トランスポート方式で統一的なアクセス制御
hiroyaonoe
0
3.3k
net/httpからnet.Connを掘り起こす
hiroyaonoe
1
5.7k
PiCoP en
hiroyaonoe
0
5.8k
複数環境でマイクロサービスを共用するためのプロトコル非依存なコンテクスト伝播 / PiCoP ja
hiroyaonoe
0
5.5k
Other Decks in Research
See All in Research
LiDAR点群の地表面分類手法の比較・検証
vegapunkhiroshi79
0
120
NII S. Koyama's Lab Research Overview AY2026
skoyamalab
0
310
オーストリア流 都市の公共交通サービス水準評価@公共交通オープンデータ最前線2026
trafficbrain
0
190
Unified Audio Source Separation (Defense Slides)
kohei_1979
1
610
IEEE AIxVR 2026 Keynote Talk: "Beyond Visibility: Understanding Scenes and Humans under Challenging Conditions with Diverse Sensing"
miso2024
0
200
typst の使い方:言語学を研究する学生のために
gitomochang
0
460
Ankylosing Spondylitis
ankh2054
0
170
AI Agentの精度改善に見るML開発との共通点 / commonalities in accuracy improvements in agentic era
shimacos
6
1.7k
(SIGQS17) Frasco-VS:フラグメントに基づく薬剤候補化合物選抜の量子アニーリングによる実現
keisukeyanagisawa
PRO
0
110
定数整数除算・剰余算最適化再考
herumi
1
130
正規分布と最適化について
koide3
1
260
Any-Optical-Model: A Universal Foundation Model for Optical Remote Sensing
satai
3
830
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
590
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
590
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Practical Orchestrator
shlominoach
191
11k
The SEO identity crisis: Don't let AI make you average
varn
0
490
Done Done
chrislema
186
16k
Transcript
Tiaccoon: Unified Access Control with Multiple Transports in Container Networks
Tiaccoon: コンテナネットワークにおいて 複数トランスポート⽅式で統⼀的なアクセス制御 2024年2⽉5⽇ 修⼠論⽂発表会 岡部研究室 尾上寛弥 1
背景︓コンテナネットワーク 2 コンテナ ( Dockerなど) 軽量なOSレベル仮想化技術 コンテナオーケストレーションツール ( Kubernetesなど) コンテナネットワークを⽤いて複数ホスト上の⼤量コンテナを管理
背景︓アクセス制御 コンテナネットワークにおいて 管理者の指定したポリシーでのアクセス制御が必要 TCP/IPのパケット処理(カプセル化・NAPTなど)を⽤いた コンテナオーバーレイネットワークで実現 3 A B DB A
A X Y Y X
背景︓様々なトランスポート⽅式 UNIXドメインソケット 同じホスト上のコンテナ間のみで使⽤可能 スループット⼤ レイテンシ⼩ 4
背景︓様々なトランスポート⽅式 RDMA(Remote Direct Memory Access) 専⽤のハードウェアを持つホスト間のコンテナ通信を⾼速化 5 スループット⼤ レイテンシ⼩ CPU時間⼩
コネクション 確⽴時間⼤
課題 コンテナネットワークのアクセス制御を保ちながら ホストの特性に合わせたトランスポート⽅式の使い分けが困難 6 コン テナ コン テナ 10.0.0.1 10.0.0.2
拒否 /var/a.sock /var/b.sock 拒否 アクセス制御ポリシーの記述・適⽤が トランスポート⽅式に依存 アプリがトランスポート⽅式を選択 するために実装が環境に依存
提案︓Tiaccoon 7 ソケットAPIの処理を置換し 特定のトランスポート⽅式に依存しない アクセス制御・コンテナ通信を実現 Tiaccoon Controller Tiaccoon Server Client
Tiaccoond Tiaccoon 1. API UNIX /var/b-web.sock 2. 3. 4. bind (:80) connect (10.10.0.1:80) 10.10.0.1:80 UNIX /var/b-web.sock 10.10.0.1:80 TCP/IP 172.16.0.1:3001 10.10.0.1:80 RDMA 192.168.0.1:701 policy: - type: ALLOW client: labels: - app: client-b - role: web server: labels: - app: server-a - role: web 10.10.0.2 app:client-b role:web 10.10.0.1 app:server-a role:web
貢献 • スループット・レイテンシ・CPU時間の悪化なしに ソケットAPIを⽤いる複数トランスポート⽅式で 統⼀的なアクセス制御を可能にした • 複数のコンテナネットワーク⾼速化⼿法を 柔軟に選択することでコンテナネットワーク のパフォーマンスを向上させた 8
関連研究 AF_GRAFT[Nakamura 2018],AppSwitch[Subhraveti 2017],Flower,NetKernel[Niu 2022],IETF TAPS 複数トランスポート⽅式の利⽤を提案しているが、柔軟なトランスポート⽅式の選択や アクセス制御・UNIXドメインソケットやRDMAの考慮がない Acila[Ohnishi 2022]
ラベルベースのポリシーをIdentifier単位のエントリに変換してアクセス制御 AF_GRAFT[Nakamura 2018], Slim[Zhuo 2019], O2H[Choochotkaew 2022], ShuntFlow[Liu 2023], ONCache[Lin 2023], bypass4netns[Matsumoto 2024] コネクション単位アクセス制御の後にTCP/IPネットワークスタックをバイパスして⾼速化 FreeFlow[Kim 2019], SocksDirect[Li 2019], MasQ[He 2020], TSoR[Sun 2023] RDMAのためのコンテナ仮想ネットワーク・アクセス制御を提案 9
提案︓Tiaccoon 10 ソケットAPIの処理を置換し 特定のトランスポート⽅式に依存しない アクセス制御・コンテナ通信を実現 Tiaccoon Controller Tiaccoon Server Client
Tiaccoond Tiaccoon 1. API UNIX /var/b-web.sock 2. 3. 4. bind (:80) connect (10.10.0.1:80) 10.10.0.1:80 UNIX /var/b-web.sock 10.10.0.1:80 TCP/IP 172.16.0.1:3001 10.10.0.1:80 RDMA 192.168.0.1:701 policy: - type: ALLOW client: labels: - app: client-b - role: web server: labels: - app: server-a - role: web 10.10.0.2 app:client-b role:web 10.10.0.1 app:server-a role:web
提案︓Tiaccoon ソケットAPIをフックしてアクセス制御・トランスポート⽅式選択・ソケット作成 IPアドレス・ポート番号をTCP/IPのアドレスではなく識別⼦として利⽤ コンテナ(の集合)に仮想IPアドレス、アプリケーションに仮想ポート番号 コンテナのラベルで記述された通信先サーバー・アクセス制御ポリシーをエントリに変換し適⽤ 11 Tiaccoon Controller Tiaccoon Server
Client Tiaccoond Tiaccoon 1. API UNIX /var/b-web.sock 2. 3. 4. bind (:80) connect (10.10.0.1:80) 10.10.0.1:80 UNIX /var/b-web.sock 10.10.0.1:80 TCP/IP 172.16.0.1:3001 10.10.0.1:80 RDMA 192.168.0.1:701 policy: - type: ALLOW client: labels: - app: client-b - role: web server: labels: - app: server-a - role: web 10.10.0.2 app:client-b role:web 10.10.0.1 app:server-a role:web
提案︓サーバー側のソケットAPI 12 Tiaccoon 1. API TCP/IP Client Server 3. 2.
Tiaccoon 4. RDMA (rsocket) UNIX 1. API 3. listen 2. 4. close (FD) accept (FD) listen (FD) bind (FD,IP,Port) bind Server Tiaccoon &bind listen listen&accept (accept ) accept ( ) send, recv close close accept FD
提案︓クライアント側のソケットAPI 13 1. API TCP Client Serv 3. 2. Tiaccoon
4. connect Client Tiaccoon connect (FD,IP,Port) send, recv close close (FD) close &connect
提案︓トランスポート⽅式の選択 サーバーコンテナを 指定するラベル条件と アプリが公開する仮想ポート番号を 管理者がサーバーポリシーとして登録 利⽤可能なトランスポート⽅式の サーバーホストアドレスを決定し サーバーエントリとして登録 Tiaccoonはサーバーエントリの選択 によりトランスポート⽅式を選択
14 Tiaccoond Tiaccoon policies: - labels: - app: server-b - role: web port: 80 IP 10.10.0.1 ( ) 80 IPv4 172.16.0.1:3001 10.10.0.1 ( ) 80 UNIX (HostX) /var/b-web.sock 10.20.0.2 ( ) 80 IPv4 172.16.0.1:3001 10.20.0.2 ( ) 80 RDMA (RoCEv2) 192.168.0.1:701 10.20.0.2 ( ) 80 UNIX (HostX) /var/b-web.sock Tiaccoon Controller IP
提案︓アクセス制御 ラベルベースの アクセス制御ポリシー を仮想アドレスベースの アクセス制御エントリ に変換して適⽤ Tiaccoonはクライアントと サーバーの仮想アドレスから エントリを⾒つけて適⽤ 15
NIC Tiaccoon Controller or 10.0.0.1 ) 10.10.0.1 ( ) DENY 10.0.0.1 ( ) 10.10.0.2 ( ) ALLOW 10.0.0.1 ( ) 10.0.0.2 ( ) DENY 10.0.0.1 ( ) 10.0.0.3 ( ) DENY 10.0.0.1 ( ) 10.0.0.4 ( ) ALLOW policy: - type: DENY priority: 10 client: labels: - app: client-b - role: web server: labels: role: web - type: ALLOW priority: 100 client: labels: - app: client-b - role: web server: labels: - app: server-a role: web Tiaccoon Tiaccoond
実装︓ソケットAPIフック seccomp_unotifyを利⽤してアクセス制御・トランスポート⽅式選択 TCP/UNIXではSECCOMP_IOCTL_NOTIF_ADDFDでソケット置換 16 Sock FD seccomp unotify Kernel Userland
Tiaccoon ) ( ) FD Return Return SECCOMP_IOCTL_NOTIF_ADDFD
実装︓RDMA アクセス制御&トランスポート⽅式選択をseccomp_unotifyで ソケット作成をLD_PRELOADでロードしたrsocket for Tiaccoonで コンテナにSR-IOVのVirtual Function(VF)を割り当て 17 seccomp unotify
Kernel Userland Tiaccoon RDMA socket (SR-IOV) Return rsocket for Tiaccoon Sock FD ( ) RDMA
評価 スループット・レイテンシ・CPU時間 1送信あたりのデータサイズ・ソケットバッファサイズを変えながら Netperfを使⽤して10秒間の平均を計測 コネクション確⽴&Close時間 connect, closeシステムコールが完了する時間を10000回計測 16コアCPUを持つ物理マシン2台を RDMA(RoCEv2)対応の100Gbps Ethernet
NICで直結 18
評価︓TCP/IPコンテナオーバーレイネットワーク vs. Tiaccoon 19 TCP/IP, UNIX, RDMA全てでスループット・レイテンシ・CPU時間向上
評価︓ホストネットワーク vs. Tiaccoon 20 TCP/IP, UNIX, RDMA全てでスループット・レイテンシ・CPU時間が同等
評価︓コネクション確⽴&Close時間 21 TCP/IP, RDMA, UNIX全てで悪化
議論︓通信性能 トランスポート⽅式の選択 条件を満たした環境下で⾼速なトランスポート⽅式を利⽤する ことでTCP/IPよりもスループット・レイテンシ・CPU時間向上 コンテナのTCP/IPネットワークスタックのバイパス ソケット置換によりスループット・レイテンシ・CPU時間向上 コネクション確⽴ システムコールフック・トランスポート⽅式選択・アクセス制御・ ソケット置換による追加の処理によりコネクション確⽴時間の悪化 22
議論︓コンテナネットワークの要件 Isolation 同じホスト上の他コンテナと 競合せずに通信できる Portability ホストに依存しない仮想アドレス を⽤いて他コンテナと通信できる Controllability 管理者のみがネットワークポリシー (アクセス制御・レートリミット・QoS)
を適⽤できる →Tiaccoonは要件を満たす 23 Tiaccoon 172.16.0.15:3001 /var/app-a.sock 172.16.0.16:4002 /var/app-a.sock Tiaccoon Tiaccoon Tiaccoon 10.0.0.1 10.0.0.2 Tiaccoon Controller
まとめ・今後の課題 特定のトランスポート⽅式に依存しないアクセス制御・コンテナ通信を実現 ソケットAPIの処理置換によりラベルベースのアクセス制御・トランスポート⽅式選択 コネクション型プロトコルにおいてコンテナオーバーレイネットワークの代替が可能 コンテナオーバーレイネットワークより⾼性能&ホストネットワークと同等の スループット・レイテンシ・CPU時間 コネクション確⽴時間の悪化 今後の課題 コネクションレスプロトコルへの対応・ソケットAPIに限らない完全なアクセス制御・ 他のトランスポート⽅式への適⽤・細粒度のトランスポート⽅式選択
→より広い状況でより⾼性能なコンテナ間通信を実現できる可能性 24