2013-01-01から1年間の記事一覧

ruby expect でルータ操作

すごく前に作った perl-Expect なスクリプト を元に一括コンフィグバックアップスクリプトとか使ってたんですが、 適当に作ったから汎用性がない 最近ぜんぜん perl 使ってないからかなり忘れてしもた という有様で。したがって機能追加とかすごくしにくい状…

読了 / 星を創る者たち

星を創る者たち (NOVAコレクション)作者: 谷甲州出版社/メーカー: 河出書房新社発売日: 2013/09/26メディア: 単行本(ソフトカバー)この商品を含むブログ (9件) を見る(注意: ネタバレあり)ようやく NOVA(10) 読みおえてその勢いで宇宙土木シリーズ単行本へ…

Trema Day #4 参加メモ #tremaday

Trema Day #4 参加してきました。というか発表してきました。毎度のごとく各発表のメモを公開しておきます。 Trema Day まとめ - TremaDay Trema Day #4 | 集客ならイベントアテンド Trema Day #4 #tremaday - Togetter Trema Dayといいつつ他の OFC Framewo…

Trema/Wireshark/OpenFlow Dissector関連情報

OpenFlow Dissector の使い分け OpenFlow Message のおパケ見をしようとする場合、今のところ以下のツールを使い分ける必要があるようです。 OpenFlow 1.0 Stanford Univ. の ofdissector を使う OpenFlow Wireshark Dissector - OpenFlow Wiki Wireshark Op…

Trema/Pioでパケットを作ろう(3)

まあ、細かいこと考えてたなかなか先進まないのでやれそうなことやってしまえ、ってことで、TCP packet generator/parser を作ってみました。やってみたメモ。 コードは Gist へ。 simple-router + udp echo server function using Pio Pioのクラスとファイ…

Trema/Pioでパケットを作ろう(2)

続きです。 IP, UDP の話 Checksum 計算 Gist みればわかると思いますが、simple-router の中に router-utils.rb ってのがあるんですね。これの checksum 計算用のルーチンを丸パクリです。チェックサム計算のコード自体はなんか ruby っぽくないので、まだ…

Trema/Pioでパケットを作ろう(1)

trema/pio でいろんなパケットを作ってみよう! という話です。 Trema の packet generate/parse の機能が Pio として分離されています。こいつを使えば任意のパケットの生成・送受信機能を作れる。はず。ということで作ってみました。可変長フィールドのある…

ACLをどうにかしたい話

ちょっとやっては飽きたり挫折したり面倒くさくなって放り投げたりしていた企画を今月になってまたやっていました。 Perl で Cisco ACL Parser を作れないかな? Road to Cisco ACL Parser Road to Cisco ACL Parser(2) Road to Cisco ACL Parser(3) ……あらた…

読了 / マスタリングTCP/IP OpenFlow編

久しぶりに夏休み時期に夏休みを取れたので読みました。マスタリングTCP/IP OpenFlow編作者: あきみち,宮永直樹,岩田淳出版社/メーカー: オーム社発売日: 2013/07/26メディア: 単行本(ソフトカバー)この商品を含むブログ (5件) を見るこの本は SDN につい…

Trema-edge + OVSでOpenFlow1.3テスト環境を作る

はじめに そろそろ OpenFlow 1.3 なテストをやってみたいなあと思ったので Trema-edge のビルドと KVM + Open vSwitch でのテスト環境の構築をやってみた。といっても、Trema-edge でサンプル (learning-switch) が動くってところまで。 環境と下準備 Contro…

Trema/MyRoutingSwitch(7), Topology Change and Re-route(10)

前回の続き。OVS patch port はどうも状態が固定されているらしく、ポートの状態変更ができないとか、ポート消しても link down を検出できないとか、そうなってしまうようです。とはいえ、OpenFlowテスト環境をつくる(7) でやったみたいに、overlay 的な環…

Trema/MyRoutingSwitch(7), Topology Change and Re-route(9)

あいかわらずごちゃごちゃやってます。トポロジ変化と、それに対してどうパケットの経路制御するかというのを見てきたのですが、KVM/OVS 実機でトポロジ変更させるのがやたらと面倒くさいので、基本的には Trema のネットワークエミュレータ機能を使ってテス…

Trema Day #3 参加メモ #tremaday

はじめに 前回に引き続き Trema Day #3 参加してきました。 TremaDay Trema Day #3 | 集客ならイベントアテンド Trema Day #3 #tremaday - Togetter Giving is Taking - Networking: Trema Day #3 に参加してきた(一部) いやあ、今回人多かったですねえ。過…

Ubuntu/KVM/OVSでOpenFlowテスト環境をつくる(7)

一連のシリーズで見てきていますが中身が変わるのでちょっとタイトル変更。連番は継続。これまでは、ポータブルな環境を、という考え方で vmware player 1 KVM Server (OVS+KVM で複数ブリッジ接続環境を模擬) 1 Controller Server (Trema) みたいな構成でど…

Trema/MyRoutingSwitch(6), 全対最短経路(2)

全対最短経路に変えた事によるアレコレ。 Topology based flooding 従来(point-to-point shortest-path) Broadcast/Unknown-unicast による flooding は、いままで management network 経由で全スイッチに対して packet-out していたので、openflow network …

