Stratum プロジェクト : P4 Runtime を使ったスマート ネットワーク構築を推進
Google Cloud Japan Team
データ ネットワークは設計、構築、管理が難しく、思いどおりに動かないことがよくあります。Google の場合、データセンター内とデータセンター間に多くのネットワーク キャパシティをデプロイして使用し、サービス ポートフォリオを提供しています。こうしたネットワークのデプロイと管理にかかるコストや労力は、ネットワークの規模や複雑さの増大とともに増加の一途をたどってきました。
10 年近く前、私たち Google はこの問題への対策として、ソフトウェア定義型ネットワーキング(SDN)をネットワーク アーキテクチャの基盤として導入しました。SDN により、標準サーバーで動作するソフトウェアでネットワークをプログラミングできるようにしたのです。SDN は巨大な Google システムの基幹コンポーネントになりました。私たちは SDN 技術の開発と改良を続け、そしていよいよ、P4 Runtime で次のステップを踏み出す時が来ました。
Google はこのほど、Open Networking Foundation(ONF)と共同で、Stratum と呼ばれるオープンソース プロジェクトに取り組むことになりました。Stratum は、P4 Runtime をベースに一から設計、構築された、真の “ソフトウェア定義型” データ プレーンのオープン リファレンス プラットフォームを実装するプロジェクトです。P4 Runtime は、転送動作について SDN コントロール プレーンとデータ プレーンが取り決めを行い、シンプルな RPC で転送動作を設定できるようにします。
Stratum プロジェクトの一環として、Google はネットワーク ベンダーと協力し、この機能を業界全体のネットワーキング製品で利用できるようにします。サイズは小さいながらも完全な SDN 組み込み型ソフトウェア ソリューションである Stratum を使用すれば、P4 Runtime をさまざまなネットワーク デバイスで機能させることができます。
では、信頼性の高い大規模ネットワークの構築という課題に取り組むうえで、P4 Runtime はどのように役立つのでしょうか。
ネットワーク ハードウェアは通常クローズドであり、プロプライエタリなソフトウェアが動作し、しかも複雑です。自律的に機能し、レガシー プロトコルを実行する必要があるからです。しかし、モダンなデータセンターや WAN は大規模であり、高速かつシンプルでなければならず、多くの場合、大型ファブリックと相互接続されたコモディティ ネットワーク スイッチ チップを使って構築されます。
高品質なホワイトボックス スイッチやオープンな SDN 技術(OpenFlow など)はありますが、市場には、こうした大規模ネットワークの構築に利用できる、ポータブルで優れた選択肢はさほど多くありません。
Google は独自のハードウェア スイッチとスイッチ ソフトウェアを設計しましたが、常に目標としているのは、Google のデータセンターや WAN との相互運用が可能な SDN ソリューションを活用することです。
P4 Runtime は、コントロール プレーン ソフトウェアでスイッチの転送経路をプログラミングするための新しい方法です。スイッチの転送パイプラインを指定し、それらのパイプラインをシンプルな RPC で構成するための明確に定義された API を提供します。
P4 Runtime は、機能が固定されている ASIC からフルプログラマブルなネットワーク スイッチまで、あらゆる転送プレーンの制御に使用できます。
Google Cloud は、次世代のデータセンターや WAN におけるコントロール プレーン プログラミングの基盤として P4 Runtime を位置づけています。業界における P4 Runtime の導入を後押しし、他社もその恩恵を享受できるようにしていきます。P4 Runtime により、お客様が期待するネットワークの規模拡大、パフォーマンス向上、スマート化を継続していくことができます。
* この投稿は米国時間 4 月 2 日、Engineering Director の Jim Wanderer と、Google Fellow の Amin Vahdat によって投稿されたもの(投稿はこちら)の抄訳です。
- By Jim Wanderer, Engineering Director and Amin Vahdat, Google Fellow