study

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) にしてありま…

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) で複数スイッチ環境でやるための環境セットアップはしたものの、その上でのアプリの実装とか実験とかできていなかったので、連休を利用して…

Trema Day #2 参加メモ #tremaday

はじめに Trema Day #2 参加してきました。 TremaDay Trema Day #2 | 集客ならイベントアテンド Trema Day #2 #tremaday - Togetter Giving is Taking - Networking: Trema Day #2 に参加してきた Trema Day #1 のときは参加できずに Ust 視聴 + Twitter 実…

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

はじめに 第5回 に書いた OVS ブリッジ間接続について、 @stereocat OVSのブリッジ間は、仮想リンク以外に、patchでつなぐ方法があるみたいです。どちらが良いのか、よく理解できていませんが、Quantum-OpenvSwitchプラグインでは、patchが活用されています…

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

はじめに 第1回〜第4回 までで1つの OVS で KVM 仮想マシンを束ねる形の環境を作りました。その環境上で OpenFlow で仮想マシン間通信をコントロールするというテストをいくつかやってきたのですが、単一のスイッチでやれる範囲って、基本的にはフローの操作…

Trema/PbrLbSwitch(2)

昨日の記事 (Trema/PbrLbSwitch) のデータを見返していて思ったんだけどやっぱりおかしなところがあった。まあ案の定というか。 問題 フロー情報、 root@oftest01:~# sudo ovs-ofctl dump-flows br0 | grep 56085 cookie=0x3, duration=1372.846s, table=0, …

Trema/PbrLbSwitch

はじめに Policy Based Routingによる負荷分散実験のご報告 « さくらインターネット研究所 PBR-LB - Direct Server Return Load Balancing using Policy Based Rou... を見ていてふと、「あ、これ Simple Router ちょっといじったら作れそうだなあ」と思った…

Trema/SimpleRouterの処理で気になってたこと

Trema の examples に入っている Simple Router を元にいくつかいじってみたりしていた のだけど、その処理でちょっと気になったことがあったので調べてみた。 気になったこと SimpleRouter の handle_unresolved_packet の処理、下の図の黄色い線をたどって…

Trema/P2PSrcDstNatSwitch

はじめに インフルエンザにつぶれた1週間。Janogは申し込みしておいたものの出席できるわけもなく(インフル治療中にいったらバイオテロだろ…)、家で Ust を見るだけでした…。初日午前のプログラム 監視網設計/運用の苦労あれこれ | JANOG31 Meeting の NAT …

Trema/SimpleL3Switch(2)

主要な変更点 packet_in def packet_in(datapath_id, message) if to_me?(message) if message.arp_request? handle_arp_request datapath_id, message elsif message.arp_reply? handle_arp_reply message elsif message.ipv4? handle_ipv4 datapath_id, me…

Trema/SimpleL3Switch(1)

はじめに Trema本(クラウド時代のネットワーク技術 OpenFlow実践入門 (Software Design plus))を改めて読み返してたわけですが、結局何かしらコード書いてみないとよくわからんのだよなーと。単純に examples とか動かしてみるだけだとね…。(そういうのを出…

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

ちょっとした Tips だけ。こう、環境つくってVMたてていろいろやるって言うのができるのは良いのだけど、ある程度用意ができると、何が面倒だって VM 起動するのが面倒なのよ。vmware player で動かしている KVM Host + OF Controller Host は自動化の余地が…

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

はじめに 前々回、前回で KVM Host 上に domain (KVM Guest) を複数たてて、OVS 経由で接続する、というところまでやりました。 今回は OVS を OpenFlow Controller (Trema) でコントロールしてみます。すぐできます。 Controller のインストール この辺は参…

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

はじめに 前回は KVM Host を用意したところまでで終わったので、今回は KVM Guest (KVM用語だとdomain)をたてるところから。上の図の ofvm01-04 を作っていくあたりです。 libvirt で KVM Guest (domain) をつくる qemu のコマンドでベタに作る方法とかもや…

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

はじめに Windows Note PC にお手軽に入れられる、ポータブルな OpenFlow テスト環境を構築しようという試みの個人的な記録です。目的は、KVM の使い方を見ること、OVS + Trema で OpenFlow のテスト環境を作ることす。Trema だと仮想ネットワークつくってテ…

ルータ2台で始めるVRF入門(7)

ルート漏洩(3): GRT-VRF間ルート漏洩(2) 1年弱くらい前に6回シリーズでルータ2台で始めるVRF入門という記事を書いていたのですが、今回はその続編です。きっかけは、 @stereocat BGP Support for IP Prefix Export from a VRF Table into the Global Table20…

SixXS+Ciscoで始めるIPv6接続

はじめに HE.net で始めるIPv6接続 って記事を書いてみたんですけどね。SixXS も気になるなあ、といいつつ保留って書いてたんですが、気になってどんなモノかぐるぐる調べて回るくらいだったら、とっととやってみたらいいじゃないかと。で、やってみたのでど…

HE.net で始めるIPv6接続

はじめに 9月アタマに引越をしたんですよ。で、それまでは 6to4 を使っていたのですが、引越に合わせて固定 IPv4 な環境用意したことだし、ちょうど tokyo6to4 もリレールータサービスを終了してしまった*1…ということもあり、別な方法で IPv6 アドレスを調…

OSPF max-metric wait-for bgp のはなし

7月にあった Janog30 meeting のプログラム さあ、IGPの話をしよう! であった OSPF max-metric wait-for bgp の話について。 みんなあんまりmax-metric使ってないのね。ciscoで言うところのrouter ospfで"max-metric router-lsa on-startup wait-for-bgp"っ…

自宅ラック勉強会7.0 参加してきた

去る 7/22、自宅ラック勉強会7.0に参加してきました。 自宅インフラ発表会(自宅ラック勉強会7.0) | イベントアテンド [ATND] でイベント作成・チケット販売・参加者の出欠管理 他の方々の記事が上がるのを横目に書こう書こうと思いつつもなかなか手がつけ…

ネットワーク図を書くときに考えること(2)

はじめに 1回目を書いてからまたしばらく間をあけてしまいましたが…。しかもその間で図をいったん全部書き直したりしているし。図は再掲します(Visioで書き直しました。) 2回目では「ヒント」「心得」についていくつか見ていこうと思います。1回目は「何のた…