Trema/MyRoutingSwitch(6), 全対最短経路(1)

はじめに MyRoutingSwitch(5) のシリーズ ではトポロジの変化に対してどうやって経路迂回させるか、みたいな話をいろいろやってきました。それで、いろいろ試してみたけど、やっぱりリアクティブでやる方法って今ひとつ拡張性とか微妙だなあと。もうちょっと…

Trema/MyRoutingSwitch(5), Topology Change and Re-route(8)

トポロジ変化の処理についてどういう対応ができそうか、というのについてこれまであれこれ見てきたのですが、気づいたところとかをだらっと上げておきたいと思います。 前提・条件を明示する 作っているうちに暗黙的に仮定している物があって、そういうのが…

Trema/MyRoutingSwitch(5), Topology Change and Re-route(7)

はじめに リンク追加(リンクアップ)に伴うトポロジ変化について。今回は、リンクが増えたときにどういうフロー情報操作が必要になるか? という話を見ていきます。昨日の夜 master にマージした他ので一応ソースも。 training/my-routing-switch at 1131b58f0…

Trema/MyRoutingSwitch(5), Topology Change and Re-route(6)

はじめに routing switch でリンクダウン発生によってトポロジが変化した際にどう対応していくか、というのを、この前の第1回〜第5回でためしてみました。 次はリンクアップに対してどう対応するかという方向に行きます。…記事のタイトル、もうちょっとどう…

Trema/FlowStatsおためし

ちょっと思うところあって、Controller から各スイッチのフロー情報を取得してみる、という処理のテストをしてみた。 参照 Method Method: Trema::Controller#send_message ― Documentation for trema/trema (master) Method: Trema::Controller#stats_reply…

Trema/MyRoutingSwitch(5), Topology Change and Re-route(5)

はじめに これまで、リンクダウンによるトポロジ変化に対して、フローテーブルの修正をして追従して動いてくれることが見えたと思います。今回は、もうちょっと複雑なパターンと特徴的な挙動、トポロジ変化に伴うフロー操作のその他の課題について取り上げま…

Trema/MyRoutingSwitch(5), Topology Change and Re-route(4)

はじめに 引き続き前回の続きということで、arp table が実際にホストが接続されている位置を表すように固定した上で、これまで見えてきたリンクダウンに伴うフロー再書換の不具合が解決するかどうかを確認してみます。 変更 packet-in が起きて arp table u…

Trema/MyRoutingSwitch(5), Topology Change and Re-route(3)

はじめに 前回の話を実際に確認してみます。まずは、単純に、port_status (リンクダウン) が発生したときに、リンクダウンしたポートに対して output しているフローを消すだけだとあまり良くない、という話ところです。 テスト1 変更点 MyRoutingSwitch sta…

Trema/MyRoutingSwitch(5), Topology Change and Re-route(2)

はじめに 前回はトポロジの変化と、現状の MyRoutingSwitch が行う経路制御処理の基礎について、でした。今回は現状の動作の問題点と対応方針についてみていきます。いまはリンクダウンに対応できることを目標として考えます。 問題点 トポロジ変化に対応し…

Trema/MyRoutingSwitch(5), Topology Change and Re-route(1)

はじめに 引き続き MyRoutingSwitch いじり。複数スイッチで経路選択ができるのであればやっぱりトポロジ変更時に物理経路切り替えて通信を継続させる、というのをやりたいわけです。ということで試してみました。 トポロジ変更 複数スイッチ環境におけるト…

Trema/MyRoutingSwitch(4), テスト関連メモ

引き続き routing switch 周りでいじってる。先週〜今週でいじったことのメモ。 Unknown Unicastの取り扱い Trema/MyRoutingSwitch(2) にも書いたけど、L2スイッチとして動作する割には Unknown Unicast の動作をイレギュラーな形 (proxy arp) にしてありま…

読了/OpenFlow本2種

SDN/OpenFlowで進化する仮想ネットワーク入門 (Cloudシリーズ(Next Publishing))作者: 伊勢幸一出版社/メーカー: インプレスR&D発売日: 2013/02/26メディア: オンデマンド (ペーパーバック) クリック: 1回この商品を含むブログ (3件) を見る目次とかはこちら…

Trema/MyRoutingSwitch(3), ダイクストラ法デバッグ

えーと。案の定というかなんというか。最短経路検索の実装がおかしかったですね。下図のようなトポロジでデバッグプリント出して L2 routing の処理を追いかけてみました。非対称なトポロジにしないと動作テストとしてはダメだよねやっぱり。 ofvm01 (192.16…

Trema/MyRoutingSwitch(2)

ちまちま修正している。 機能追加 起動時に予期せぬイベントがきたら無視する switch_ready, features_request/reply があるんだから、そこの処理が終わるまで、指定された dpid での packet_in 処理は受け付けないことにする。 def packet_in dpid, packet_…

Trema/MyRoutingSwitch

10連休! なのでちょっとお試し。 はじめに これまで VMwarePlayer+Ubuntu/KVM/OVSでOpenFlowテスト環境をつくる(6) で複数スイッチ環境でやるための環境セットアップはしたものの、その上でのアプリの実装とか実験とかできていなかったので、連休を利用して…