ホワイトボックススイッチとは何か? オープン化がすすむネットワーク機器のハードとソフトの動向(後編)。ホワイトボックススイッチユーザ会 第一回勉強会
ホワイトボックススイッチとはどのようなもの何か、どのようなハードウェアとソフトウェアがあり、どう使われていくものなのでしょうか。
5月13日に行われた「ホワイトボックススイッチユーザ会 第一回勉強会」で、NTTソフトウェアイノベーションセンタの石田渉氏が行ったセッション「ホワイトボックススイッチの北米利用動向」の内容を紹介します。
(本記事は「ホワイトボックススイッチとは何か? オープン化がすすむネットワーク機器のハードとソフトの動向(前編)。ホワイトボックススイッチユーザ会 第一回勉強会」の続きです)
OpenNSL、OFDPA
ホワイトボックススイッチ用のソフトウェアが相次いで登場しています。それらを紹介します。
OpenNSL、OFDPAはブロードコムのASICを制御するためのオープンなSDKで、対応スイッチならブロードコムとのNDA(秘密保持契約)なしでASICをプログラミングできるライブラリです。
図の赤いところがOpenNSL、OFDPAが提供する部分です。

OpenEthernet
OpenEthernetはMellanox製品のASICを制御するためのオープンなAPIです。これはデーモンがどうASICを制御すればいいかが記述されたヘッダファイルだけが公開されています。

ONIE
ONIE(Open network Install Environment)は、ブートローダとOSのインストール機構を兼ねていて、スイッチのROMに焼かれて出荷されることを想定しています。
ホワイトボックススイッチは、購入した直後にOS Aを入れて、その後OS Bを入れるということが可能です。ONIEを使うことでそうした異なるOSの導入が可能です。

Open Network Linux
Open Network LinuxはDebianベースのスイッチ用Linuxディストリビューションです。スイッチにはASIC以外にもファンだったりセンサなどさまざまなデバイスが組み込まれていますが、そうしたデバイスのドライバなどを同梱しています。
Open Network LinuxはONIEを介して対応スイッチにインストール可能です。

FBOSS
FBOSSはFacebookのスイッチエージェントで、IPの経路やARPの学習などをするデーモンです。ブロードコムのOpenNSLと連係して動作します。

OCP SAI
OCP SAIは、異種チップに共通のAPIをOCP(Open Compute Project)で策定していて、これによってASIC AでもASIC Bでもどちらでも動く、ASIC非依存のデーモンの開発が可能になります。

OpenConfig
OpenConfigは、BGPコンフィグレーションのyangモデルで、異種BGP実装に共通なBGPコンフィグレーションモデルです。いままではベンダ主導で決められていたものが、Googleやマイクロソフト、AT&T、BTなどユーザーとなるデータセンター事業者が規定し、これに合った実装なら利用すると言っているところが従来と違います。

スイッチ向けLinuxディストリビューション
また、スイッチ向けのLinuxディストリビューションもあります。おそらく、いちばん知られているのはCumulus Linuxだと思います。

サーバ用のLinuxディストリビューションにUbuntuやDebian、CentOSなどさまざまなものがあるように、スイッチ用のLinuxディストリビューションも今後増えていくと思います。
実際に私たちはホワイトボックス上のCumulus Linuxに、EVPNというVPLSに代わるL2VPN構築手法で、L2VPNのトランスポート層としてVXLANを採用したEVPN/VXLANをgolangで実装してみました。
(会場ではここでデモが行われました)
まとめ
いままでであれば、こうした新しい機能の実装はネットワーク機器ベンダにお願いして、出来上がるのをまっていなければなりませんでした。しかしホワイトボックススイッチではユーザが作って試せる世界になっています。

北米での大規模データセンター向けのコモディティスイッチがハードウェア市場でドミナントになるのは避けられないと思います。企業もそうしたものを使いこなす技術を身につけていかなければならないと思いますし、それを後押しするようにオープンなソフトウェアが次々に発表されています。
こうなると、ここから新しいビジネスが生まれて、例えばスイッチのソフトウェアを開発販売する企業も増えてくるのではないかと。
あるいは、スイッチハードウェアはX社製、その上にY社製のスイッチOSを載せて、BGP対応にはZ社のパッケージをインストールし、ロギングはA社製のソフトウェアを使うといった、いまサーバで普通に行われているようなことがネットワーク機器でも行われていくような世界になるのではないかと思います。
会場から質問 スイッチやルーティングなどのネットワーク処理は普通のLinuxマシンでもできるように思うのだが?
答え ASICが載っているので性能が高いのと、ポートが多いので、普通のToR(Top Of Rack)として使える一方で、Linuxのように使えるのが特長。Cumulus LinuxもサーバエンジニアがコンフィグしやすいLinuxというコンセプトで作られていると聞いている。
会場から質問 Linuxの安定性は?
答え Cumulus Linuxは北米のデータセンターでは実運用で大規模に使われていると聞いている。もちろんLinuxとおなじように、ソフトウェアごとにいろいろだが。
あわせて読みたい
最初の「Ember.js 2.0」ベータ版が登場、ReactのようなVirtual DOMを採用した高速レンダリングエンジンGlimmerを搭載。1.x系は1.13で終了へ
≪前の記事
ホワイトボックススイッチとは何か? オープン化がすすむネットワーク機器のハードとソフトの動向(前編)。ホワイトボックススイッチユーザ会 第一回勉強会