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

Tags: ハードウェア Software-Defined Network Stratum

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




タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本