読者です 読者をやめる 読者になる 読者になる

SDN開発エンジニアを目指した活動ブログ

〜SDNなオープンソース製品を実際に使って試してみる〜

Python / JUNOS環境で、NETCONF動作を試してみる

SDN時代のインフラ構築には、APIベースの設定作業が標準になりつつあります。 通常、仮想VMであれば、OpenStackなどが活用されるところでしょう。 SDNインフラ環境でも既存ネットワークとの相互運用は必須になりますが、NW機器での諸設定が従来通りの手作業…

vSRXを活用した、JUNOSのお勉強まとめ【mpBGP / MPLS-VPN 続編】

今回も、引き続き、JUNOSのお勉強メモです。 ttsubo.hatenablog.com前回は、PE - CE間は、Staticルーティングを前提としておりました。 今回は、PE - CE間で、eBGPによるダイナミックルーティングの設定に変更します。 ◼︎ vSRXトポロジ構成 だんだんと、トポ…

vSRXを活用した、JUNOSのお勉強まとめ【mpBGP / MPLS-VPN編】

今回も、引き続き、JUNOSのお勉強メモです。 ttsubo.hatenablog.com ◼︎ 前回の記事での技術課題 エンド端末間での疎通確認において、エンド端末"pc1"から、エンド端末"pc2"側"10.0.0.1"に対して、pingをうってみたところ、 pingは成功した。この時、pc2側で…

vSRXを活用した、JUNOSのお勉強まとめ【OSPF + MPLS編】

今回も、引き続き、JUNOSのお勉強メモです。 ttsubo.hatenablog.com ◼︎ vSRXトポロジ構成 今回は、vSRX3台構成としました。 [ AS: 65000 ] [ AS: 65000 ] 10.0.0.1 10.0.0.2 10.0.0.3 +-----+ +--------+ +--------+ +--------+ +-----+ | | 172.16.0.0/30 …

vSRXを活用した、JUNOSのお勉強まとめ【JUNOS初期設定 + BGP基本編】

これから、しばらく、ネットワーク技術のお勉強に時間を費やしたいと思います。 ネットワークのお勉強の素材としては、「Junos設定&管理完全Bible」を選びました。 ただ、こちらの書籍なんですが、すでに、在庫が存在しておらず、中古品をゲットすることに…

etcdの分散Key-Valuesストアを試してみる

CoreOSが提供するetcdの動作をお手軽に試してみました。 なお、etcdとは、分散Key-Valuesストアを使い,各種設定をノード間で共有するメカニズムだそうです。 etcd is a distributed key value store that provides a reliable way to store data across a c…

SDNアプローチによるBGP経路監視を試してみる

「ネットワーク運用の自動化」として、BGP経路監視を考察してみたいと思います。 NetOpsCoding Advent Calendar 2015 12/12分のエントリーです qiita.com ◾️ ”BGP運用”という言葉から想定されるイメージ BGP運用というと、なんとなく「BGP職人さん」という言…

Mac OS X環境のVMware Fusion上で、vSRXを動かす

これまで、JUNOSを扱った経験がなかったので、vSRXを用いてJUNOSの勉強環境を作成したいと思います。 こちらが、参考にさせて頂いたslideshareです。 vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~ from Juniper Networks (日本) www.s…

Ryu SDN Frameworkで、VRRP動作を試してみる

これまで、あまり知られておりませんでしたが、Ryu SDN Frameworkでは、VRRP機能を動作させることができます。 VRRP機能を自由に操れるようになれば、柔軟なネットワーク冗長構成も構築できそうです。 今回の元ネタは、こちらになります。 http://ryu.readth…

Pythonベースで、GoBGPを制御してみる 〜gRPC活用編〜

[ 2016.4.30修正:GoBGP最新版への対応 ] GoBGPは、golangベースのBGPエンジンであり、経路追加などの設定コマンド等も、golangで実装されております。 今回は、Ryu SDN Frameworkとの連携を見据えて、PythonベースでGoBGPを制御する手法を試してみたいと思…

GoBGPでの内部構造で活用されている"gRPC"の仕組みを体験してみる

[ 2016.4.29修正:gRPC最新版への対応 ] 最近、GoBGPでの内部構造として活用されている"gRPC"に興味を持ち始めました。 GoBGP実践活用として、Ryu SDN Framework連携を実現するためには、gRPC技術の修得が必要不可欠になりそうなので、まずは、gRPCを体験す…

