NTT技術ジャーナル記事

   

「NTT技術ジャーナル」編集部が注目した
最新トピックや特集インタビュー記事などをご覧いただけます。

PDFダウンロード

from NTTコミュニケーションズ

高速なソフトウェアルータを内製するという最先端技術への新たな挑戦

NTTコミュニケーションズ技術開発部では、将来のソフトウェア制御の需要を予見した通信基盤に寄与できるソフトウェアルータ(コードネーム:Kamuee)を内製開発してきました。Kamueeは新規アルゴリズムPoptrieにより大規模経路数においても高速な性能を発揮できることが大きな特長です。複雑なユーザ要求を迅速に実現するソフトウェア・ネットワーク管理をめざして、開発を続けています

背 景

NTTコミュニケーションズ(NTT Com)の技術開発部は、会社のサービス戦略に基づき、グローバル市場での競争優位を獲得できる技術開発戦略の策定と、その戦略に基づいた「開発」「検証」「育成」を行います。将来有望な技術を調査・研究開発し、通信事業・サービスに貢献することがミッションです。そのような活動では、新しい技術や機能を通信ネットワークに追加して試すことが必要になることもあります。通信ネットワークへの新しい技術の追加は、自らソフトウェアを書き起こす、あるいはオープンソースソフトウェアを改変し利用すること等で実現できます。

ソフトウェアルータ開発

ソフトウェアを使ったネットワークでは、長年の間、性能が課題でした。従来のソフトウェアは、ハードウェアのネットワーク機器に比べ、100倍程度の性能の開きがありました。パケット転送において、ソフトウェアルータでは数 Gbit/s程度の速度しか出せませんが、ハードウェアルータでは数100 Gbit/s程度の速度が出ます。また、Linuxの経路検索の性能は2Mlps(Million lookup per second:100万検索毎秒)程度ですが、TCAM(Ternary Content Addressable Memory)という経路検索専用のハードウェアメモリを使えば、200 Mlps程度の性能が発揮できます。しかし、TCAMを使うには、ユーザが自由に機能を追加することが困難なハードウェアルータを利用するしかありませんでした。また、このような性能の差異は、長年の間、研究開発者が考案した新しいアイデアを実際のネットワークで利用するための、大きな障壁となっていました。
最近になって、このようなハードウェアとソフトウェアの性能の差は少なくなってきました。経路検索性能のみならず、パケット転送の性能においても、DPDK(Data Plane Development Kit)*1、netmap*2、XDP(eXpress Data Path)*3などのオープンソースソフトウェアのおかげで、数10 Gbit/sから数100 Gbit/sの域まで達しています。また、NTT Com 技術開発部も協力した東京大学の研究プロジェクトでは、ソフトウェアでTCAMに匹敵する200 Mlpsを実現するスマートなアルゴリズム、Poptrieが新しく生み出されました。これらのソフトウェアの進歩から、近年になって、ソフトウェアルータを用いて低遅延広帯域な通信基盤を構築することも夢ではなくなってきました。
Poptrieが実用に耐え得ることを実証するため、また、新しい機能を迅速に通信ネットワーク基盤に追加したり、ソフトウェアによる柔軟なネットワーク制御を実現するため、私たちは2015年からソフトウェアルータkamueeの開発を始めました。
実験室内のベンチマーク測定では、良好な数値が得られています。計測器(トラフィックジェネレータ)を利用したベンチマークの測定結果を図に示します。kamueeをハイエンドサーバ(CPU: Skylake Platinum 2基)に搭載し、100 Gイーサネット(100 GbE: Mellanox ConnectX-5)を4本、計測器と直結し、ランダム終点IPアドレスのパケットを大量に計測器からkamueeに送り、パケットが転送されて戻されたものの総量を計測しました。100 GbE 1ポートにつき12のCPUコアを割り当て、全部で48コア以上を利用しています。図のx軸はイーサネットフレームのサイズ、y軸は転送に成功したトラフィック量(単位:Gbit/s)です。もっとも性能の良い設定(NoACL-LoopbackTap)では、64Bショートフレーム、経路数4の設定で、196.33 Gbps/292.16 Mppsを達成しました。もっとも性能の悪い、現実的な設定(FullRoute-LoopbackBlackhole)でも、64Bショートフレーム、経路数612,916の設定で、74.87 Gbps/111.41 Mppsを達成しています。フレームサイズが512以上の場合では、全設定の中で最悪のものでも、349.60 Gbps/82.14 Mppsを実現しました。また、経路数4のもの(LoopbackBlackhole)と経路数612,916のものを比較すると、全フレームサイズを通じて性能の低下がわずかなものであることが、図から見て取れます。これらは驚くほど良好な値であり、ソフトウェアルータの見込みのある能力を指し示しています。

