SDN(Software Defined Networking)によってネットワークがプログラム可能なものとなって約5年。かつてはスイッチ/ルーターを提供するネットワーク機器ベンダーしか触れなかったネットワーク機能も、今ではSIer/NIerやユーザー自身がある程度、自由に操ることができるようになった。
だが、ユーザー側がプログラムできる範囲がまだ限定的であることも確かだ。残された“聖域”と言えるのがデータプレーン、つまりチップセットである。
SDNによる「ソフトウェア定義」とは結局、コントロールプレーン側に限ったものだった。データプレーン(=ASIC等に搭載された機能)を、コントロールプレーンからどう使うのかを定義できるに過ぎない。
したがって、SDNでできることは“既存のプロトコルありき”になる。ユーザーが、現在は存在しないネットワーク機能を使いたいと思っても、それを実現するプロトコルを実装したASICと、それを搭載した機器の登場を待つしかない(図表1の左)。
この聖域を開放し、データプレーンも自在にプログラムできるようにしようとする動きが始まっている。「P4」だ。
図表1 データプレーンプログラマビリティによる変化
ユーザーがプロトコルを作るP4とは「Programming Protocol-Independent Packet Processors」の略で、データプレーンをプログラムするための言語だ。データセンター事業者や通信事業者、ネットワーク機器/チップベンダー等が参加するコンソーシアム「P4.org」でオープンソースとして開発されている。
具体的には、ルーティングテーブルやMACテーブルといった、ネットワーク処理を行うテーブルの振る舞いを定義できる。例えば「受け取ったパケットを解析し、MACアドレスがこれにマッチしたらこのアクションをする(出力ポートを○番にする等)」――とP4言語で書くと、それがハードウェアレベルで処理される。
ネットワンシステムズのビジネス推進本部 第3応用技術部 第3チームで、P4の活用に取り組んでいる新林辰則氏は「P4はプロトコルありきではなく、プロトコルそのものの動きから定義できる」と話す。「その気になれば“自分のプロトコル”を作って実装することも可能だ。しかも、それがCPUではなく(よりパフォーマンスに優れる)ASIC上で動く」のが魅力だ。
製造には多大なコストがかかるカスタムASICに頼ることなく、ユーザーがプログラムするだけで欲しい機能を実現できる世界を見据えているのがP4というわけだ。
(左から)ネットワンシステムズ ビジネス推進本部 第1応用技術部 部長の井上直也氏、
第3応用技術部 第3チームの新林辰則氏、
商品企画部クラウドプラットフォームチーム エキスパートの曽我亨弘氏
そして、なんと言っても最大の特徴は「オープンであること」だ。
ビジネス推進本部 第1応用技術部の部長を務める井上直也氏は、「Protocol-Independentであり、Packet ProcessorsであるというP4の名前がとても特徴的だ。現在のネットワークで主流であるパケットプロセッシングを、自分で使いやすく書き換えられる。かつ、ベンダープロプライエタリではなくオープンであるところが使いでがある」と期待を寄せる。