ネットワークスイッチをプログラマブルでgRPC対応にする「Stratum」をONFが発表。ホワイトボックススイッチのリファレンス実装に、Googleがオープンソース提供

2018年3月19日


Open Networking Foundation(ONF)は、ネットワークスイッチをソフトウェアで定義するオープンソースソフトウェアの開発プロジェクト「Stratum」プロジェクトを発表しました

Stratum Project

Stratumはおもに「P4」「gRPC Network Management Interface」「gRPC Network Operations Interface」の3つのオープンソースソフトウェアから構成されるプロジェクトです。現在公開されているバージョンは、Googleが本番ネットワークで用いているネットワーク基盤の一部をオープンソース化したものだと説明されています。

Stratumはホワイトボックススイッチのリファレンス実装を目論む

Stratumがターゲットとするのは「ホワイトボックススイッチ」と呼ばれる、ブロードコムなどに代表される市販のネットワーク処理プロセッサを搭載しつつ、OSや制御ソフトウェアをユーザーが自由に選択できるハードウェアです。

一般にネットワーク機器ベンダから販売されるスイッチは、例えばシスコならIOS、ジュニパーならJUNOSのように、そのスイッチのハードウェアを制御するOSが最初から搭載されています。

これは、ユーザーにとってはスイッチを購入後すぐに使えるという便利さの半面、そのOSに搭載されているプロトコルや機能しか基本的には利用できないため、例えば独自のプロトコル優先度の設定や自社の監視システムに合わせた監視プロトコルの利用といった柔軟性がすべて実現できるわけではありません。

そこで特にクラウドベンダを中心に、自社のサービスや運用に合わせた構成や機能をスイッチで柔軟に実現できるように、制御ソフトウェアを自前で用意できる「ホワイトボックススイッチ」の需要が数年前から高まってきました。

そしてこのホワイトボックススイッチのソフトウェア実装には、デルやHP、マイクロソフトなどが開発したものやオープンソースのものなど、さまざまなものが登場しました。

今回ONFが発表した「Stratum」プロジェクトは、このホワイトボックススイッチの制御ソフトの中のパケットを処理する「データプレーン」と呼ばれる部分において、リファレンス実装になることを目論んだものです。

StratumにおけるP4、gNMI、gNOIの役割とは

Stratumはおもに「P4」「gRPC Network Management Interface(gNMI)」「gRPC Network Operations Interface(gNOI)」の3つのオープンソースソフトウェアから構成されます。

P4は、そのスイッチがパケットをどのように処理するのかをコードで記述できるプログラミング言語とそのランタイムです。スタンフォード大学、プリンストン大学、Googleの3者が主導するオープンソースのプロジェクトで、Stratumの発表とほぼ同じタイミングでONFへ加盟しました。

gNMIは、スイッチのコンフィグレーションを行うためのプロトコル。gNOIはリブートやpingなど運用時に必要なコマンドを実行するためのプロトコルです。

つまりホワイトボックススイッチに対して、P4によるプログラマブルなパケット制御、gRPCをベースにしたプロトコルによるコンフィグレーションと運用の機能を提供するオープンソースの実装がStratumだと言えます。

そしてこのStratumに対して、スイッチのOSの部分もしくはコントロールレイヤからどう呼び出すかはホワイトボックススイッチのユーザーが自由に選べるのです。

下記はその例で、赤い箱で示されたStratumの上位レイヤにプロプライエタリなコントローラを開発してもいいですし(左)、ONOSTrellisと呼ばれるオープンソースのコントロールプレーンを利用してもいいわけです(右)。

Stratumのユースケース

Googleの実績ある実装がオープンソース化

Stratumはホワイトボックススイッチのデータプレーンにおけるリファレンス実装になることを目論んでおり、そのために2つの大きな要素を備えています。

その1つは、Stratumが、Googleの本番ネットワークで使われているネットワーク基盤で使われているソフトウェアをオープンソース化したことで、すでにユースケースとしても実装としても十分に練られた実績のあるものだ、ということです。

そしてもう1つは、GoogleをはじめTencent、NTT、VMware、ブロードコム、メラノックスなどある程度幅広く賛同者を集めてスタートできたことでしょう。

Stratumプロジェクトの構成メンバー

ソフトウェアによるネットワークの定義(SDN)やホワイトボックススイッチは、これまでも注目され普及が進んできてはいました。Stratumはそれをさらに一段推し進める存在になれるでしょうか。

このエントリーをはてなブックマークに追加
follow us in feedly

カテゴリ サーバ / ストレージ / ネットワーク
タグ  Software-Defined Network , Stratum


次の記事
Java 10が本日付で正式リリース。ローカル変数の型推論、ガベージコレクタが入れ替え可能、不揮発性メモリ対応など。Java 9は早くもサポート期間終了

前の記事
Stack Overflowが2018年の調査結果を発表。一番使われている言語はJavaScript、一番好きな言語はRustに


カテゴリ



Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



新着記事 10本


PR - Books


fig

fig

fig