ネットワークスイッチをプログラマブルで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はそれをさらに一段推し進める存在になれるでしょうか。

あわせて読みたい

ハードウェア Software-Defined Network Stratum




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本