第5章 IPoIB の設定

デフォルトでは、InfiniBand は通信にインターネットプロトコル (IP) を使用しません。ただし、IPoIB (IP over InfiniBand) は、InfiniBand リモートダイレクトメモリーアクセス (RDMA) ネットワーク上に IP ネットワークエミュレーション層を提供します。これにより、既存の変更されていないアプリケーションが InfiniBand ネットワーク上でデータを送信できますが、アプリケーションが RDMA をネイティブで使用する場合よりもパフォーマンスが低くなります。

注記

iWARP (Internet Wide Area RDMA Protocol) および RoCE ネットワークはすでに IP ベースです。したがって、IWARP デバイスまたは RoCE デバイスに IPoIB デバイスを作成することはできません。

RHEL 8 で ConnectX-4 以降 以降は、デフォルトで Enhanced IPoIB モードを使用します(データグラムのみ)。接続モードは、これらのデバイスでは対応していません。

5.1. IPoIB 通信モード

IPoIB デバイスは、Datagram モードまたは Connected モードで設定できます。違いは、通信の反対側で IPoIB 層がマシンで開こうとするキューペアのタイプです。

  • Datagram モードでは、システムは信頼できない非接続キューのペアを開きます。

    このモードは、InfiniBand リンク層の MTU (Maximum Transmission Unit) を超えるパッケージには対応していません。IPoIB レイヤーは、送信される IP パケット上に 4 バイトの IPoIB ヘッダーを追加します。これにより、IPoIB MTU は InfiniBand リンク層の MTU よりも 4 バイト小さくなければなりません。一般的な InfiniBand リンク層の MTU は 2048 であるため、Datagram モードの共通の IPoIB デバイスの MTU は 2044 です。

  • Connected モードでは、システムは信頼できる接続されたキューペアを開きます。

    このモードでは、InfiniBand リンク層の MTU を超えるメッセージを許可し、ホストアダプターはパケットのセグメンテーションを処理し、再構築します。その結果、Connected モードで InfiniBand アダプターが送信できる IPoIB メッセージのサイズに制限はありません。ただし、IP パケットのサイズは、size フィールドと TCP/IP ヘッダーにより制限されます。このため、Connected モードの IPoIB MTU は最大 65520 バイトです。

    Connected モードではパフォーマンスが向上しますが、より多くのカーネルメモリーを消費します。

システムが Connected モードを使用するように設定されている場合、InfiniBand スイッチおよびファブリックは Connected モードでマルチキャストトラフィックを通過できないため、システムは Datagram モードでマルチキャストトラフィックを送信します。また、Connected モードで設定されていないホストと通信すると、システムは Datagram モードに戻ります。

マルチキャストデータをインターフェースの最大 MTU に送信するアプリケーションを実行している間は、インターフェースを Datagram モードで設定するか、パケット送信サイズを、datagram サイズのパケットに適合するサイズに制限するようにアプリケーションを設定する必要があります。