Suche senden
Hochladen
Offloading BPF Implementation to FPGA-NIC したいねって話
•
1 gefällt mir
•
1,606 views
slankdev
Folgen
FPGA startup 1stのLT資料です。 ソフトウェアエミュレータまでしかできてないです。
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 23
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
VyOSの開発とか運用の話
VyOSの開発とか運用の話
Shintaro Hasunuma
.NET Gadgeteer の紹介
.NET Gadgeteer の紹介
Yoshitaka Seo
パケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作る
cloretsblack
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
富士通クラウドテクノロジーズ株式会社
ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例
Shintaro Hasunuma
.NET Micro Framework の基礎
.NET Micro Framework の基礎
Yoshitaka Seo
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
富士通クラウドテクノロジーズ株式会社
クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~
富士通クラウドテクノロジーズ株式会社
Empfohlen
VyOSの開発とか運用の話
VyOSの開発とか運用の話
Shintaro Hasunuma
.NET Gadgeteer の紹介
.NET Gadgeteer の紹介
Yoshitaka Seo
パケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作る
cloretsblack
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
富士通クラウドテクノロジーズ株式会社
ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例
Shintaro Hasunuma
.NET Micro Framework の基礎
.NET Micro Framework の基礎
Yoshitaka Seo
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
エンジニアコミュニティ支援制度「NiFcLounge」のご紹介
富士通クラウドテクノロジーズ株式会社
クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~
富士通クラウドテクノロジーズ株式会社
Chainerインストール
Chainerインストール
Kenta Oono
nifcloud_meetup
nifcloud_meetup
富士通クラウドテクノロジーズ株式会社
ISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるもの
Taiji Tsuchiya
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
富士通クラウドテクノロジーズ株式会社
Windows10 IoT CoreとBLE
Windows10 IoT CoreとBLE
Kenta IDA
Career - design, adaption and diversity - for EMC I&D event
Career - design, adaption and diversity - for EMC I&D event
Miya Kohno
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
slankdev
サイボウズ・ラボユース中間報告会
サイボウズ・ラボユース中間報告会
slankdev
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
slankdev
Seccamp 2016 チューター成果報告
Seccamp 2016 チューター成果報告
slankdev
DAVIX - Data Analysis and Visualization Linux
DAVIX - Data Analysis and Visualization Linux
Raffael Marty
Supercharging Visualization with Data Mining
Supercharging Visualization with Data Mining
Raffael Marty
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201
Takefumi MIYOSHI
FPGA+Synthesijerでヴォコーダを作ってみた
FPGA+Synthesijerでヴォコーダを作ってみた
Ryota Suzuki
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
Kentaro Ebisawa
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
slankdev
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
Ryo Mitoma
FPGAX6_hayashi
FPGAX6_hayashi
愛美 林
サイボウズ・ラボ成果発表会
サイボウズ・ラボ成果発表会
Komei Kamiya
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Jumpei Miyata
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
lestrrat
Weitere ähnliche Inhalte
Was ist angesagt?
Chainerインストール
Chainerインストール
Kenta Oono
nifcloud_meetup
nifcloud_meetup
富士通クラウドテクノロジーズ株式会社
ISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるもの
Taiji Tsuchiya
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
富士通クラウドテクノロジーズ株式会社
Windows10 IoT CoreとBLE
Windows10 IoT CoreとBLE
Kenta IDA
Career - design, adaption and diversity - for EMC I&D event
Career - design, adaption and diversity - for EMC I&D event
Miya Kohno
Was ist angesagt?
(6)
Chainerインストール
Chainerインストール
nifcloud_meetup
nifcloud_meetup
ISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるもの
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
Windows10 IoT CoreとBLE
Windows10 IoT CoreとBLE
Career - design, adaption and diversity - for EMC I&D event
Career - design, adaption and diversity - for EMC I&D event
Andere mochten auch
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
slankdev
サイボウズ・ラボユース中間報告会
サイボウズ・ラボユース中間報告会
slankdev
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
slankdev
Seccamp 2016 チューター成果報告
Seccamp 2016 チューター成果報告
slankdev
DAVIX - Data Analysis and Visualization Linux
DAVIX - Data Analysis and Visualization Linux
Raffael Marty
Supercharging Visualization with Data Mining
Supercharging Visualization with Data Mining
Raffael Marty
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201
Takefumi MIYOSHI
FPGA+Synthesijerでヴォコーダを作ってみた
FPGA+Synthesijerでヴォコーダを作ってみた
Ryota Suzuki
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
Kentaro Ebisawa
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
slankdev
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
Ryo Mitoma
FPGAX6_hayashi
FPGAX6_hayashi
愛美 林
サイボウズ・ラボ成果発表会
サイボウズ・ラボ成果発表会
Komei Kamiya
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Jumpei Miyata
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
lestrrat
Andere mochten auch
(16)
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
サイボウズ・ラボユース中間報告会
サイボウズ・ラボユース中間報告会
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
Seccamp 2016 チューター成果報告
Seccamp 2016 チューター成果報告
DAVIX - Data Analysis and Visualization Linux
DAVIX - Data Analysis and Visualization Linux
Supercharging Visualization with Data Mining
Supercharging Visualization with Data Mining
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201
FPGA+Synthesijerでヴォコーダを作ってみた
FPGA+Synthesijerでヴォコーダを作ってみた
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
FPGAX6_hayashi
FPGAX6_hayashi
サイボウズ・ラボ成果発表会
サイボウズ・ラボ成果発表会
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
Ähnlich wie Offloading BPF Implementation to FPGA-NIC したいねって話
Attempt of implementation of neural network model on FPGA
Attempt of implementation of neural network model on FPGA
Imaoka Micihihiro
20190913 jaipa-janog44-report
20190913 jaipa-janog44-report
Norisuke Hirai
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
KLab Inc. / Tech
Cybozu lt2017
Cybozu lt2017
Imaoka Micihihiro
ACRiウェビナー:エッチ・ディー・ラボ様ご講演
ACRiウェビナー:エッチ・ディー・ラボ様ご講演
直久 住川
Google IoT Core × SORACOM
Google IoT Core × SORACOM
Yuji Chino
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
法林浩之
Fpga programming introduction
Fpga programming introduction
YukiFukuda3
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
Yuji Chino
Lチカからはじめるfpga入門
Lチカからはじめるfpga入門
Imaoka Micihihiro
今日から始めるC3.js
今日から始めるC3.js
Wataru Nakaseko
Riscv+fpga200606
Riscv+fpga200606
たけおか しょうぞう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料
Naoki Shibata
Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
Yuto M
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
Taisuke Fukuno
2205ACRi_jinguji.pdf
2205ACRi_jinguji.pdf
直久 住川
Chainer でのプロファイリングをちょっと楽にする話
Chainer でのプロファイリングをちょっと楽にする話
NVIDIA Japan
【くららカフェ#4】Heartbleed、 POODLEとはなんだったのか+FREAK
【くららカフェ#4】Heartbleed、 POODLEとはなんだったのか+FREAK
CLARA ONLINE, Inc.
Ähnlich wie Offloading BPF Implementation to FPGA-NIC したいねって話
(20)
Attempt of implementation of neural network model on FPGA
Attempt of implementation of neural network model on FPGA
20190913 jaipa-janog44-report
20190913 jaipa-janog44-report
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
Cybozu lt2017
Cybozu lt2017
ACRiウェビナー:エッチ・ディー・ラボ様ご講演
ACRiウェビナー:エッチ・ディー・ラボ様ご講演
Google IoT Core × SORACOM
Google IoT Core × SORACOM
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
Fpga programming introduction
Fpga programming introduction
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
Lチカからはじめるfpga入門
Lチカからはじめるfpga入門
今日から始めるC3.js
今日から始めるC3.js
Riscv+fpga200606
Riscv+fpga200606
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料
Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
2205ACRi_jinguji.pdf
2205ACRi_jinguji.pdf
Chainer でのプロファイリングをちょっと楽にする話
Chainer でのプロファイリングをちょっと楽にする話
【くららカフェ#4】Heartbleed、 POODLEとはなんだったのか+FREAK
【くららカフェ#4】Heartbleed、 POODLEとはなんだったのか+FREAK
Mehr von slankdev
動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発
動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発
slankdev
Kernel vm13lt
Kernel vm13lt
slankdev
OSC2017Hokkaido
OSC2017Hokkaido
slankdev
Seurity Camp Award 2016
Seurity Camp Award 2016
slankdev
OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT
slankdev
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
slankdev
LibPGEN 1st Step Guide
LibPGEN 1st Step Guide
slankdev
libpgenでパケット操作
libpgenでパケット操作
slankdev
ARPSpoofing攻撃によるMITM攻撃
ARPSpoofing攻撃によるMITM攻撃
slankdev
Mehr von slankdev
(9)
動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発
動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発
Kernel vm13lt
Kernel vm13lt
OSC2017Hokkaido
OSC2017Hokkaido
Seurity Camp Award 2016
Seurity Camp Award 2016
OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
LibPGEN 1st Step Guide
LibPGEN 1st Step Guide
libpgenでパケット操作
libpgenでパケット操作
ARPSpoofing攻撃によるMITM攻撃
ARPSpoofing攻撃によるMITM攻撃
Offloading BPF Implementation to FPGA-NIC したいねって話
1.
Offloading BPF Implementation to FPGA-NIC したいねって話 [FPGA
Startup] (受付係) Hiroki Shirokura @slankdev http://blog.slankdev.net
2.
自己紹介 ▣ 都内の大学の理工学部 B3 □
Twitter : @slankdev □ Facebook : hirokishirokura □ Blog : http://blog.slankdev.net ▣ IPA Security Camp 2015, 2016 tutor ▣ Cybozu Labs Youth 5,6th ▣ L4以下のネットワーク関係が好き ▣ ハードウェア初心者 (FPGA入門したばっかです)
3.
自己紹介 ▣ つくった □ パケット解析のフレームワーク □
ネットワークスタック □ CPUのエミュレータ (超簡易的) ▣ つくってない (今後やる予定) □ NIC □ CPU □ デバイスドライバ
4.
Cybozu Labs Youth ▣
個人のソフトウェア研究開発プロジェクトを会社が応援する 制度 ▣ 年間103万円を上限にサイボウズが奨励金を支払う ▣ すごい人にお金を貰いながら協力してもらえる
5.
今岡さんとの関係 ▣ 2015年 □ セキュリティキャンプ全国大会で出会う(参加者と講師) □
arduinoのGPIOでパケットの電気信号を作る指導を受ける ▣ 2016年 □ OSCで隣に出展させていただく □ セキュリティキャンプ全国大会 (チューターと講師) □ セキュリティミニキャンプ (チューターと講師) □ arduinoのGPIOでパケットの電気信号を作る指導を手伝う これは一番弟子といっていいのでは
6.
昨日の夜 AM 11:00 僕 「あしたFPGA Start
UPだ」 体調不良で寝込む。。。 PM 10:30 僕 「何にもやってない」 「プロセッサとかNICとかつくりたかったな」 「できるとこまでやろう」 AM 1:00 僕 「とりあえず仕様とdissasemblerと エミュレータのベースはできた、おやすみ」
7.
本日 AM 9:00 鳥 「チュンチュン。」 僕 「おはよう」 AM 11:00 僕 「できた」 PM
2:00 僕 「LT資料できてねーや」 今岡さん「しろくら君、自己紹介。」 僕 「トイレの場所とかは詳しいです!」
8.
要するにまだFPGA は出てきてないです。。 ごめんなさい
9.
なにをしたいかというと ▣ BPF(Berkeley Packet
Filter) □ in-kernelで動くパケットフィルタ □ 64bit RISC, Register Machine □ フィルタのアセンブリを書いてフィルタに適用 ▣ これをNICの近くにオフローディングしたい ▣ FPGAの出番だ!
10.
BPFの説明 User APP BPF Filter Function Buffer User
APP link-level-drvr User Kernel Network Filter Function Buffer link-level-drvr BPF 従来 設定可能
11.
今回やりたいこと 今回実装する部分 BPF Filter Function Buffer User APP link-level-drvr User Kernel Network BPF
新 設定可能 User APP Buffer 設定可能 link-level-drvr Network FPGA NIC With Filter
12.
モチベーション 早いNW装置をつくるとき OS内部のNWサブシステムの実装はなんかよくわからない (※NWサブシステム意外はもっとわからない...) いろんなとこでchecksum計算してたり、 フラグメンテーション処理がいろんなとこでされてたり
13.
NW処理の場所 User Kernel Network Device Driver Network Sub-Systems Socket/BPF NIC Application
Application PMD DPDK Checksu m Offload Segmentaio n Offload *** Offload Device Driver Network Sub-Systems 任意のAPI Application NIC CPU NIC ここ
14.
BPFの説明 TCPのパケットをフィルタリングするプログラム
15.
これでは理解できない わかりやすく説明すると
16.
これ(パケット)を...
17.
これ(プログラム)に食わせれば...
18.
Acceptされたり...
19.
Refuseされて破棄されるパケットフィルタ
20.
なにをしなければいけないか ▣ ISAの仕様決める ▣ dissas作る ▣
エミュレータ作る ▣ FPGAでCPUを実装する ▣ NICの近くで動かす
21.
なにをしたか ▣ [done] SAの仕様決める ▣
[done] dissas作る ▣ [done] エミュレータ作る ▣ FPGAでCPUを実装する ▣ NICの近くで動かす CPUのエミュレータを実装して、動くところまでやった https://github.com/slankdev/bpf
22.
まとめ 第二回があれば完成させておきます
23.
参考文献 ▣ CPUのエミュレータの作り方 運営の内田さん著 → https://book.mynavi.jp/ec/ products/detail/id=41347 ▣ BPFのasmの仕様について詳しい http://jakou.byethost6.com/ pktcap.html?i=1 ▣
The BSD PacketFilter: A New ArchitectureforUser-levelPacketCapture http://www.vodun.org/papers/net-papers/van_ jacobson_the_bpf_packet_filter.pdf
Jetzt herunterladen