このページの本文へ

「Kamuee」がInterop ShowNetのサービスチェイニングNWで実証に成功、機能拡張の柔軟さアピール

NTT Comが“世界最速級”ソフトウェアPCルーターにSRv6機能追加

2019年06月17日 07時00分更新

文● 大塚昭彦/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 NTTコミュニケーションズ(NTT Com)は2019年6月14日、同社が独自開発する高速ソフトウェアルーター「Kamuee(カムイー)」において、IPv6を用いたセグメントルーティング技術「SRv6」の機能を追加実装したことを発表した。6月12~14日に開催された「Interop Tokyo 2019」の実証実験ネットワーク「ShowNet」に実働展示され、会場内トラフィックのサービスチェイニングを実現するためのSRv6アプリケーションプロキシー機能を提供し、その能力を実証した。

 「SRv6の実証実験が、今回のShowNetのような大きな規模で行われるのは世界でも最も早いレベル」だと、今回の開発に携わったNTT Com技術開発部の城倉弘樹氏は説明する。KamueeでSRv6実装に取り組んだ背景などについて、Interop Tokyo会場で詳しく話を聞いた。

今年のShowNetではSRv6を用いたサービスチェイニングが実装された。Kamueeは、SRv6非対応の機器/機能(ファイアウォールやUTMなど)との接続を可能にするアプリケーションプロキシー機能を提供した

今回のSRv6機能開発に携わったNTTコミュニケーションズ 技術開発部の城倉弘樹氏

サービスチェイニングを実現するSRv6を実装、非対応機器との橋渡しを行う

 Kamueeは、NTTコミュニケーションズ 技術開発部が開発するソフトウェアPCルーターだ。ネットワークASICなど特殊なハードウェアを搭載しない比較的安価なx86サーバーをベースとしつつ、特許技術の高効率な経路検索アルゴリズム「Poptrie(ポップトライ)」やインテルの「DPDK」ライブラリを活用することで、昨年6月にはソフトウェアPCルーターとして「世界トップレベルの処理速度」を実現できたことを発表している。

Kamueeの備えるネットワーク機能群(将来予定も含む)。なおKamueeは物理環境だけでなく仮想環境での実装にも対応している

 昨年のInterop Tokyoにおいて、KameeはShowNetコアルーターの1つとして配置され、高いパフォーマンス性能が実現できることをアピールした。一方で今年は、その高い性能も維持しつつ、ソフトウェアルーターならではの“機能開発や追加の柔軟さ”をアピールすることを目標とした。その題材のひとつとして選ばれたのがSRv6である。

 SRv6(Segment Routing IPv6)は、IPv6パケットの拡張ヘッダ(SRH:Segment Routing Header)として経路情報(そのパケットが通過すべきネットワークセグメントのリスト)を埋め込むことにより、個々のパケット単位で柔軟な経路選択を可能にする技術だ。物理的なネットワークトポロジーはそのままで、トラフィックごとに異なるサービス群(たとえばファイアウォール、DPI、ロードバランサなど)を適用する「サービスチェイニング」を実現するための技術として注目されている。今回のShowNetでも、SRv6を採用してセキュリティサービスのチェイニングを実現した。

SRv6の概要。ネットワークを「セグメント」単位で扱うセグメントルーティングの一方式であり、既存のIPv6ネットワークと親和性が高いのが特徴

 SRv6の仕組みを見ると、SRv6に対応したルーターは、受け取ったパケットの拡張ヘッダに書かれた経路情報のリストを参照し、IPv6ヘッダにあるパケットの宛先アドレスを「次のセグメント」のアドレスに書き換えたうえで転送する。ネットワーク上にあるSRv6対応ルーターがこの処理を繰り返すことで、トラフィックごとに通過経路を柔軟に変化させることができるわけだ。経路上にSRv6非対応のルーターやノードがあったとしても、IPv6ヘッダの宛先アドレスに基づいて通常どおり転送すればよい(このときSRv6の拡張ヘッダは無視される)。

