IIJ Technical WEEK 2014 1日目 #iij_tw2014

IIJのエンジニアによるイベントIIJ Technical WEEK 2014 1日目の模様です。 1日目のセッション - SDNソフトウェアスイッチLagopus - マルチコア時代の最新並列並行技術 ~ Haskellから見える世界 ~ - IIJ社内におけるアジャイル開発、DevOpsへの取り組み 続きを読む
4

IIJのエンジニアによるイベント IIJ Technical WEEK 2014 1日目の模様です。
全日程のプログラム・発表資料はこちら: http://techlog.iij.ad.jp/archives/1319
1日目まとめ http://togetter.com/li/750164
2日目まとめ http://togetter.com/li/750604
3日目まとめ http://togetter.com/li/751014

堂前@IIJ @IIJ_doumae

まもなく、IIJ Technical WEEK 2014が始まります。このアカウントでも会場の模様をお伝えしますが、ご来場の皆様、Tweetを見ている皆様も是非このハッシュタグでTweetください。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:23:18
堂前@IIJ @IIJ_doumae

IIJ Technical WEEK 2014本日分の発表資料をPDFで公開しています。Tweetをご覧の皆様は、こちらもご利用ください。 iij.ad.jp/company/develo… #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:44:47

ご挨拶

IIJ 常務執行役員 ネットワーク本部長 島上 純一

堂前@IIJ @IIJ_doumae

はじめに、IIJ 常務執行役員 ネットワーク本部長 島上 純一 よりご挨拶を申し上げます。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:47:11
堂前@IIJ @IIJ_doumae

IIJ Technical WEEKは2003年に初開催。今回で12回目。IIJが設立されたのが1992年。IIJの歴史の半分以上開催され続けています。IIJの中でも歴史の長いイベントとなりました。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:48:40
堂前@IIJ @IIJ_doumae

IIJのお客様とおつきあいさせていただく中で、決裁権限をお持ちのような立場の方だけでなく、現場で技術を見ている方とも仲良くなりたい「IIJって面白いことをやっているな」と思っていただきたい気持ちで開催しています #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:51:15

SDNソフトウェアスイッチLagopus

ストラトスフィア 研究開発部 沖 勝

NTTにより2014年7月にオープンソースソフトウェアとして公開されたSDNソフトウェアスイッチLagopus(ラゴパス)は、OpenFlow仕様に準拠し、特別なスイッチングハードウェアの助けなしに、x86サーバクラスのPC上で動作し、高速なフロー処理を実現しています。設計・実装における問題点と解決策、利用技術にどのようなものがあるかをお話しします。

堂前@IIJ @IIJ_doumae

最初のセッション。SDNソフトウェアスイッチLagopus ストラトスフィア 研究開発部 沖 勝 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:51:42
堂前@IIJ @IIJ_doumae

OpenFlowスイッチとは何か?まず従来のL2スイッチの仕組み。パケットを受けて、別のポートにフォワードする。その際にMACアドレスの学習やACLの適用VLANの処理などを行っている。設定はコマンドで行う。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:54:09
堂前@IIJ @IIJ_doumae

OpenFlowスイッチでは。「パケットを設定に従い処理する」入ってくるパケットをflowとして識別する。識別した単位によって処理を変える。パケットヘッダを変更したり、パケットを転送、破棄したり。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:55:10
堂前@IIJ @IIJ_doumae

OpenFlowスイッチはどのように制御するか。別途設置されたOpenFlowコントローラと通信して制御を受ける。コントローラーとの間は標準化されたプロトコルで通信。より大規模な場合オーケストレータが制御。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:56:51
堂前@IIJ @IIJ_doumae

OpenFlowスイッチの特徴。ネットワークスタックを使わない。パケットをフローとして識別して、フロー単位で制御を行う。MACアドレスの学習など複雑な処理はできない。複雑な処理を行う場合はコントローラに任せる。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:57:40
堂前@IIJ @IIJ_doumae

従来のL2スイッチとハイブリッドになっているものもある。特定ポートはL2スイッチ、別のポートはOpenFlowスイッチ、など。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:58:10
堂前@IIJ @IIJ_doumae

Flowとは?パケットヘッダの任意の組み合わせで識別する。OpenFlow1.3では40種類。OpenFlowバージョンによって増えることがある。例)Port1受信のパケット、80/tcp宛てのパケット、など #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 13:59:25
堂前@IIJ @IIJ_doumae

フローエントリ。フローの情報と、それをどのように処理するか、どれだけのパケットを処理したかのカウンタの情報。フローエントリの集合をフローテーブルという。一つのパケットは一つのフローエントリにのみマッチする。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 14:00:38
堂前@IIJ @IIJ_doumae

フローエントリの中にプライオリティという情報がある。数字が大きい方が優先。優先されるエントリからマッチするか判定して、処理を行う。「他のテーブルを見る」というアクションもある。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 14:01:40
堂前@IIJ @IIJ_doumae

フローテーブルを設定するのが、コントローラの役割。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 14:02:02
堂前@IIJ @IIJ_doumae

Lagopus(らごぱす) Linux上で動作するOpenFlowスイッチ。従来のL2スイッチ的な機能はない。Xeon,10GbE NICで10万フローエントリを処理可能、10GbEのLine rateを目指す #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 14:03:47
堂前@IIJ @IIJ_doumae

Intel DPDKを用いた高速なI/O、CPUマルチコアを活用。10万フローエントリで10GbE line rateを達成。OpenFlow1.3.4は大きな仕様を持っているが、そのほとんどをカバーしている。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 14:04:47
堂前@IIJ @IIJ_doumae

OpenFlowの中でもおろそかにされがちな仕様まで実装している。Ryu Certificationにてほとんどのテストをパスしている。ただしqueueは未実装。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 14:05:53
堂前@IIJ @IIJ_doumae

LagopusでI/O性能を高める工夫。I/Oが遅くなる要因は?メモリコピー・コンテキストスイッチ・ページフォルト・バスをまたいだI/O,メモリアクセス。これらをどのように解決したかを紹介。 #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 14:06:37
堂前@IIJ @IIJ_doumae

メモリコピー。通常のI/O処理。受信時にカーネル→ユーザーのコピー、送信時にユーザ→カーネルのコピーが発生。メモリコピーは遅い。解決策。カーネルに閉じた処理とする (kernel network stack) #iij_tw2014 bit.ly/iij_tw2014

2014-11-26 14:07:51
1 ・・ 7 次へ