プローブベースの障害検出では、ICMP プローブを使用してインタフェースが故障しているかどうかをチェックします。この障害検出手法の実装は、検査用アドレスが使用されるかどうかによって決まります。
この障害検出手法では、検査用アドレスを使用する ICMP 検査信号メッセージを送受信します。プローブトラフィックまたはテストトラフィックとも呼ばれるこれらのメッセージは、インタフェース経由で同じローカルネットワーク上の 1 つ以上のターゲットシステムに送信されます。in.mpathd デーモンは、プローブベースの障害検出用に構成されたすべてのインタフェースを経由してすべてのターゲットを個別にプローブします。ある特定のインタフェースで、連続する 5 つのプローブに対して応答がない場合、in.mpathd デーモンはそのインタフェースに障害があるものとみなします。プローブを発信する頻度は、障害検出時間 (FDT) に依存します。障害検出時間のデフォルト値は 10 秒です。ただし、FDT は IPMP 構成ファイルで調整できます。手順については、IPMP デーモンの動作を構成する方法を参照してください。
プローブベースの障害検出を最適化するには、in.mpathd デーモンからのプローブを受信する複数のターゲットシステムを設定する必要があります。複数のターゲットシステムを設定することで、報告された障害の性質をより正確に判定できます。たとえば、唯一定義されたターゲットシステムから応答がない場合、そのターゲットシステムの障害を示している可能性もあれば、IPMP グループのインタフェースの 1 つの障害を示している可能性もあります。これに対し、いくつかのターゲットシステムのうちの 1 つのシステムだけがプローブに応答しない場合は、IPMP グループ自体ではなく、ターゲットシステムで障害が発生している可能性があります。
in.mpathd デーモンは、プローブするターゲットシステムを動的に決定します。まず、デーモンはルーティングテーブル内で、IPMP グループのインタフェースに関連付けられた検査用アドレスと同じサブネット上にあるターゲットシステムを検索します。そのようなターゲットが見つかった場合、デーモンはそれらをプローブのターゲットとして使用します。同じサブネット上でターゲットシステムが見つからない場合、デーモンは、リンク上の近くのホストをプローブするマルチキャストパケットを送信します。ターゲットシステムとして使用するホストを決定するために、すべてのホストのマルチキャストアドレス (IPv4 では 224.0.0.1、IPv6 では ff02::1) にマルチキャストパケットが送信されます。エコーパケットに応答する最初の 5 つのホストが、プローブのターゲットとして選択されます。マルチキャストプローブに応答したルーターまたはホストを検出できない場合、デーモンはプローブベースの障害を検出できません。この場合、ipmpstat –i コマンドはプローブの状態を unknown として報告します。
ホストルートを使用して、in.mpathd デーモンが使用するターゲットシステムのリストを明示的に構成できます。手順については、プローブベースの障害検出の構成を参照してください。
検査用アドレスを使用しないこの手法は、2 種類のプローブを使用して実装されています。
ICMP プローブ
ICMP プローブは、ルーティングテーブルに定義されたターゲットをプローブするために、IPMP グループ内のアクティブインタフェースによって送信されます。アクティブインタフェースとは、そのインタフェースのリンク層 (L2) アドレス宛てのインバウンド IP パケットを受信できるベースとなるインタフェースのことです。ICMP プローブは、データアドレスをそのプローブの発信元アドレスとして使用します。ICMP プローブがそのターゲットに到達し、ターゲットから応答が得られた場合、そのアクティブインタフェースは動作しています。
推移的プローブ
推移的プローブは、アクティブインタフェースをプローブするために、IPMP グループ内の代替インタフェースによって送信されます。代替インタフェースとは、インバウンド IP パケットを能動的に受信しないベースとなるインタフェースのことです。
たとえば、4 つのベースとなるインタフェースと 1 つのデータアドレスから成る IPMP グループを考えます。この構成では、アウトバウンドパケットはベースとなるインタフェースをすべて使用できます。一方、インバウンドパケットは、データアドレスがバインドされたインタフェースによってのみ受信できます。インバウンドパケットを受信できない残り 3 つのベースとなるインタフェースが、代替インタフェースとなります。
代替インタフェースがアクティブインタフェースへのプローブの送信と応答の受信に成功した場合、そのアクティブインタフェースは機能しており、推論により、プローブを送信した代替インタフェースも機能しています。
グループ障害は、IPMP グループ内のすべてのインタフェースで同時に障害が発生したと思われる場合に発生します。この場合、ベースとなるインタフェースは一切使用できません。また、すべてのターゲットシステムで同時に障害が発生したときに、プローブベースの障害検出が有効になっていた場合、in.mpathd デーモンはその現在のターゲットシステムをすべてフラッシュし、新しいターゲットシステムに対してプローブします。
検査用アドレスを持たない IPMP グループでは、アクティブインタフェースをプローブできる単一のインタフェースがプローバとして指定されます。この指定されたインタフェースには、FAILED フラグと PROBER フラグが両方とも設定されます。このインタフェースにデータアドレスがバインドされるため、このインタフェースは引き続き、ターゲットをプローブして回復を検出できます。