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
Hiroya Onoe
March 31, 2025
Research
2.1k
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
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
350
AI-Driven Resilience Infrastructureの夢を語る
hiroyaonoe
0
430
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
3
2.9k
Tiaccoon: Unified Access Control with Multiple Transports in Container Networks
hiroyaonoe
0
2.2k
Tiaccoon: コンテナネットワークにおいて複数トランスポート方式で統一的なアクセス制御
hiroyaonoe
0
3.5k
net/httpからnet.Connを掘り起こす
hiroyaonoe
1
6k
PiCoP en
hiroyaonoe
0
6.1k
複数環境でマイクロサービスを共用するためのプロトコル非依存なコンテクスト伝播 / PiCoP ja
hiroyaonoe
0
5.7k
Other Decks in Research
See All in Research
2026 東京科学大 情報通信系 研究室紹介 (大岡山)
icttitech
0
4k
明日から使える!研究効率化ツール入門
matsui_528
13
7.5k
LLM の Attention 機構まとめ — 数式・計算量・メモリ
puwaer
8
2.3k
進学校の生徒にはア行の苗字が多いのか
ozekinote
0
470
研究室単位での自律的 IPv6接続性確立に向けたAS共同運用モデルの提案と実証
reokashiwa
PRO
0
150
Unified Audio Source Separation (Defense Slides)
kohei_1979
1
630
非試合日の野球場を楽しむためのARホームランボールキャッチ体験システムの開発 / EC79-miyazaki
yumulab
0
300
2026年度 生成AI を活用した論文執筆ガイド/ワークショップ / 2026 Academic Year Guide to Writing Papers Using Generative AI - Workshop
ks91
PRO
0
190
Using our influence and power for patient safety
helenbevan
0
370
COFFEE-Japan PROJECT Impact Report(海ノ向こうコーヒー)
ontheslope
0
2k
2026年3月1日(日)福島「除染土」の公共利用をかんがえる
atsukomasano2026
0
660
適応的スパムフィルタのための軽量な類似メッセージカウンタ / jsai2026-adaptive-spam-filter
monochromegane
0
4.3k
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Designing for Timeless Needs
cassininazir
1
350
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
940
Making the Leap to Tech Lead
cromwellryan
135
10k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
260
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
830
RailsConf 2023
tenderlove
30
1.5k
The Language of Interfaces
destraynor
162
27k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
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