More Related Content
Similar to OSC2017Hokkaido (20)
OSC2017Hokkaido
- 3. 準備
$ sudo apt install -y git wireshark
$ git clone http://github.com/slankdev/packet_asobi
- 5. 城倉 弘樹 SHIROKURA Hiroki
- SNS: slankdev
- Web: http://slankdev.net
活動
- セキュリティキャンプ 2015,2016,2017 (16からチューター)
- サイボウズラボユース 5th 「拡張可能なパケット解析C++ライブラリ」
- サイボウズラボユース 6th 「高性能ネットワークスタックon DPDK」
- IIJ研究所 アルバイト研究員「高性能パケット処理」
- 2017年 未踏事業 採択「環境に対して自動最適化する高性能通信基盤」
- DPDKコントリビュータ
- 8. DPDK (Data Plane Development Kit)
性能維持のためにkernelとは関わらない (もちろん連携可)
- ルータ (ex, Brocade Vyatta)
- Openflowスイッチ
2017.6時点のアカデミアでの最速はBGP full route 145Gbps
特徴
- CPUの論理コアを1つのスレッドで占有
- ユーザランド上で
独自のポーリング専用NICドライバ
- Hugepagesを用いた独自のメモリ管理
- 10. パケットで遊んでみる, Wiresharkで見てみる
$ ping slankdev.net
$ nslookup slankdev.net
$ wget slankdev.net
それぞれWiresharkでどのように見られるかを確認
nslookupコマンド -> DNSの名前問い合わせをする
wgetコマンド -> HTTPリクエストを投げる
- 11. パケット遊び (予習)
準備 int fd = open_socket(“eth0”); // enp3s0とか,wlan0とかでも
送信 send_packet(fd, pack, packlen);
受信 size_t recvlen = recv_packet(fd, packbuf, packbufsize);
HEX表示 hexdump(pack, len);