現在、ネットワーク監視とトラブルシューティングに最も広く使用されているツールは、スイッチポートアナライザ(SPAN)です。これはポートミラーリングとも呼ばれ、実ネットワーク上のサービスに干渉することなく、バイパスアウトオブバンドモードでネットワークトラフィックを監視し、監視対象トラフィックのコピーをスニファー、IDS、その他のネットワーク分析ツールなどのローカルまたはリモートデバイスに送信します。
典型的な用途は次のとおりです。
• 制御/データ フレームを追跡してネットワークの問題をトラブルシューティングします。
• VoIP パケットを監視して遅延とジッターを分析します。
• ネットワークのやりとりを監視してレイテンシを分析します。
• ネットワーク トラフィックを監視して異常を検出します。
SPAN トラフィックは、同じソース デバイス上の他のポートにローカルにミラーリングすることも、ソース デバイスのレイヤー 2 に隣接する他のネットワーク デバイスにリモートでミラーリングすることもできます (RSPAN)。
本日は、ERSPAN(Encapsulated Remote Switch Port Analyzer)と呼ばれる、IPの3層にまたがって伝送可能なリモートインターネットトラフィック監視技術についてお話します。これは、SPANをEncapsulated Remoteに拡張したものです。
ERSPANの基本的な動作原理
まず、ERSPAN の機能を見てみましょう。
• 送信元ポートからのパケットのコピーは、Generic Routing Encapsulation(GRE)を介して解析するために宛先サーバーに送信されます。サーバーの物理的な場所は制限されません。
• チップのユーザー定義フィールド(UDF)機能を利用して、エキスパートレベルの拡張リストを通じてベースドメインに基づいて1〜126バイトの任意のオフセットを実行し、セッションキーワードを照合して、TCP 3ウェイハンドシェイクやRDMAセッションなどのセッションの可視化を実現します。
• サンプリング レートの設定をサポートします。
• パケットインターセプト長(パケットスライシング)をサポートし、ターゲットサーバーの負荷を軽減します。
これらの機能により、ERSPAN が今日のデータセンター内のネットワークを監視するための不可欠なツールである理由がわかります。
ERSPAN の主な機能は、次の 2 つの側面に要約できます。
• セッションの可視性: ERSPAN を使用して、作成されたすべての新しい TCP およびリモート ダイレクト メモリ アクセス (RDMA) セッションをバックエンド サーバーに収集して表示します。
• ネットワークのトラブルシューティング: ネットワークの問題が発生した場合に、障害分析のためにネットワーク トラフィックをキャプチャします。
これを実現するには、送信元ネットワークデバイスは、膨大なデータストリームからユーザーにとって重要なトラフィックをフィルタリングし、コピーを作成し、各コピーフレームを特別な「スーパーフレームコンテナ」にカプセル化する必要があります。スーパーフレームコンテナは、受信デバイスに正しくルーティングするために必要な追加情報を保持します。さらに、受信デバイスが元の監視対象トラフィックを抽出し、完全に復元できるようにする必要があります。
受信デバイスは、ERSPAN パケットのカプセル化解除をサポートする別のサーバーにすることができます。
さらに、GREヘッダーのプロトコルタイプフィールドは、内部ERSPANタイプも示します。プロトコルタイプフィールド0x88BEはERSPANタイプIIを示し、0x22EBはERSPANタイプIIIを示します。
1. タイプI
タイプIのERSPANフレームは、元のミラーフレームのヘッダーにIPとGREを直接カプセル化します。このカプセル化により、元のフレームに38バイトが追加されます(14(MAC) + 20(IP) + 4(GRE))。この形式の利点は、ヘッダーサイズがコンパクトで伝送コストが削減されることです。ただし、GREフラグフィールドとバージョンフィールドが0に設定されるため、拡張フィールドは含まれません。タイプIはあまり広く使用されていないため、これ以上の拡張は必要ありません。
タイプ I の GRE ヘッダー形式は次のとおりです。
さらに、ERSPAN タイプ II フレーム形式では、GRE ヘッダーと元のミラーリングされたフレームの間に 8 バイトの ERSPAN ヘッダーが追加されます。
タイプ II の ERSPAN ヘッダー形式は次のとおりです。
最後に、元の画像フレームの直後に、標準の 4 バイト イーサネット巡回冗長検査 (CRC) コードが続きます。
実装上、ミラーフレームには元のフレームのFCSフィールドが含まれず、代わりにERSPAN全体に基づいて新しいCRC値が再計算される点に注目すべきです。つまり、受信デバイスは元のフレームのCRCの正しさを検証できず、破損していないフレームのみがミラーリングされていると想定するしかありません。
3. タイプIII
タイプIIIでは、ネットワーク管理、侵入検知、パフォーマンスおよび遅延分析など、ますます複雑化・多様化するネットワーク監視シナリオに対応するため、より大規模で柔軟な複合ヘッダーが導入されています。これらのシナリオでは、ミラーフレームの元のパラメータをすべて把握する必要があり、元のフレーム自体には存在しないパラメータも考慮する必要があります。
ERSPAN タイプ III 複合ヘッダーには、必須の 12 バイトのヘッダーとオプションの 8 バイトのプラットフォーム固有のサブヘッダーが含まれます。
タイプ III の ERSPAN ヘッダー形式は次のとおりです。
ここでも、元のミラー フレームの後に 4 バイトの CRC が続きます。
タイプ III のヘッダー形式からわかるように、タイプ II に基づいて Ver、VLAN、COS、T、セッション ID フィールドが保持されることに加えて、次のような多くの特殊フィールドが追加されています。
• BSO: ERSPAN を介して伝送されるデータ フレームの負荷整合性を示すために使用されます。00 は良好なフレーム、11 は不良フレーム、01 は短いフレーム、11 は長いフレームです。
• タイムスタンプ:システム時刻と同期したハードウェアクロックからエクスポートされます。この32ビットフィールドは、少なくとも100マイクロ秒単位のタイムスタンプ精度をサポートします。
• フレーム タイプ (P) とフレーム タイプ (FT): 前者は ERSPAN がイーサネット プロトコル フレーム (PDU フレーム) を伝送するかどうかを指定するために使用され、後者は ERSPAN がイーサネット フレームを伝送するか IP パケットを伝送するかを指定するために使用されます。
• HW ID: システム内のERSPANエンジンの一意の識別子。
• Gra (タイムスタンプ粒度) : タイムスタンプの粒度を指定します。例えば、00Bは100マイクロ秒の粒度、01Bは100ナノ秒の粒度、10BはIEEE 1588の粒度、11Bはより高い粒度を実現するためにプラットフォーム固有のサブヘッダーを必要とします。
• プラットフォーム ID とプラットフォーム固有情報: プラットフォーム固有情報フィールドは、プラットフォーム ID 値に応じて形式と内容が異なります。
上記でサポートされる様々なヘッダーフィールドは、通常のERSPANアプリケーション、さらにはエラーフレームやBPDUフレームのミラーリングでも、元のトランクパッケージとVLAN IDを維持しながら使用できることに注意してください。さらに、ミラーリング中に各ERSPANフレームにキータイムスタンプ情報やその他の情報フィールドを追加できます。
ERSPAN 独自の機能ヘッダーを使用すると、ネットワーク トラフィックのより詳細な分析を実現し、対象のネットワーク トラフィックと一致する対応する ACL を ERSPAN プロセスにマウントするだけで済みます。
ERSPANはRDMAセッションの可視性を実装します
ERSPAN テクノロジーを使用して、RDMA シナリオで RDMA セッションの可視化を実現する例を見てみましょう。
RDMAリモートダイレクトメモリアクセス(RDMA)は、インテリジェントネットワークインターフェースカード(IC)とスイッチを介して、サーバーAのネットワークアダプタからサーバーBのメモリへの読み書きを可能にし、高帯域幅、低レイテンシ、低リソース利用率を実現します。ビッグデータや高性能分散ストレージのシナリオで広く利用されています。
RoCEv2: RDMA over Converged Ethernet バージョン2。RDMAデータはUDPヘッダーにカプセル化されます。宛先ポート番号は4791です。
RDMAの日常的な運用・保守には、膨大なデータの収集が必要です。これらのデータは、日々の水位基準線や異常警報の収集、そして異常箇所の特定に活用されます。ERSPANと組み合わせることで、膨大なデータを迅速に取得し、マイクロ秒単位の転送品質データとスイッチングチップのプロトコル相互作用状態を取得できます。データの統計と分析を通じて、RDMAエンドツーエンドの転送品質評価と予測が可能になります。
RDAM セッションの視覚化を実現するには、トラフィックをミラーリングするときに ERSPAN が RDMA 相互作用セッションのキーワードを一致させる必要があり、エキスパート拡張リストを使用する必要があります。
エキスパートレベルの拡張リスト一致フィールド定義:
UDFは、UDFキーワード、ベースフィールド、オフセットフィールド、値フィールド、マスクフィールドの5つのフィールドで構成されます。ハードウェアエントリの容量によって制限されるため、合計8つのUDFを使用できます。1つのUDFは最大2バイトまで一致します。
• UDFキーワード: UDF1... UDF8 UDF一致ドメインの8つのキーワードが含まれます
• ベースフィールド: UDF一致フィールドの開始位置を識別します。次の
L4_ヘッダー(RG-S6520-64CQに適用)
L5_ヘッダー(RG-S6510-48VS8Cq用)
• オフセット: ベースフィールドに基づくオフセットを示します。値の範囲は0~126です。
• 値フィールド:マッチング値。マスクフィールドと組み合わせて、マッチングする特定の値を設定できます。有効ビットは2バイトです。
• マスクフィールド:マスク、有効ビットは2バイト
(追加: 同じ UDF 一致フィールドで複数のエントリが使用される場合、ベース フィールドとオフセット フィールドは同じである必要があります。)
RDMA セッション ステータスに関連付けられている 2 つの主要なパケットは、輻輳通知パケット (CNP) と否定確認応答 (NAK) です。
前者は、スイッチから送信されたECNメッセージ(eoutバッファが閾値に達した場合)をRDMAレシーバが受信した後に生成されます。ECNメッセージには、輻輳を引き起こしているフローまたはQPに関する情報が含まれています。後者は、RDMA伝送にパケットロス応答メッセージがあることを示すために使用されます。
エキスパート レベルの拡張リストを使用して、これら 2 つのメッセージを一致させる方法を見てみましょう。
エキスパートアクセスリスト拡張RDMA
udp 許可 any any any any eq 4791udf 1 l4_header 8 0x8100 0xFF00(RG-S6520-64CQに適合)
udp 許可 any any any any eq 4791udf 1 l5_header 0 0x8100 0xFF00(RG-S6510-48VS8CQに適合)
エキスパートアクセスリスト拡張RDMA
udp 許可 any any any any eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(RG-S6520-64CQに適合)
udp 許可 any any any any eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(RG-S6510-48VS8CQに適合)
最後のステップとして、エキスパート拡張リストを適切な ERSPAN プロセスにマウントすることで、RDMA セッションを視覚化できます。
最後に書く
ERSPAN は、今日のますます大規模になるデータセンター ネットワーク、ますます複雑になるネットワーク トラフィック、ますます高度化するネットワーク運用および保守の要件に欠かせないツールの 1 つです。
O&Mの自動化が進むにつれ、Netconf、RESTconf、gRPCといった技術が、ネットワーク自動O&Mの分野でO&Mを学ぶ学生の間で人気を集めています。ミラートラフィックを送り返すための基盤プロトコルとしてgRPCを使用することにも多くの利点があります。例えば、HTTP/2プロトコルをベースとしているため、同一接続でストリーミングプッシュメカニズムをサポートできます。ProtoBufエンコーディングにより、JSON形式と比較して情報サイズが半分に削減され、データ転送がより高速かつ効率的になります。ERSPANを使用して関心のあるストリームをミラーリングし、gRPC経由で分析サーバーに送信すれば、ネットワークの自動運用・保守の能力と効率が大幅に向上するのではないでしょうか。
投稿日時: 2022年5月10日