SRv6のパケット形式。IPv6の拡張ヘッダに記された通過すべきセグメントのリスト(SRH)と現在のセグメント(SL)情報に基づき、SRv6ルーターはIPv6ヘッダの宛先アドレス(Destination Address)を「次のセグメント」に書き換えて転送する

 ただしSRv6は新しい技術であり、現在はまだハイエンドルーターが対応を始めたという段階で、ほとんどのセキュリティ機器は未対応だ。城倉氏によると、今回のShowNetでサービスチェイニングには十数台のセキュリティ機器が組み込まれたが、SRv6に対応済みもの(SRv6のEndpoint Functionを実行可能なもの)は1台だけだったという。そしてSRv6ネットワークに非対応のセキュリティ機器が組み込まれると、特有の問題が生じる。

 上述したとおりSRv6ネットワークでは、最終的な宛先ノードに転送されるまでの間に、パケットの宛先アドレスが何度も書き換えられることになる。その経路上に、たとえばファイアウォールのような宛先アドレスをチェックするセキュリティ機器があると、本来の宛先アドレス(最終的な宛先ノード)とは異なるアドレスが書かれているために障害となってしまう。

 そこでSRv6非対応の機器向けに、SRv6のパケットをいったん通常のIPv6パケットに変換して(最終的な宛先アドレスに書き換えて)転送し、機器の通過後にはSRv6パケットに戻す処理を行うのが「SRv6アプリケーションプロキシー」だ。Kamueeは今回、このアプリケーションプロキシー機能を追加実装し、ShowNetではその配下に5つのセキュリティ機器(機能)を収容して稼働した。

SRv6ではパケットの宛先アドレスを書き換えるため、ファイアウォールやキャリアグレードNATの動作に障害を及ぼす。そこで、いったん通常のIPv6パケットに変換するSRv6アプリケーションプロキシーが必要となる

デバッグ機能もShowNetの構築現場で追加開発、ソフトウェアベースの強みを発揮

 城倉氏はさらに、今回のKamueeではSRv6対応機能だけではなく「強力なネットワークデバッグ能力」も実装しており、その機能がShowNet構築期間中のデバッグやテストの作業にも役立ったことを紹介した。

ShowNetで実働展示されたKamuee(ラック内の4Uサーバー)

 SRv6のような新しい技術(パケット形式)を用いる場合、接続する機器ごとに挙動がまちまちで相互接続性が確立できず、うまく通信できない場合がある。今回の場合も、ShowNetの構築期間中に、Kamueeに接続したあるSRv6非対応のセキュリティ機器から「パケットが戻ってこない(通信できない)」障害が発生したという。

 こうした場合はデバッグ作業を行って「何が起きているのか」を把握する必要があるが、ハードウェア実装されたルーターの場合はあらかじめ組み込まれている基本的な機能しか使えない。一方で、Kamueeのようにソフトウェアにより実装されていれば機能を柔軟に拡張/変更することができる。今回のケースで城倉氏はまず、ソフトウェアを書き換えてSRv6パケットからSRv6ヘッダを外す処理を行ってみたという。

 「現場でKamueeのソフトウェアを書き換え、パケットからSRv6ヘッダを外してみたところ、機器からパケットが戻ってきました。結局、非対応機器では無視されるはずのSRv6ヘッダがついたパケットが、設計の意図とは異なりドロップ(破棄)されていたのです。このように、ネットワーク構築の現場ですぐに機能拡張ができる点もソフトウェアならではの強みだと思います」(城倉氏)

訂正とお詫び:非対応機器の挙動について一部不正確な表現がありましたので改めました。(2019年6月21日)

ShowNet構築現場での出来事。ソフトウェアを書き換えてSRv6ヘッダを外したところ通信できることがわかり、機器設定の誤りであることが判明した

 もうひとつ、送受信するパケットをキャプチャしてパケットが破損していないかどうかを確認するために、データプレーンのトラフィックをキャプチャする「tap-mirror」という機能も実装している。これも、Kamueeの開発中に城倉氏が「自分が欲しくなって作った」機能であり、ASICで実装されたハードウェアルーターでは実現できない柔軟さだと強調した。

 なおKamueeは、UbuntuやDebian GNU/Linuxのソフトウェアパッケージ(debパッケージ)としてリリースしており、インストールや構築が簡単である点もユーザーに喜ばれているという。また物理サーバーだけでなく仮想環境に実装できる点も、開発や検証の作業を迅速化するうえで非常に役立っていると城倉氏は述べた。

Kamueeでは、一般的なハードウェアルーターでは実装されていないデータプレーンのキャプチャ機能も実装している

 昨年の発表時にも「バックボーンルーターだけでなく幅広い展開が考えられる」と説明していたとおり、Kamueeは「かゆい所に手が届く、用途に応じて柔軟に対応ができる」ソフトウェアルーターのメリットを重視してアピールしていきたいと、城倉氏は説明する。今回のSRv6のような最新機能も迅速に実装できる点、さまざまなスケールの実装に対応できる点などをアピールしながら、NTT Comではより幅広い顧客ニーズの掘り起こしを進めていく方針だ。

カテゴリートップへ