参加メモmemo久しぶりに勉強会行ってきました。connpass発表資料はこちらにあがってますね。NWとOSS個人的にはテスト自動化の話聞きたかったんですよね。面白そうなツールがありそうだというのはわかったので試してみたいところです。あとGMOさんの会場今回初めて行ったんですがイイですね。イス・机・Wifi・電源がそろっているのでPCでメモ取るのが非常にやりやすいです。半々くらいNWの世界、SDN/NFVがはやってきて、実際どうなるかはともかく検討している。ソフトウェア(OSS)系のスキルが必要だけど、そういうのをカバーしている勉強会ってなかなかないですよね。2ヶ月おきくらいで開催中タイトル、ネットワークプログラマビリティといいつつ、もうちょっと広い範囲のネタを扱っています。ソフトウェア開発一般を含めてもいいかな発表のネタに困ってる。ネタを探しています!酒を飲むと結構しゃべってくれる...本当に困ってるからしゃべりたいとか誰か紹介してもらうとか大歓迎です。企画・運営とかで、受付とか手伝っていただける片も大歓迎です。会場、今回GMOさんから提供。いろんなところでできた方が特定の色がつかなくていいかなと思っているので、会場提供可能な片も大歓迎です。そのプログラミング(hibitomo)LagopusというOpenFlowソフトウェアスイッチを作っている。コントロールプレーンを一つにして集中制御する。ステートを持つような頭のいいことはコントローラへ。OpenFlowはデータプレーンとコントロールプレーンのやりとりを標準化したもの。OpenFlow?データプレーンフローテーブルがいくつか、テーブルの中にはフローが入ってる。counter一般的なルータも経路とMACのテーブル2つ持ってたりする。Switchをソフトウェアで作ったもの。前の席は広帯域、後ろの席は低帯域、みたいな実験。学術系NWなので間にOFSとか入れられない。OpenFlowでルータをだまして経路制御してみた。ブラジル→日本で2つの経路。IP書き換えて通る経路を書き換えて、受ける側で元のIPに戻すiPoP2015での実証実験Lagopusでビデオストリームをながす。ユニキャストでのストリーム送受信する機械。OFS(Lagopus)でストリームをコピー。gateway)最近Oで始まるスイッチも結構早い最近のLagopusの活動2月にvNIC対応をリリース。仮想マシン〜Lagopus間を高速化。dpdk2.0にマージされてる。ソースコードlagopus.github.io日本語のMLもできました。ns3-4ポート番号レベルで直結させるflowをいれると2-3/4-5がそれぞれ通信できるようになる。あるけどここでは複数actionで。テーブル間で情報をやりとりするためのフィールド。マッチしたらメタデータに書く→次のテーブルではメタデータにマッチしてアクション入力マッチ・メタデータ書き込み→デバッグ用→アクセスポートへアウトプット→トランクポートへのアウトプット、でマルチテーブル処理テーブルサイズが増えるとフローでバッグも大変。テーブル分けた方がフロー管理はやりやすくなる。同じサブネットを使って違うVLANにいる、DHCPサーバは共有でアドレスを取ってる。本来違うセグメントのものが同じサーバを共有してる。別にdhcpとかじゃなくてもいい。NFVとかで仮想アプライアンスとか使ったりする、1コアあたりとかで課金...VLAN分けて使うんだけど機能的には共有みたいな話とかができたりするかもね。使っている職場の上司の足下にOFS置いてごにょごにょするとおもしろそうですよね自分の手の届く範囲から遊んでみるといいと思います。遅い・遅延・パケット順序ARPARP学習しないと通信が開始できないパケットコピーパケットコピー処理重い。ソフトウェアスイッチでそういうのやると重い。10Gbps,1MFlow,そのほか機能あれこれ)OpenFlow気持ち悪い何でも書き換えまくりだがそれがいいかゆいところに手が届かないところでは使えるかもQAマルチテーブルで機能分割、それが関数とかのイメージに見えた。テーブルの名前とか定義の仕方とか個数とか、プログラムっぽくかけたりするの?プログラム(コントローラ)で名前をある程度書くことはできる。スイッチはテーブルは番号でしか見てない。そこはプログラム側とかでデバッグしやすいように情報マッチしてやるとかがいる。NFVの話が少しあった。さっきの例だとdhcp使ってたけど、一般的にはFWとかLBとかほしいよね。LagopusはいまL3だとおもう。OFのバージョン上がるとTCPフラグとか見れると思うけど、レイヤ上の方見ていくとかあるの?LagopusはOF標準へ追従という方針。SDN/NFVの話考え得と、セッション情報をデータプレーンには持たさないようになるんじゃないかと思っている。FW/LBなどの重要な機能、Lagopusが必要なものだけ投げ先をねじ曲げてアプライアンスとかに投げるみたいな話はあるだろう。OpenFlowにすべてを求めるとでかくなって使いにくくなるのでは。適材適所で使い分けしていくんじゃないかと思っている。SDNを導入してみて思ったこと(Clorets8lack)某ユーザ企業情シス、NWを中心とした国際インフラ全般、ひょんなことからSDN運用をすることに。某(中)国と日本の間の通信は品質がいまいち数時間から数日のネットワークダウンが年20回以上とか。改善しようとするとお金がかかるSDNを使ってコストパフォーマンスを改善しよう2014/2月に中国〜日本間の海底ケーブルが一度に2カ所切れるという大規模障害とかがあったりした。VPN)-上海-(専用線)-本社pingで10秒ごと対向監視、品質怪しくなったら切り替え、10秒ごとなのでTCP再送制御で頑張れる。代替経路はあらかじめ決めておく(すべての組み合わせを試す、とかはしてない)メリット中央集権なので可視化、現在の状態がわかりやすい。enterpriseの人からするとOpenFlowは得体の知れない技術。ボタン一つで戻せますよ、というと通る。工夫したところ本社→北京のスイッチに司令が行かないといけない。両方の経路を使って指令を出してる。北京〜本社のなかにfirewallがはいったりする。後に切り替わりがあるとstateがないので通らなくなる。TCPでホールパンチングみたいな状態。両方にパケットを出していて、エンド側でサブの方では落とす、みたいな話を入れてたりする。構成がほとんど変化しない。