GoBGPを活用して、BGP動作を体験してみる 〜環境準備編〜

[ 2016.4.29修正:gobgp最新版への対応 ] これまで、RyuBGPSpeakerを活用して、SDN分野におけるBGP技術の有用性を試してきました。 SDN分野におけるBGP新技術を活用したユースケースが、IETF等でいろいろ議論されておりますので、今後も、 SDN分野でBGP新技…

golangで開発アプリのコマンドインタフェースを拡張するには ...

今回は、golangでコマンドインタフェースの定義する際の自分用メモです。 以下の外部アプリを組み込むと、簡単にコマンドインタフェースが拡張できるみたいです。spf13/cobragithub.comOMGが定めた分散オブジェクト技術の仕様"CORBA"とは、何の関係ありませ…

SDN Lab環境でのRobot Framework実践活用

最近、オープンソース系ソフトウェアを独自カスタマイズしてプロダクト化する事例が増えている気がします。 これからのSDN/NFV分野では、ホワイトボックス化されたネットワーク機器にオープンソース系ソフトウェアを搭載して仮想アプライアンスとして導入す…

Docker環境で、MPLS-VPNネットワークを体験してみる

今回は、巷で流行りのDockerのネタです。 以前より、Dockerを活用すれば、SDN技術要素を習得するための自前SDNラボ環境を簡易に構築することが可能となるので、ぜひ習得しておきたい技術だと考えておりました。 そんな折に、たまたま、過去の沖縄オープンラ…

Ryu BGPSpeakerの実践活用へのチャレンジ 〜BMPの基本確認編〜

以前、Ryu BGPSpeakerを活用して、OpenFlowベースのBGPルータとして動作するところまで確認できました。 詳細は、slideshareにアップしておきました。 今回は、BGPプロトコルのモニタリング機能を試してみます。 RyuBGPSpeakerを活用したOpenFlow簡易ルータ…

Ryu BGPSpeakerの実践活用へのチャレンジ 〜BGP/OpenFlow連携編〜

これまで、OpenFlow簡易ルータ作成を通じて、SDN/OpenFlow的な実装テクニックでも市販ルータ相当なIPルーティング制御が可能であることを確認してきました。しかしながら、これまでのOpenFlow簡易ルータでは、デフォルト・ルーティングしか対応していないた…

RouterBOARD (RB750GL)のOpenFlow化へのチャレンジ 〜OpenFlow動作確認編〜

前回は、RouterBOARD (RB750GL)のOpenvSwitch環境を構築しましたので、実際に、OpenFlowプロトコル動作させてみて、各種挙動を確認してみたいと思います。 RouterBOARD (RB750GL)のOpenFlow化へのチャレンジ 〜OpenvSwitch構築手順メモ編〜 - SDN開発エンジ…

RouterBOARD (RB750GL)のOpenFlow化へのチャレンジ 〜OpenvSwitch構築手順メモ編〜

今回は、RouterBOARD (RB750GL)をOpenFlow化して、OpenFlow基本動作を確認するというチャレンジになります。 こちらが、OpenFlow化したRouterBOARD (RB750GL)です。さらに、OpenWRT化に対応したOpenvSwitch 2.3.0版パッケージを搭載しているので、ユーザラン…

Ryu SDN FrameworkのBGP機能を試してみた(4) 〜Ryu BGPSpeaker再検証〜

前回は、Ryu BGPSpeakerを活用したInterAS MPLS-VPN環境において、BGP基本動作を確認しました。 InterAS MPLS-VPN with RyuBgp from Toshiki Tsuboi 当時の動作確認では、i-BGPまわりの基本パラメータ未対応など、実用面での課題が判明しました。 ◆最近のRyu…

Ryu SDN FrameworkのBGP機能を試してみた(3) 〜InterAS接続編 その2〜

前回は、既存のBGP/MPLS VPN網とのInterAS接続によりBGP情報の共有を図ることができました。 ただし、ネットワーク拡張性を想定すると、前回モデルでは、スケール性に課題があります。今回は、InterAS MPLS VPNにおけるボーダールータとしてRyu BGPを配備し…

Ryu SDN FrameworkのBGP機能を試してみた(2) 〜InterAS接続編 その1〜