*1 DPDK:OSのネットワーク機能等をバイパスし、高速にパケットIOを可能とするソフトウェアフレームワーク。
*2 netmap:DPDK同様にOSのネットワーク機能をバイパスし、パケットIOを可能とするソフトウェアフレームワーク。
*3 XDP:Linux Kernelの機能で, TCP/IP等のプロセスにパケットが渡される前にパケットを処理可能とするソフトウェアモジュール。

図 ベンチマークの測定結果

内製開発の利点

私たちはソフトウェアルータを内製開発することには、たくさんの利点があると考えています。まず、ソフトウェアルータを所有し、それをさまざまなハードウェアプラットフォームに移植(ポーティング)することで、ベンダロックインを回避することができます。ベンダロックインの回避は、競争によるハードウェアのコストダウンや、マルチベンダ製品の利用による信頼性の向上などの利益が見込めます。また、ルータを自作することによって初めて、ネットワーク基盤の課題を深く理解したり、解決することができるようになります。社内への技術の蓄積がなされ、それを利用した良質なサービスや、顧客の要望の解決を実現することができるようになります。

新たなチャレンジ

現在私たちは、SRv6*4という技術を身近に利用できるようにするための開発を続けています。SRv6は近年期待されているルーチング技術で、通信経路の自由な指定を可能にします。通信経路の情報(パス情報)を広大な IPv6 アドレスの内部にエンコードするため、ルータ(中継機器)の負担を軽減し、ソフトウェアによるネットワーク制御(SDNへの連結)も容易であるという利点があります。内製ソフトウェアルータKamueeにSRv6機能を構築することによって、NTT ComのISP(Internet Service Provider)ネットワークや、顧客のネットワークで、SRv6という高機能、キャリアグレードネットワークの性能、ソフトウェアによる便利な管理形態などを、同時に実現できます。

*4 SRv6:ネットワークをSegmentで表現し、シンプルで柔軟な制御を実現するSegment Routingというルーチング手法でIPv6を活用するという技術。

今後の方向性

ISPの基幹ネットワークで利用されるような、キャリアグレードのルータには、高速に経路を検索して100 Gbit/sを超えるクラスの高速転送機能が求められますが、そのためには数千万円から1億円程度の費用がかかる高価な専用機器が必要となります。
NTT ComのKamueeは汎用PCサーバにソフトウェアを内製開発することでこれらの専用機器並の機能を実現しました。Kamueeの商用販売計画は現在検討中ですが、Kamueeを実装する汎用PCサーバの価格としては数百万円レベルの費用となるなど、飛躍的にコストを削減させる可能性があります。
また、完全国産内製開発ソフトウェアであり、すべてのソースコードをNTT Comが把握しているため、セキュリティ上の問題や、バグ発生時の対応のしやすさなどのメリットもあります。
2018年のInterop Tokyo 2018のShowNetにおいて、高い転送性能が求められる5台のバックボーンコアルータのうちの1台を担いました(写真1)。メジャーベンダのハードウェアルータと肩を並べ、5ポートの100 GbEでフルルートを扱えるソフトウェアルータとして実際に運用に使えることを実証しました。また今年のInterop Tokyo 2019のShowNetにおけるSRv6対応ルータとして展示しました。
今後さらなる機能追加開発や実証実験等により実績を積み重ねたうえで、商用化開発を行い、NTT Com自社サービス網への導入、他社通信事業者・通信機器メーカなどとのサービス開発や、お客さまへのソリューション提供など、さまざまな場面での活用を検討していきます。
このように私たちは、高機能かつスマートなソフトウェアによるネットワークの管理を実現する、次世代の通信基盤の構築を、ソフトウェアルータの実現を通じて、進めていきます(写真2)。

写真1 Interop Tokyo 2018のShowNetにおいて運用したソフトウェアルータ

写真2 Kamuee開発メンバー

問い合わせ先

NTT コミュニケーションズ
技術開発部
TEL 03-6733-8631
FAX 03-5439-0483
E-mail kamuee-contact@ntt.com