Exploring OpenStack’s SDN Connections
http://wp.me/pwo1E-3NF
Posted on November 29, 2011
http://nerdtwilight.wordpress.com/2011/11/29/exploring-openstacks-sdn-connections/
Pursuant to my last post, I will now examine the role of OpenStack in the context of software-defined networking (SDN). As you will recall, it was one of the alternative SDN enabling technologies mentioned in a recent article and sidebar at Network World.
前回のポストに続いて、SDN (software-defined networking) のコンテキストにおいて、OpenStack の役割を考察してみる。 思い出して欲しいのだが、Network World における最近の記事や補足で言及されているように、それは SDN 構築を実現するためのテクノロジーの 1つである。
First, though, I want to note that, contrary to the concerns I expressed in the preceding post, I wasn’t distracted by a shiny object before getting around to writing this installment. I feared I would be, but my powers of concentration and focus held sway. It’s a small victory, but I’ll take it.
そして、前回のポストで表明した懸念とは反対に、今回の記事を書く時間を見つけ出すまで、この興味深いテーマから注意を逸らさなかったことを、私は最初に指摘しておきたい。 関心が薄れてしまうことを恐れたが、私の中の集中力とフォーカスは健在だった。 小さな勝利であるが、それを手元にたぐり寄せたい。
Road to Quantum
Now, on to OpenStack, which I’ve written about previously, though admittedly not in the context of SDNs. As for how networking evolved into a distinct facet of OpenStack, Martin Casado, chief technology officer at Nicira, offers a thorough narrative at the Open vSwitch website.
OpenStack については、たしかに SDN とは別の話であるが、以前にも取り上げている。 ネットワークに関する議論が、OpenStackという切り口において、どのように展開されるかについては、Nicira の CTO である Martin Casado が、Open vSwitch の Web サイトで分析を提供しているので参照して欲しい。
Casado begins by explaining that OpenStack is a “cloud management system (CMS) that orchestrates compute, storage, and networking to provide a platform for building on demand services such as IaaS.” He notes that OpenStack’s primary components were OpenStack Compute (Nova), Open Stack Storage (Swift), and OpenStack Image Services (Glance), and he also provides an overview of their respective roles.
Casado の OpenStack に関する説明は、IaaS のようなサービスのオンデマンド構築を目的として、コンピューティング/ストレージ/ネットワークをオーケストレーションする、「 CMS(Cloud Management System)である」という切り口から始まっている。 また、OpenStack の主要コンポーネントとして、OpenStack Compute(Nova)/Open Stack Storage(Swift)/OpenStack Image Services(Glance)を挙げ、それぞれの役割を概説している。
Then he asks, as one might, what about networking? At this point, I will quote directly from his Open vSwitch post:
続いて彼が問いかけているのは、推測できると思うが、「ネットワークはどうなっている?」という視点だ。 その点については、彼の Open vSwitch におけるポストから引用する:
“Noticeably absent from the list of major subcomponents within OpenStack is networking. The historical reason for this is that networking was originally designed as a part of Nova which supported two networking models:
- Flat Networking – A single global network for workloads hosted in an OpenStack Cloud.
- VLAN based Networking – A network segmentation mechanism that leverages existing VLAN technology to provide each OpenStack tenant, its own private network.
While these models have worked well thus far, and are very reasonable approaches to networking in the cloud, not treating networking as a first class citizen (like compute and storage) reduces the modularity of the architecture.”
「OpenStack の主要サブ・コンポーネント・リストで、欠落が目立つのはネットワークだ。背景となる理由を挙げるなら、以下の 2つのネットワーク・モデルが、Nova の一部としてサポートされるように、元々デザインされていた点を指摘しておく:
- Flat Networking – OpenStack Cloud 内にホストされる、ワークロードのためのシングル・グローバル・ネットワーク。
- VLAN based Networking – それぞれの OpenStack テナントに対して、既存の VLAN テクノロジーを持つネットワーク・セグメンテーション・メカニズムを適用し、プライベート・ネットワークを構築する機能。
これらのモデルが、現時点では適切に機能しており、また、クラウドのネットワークとして極めて合理的なアプローチになっているが、(他のコンピュートやストレージと同様に)ネットワークが重要課題として取り扱われていないため、そのアーキテクチャのモジュール性が低くなってしまっている。
As a result of Nova’s networking shortcomings, which Casado enumerates in detail, Quantum, a standalone networking component, was developed.
そして、Casado が詳細まで列挙した、Nove におけるネットワークの欠点を踏まえた上で、スタンドアローンのネットワーク・コンポーネントである Quantum が開発された。
Network Connectivity as a Service
The OpenStack wiki defines Quantum as “an incubated OpenStack project to provide “network connectivity as a service” between interface devices (e.g., vNICs) managed by other Openstack services (e.g., nova).” On that same wiki, Quantum is touted as being able to support advanced network topologies beyond the scope of Nova’s FlatManager or VLanManager; as enabling anyone to “build advanced network services (open and closed source) that plug into Openstack networks”; and as enabling new plugins (open and closed source) that introduce advanced network capabilities.
OpenStack wiki は Quantum について、「 Openstack のインキュベート・プロジェクトであり、他の OpenStack サービス(Nova など)により管理されたインターフェイス・デバイス( vNICsなど)の間に提供される、“network connectivity as a service” だ」と、定義している。 また、同じ wiki において、Nove における FlatManager や VLanManager のスコープを超える、先進的なネットワーク・トポロジーをサポートするものとして、Quantum は明文化されている。
それにより、Openstack ネットワークにプラグインされる、先進的なネットワーク・サービス(オープン・ソース/クローズド・ソース)の開発が、誰にでもできるようになり、さらには、それらの新たなプラグイン(オープン・ソース/クローズド・ソース)が、より高機能なネットワークを付け加えていくことになる。
Okay, but how does it relate specifically to SDNs? That’s a good question, and James Urquhart has provided a clear and compelling answer, which later was summarized succinctly by Stuart Miniman at Wikibon. What Urquhart wrote actually connects the dots between OpenStack’s Quantum and OpenFlow-enabled SDNs. Here’s a salient excerpt:
OK! しかし、この事と SDN は、どのように関係するのか? Good Question である。 それについては、James Urquhart が明快で説得力に富む回答を提供し、後に Stuart Miniman が、それを Wikibon で簡潔にまとめている。 実際に Urquhart が記述した内容は、OpenStack の Quantum と OpenFlow 対応 SDN という 2つの点を、線で結んでいる。 以下に、重要な部分を抜粋しておく:
“. . . . how does OpenFlow relate to Quantum? It’s simple, really. Quantum is an application-level abstraction of networking that relies on plug-in implementations to map the abstraction(s) to reality. OpenFlow-based networking systems are one possible mechanism to be used by a plug-in to deliver a Quantum abstraction.
OpenFlow itself does not provide a network abstraction; that takes software that implements the protocol. Quantum itself does not talk to switches directly; that takes additional software (in the form of a plug-in). Those software components may be one and the same, or a Quantum plug-in might talk to an OpenFlow-based controller software via an API (like the Open vSwitch API).”
どのようにして、OpenFlow は Quantum と連携するのか? それは、きわめてシンプルな話である。 現実の Quantum とは、プラグイン実装に依存することで、その抽象概念を物理層にマップする、ネットワーク・アプリケーション・レベルの抽象概念のことである。 そして OpenFlow ベースのネットワーク・システムとは、Quantum 抽象概念に提供されるプラグインから利用できる、1つのメカニズムとなる。
OpenFlow 自身が、ネットワークの抽象概念を提供することはない。したがって、プロトコルを実装するソフトウェアが必要になる。 Quantum 自身が、スイッチとダイレクトに通信することはなく、追加のソフトウェアを(プラグイン形式で)必要とする。 それらのソフトウェアは、1つのものになる場合もあれば、同じものになる場合もある。 もしくは、Quantum プラグインが API(Open vSwitch API のような)を介して、OpenFlow のコントローラー・ソフトウェアと通信するかもしれない。
後編 : OpenStack における SDN コネクションを探求する _2
ーーーーー
なかなか興味深い視点で、SDN と OpenStack の関係と、そこに付随する OpenFlow の立ち位置を説明してくれる良記事です。 いわゆるネットワークの仮想化という領域においては、SDN を忘れ去ってしまうほどに、OpenFlow だけが注視されているようにも思えます。 Agile_Cat も反省する点が多々ありです ^^; しかし、あくまでも [ SDN > OpenFlow ]であり、たとえばデータセンター内や、データセンター間といった、それぞれの状況に適した仮想ネットワークが、選択されていくはずです。 <後編> では、Cisco や Ctrix、そして Midokura の分析も提供していきます。ーーー 
ーーーーー
<関連>
OpenFlow 1.2 が ONF の評議会で承認された – NTT Com も委員に
Juniper がデベロッパーに対して、OpenFlow ソースコードを提供し始めた
Broadcom は NetLogic を買収し、リアルタイム・クラウドを目指す
OpenFlow 関連ポストへのリンク集(20本強)




























