サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
ttsubo.hatenablog.com
Pythonを勉強しているなかで、特殊メソッド__getattribute__に遭遇したので、ちょっと調べてみた。 どうやら、__getattribute__のほかにも、__getattr__なるものがあるらしい。 ・__getattr__:未定義のメンバーにアクセスする際に呼び出される。 ・__getattribute__:未定義・定義済み関わらず、すべてのメンバーアクセスで呼び出される。 ◆特殊メソッド __getattribute__ まずは、__getattribute__サンプルとして、test_getattribute.py で試してみた。 import sys class A(object): def __init__(self): print "aaa0" def a1(self): print "aaa1" class B(A): def __init__(self):
SDN時代のインフラ構築には、APIベースの設定作業が標準になりつつあります。 通常、仮想VMであれば、OpenStackなどが活用されるところでしょう。 SDNインフラ環境でも既存ネットワークとの相互運用は必須になりますが、NW機器での諸設定が従来通りの手作業によるコンフィグ設定が行なわれている事例がまだ多いと思います。 昨今のSDN技術の台頭により、作業効率の向上、および、オペミス防止の観点から、従来のNW機器もSDNオーケストレーション的なアプローチでAPIベースで制御してしまおうという風潮が高まりつつあります。 そこで、 NETCONFというプロトコルが注目されるわけですね。 ◼️ NETCONF確認用のSRXトポロジ環境 今回は、NETCONFを活用したSRX実機でのBGP設定にチャレンジしたいと思います。 なお、BGP構成は、以前の記事と全く同じ構成にします。 なお、NETCO
今回も、引き続き、JUNOSのお勉強メモです。 ttsubo.hatenablog.com ◼︎ 前回の記事での技術課題 エンド端末間での疎通確認において、エンド端末"pc1"から、エンド端末"pc2"側"10.0.0.1"に対して、pingをうってみたところ、 pingは成功した。この時、pc2側でパケットキャプチャを行ったところ、ICMP Echo Request / Replyが観測されなかった。 「誰がICMP Echo Replyを送信したのだろうか?」というものでした。 まず、こちらのトポロジ構成をご覧ください。 BGP運用経験の豊富な方は、すでに発生事象の原因にお気づきだと思います。 [ AS: 65000 ] [ AS: 65000 ] 10.0.0.1 10.0.0.2 10.0.0.3 +---------+ +--------+ +---------+ | | | |
これから、しばらく、ネットワーク技術のお勉強に時間を費やしたいと思います。 ネットワークのお勉強の素材としては、「Junos設定&管理完全Bible」を選びました。 ただ、こちらの書籍なんですが、すでに、在庫が存在しておらず、中古品をゲットすることになりました。 gihyo.jp ◼︎ vSRX環境構築 以前のブログ記事「Mac OS X環境のVMware Fusion上で、vSRXを動かす」をそのまま活用します。 本来、vSRXは、Flowベースの仮想ファイアウォールなのですが、ルーティングの勉強用には、Packetベースに動作モードを変更しております。ご注意ください。 ttsubo.hatenablog.com ◼︎ vSRXトポロジ構成 Mac OS X環境で、複数台のvSRXを動作させたいところですが、今回は、vSRX2台構成としました。 +---------+ i-BGP +--
CoreOSが提供するetcdの動作をお手軽に試してみました。 なお、etcdとは、分散Key-Valuesストアを使い,各種設定をノード間で共有するメカニズムだそうです。 etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles master elections during network partitions and will tolerate machine failure, including the master. ◼️ まずは、環境準備から ... まずは、golang環境を準備してお
「ネットワーク運用の自動化」として、BGP経路監視を考察してみたいと思います。 NetOpsCoding Advent Calendar 2015 12/12分のエントリーです qiita.com ◾️ ”BGP運用”という言葉から想定されるイメージ BGP運用というと、なんとなく「BGP職人さん」という言葉を連想してしまうのは、私だけでしょうか? BGP職人さんは、事前に策定されたBGP運用ポリシーに従って、ポリシー・ルーティングに関わるルートマップ等コンフィグを投入することができる存在であり、想定どおり、ポリシー・ルーティングが動作されているかを確認するため、ベンダ固有のCLIコマンドを駆使して細かなBGP制御を確認することを日々の業務として実施する。 そんなイメージを、「BGP運用」からは、連想してしまいます。 さらに、不測な事態としてNWトポロジが安定動作していないことが判明した際
これまで、あまり知られておりませんでしたが、Ryu SDN Frameworkでは、VRRP機能を動作させることができます。 VRRP機能を自由に操れるようになれば、柔軟なネットワーク冗長構成も構築できそうです。 今回の元ネタは、こちらになります。 http://ryu.readthedocs.org/en/latest/test-vrrp.html ◆ まずは、VRRP動作環境の準備 Ryu VRRPを動作させるLinux環境としては、Ubuntu Server版を使用しました。 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"VRRP動作環境としては、2台のLinuxサーバ間でVRR
最近、オープンソース系ソフトウェアを独自カスタマイズしてプロダクト化する事例が増えている気がします。 これからのSDN/NFV分野では、ホワイトボックス化されたネットワーク機器にオープンソース系ソフトウェアを搭載して仮想アプライアンスとして導入するユースケースが増えていくものと推測できます。 オープンソース系ソフトウェアを独自カスタマイズして実ネットワークに導入する場会、カスタマイズ部分のソフトウェア品質担保が必須条件となるので、ソフトウェア開発フェーズでのテスト網羅性が極めて重要になります。 従来のソフトウェア開発でもユニットテストレベルでのテスト網羅性&自動化は、一般的に着手されておりました。 ただ、これからのクラウドコンピューティング技術革新のスピード感が、どんどん増している状況下においては、プロダクトレベルでのテスト網羅性&自動化を念頭に置く必要があると感じております。 そこで、今
今回は、巷で流行りのDockerのネタです。 以前より、Dockerを活用すれば、SDN技術要素を習得するための自前SDNラボ環境を簡易に構築することが可能となるので、ぜひ習得しておきたい技術だと考えておりました。 そんな折に、たまたま、過去の沖縄オープンラボラトリのイベント企画で、第2回ハンズオンセミナー(SDN編)が開催されたことに気がつきました。ハンズオンのタイトルは、すばり「SDN編/Dockerで箱庭実験ネットワークを作ろう」とのこと。公開情報が、こちらです。www.okinawaopenlabs.org というこので、ここでのハンズオン資料などを参考にさせていただきながら、自前SDNラボ環境を構築してみます。 ▪️まずは、SDNラボ環境ネタをどうするか... あまり在り来たりな素材だとモチベーションが停滞してしまいます。 そこで、Docker活用事例として、過去に前例のないSD
これまでも、Linuxボックス"DNA940"を活用してSDN/OpenFlow環境を構築してきました。ただし、汎用性の乏しいLinuxボックス構成だったので、SDN/OpenFlow環境としてOpenFlowスイッチ台数を増やすことが困難でした。今回は、もっと簡易にOpenFlowスイッチ台数を増やすことができる環境構築を目指します。 ◆OpenWRT版OpenvSwitch構築 昨年あたりから、OpenWRT版のOpenvSwitchがGitHUBに公開されているようです。ただし、OpenvSwitchバージョンが"1.9.0"と古いままになっているようです。 そこで、Buffaloルータ"BHR-4GRV"のOpenWRT化とOpenvSwitch 2.1.0版パッケージを整備しました。 Releases · ttsubo/openvswitch · GitHub こちらが、実際に、
前回は、RouterBOARD (RB750GL)のOpenvSwitch環境を構築しましたので、実際に、OpenFlowプロトコル動作させてみて、各種挙動を確認してみたいと思います。 ◆OpenFlowコントローラ環境準備 OpenFlowを確認するためには、OpenFlowコントローラを構築する必要があります。 ここでは、Ryu Controllerを使用したOpenFlow動作確認環境を構築します。 1. Ryu Controllerインストール "ubuntu 14.04 desktop"に、Ryu Controllerをインストールした際の手順を記載します。 ほかのOSでも動作すると思います。ちなみに、OS X Yosemiteでも問題なく動作しております。 tsubo@RyuSDN:~$ sudo apt-get install git tsubo@RyuSDN:~$ sudo
今回は、RouterBOARD (RB750GL)をOpenFlow化して、OpenFlow基本動作を確認するというチャレンジになります。 こちらが、OpenFlow化したRouterBOARD (RB750GL)です。さらに、OpenWRT化に対応したOpenvSwitch 2.3.0版パッケージを搭載しているので、ユーザランドではなく、カーネルモジュールとして、datapathが動作する点が特徴となります。 ◆これまでのOpenFlow化の経緯 以前、RouterBOARD (RB750GL)のOpenFlow動作の評価を実施しましたが、OpenFlow機能の実用化の視点では、期待はずれでした。 RouterBOARD with OpenFlow from Toshiki Tsuboi いっぽう、過去のブログ記事「家庭用BuffaloルータのOpenFlow化へのチャレンジ 〜Open
前回は、BGP/MPLS VPN網のエッジルータ適用でのコントロールプレーンの挙動を確認しました。しかし、実際にエッジルータ適用を想定した場合には、OSPFルーティングドメインへの参加や、トンネルMPLSラベル制御を含めたデータプレーン連携の実装が必要不可欠となります。現段階では、Ryu BGP実装状況での対応は困難そうです。よって、別の方式を検討してみます。 今回は、Ryu SDN FrameworkのBGPルーティング機能(以下、Ryu BGP)として、「InterAS MPLS VPN」による相互接続形態を検証してみます。 ◆InterAS MPLS VPNとは ... もともと、BGP/MPLS VPN網でのバックボーン内でのテナント分離手法として、「mp-BGP」が使われております。 BGP/MPLS VPN網との相互接続の場合にも、「mp-BGP」を使って、VPNv4アドレスフ
最新のRyu SDN Frameworkでは、BGPルーティング機能(以下、Ryu BGP)が活用できるようになったらしいです。 Ryu公式ドキュメントにも、API仕様やサンプルコードが公開されておりますね。 BGP speaker library API Reference — Ryu 3.12 documentation BGP speaker library — Ryu 3.12 documentation ここで注目したい点は、通信キャリアで活用されているBGP/MPLS VPN網の通信プロトコルに対応しているところなのです。 まだまだ活用事例が少ないので、最初から手探り状態で、どの程度、基本動作が可能なのかを試してみました。 ◆そもそも、BGP/MPLS VPNとは ... BGP/MPLS VPNによるC-Plane/D-Plane分離に関わる通信プロトコル基本動作原理の解説に
前回まで、OpenFlow簡易ルータの実践活用として、いろいろと実装技術を試してきました。今回からは、少し路線を変更して、ネットワーク仮想化技術に着目したいと思います。 ネットワーク仮想化技術といえば、SDN業界では、VxLANやNVGREなどの新技術が注目されておりますね。ただ、ちょっと前までは、ベンダのプロプライエタリ製品でなければ実践活用が難しい側面がありました。 最近では、OpenvSwitchでVxLANが使用できるようになったみたいなので、さっそく、試してみたいと思います。 ◆ネットワーク仮想化環境 通常だと、ネットワーク仮想化環境を試してみる場合には、お手軽にサーバ仮想化環境で、ネットワーク仮想化ソフトウェアを構築してみる方法が一般的だと思いますが、折角なので、もっと、実践的にLinuxボックスでネットワーク仮想化環境を構築したいと思います。 1. ハードウェア構成 DNA9
前回まで、Ryu SDN Frameworkを活用したOpenFlow簡易ルータ作成を行ってきましたが、OpenFlow勉強の素材として、当初想定していた必要機能は一通り具備できたと思います。早速、OpenFlow簡易ルータを自宅ネットワークに導入して、その使い勝手を確認してみたいと思います。 ◆導入形態 OpenFlow簡易ルータの自宅ネットワークへの導入形態としては、新たなサブネットと既存サブネットとをゲートウェイ的に相互接続し、新セグメント上に配備したMacBookからインターネットにアクセスできる形態を目指します。 ◆導入にあたっての準備 OpenFlowコントローラやOpenFlowスイッチを動作できる環境を構築します。 また、自宅ネットワーク側でのBBルータでのルーティング追加などが必要ですが、ここでは設定方法などは割愛します。 1. Ryuコントローラの環境構築 まずは、Ry
◆SSHログイン自動スクリプトを試してみる 最近、クラウドコンピューティング基盤技術の世界では、オープンソースを活用した業務オペレーションのフル自動化に注目が集まっております。従来であれば、サーバ/ネットワーク稼働状態を把握するために、オペレータ自らが、各々の機器にログインして、機器の管理コマンドを実行しておりましたが、管理台数が増大するに伴い、サーバ/ネットワーク管理作業を軽減する手法が必要になりますね。そこで、今回は、サーバ/ネットワーク管理作業を軽減する手法を目的とした「SSHログイン自動スクリプト」を作成してみました。 ◆SSHログイン自動スクリプトの設定パラメータ管理 機器の稼働状態を確認する上で必要となるログイン情報などを設定ファイルとして保存する方法を実現する必要があります。 今回、"Ryu SDN Framework"のコア部分で活用されている"oslo.config"を使
前回、家庭用Buffaloルータ”BHR-4GRV"をOpenFlow化して、OpenFlow基本動作を確認しました。 家庭用BuffaloルータのOpenFlow化へのチャレンジ 〜OpenFlow1.3動作確認編〜 - SDN開発エンジニアを目指した活動ブログ SDN/OpenFlowの実験環境で、OpenFlowスイッチ台数を増やすことを想定して、OpenvSwitch構築手順をメモっておきます。 ◆構築手順の流れ (1) Buffaloルータ”BHR-4GRV"のOpenWRT化 (2) OpenWRTのネットワーク設定 (3) OpenvSwitchパッケージのインストール ◆BHR-4GRVのOpenWRT化 本構築手順は、MacBook(Mac OS X)での作業を想定しております。 注) ここでの構築手順は、個人の構築メモとして掲載しております。 (Buffaloルータ”B
最近、SDN業界では、ホワイトボックス版Linuxベースのオープンなネットワーク機器をデプロイする動きが活発ですよね。 ネットワークにダウンサイジングの波 - [1]スイッチの「オープン化」と「スケールアウト」が進む:ITpro ネットワークにダウンサイジングの波 - [3]ホワイトボックスに賭ける、ACCESSとPica8の挑戦:ITpro そこで、これまでの技術ブログ活動の集大成として、ホワイトボックス版OpenFlowスイッチによるOpenFlow簡易ルータを自宅ネットワークに導入してみるチャレンジに取り組んでみたいと思います。 ◆OpenFlow簡易ルータのハードウェア構成 今後、OpenFlowスイッチの量産化を意識して、OpenFlowルータの物理構成としての要求条件について、優先順位の高いものから選定ポイントを挙げてみます。 (1)複数の物理NICが搭載していること(何は、さ
このページを最初にブックマークしてみませんか?
『SDN開発エンジニアを目指した活動ブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く