$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
seccamp2018_Z4_DPDK_FW
Search
agodoriru
August 19, 2018
Programming
0
1.1k
seccamp2018_Z4_DPDK_FW
agodoriru
August 19, 2018
Tweet
Share
More Decks by agodoriru
See All by agodoriru
tmuxで快適CLI生活
agodoriru
0
67
Other Decks in Programming
See All in Programming
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
150
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
840
dnx で実行できるコマンド、作ってみました
tomohisa
0
120
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
20k
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
11
3.8k
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
200
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
200
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.1k
Building AI with AI
inesmontani
PRO
1
460
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
730
しっかり学ぶ java.lang.*
nagise
1
470
CSC305 Lecture 15
javiergs
PRO
0
220
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building an army of robots
kneath
306
46k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Designing for humans not robots
tammielis
254
26k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
4 Signs Your Business is Dying
shpigford
186
22k
Docker and Python
trallard
46
3.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Scaling GitHub
holman
464
140k
Transcript
Z4 DPDKを用いた 圧倒的高速なファイアウォールの実装 @AG0D0R1RV
作成したもの DPDKを用いたFW 5tuple filter(ip-src/ip-dst/ip-protocol/port-src/port-dst)で 決められたパケットを通過させないようdropする • pcapを読み込んで、パケットをfilterして、特定のパケットを 一つのpcapに書き出すプログラム • DPDKのブリッジを改造して、filterしてmatchしたものをdrop
するプログラム
DPDKとは? DPDK…Data Plane Development Kit ネットワーク処理を高速化するC言語のライブラリ (ルーターやプロトコルスタックではない) ・Official site www.dpdk.org
DPDKの動作 user space linux DPDK linux kernel NIC user space
linux kernel NIC ・kernelをバイパス ・CPUを占有(polling)
[pcap]パケットフィルタリングの性能改善 0 20000000 40000000 60000000 80000000 100000000 120000000 140000000 strcmp
no strcmp log出力なし 処 理 時 間
[DPDK]パケット転送速度改善 (1filter) 0 2000 4000 6000 8000 10000 12000 log出力あり
高速化なしlog出力なし 高速化ありlog出力なし filterなし 処 理 速 度 [Mbits/s]
測定結果
今後の課題(開発を続けていく予定) • 壊れたパケットの処理の実装 • IP headerのoptionの解析 • CUIをかっこよくしたい • フィルターの条件を変えられるように変更
セキュキャン△感想 • 楽しい(治安悪い) • Zトラック圧倒的受講生密着型(一対一)