高速通信計算研究所

slankdevの報告

osc北海道参加記録

前回のオープンソースカンファレンス2016東京に続き、先日北海道で行われたオープンソース カンファレンス2016北海道にも参加させていただきました。 いつも通り「国立セキュリティ・キャンプ同窓会」というコミュニティで参加をさせていただき、 セキュリティキャンプ修了生の成果報告という形で展示とセミナーをさせていただきました。 前回はるくすさん(@rkx1209)に協力を仰ぎ、手伝っていただいたのですが、今回のセミナーは 私単身で心細いながらもパケット解析手法についてのお話をさせていただきました。 後述いたしますが、展示も前回と同じようにcpawctfの宣伝をさせていただいています。 今回は開発中の新フロントエンドの試作を展示させていただきました!

続きを読む

セキュリティ・ミニキャンプin四国高松 チューター

IPA主催のセキュリティ・キャンプの地方大会であるセキュリティ・ミニキャンプ in 四国高松で チューターとして参加させていただきました。

セキュリティ・ミニキャンプin四国

今回はもりたこ君(@mrtc0)と一緒にチューター業務をさせていただきました。こういうのにチューターとして 参加したのは初めてで、いつも以上にもりたこ君にはご迷惑をおかけしてしまいました。いつもごめんなさい。

今回はHTTPプロキシの講義と光ファイバの盗聴の講義でした。プロキシの講義は昨年のキャンプでは 受講していなかったので、僕自身とても勉強になりました。光ファイバ盗聴の講義は昨年に受講していて とてもいい思い出だったので前回講義を受けた後に感じた疑問や、微妙だったことなどもたくさん 聞けたのでよかったです。

続きを読む

DPDKとLinuxカーネルでパケット処理のレイテンシ比較

DPDKを使って開発をするのですが、どれだけ早いのか一応自分で測ってまとめてみました。 今回はrdtscを使ってレイテンシ計測を行います。ただ、DPDKの通信速度を計るだけでなく、 Linuxカーネルで同様の通信をした時の速度と比較をします。

続きを読む

DPDK の環境構築

DPDKはLinuxBSDカーネルをバイパスし、NICユーザランドから直接触ることにより 従来の通信ソフトウェアと比べはるかに高性能に通信を行うことを可能にしたライブラリである。

近年ではDPDKを用いたソフトウェアルーターで145GbEを達成した実装などがある。 itpro.nikkeibp.co.jp

DPDKは環境構築、テストが大変ということから一般ユーザは少なく感じるが、 しっかりとやるべきことをやれば、環境構築も簡単で、高性能な通信ソフトウェアの 開発を行うことができる。ここではその環境構築方法を説明していく。

続きを読む

サイボウズ・ラボユース 第5期

今年の2月から2ヶ月間サイボウズ・ラボユースという神制度のお世話になってきました。OSC2015/TokyoFallの時にあの川合さんに紹介していただいて、2月からしほ氏(@elliptic_shiho)とかすごい人たちの中で素人発揮してきました。 趣味の開発(大学の研究にすることも可)などをしながらバイトなどをしないための金銭面をサイボウズ・ラボに支援していただける素晴らしい制度なので紹介させていただきます。

続きを読む

セキュリティ・キャンプアワード 2016

先日セキュリティ・キャンプ フォーラム2016に参加することになり、そこでパケット解析ライブラリの開発について話をさせていただきました。

後日@ITさんの記事で紹介をしていただきました。 セキュリティ・キャンプが修了生の「今」を表彰する新たな取り組みに迫る

続きを読む

BPFとLinuxでのL2インターフェースを扱うネットワークプログラミングでの違いについて

この記事を書こうと思ったきっかけ

osx上でc言語で書いたパケットキャプチャでパケットをキャプチャしていた時に並行して wiresharkと見比べていたのですが、なんだかwiresharkと比べてパケットを幾つかドロップしていたため、 少し調べた(他人に頼った)ところ、bpfでの確保したディスクリプタlinuxのそれと幾つか動作の 違いがあるとのことなので、簡単にまとめることにしました。 今回この記事を書く上で情報を提供してくれた方々にはとても感謝です。

どんな記事か

l2レベルでのネットワークプログラミングについて興味がある方を対象に bsdlinuxでの動作の違いをまとめました。 間違っていたりご意見がある方はtwitter(@slankdev)などにご反応いただけると幸いです。 ファイルディスクリプタを開いた後に、readシステムコールでパケットを受信する時の挙動に違いがあるため それについてまとめています。

続きを読む