IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

クラウド時代のオープンソース実践活用

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第30回 SDNで「俺々ネットワーク機器」の楽しみを (中井悦司) 2013年10月

はじめに

 前回の予告通り、先日は「VYATTA USERS MEETING Autumn 2013」に参加してきました。製品ベンダとユーザ企業、それぞれの立場での発表があり、充実した内容のイベントでした。ちなみに、「Vyatta」は、仮想アプライアンス形式のルータ製品です。しかしながら、実際の発表では、予想通り(?)Vyattaの話題に加えて、いわゆるSDNに関する話題も多数ありました。
 そこで、筆者からは、「SDN界隈の用語・考え方をざっくりまとめます」と題して、SDNの基本情報を整理して解説しました。SDNでは独特の用語が登場するので、「言葉は知っているけど、実際の意味はよく分からなかった」という方も多かったようで、好評な結果となりました。興味のある方は[発表資料]を参照ください。

集中管理はSDNの本質?

 当日、SDNに関連する発表の中で、特に興味を引いたのが、VMware社とMidokura社の発表でした(*1)(*2)。一般にSDNでは、図1(上図)のように単一のコントローラで複数のネットワーク機器を集中管理すると考えられます。しかしながら、ネットワークの規模が大きくなると、単一のコントローラがボトルネックになるなどの問題が発生します。
 そこで、どちらの会社も「複数のコントローラを分散配置する」という手法を説明していました。特に、Midokura社の資料では、かなり具体的なアーキテクチャの説明がなされています。あえて単純化すると、図1(下図)のようになります。
 仮想スイッチが動作するそれぞれのサーバ上に、コントローラ機能を提供する「エージェント」を配置することで、コントローラ機能の負荷分散を図っています。それぞれのエージェントは、共通のデータベースから仮想ネットワークの構成情報を取得して動作します。

fig01

図1 素朴なSDNのアーキテクチャと分散配置アーキテクチャ

 この図を見ていると、「はたしてこれは集中管理なのか、分散管理なのか、どちらなんだろう?」という気分になります。集中管理かどうかは、もはやSDNの本質とは関係ないのかも知れません。

「自作ネットワーク機器」の誕生

 それでは、「集中管理」の他に、SDNを特徴づける要素は無いのでしょうか? 当日、私の発表の中では、図2を紹介させていただきました。

fig02

図2 従来のネットワーク機器とSDNの対比

 SDNでは、コントローラとネットワーク機器の通信経路を「コントロールプレーン」と呼びますが、実は、これは以前からあった言葉です。もともと、1台のネットワーク機器の内部には、ポートからポートへとパケットを受け渡す「データプレーン」と呼ばれる機能と、パケットごとにどのポートへ転送するかを計算する「コントロールプレーン」と呼ばれる機能があります。
 つまり、図1の仕組みは、これまで個別のネットワーク機器内部にあった「コントロールプレーン」をサーバ上で稼働するソフトウェアとして、「外だし」にしたものと考えられます。その結果、1つのコントロールプレーンで複数のネットワーク機器を同時管理できるようになったわけです。
 そして、この仕組みは、もう1つ新たな可能性を生み出しました。ネットワーク機器内部のコントロールプレーンは、組込ソフトウェアとして実装されていますので、一般ユーザが自由に変更することはできません。一方、SDNのコントロールプレーンは、一般ユーザが自由に改変して利用することができます。つまり、コントロールプレーンの機能を作りこむことで、さまざまなネットワーク機器を「自作」することができるようになったのです。
 複数のネットワークポートを持つサーバに、Open vSwitchをインストールすれば、簡易的なOpenFlowスイッチとして利用できます。これを自作のOpenFlowコントローラで制御することで、高度な機能を持ったネットワーク製品をエミュレーションすることが可能になります。このように、ユーザ自身が自由に機能を実装できることは、SDNならではの特徴とも言えるでしょう。性能面での限界はありますが、自宅でさまざまなネットワーク機器を自作して楽しむという、新たな趣味が生まれる予感もしています。

次回予告

 つい数日前、大阪で開催されたセミナーで、「インフラエンジニアのこれから」と題した講演を行わせていただきました(*3)(*4)。その中で、オープンソースやパブリッククラウドの活用によって、個人の努力の範囲で身に付けられる技術は、想像以上に広がっていることをお話しました。もしかしたら、ネットワーク技術についても同じことが言えるのかも知れません。
 LinuxやApache HTTPサーバの生い立ちを考えれば、「所詮は趣味の世界・・・」なんて馬鹿にできないことは明らかです。次回は、このセミナーでお話した内容から、いくつかのポイントを抜粋して紹介したいと思います。

参考資料

*1)「ネットワーク仮想化におけるVMwareの取り組み

*2)「MidoNet tech deep-dive

*3)「インフラエンジニアのこれから~第1部・クラウド入門

*4)「インフラエンジニアのこれから~第2部・クラウドに関わるエンジニアのスキル

 

++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
 CTC教育サービス Linuxのページ
 http://www.school.ctc-g.co.jp/linux/
 

Linux研修トレーニングならCTC教育サービス


 

筆者書籍紹介

Software Design plusシリーズ
「独習Linux専科」サーバ構築/運用/管理
  ――あなたに伝えたい技と知恵と鉄則

本物の基礎を学ぶ!新定番のLinux独習書

中井悦司 著
B5変形判/384ページ
定価3,129円(本体2,980円)
ISBN 978-4-7741-5937-9
詳しくはこちら(出版社WEBサイト)
「独習Linux専科」サーバ構築/運用/管理

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes