ネットワークテレメトリー(Network Telemetry)技術による、
高精度ネットワークオペレーションの実現

AIやビッグデータ処理技術の誕生は、IDC(Internet Data Center)関連製品と利用技術の急速な進化を促しています。
現在、サーバーへのアクセス帯域幅は、従来の10Gbpsから25Gbps/100Gbpsにアップグレードされており、ネットワークは、サービスの可用性を確保するために、より高いスループット性能を提供する必要があります。
Ruijie Networksでは、エンドツーエンドのデータ転送パフォーマンスを大幅に向上させる為に、RDMA(Remote Direct Memory Access)によるロスレスイーサネット技術を用いて、コンピューティングノードからストレージノードへのネットワーク低遅延(マイクロ秒レベル)を実現しています。
しかしながらこれにより、ネットワークオペレーションに対してより高い課題が提示されます————大規模かつ複雑なHPC(High Performance Computing)ネットワークでは、より高いトラフィックの可視性と制御性が必須となることです。言い換えると、エンドツーエンドのデータ障害をリアルタイムで特定することやネットワークの継続的な最適化をサポートすることが必須となります。
本稿では、スイッチのチップセットベースの、Network Telemetry技術提案による高精度ネットワークオペレーションをご紹介します。

ネットワークオペレーションの新たな課題

AIやビッグデータを活用する大規模クラウドシステムでは、スケールアウトできる分散コンピューティングとストレージミドルウェア(Hadoop/Map reduce/HDFSなど)が使用されます。これによって、シングルサーバーコンピューティングとストレージパフォーマンスの制限を超えるだけではなく、より柔軟なスケーラビリティを提供し、ビジネスニーズの変化に迅速に対応し、システムの信頼性、可用性、およびアクセス効率を向上させることができます。
しかし、分散されたネットワークはコントロールできないため、実際のネットワークトラフィックモデルの中で、必ず多対1の通信モードが存在します。すなわち、Incast modelです。次の図は、典型的なIncast modelを表したものです。

TCP Incast model

TCP Incast model

たとえば、MasterノードがSlaveノードへのコンピューティングリクエストを行う時、すべてのSlaveノードはほぼ同時に計算結果を算出し、Masterノードに対して「Microburst」が発生します。合理的な「Microburst」が発生する場合は、アクセススイッチ内の「Message Buffer Mechanism」を利用し、「Microburst」のパケットロスの問題を解決することが可能です。
現在、主流のスイッチのチップセットのバッファは比較的小さく、一般的な単位はMbyteです。次の表は一般的な1G、10G、25Gスイッチチップのバッファの容量を示しています。

インターフェーススピード バッファの容量
1000Mbps4MB
10Gbps16MB
25Gbps32MB

帯域幅とバッファの比較説明

この表から見ると、ネットワークインターフェイスピードが1Gbpsから25Gbpsまで25倍に増加することに対して、スイッチチップのバッファ容量は8倍にしか増加していません。さらに、利用可能なバッファ時間は65%も減少します(スイッチのすべてのポートがバッファを平等に使う事を例とした場合)。
したがって、25GネットワークアーキテクチャのTcp Incast現象は、10Gネットワークアーキテクチャよりも頻繫に発生します。瞬間的な多対1現象により、アウトバウンドインターフェイスでネットワーク輻輳(混雑)が引き起こされ、アウトバウンドインターフェイスバッファが使い果たされた後、Tail Dropに基づいてパケットロス現象が発生します。パケットロス現象が発生した後、TCP再送信が始まります。そのため、データのエンドツーエンドの遅延がさらに悪化し、ネットワークに重大な影響を与えます。
ネットワークパケットロスによって引き起こされた障害に対して、ネットワーク監視システムは、ネットワーク内のスイッチやポートがバッファ不足となるため、パケットロスが発生していることを速やかに特定する必要があります。同時に、エンドツーエンドのネットワーク遅延が予定数値を超える場合は、トラフィック転送パス上の各ノードの転送遅延を特定する必要もあります。

まとめると、ネットワーク監視システムには、以下の機能を実現することが必要です:

  • どのスイッチやどのポートでパケットロスが発生しているか速やかに特定
  • 各スイッチのバッファ使用状況をリアルタイムで監視
  • エンドツーエンドのネットワーク遅延を、具体的なリンクや設備に特定

ネットワークオペレーション可視化技術の実現

来のネットワーク監視方法では、ネットワーク遅延、転送パス、バッファ、パケットロスなどの「目に見えない」問題を解決できません。例えば、SNMP(Simple Network Management Protocol)は、ネットワークの状態をリアルタイムで反映できません。
このような問題を解決するために、業界ではNetwork Telemetryの概念が導入されています。Network TelemetryとSNMPを比較すると、Network Telemetryはより早い適時性を持ち、ネットワークデバイスがステータス情報をアクティブにプッシュする機能を実現しています。
 Network Telemetryは新しい技術ではありません。NetFlowとsFlowはすでにネットワークトラフィックのサンプリングとプッシュを実現していましたが、NetFlowとsFlowがプッシュするのは、元のデータサンプリング情報です。そのデータは、ユーザーが期待する標準化されたデータモデルではなく、IPメッセージ形式で分析ツールに提示されます。分析ツールがどれほど優れていても、そのパフォーマンスはデータセンターネットワーク全体の監視と分析を行うことが難しく、特定の分析タスクだけで役割を果たします。
 gRPC(Google Remote Procedure Calls)は、グーグルが開発したオープンソースかつ高性能のRPCフレームワークです。gRPCはHTTP/2プロトコルとProto Bufferを使用したシリアル化および逆シリアル化のツールです。gRPC機能をスイッチに搭載することにより、柔軟なデータ形式とデータプッシュ閾値を定義し、スイッチ自体のアクティブプッシュ機能を実現し、監視サーバーにスイッチのバッファ使用量、CPU、メモリなどの情報を定期的にプッシュします。さらに、バッファ不足によりパケットロスが発生した場合も、監視サーバーにリアルタイムで通知し、ネットワークデータの可視化を実現できます。

gRPCのメカニズム

gRPCのメカニズム

この図は、gRPC相互作用メカニズムの1つの例を示しています。

  • スイッチがgRPC機能をオンにすると、スイッチはgRPCクライアントとして機能し、監視サーバーはgRPCサーバーとして機能します。
  • スイッチは監視サーバーにgRPCチャネルをリンクします。
  • スイッチは、バッファ使用量、CPU、メモリなどの情報を監視サーバーにアクティブに通知します。バッファ不足によりパケットロスが発生した場合も、監視サーバーにリアルタイムで通知します。

gRPC技術の開発により、リアルタイムデータを監視サーバーに通知できないという問題が解決されました。
INT(In-band Network Telemetry)はBarefoot、Arista、Dell、IntelとVMwareによって提案された新しいタイプのTelemetryプロトコルです。INTの出現により、目に見えない転送パスと転送遅延の問題が解決されます。

次の図はINT全体のプロセスを示しています。

可視化ネットワーク

可視化ネットワーク

  • メッセージは最初のノードに到達し、スイッチに設定されたサンプリング方法を通じてミラーリングされ、4層のヘッダーの後にINTヘッダーが挿入されます。そして、メッセージの入力ポートID、出力ポートID、ポート時間と設備のデバイスIDは、MetaDataにカプセル化され、MetaDataはINTヘッダーの後に挿入されます。
  • メッセージは中間ノードに到達し、デバイスがINTヘッダーを識別した後、MetaDataはINTヘッダーの後に挿入されます。
  • メッセージはラストホップに到達し、デバイスがINTヘッダーを識別した後、MetaDataはINTヘッダーの後に挿入され、IPヘッダー(ERSPAN)がメッセージの外部にカプセル化されます。外部IPは監視サーバーのアドレスであるため、INTメッセージはサーバーの監視に転送されます。

要約すると、INTとgRPCに基づいたNetwork Telemetryは、HPCサービスの次世代データセンターネットワークを目指し、エンドツーエンドのネットワークトラフィックの可視化を実現できます。この技術は「従来では見えなかったデータの流れ」を突破し、高精度ネットワークオベーションをサポートします。

Ruijie Networks Japan株式会社の新世代25G/100Gスイッチ製品は既にNetwork Telemetry機能(gRPCおよびINT)を実現しています。Network Telemetryに興味がある場合は、ぜひお気軽にご相談ください。