デルでネットワークを担当しています井上です。

今回は Linux Foundation プロジェクトとして開発が進められている”OPX(OpenSwitch)”について、概要やアーキテクチャ、今後の動向などご紹介したいと思います。

■OPXについて


昨今ホワイトボックススイッチがデータセンターネットワーク市場において大きくセールスを伸ばしている状況ですが、OPXはホワイトボックス向けに作られたオープンソースのネットワークOSです。

- OpenSwitch
https://www.openswitch.net/

OPXは非常にフレキシブルなアーキテクチャで、様々なアプリケーションを組み合わせなら独自の”ネットワークシステム”を構築することができます

まずカーネル未修正のLinux(Debian Jessie)をベースOSとして採用しています。標準的なLinuxをベースとすることで、自由なエコシステム環境と、OSとしての安定性や堅牢性を提供します。さらに独自のネットワーキング機能やアプリケーションを作成できるようなプログラマビリティを備えています。

例えば大規模なネットワークをより効率的に扱いたいユーザや、ネットワークシステムの開発を検討しているデベロッパー向けに最適なソフトウェアです。

このプロジェクトは現在Dell EMCが中心となり開発が進められています。Dell EMCはプロジェクトへ参加する際にDell EMC Networking OS10 Open Editionをコントリビュートしており、OPXのベースシステムとして利用されています。

余談ですが、プロジェクト内ではDell EMCがこのプロジェクトに参加してからのOpenSwitchを”OPX”、それ以前は”OPS”という略称で呼び分けられているようです。

 

■OPXのアーキテクチャ


OPXの特徴のひとつとしてプログラマビリティを備えている点を挙げさせていただきました。

簡単に説明すると、CPSというオブジェクトセントリックなフレームワークを中心として、アプリケーションからハードウェアコンポーネントへCPSのAPI経由でアクセスできる仕組みを持っているのです。

それではプログラマビリティの観点で、内部の仕組みを少し見ていきたいと思います。

- OPX Arichitecture
https://github.com/open-switch/opx-docs/wiki/Architecture

まずネットワークスイッチは、NPUやファン・電源・センサーといったハードウェアコンポーネントによって構成されています。OPX上では、これらを抽象化して管理するサービスがいくつか動作しています。

例えばそのひとつのNAS(Network adaptation service)は、L1(Physical)、L2、L3、そのほかACLなどのネットワーク機能の抽象化と管理を行っています。これらの抽象化された機能やリソースは、CPSというシステム全体の中心的なフレームワーク上でオブジェクトとして取り扱われます。

アプリケーションは、このフレームワーク経由(API経由)で、ネットワークのハードウェアコンポーネントをオブジェクトとして操作することが可能です。例えばL2テーブルやL3テーブル、ACLなどのエントリなども、ひとつのオブジェクトとして操作することができるのです。

以上のような仕組みによって、ハードウェアコンポーネントへのプログラマンビリティを実現しています。

あと一つここで説明しておきたいのが、OPX上でのスイッチの物理ポートの扱いに関する仕組みです。

NPU上の物理ポートをLinuxインターフェイスに関連付けるために内部タップデバイスが使用されます。 NASが物理ポートステータスの変更(up/down)を検出すると、関連するタップデバイスに新しいポートステータスが連動するようになっています。これによって物理ポートをLinuxのNICのように扱うことができます。

業界ではすでにいくつかのLinuxベースのネットワークOSが存在していますが、CPSを中心としたプログラマビリティを備えたアーキテクチャは、そのほかのソフトウェアに比べて特に特徴的な点になるかと思います。

 

■今後のOPXについて


現在、北米を中心にOPXを利用した事例がいくつか報告されているのですが、
ToRスイッチにマネジメント系のOSSをセットアップしてToR自身がラックマネジメントを行う事例や、ユーザが開発したエージェントをスイッチ上で動作させるさせてシステムを構成している事例などがあります。スイッチをシステムのひとつのコンポーネントとして利用しているところが面白いところですね。

そのほかにもネットワークソフトウェアのライセンスフィーの削減を主な目的に、フリーのルーティングソフトウェアを利用してデータンセンターネットワークを構成して利用されている事例もあります。

今後はエコパートナーによるネットワークファンクションやネットワークアプリケーションのリリースも予定しているようです。

もしOPXについてご興味があれば、ぜひこちらまでご連絡ください。最新の状況やユースケースなどご紹介させていただきます。