前回は、BGP/MPLS VPN網のエッジルータ適用でのコントロールプレーンの挙動を確認しました。しかし、実際にエッジルータ適用を想定した場合には、OSPFルーティングドメインへの参加や、トンネルMPLSラベル制御を含めたデータプレーン連携の実装が必要不可欠…

Ryu SDN FrameworkのBGP機能を試してみた(1) 〜BGP/MPLS網でのエッジルータ適用編〜

最新のRyu SDN Frameworkでは、BGPルーティング機能(以下、Ryu BGP)が活用できるようになったらしいです。 Ryu公式ドキュメントにも、API仕様やサンプルコードが公開されておりますね。 BGP speaker library API Reference — Ryu 3.12 documentation BGP s…

OpenStackメッセージング機構を探ってみる(4) 〜Call(情報照会)編〜

前回につづいて、OpenStackメッセージング機構を探ってみる。 ◆前回までのおさらい OpenStackメッセージング機構を体感するために、以下の例題を解決する実現モデルを考えてみる。 1. 例題 実験環境は、サーバ装置1台と、クライアント装置2台で構成されて…

OpenStackメッセージング機構を探ってみる(3) 〜Cast(特定通知)編〜

前回につづいて、OpenStackメッセージング機構を探ってみる。 ◆前回のおさらい OpenStackメッセージング機構を体感するために、以下の例題を解決する実現モデルを考えてみる。 1. 例題実験環境は、サーバ装置1台と、クライアント装置2台で構成されている。…

OpenStackメッセージング機構を探ってみる(2) 〜Fanout(同報通知)編〜

前回、OpenStackメッセージング機構を探るための実験環境が構築できた。 OpenStackメッセージング機構を探ってみる(1) 〜環境構築編〜 - SDN開発エンジニアを目指した活動ブログ 今回から、OpenStack開発エンジニアを目指して、OpenStackメッセージング機…

OpenStackメッセージング機構を探ってみる(1) 〜環境構築編〜

今回から、OpenStackで活用されているメッセージング機構を調べてみる。 以前のOpenStackユーザ会での講演資料「OpenStack を支える メッセージングの基礎」あたりの理解から始めてみる。 http://openstack.jp/assets/files/20121216/osc2012cloudjosugamqpv…

Python勉強メモ:特殊メソッド__getattribute__とは?

Pythonを勉強しているなかで、特殊メソッド__getattribute__に遭遇したので、ちょっと調べてみた。 どうやら、__getattribute__のほかにも、__getattr__なるものがあるらしい。 ・__getattr__:未定義のメンバーにアクセスする際に呼び出される。 ・__getatt…

家庭用BuffaloルータのOpenFlow化へのチャレンジ 〜OpenvSwitch構築手順メモ編〜

前回、家庭用Buffaloルータ”BHR-4GRV"をOpenFlow化して、OpenFlow基本動作を確認しました。 家庭用BuffaloルータのOpenFlow化へのチャレンジ 〜OpenFlow1.3動作確認編〜 - SDN開発エンジニアを目指した活動ブログ SDN/OpenFlowの実験環境で、OpenFlowスイッ…

家庭用BuffaloルータのOpenFlow化へのチャレンジ 〜OpenFlow1.3動作確認編〜

これまでも、Linuxボックス"DNA940"を活用してSDN/OpenFlow環境を構築してきました。ただし、汎用性の乏しいLinuxボックス構成だったので、SDN/OpenFlow環境としてOpenFlowスイッチ台数を増やすことが困難でした。今回は、もっと簡易にOpenFlowスイッチ台数…

ネットワーク仮想化技術の実践活用(2) 〜OpenvSwitch管理プロトコル(OVSDB)編〜

ネットワーク仮想化環境の特徴は、VxLAN等のオーバレイ技術を活用して多拠点間をトンネルで接続するモデルだと思います。 ただ、拠点数(n)に対して、拠点間をフルメッシュn*(n − 1)本のトンネルを構築する必要があります。 前回のブログ記事では、2拠点を…

ネットワーク仮想化技術の実践活用(1) 〜LinuxボックスでVxLAN構築編〜

前回まで、OpenFlow簡易ルータの実践活用として、いろいろと実装技術を試してきました。今回からは、少し路線を変更して、ネットワーク仮想化技術に着目したいと思います。 ネットワーク仮想化技術といえば、SDN業界では、VxLANやNVGREなどの新技術が注目さ…

OpenFlow簡易ルータの実践活用(3) 〜LinuxボックスでOpenFlowスイッチ構築編〜

最近、SDN業界では、ホワイトボックス版Linuxベースのオープンなネットワーク機器をデプロイする動きが活発ですよね。 ネットワークにダウンサイジングの波 - [1]スイッチの「オープン化」と「スケールアウト」が進む:ITpro ネットワークにダウンサイジン…

OpenFlow簡易ルータの実践活用(2) 〜LINC-Switch導入編〜

前回は、OpenvSwitch (2.0.0)で構築したOpenFlowスイッチとOpenFlow簡易ルータを、自宅ネットワークに導入してみました。 今回は、OpenFlowスイッチとして、LINC-Switchを採用して、前回と同様に自宅ネットワークに導入してみたいと思います。 ◆導入形態 導…

OpenFlow簡易ルータの実践活用(1) 〜OpenvSwitch導入編〜

前回まで、Ryu SDN Frameworkを活用したOpenFlow簡易ルータ作成を行ってきましたが、OpenFlow勉強の素材として、当初想定していた必要機能は一通り具備できたと思います。早速、OpenFlow簡易ルータを自宅ネットワークに導入して、その使い勝手を確認してみた…

Ryu SDN Frameworkを活用した簡易ルータ機能の作成(7) 〜IPルーティング基本編〜

前回、疎通診断編では、以下の課題に直面してしまいました。- 前回の疎通診断の実装課題 疎通診断先のアドレス情報を特定するには、OpenflowRouter内部でもルーティングテーブル,ARPテーブルとMACテーブルを保持することが必須となりますが、まだ、これらテ…

Ryu SDN Frameworkを活用した簡易ルータ機能の作成(6) 〜疎通診断編〜

最近、OpenFlowもだいぶ認知度が高まってきた気がします。通常、OpenFlowは、通信経路の自動設定に活用されることが多いと思います。今回は、ちょっと応用編として、OpenFlow監視機能の実現を目指して、REST-IFから疎通診断が可能になるようなping機能に着手…

Ryu SDN Frameworkを活用した簡易ルータ機能の作成(5) 〜トラフィックモニタリング編〜

前回までの簡易ルータでは、REST-API経由で論理構成を設定できる機能を実現しました。ただ、このままでは、簡易ルータが正しく動作しているかを確認する手段がありません。不測な事象が発生した場合に簡易ルータ側が原因なのか、他に原因があるのかを切り分…

Ryu SDN Frameworkを活用した簡易ルータ機能の作成(4) 〜REST-IF編〜

前回までの簡易ルータは、物理/論理構成を完全に固定してPC端末間での通信を実現しました。OpenFlowプログラミングの概要がだいぶ理解できてきたので、今回からは、もう少し実用性を意識して簡易ルータの作成を進めていきたいと思います。 ◆Ryu SDN Framewo…

Ryu SDN Frameworkを活用した簡易ルータ機能の作成(3) 〜Ryuアプリのユニットテスト編〜

前回、双方のPC端末間での初歩的なIPルーティングをRyuアプリとして実装してみました。 通常のプログラミングでは、ユニットテストを想定しながら実装を行っていくと思います。OpenFlowプログラミングでもユニットテストを意識しながら実装を進めていくべき…

Ryu SDN Frameworkを活用した簡易ルータ機能の作成(2) 〜IPルーティングの初歩編〜

通信プロトコル動作をOpenFlowプログラミングで制御するテーマ素材として、今回は、「IPルーティング編」です。異なるサブネット間を相互接続する役割のIPルータにおけるパケット転送機能を、OpenFlowプロトコルを活用して実現したいと思います。今後は、Ope…

Ryu SDN Frameworkを活用した簡易ルータ機能の作成(1) 〜ARP Request/Reply編〜

最近、IT分野へのクラウドコンピューティング技術の浸透が顕在化している状況ですが、ネットワーク分野においてもSDN/OpenFlowの新技術が定着してきていると感じます。ただ、現時点では、OpenFlow技術の活用事例は、市販のOpenFlow製品が中心であり、オープ…

PythonによるSSHログイン自動スクリプトを作成してみる

◆SSHログイン自動スクリプトを試してみる 最近、クラウドコンピューティング基盤技術の世界では、オープンソースを活用した業務オペレーションのフル自動化に注目が集まっております。従来であれば、サーバ/ネットワーク稼働状態を把握するために、オペレー…