生存通知機能 リリース2

$Date: 2017/10/11 11:44:22 $



概要

生存通知機能とは、ネットワークに接続しているルーターから他拠点のルーターへ、自分の名前とIPアドレスを含めたパケットを送り、通信できる状態であることを通知する機能です。通知パケットを受信したルーターは、通知された名前とIPアドレスをログに出力し、保存します。WANのIPアドレスが不定となる拠点のルーターから他拠点のルーターへ通信可能であることを知らせる手段として本機能を利用することができます。

リリースについて

本文書では、従来から実装されている生存通知機能をリリース1、今回新たに実装する生存通知機能をリリース2と区別します。両者の機能概念は同じですが、コマンド体系、動作には互換性がありませんので注意してください。

(参考)生存通知 リリース1の説明へのリンク

以後、特に断りのない限り、本文書の記述は生存通知機能 リリース2を対象とします。

リリース2の特徴

以下にリリース2の主な特徴を挙げます。


注意事項


対応機種とリビジョン

ヤマハRTシリーズでは以下の機種およびファームウェアで、生存通知機能 リリース2をサポートしています。

機種ファームウェア
RTX830 Rev.15.02.01以降
NVR700W Rev.15.00.02以降
RTX1210 Rev.14.01.05以降
RTX5000 Rev.14.00.08以降
RTX3500 Rev.14.00.08以降
FWX120 Rev.11.03.02以降
RTX810 Rev.11.01.04以降
RTX1200 Rev.10.01.16以降
SRT100 Rev.10.00.46以降
RTX3000 Rev.9.00.43以降
RTX1500/RTX1100/RT107e Rev.8.03.80以降

詳細

生存通知の設定および動作の基本的な流れ

なお、受信側ルーターでheartbea2t receive monitorコマンドにより監視設定を有効にしておくと、監視時間内に通知がない場合にsyslogを出力し、SNMPトラップを上げます。また監視時間を経過した後、同じ相手から再び通知が行われた場合には、生存通知が再開されたことを示すsyslogを別途出力します。

MIB変数

以下のMIB変数で生存通知の受信情報を取得することができます。


コマンド

通知名称の設定

[書式]   heartbeat2 myname NAME
         no heartbeat2 myname

[設定値] ○NAME........... 生存通知で使用する名称(1〜64文字/ASCII、1〜32文字/シ
                           フトJIS)

[説明]   生存通知で通知する本機の名称を設定する。

         NAMEにはASCII文字だけではなく、シフトJISで表現できる範囲の日本語文字(半
         角カタカナを除く)も使用できる。ただし、console characterコマンドの設定
         がsjisの場合にのみ正しく設定、表示でき、他の設定では意図した通りに処理
         されない場合がある。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] 設定されていない

通知設定の定義

[書式]   heartbeat2 transmit TRANS_ID [crypto CRYPTO_KEY] auth AUTH_KEY DEST_ADDR ...
         no heartbeat2 transmit TRANS_ID

[設定値] ○TRANS_ID....... 通知設定の識別子(1..65535)
         ○CRYPTO_KEY..... ASCII文字列で表した暗号鍵(1〜32文字)
         ○AUTH_KEY....... ASCII文字列で表した認証鍵(1〜32文字)
         ○DEST_ADDR...... 送信先ルーターのIPv4アドレス、またはFQDN(空白で区切っ
                           て4つまで指定可能)

[説明]   生存通知の定期的な送信設定を定義する。本コマンドで設定したAUTH_KEYを元
         に、通知パケットには認証情報が付与される。また、CRYPTO_KEYを指定した場
         合は更に通知内容が暗号化される。

         対応する受信側の設定としてheartbeat2 receiveコマンドを設定する際には、
         RECV_IDが本コマンドのTRANS_IDと一致していなければならない。また同様に、
         CRYPTO_KEY、AUTH_KEYも一致させる必要がある。

         本コマンドは送信に最低限必要なパラメータをTRANS_IDに紐付けて定義するた
         めのものである。実際に送信処理を有効にするにはhertbeat2 transmit enable
         コマンドを設定する必要がある。

         なお、複数の通知設定による送信負荷を分散させるため、通知設定が有効にな
         ってから最初に通知パケットを送信するまでの時間は、通知設定/宛先毎にラ
         ンダムとなる(ただし30秒以内)。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] 設定されていない

※現在、本コマンドの動作に関して一部不具合があることが確認されています。詳しくは既知の不具合-1を参照してください。

通知設定の有効化

[書式]   heartbeat2 transmit enable [one-shot] TRANS_ID_LIST
         no heartbeat2 transmit enable

[設定値] ○TRANS_ID_LIST.. 有効にしたい通知設定の識別子のリスト
           ●1個の数字、または間に - をはさんだ数字(範囲指定)、およびこれらを
             任意に並べたもの(128個以内)

[説明]   定義した通知設定から実際に有効にしたいものを指定する。
         識別子のリストは空白で区切って128個まで指定することができる。

         'one-shot'キーワードを指定した場合は、TRANS_ID_LISTで指定された各設定
         の通知処理を1回だけ実行する。なお、この形式で入力したコマンドは保存で
         きない。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] 設定されていない

通知間隔の設定

[書式]   heartbeat2 transmit interval TIME
         heartbeat2 transmit interval TRANS_ID TIME
         no heartbeat2 transmit interval [TIME]
         no heartbeat2 transmit interval TRANS_ID TIME

[設定値] ○TRANS_ID....... 通知設定の識別子
         ○TIME........... 通知間隔秒数(30..65535)

[説明]   TRANS_IDに対応する通知設定の送信間隔を指定する。

         TRANS_IDを省略した場合は全ての通知設定が適用対象となる。ただし、
         TRANS_IDを個別に指定した設定の方が優先して適用される。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] 30

通知を送信した際にログを記録するか否かの設定

[書式]   heartbeat2 transmit log [TRANS_ID] SW
         no heartbeat2 transmit log [TRANS_ID]

[設定値] ○TRANS_ID....... 通知設定の識別子
         ○SW
           ●on........... 送信した内容をsyslogに出力する
           ●off.......... 送信した内容をsyslogに出力しない

[説明]   TRANS_IDに対応する通知設定のログ出力に関する設定を行う。SWを'on'にした
         場合、生存通知を送信する際にINFOレベルのsyslogを出力する。

         TRANS_IDを省略した場合は全ての通知設定が適用対象となる。ただし、
         TRANS_IDを個別に指定した設定の方が優先して適用される。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] off

受信設定の定義

[書式]   heartbeat2 receive RECV_ID [crypto CRYPTO_KEY] auth AUTH_KEY
         no heartbeat2 receive RECV_ID

[設定値] ○RECV_ID........ 受信設定の識別子
         ○CRYPTO_KEY..... ASCII文字列で表した暗号鍵(1〜32文字)
         ○AUTH_KEY....... ASCII文字列で表した認証鍵(1〜32文字)

[説明]   生存通知の受信設定を定義する。受信処理を行う際は、通知パケットに含まれ
         る送信側の設定識別子(TRANS_ID)を元に、同じRECV_IDを持つ本コマンドの設定
         を使用して復号化、認証チェックが行われる。

         対応する送信側の設定としてheartbeat2 transmitコマンドを設定する際には、
         TRANS_IDが本コマンドのRECV_IDと一致していなければならない。また同様に、
         CRYPTO_KEY、AUTH_KEYも一致させる必要がある。

         本コマンドは受信に最低限必要なパラメータをRECV_IDに紐付けて定義するため
         のものである。実際に受信処理を有効にするにはhertbeat2 receive enable
         コマンドを設定する必要がある。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] 設定されていない

受信設定の有効化

[書式]   heartbeat2 receive enable RECV_ID_LIST
         no heartbeat2 receive enable

[設定値] ○RECV_ID_LIST.. 有効にしたい受信設定の識別子のリスト
           ●1個の数字、または間に - をはさんだ数字(範囲指定)、およびこれらを
             任意に並べたもの(128個以内)

[説明]   定義した受信設定から実際に有効にしたいものを指定する。
         識別子のリストは空白で区切って128個まで指定することができる。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] 設定されていない

受信間隔の監視設定

[書式]   heartbeat2 receive monitor TIME
         heartbeat2 receive monitor RECV_ID TIME
         no heartbeat2 receive monitor [TIME]
         no heartbeat2 receive monitor RECV_ID TIME

[設定値] ○RECV_ID........ 受信設定の識別子
         ○TIME........... 監視時間
           ●秒数(30..21474836)
           ●off.......... 受信間隔を監視しない

[説明]   RECV_IDに対応する受信設定における受信間隔の監視設定を行う。監視が有効
         な場合は、指定した時間内に生存通知が届かないときINFOレベルのsyslogを出
         力してSNMPトラップを送出する。

         RECV_IDを省略した場合は全ての受信設定が適用対象となる。ただし、RECV_ID
         を個別に指定した設定の方が優先して適用される。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] off

通知を受信した際にログを記録するか否かの設定

[書式]   heartbeat2 receive log [RECV_ID] SW
         no heartbeat2 receive log [RECV_ID]

[設定値] ○RECV_ID........ 受信設定の識別子
         ○SW
           ●on........... 受信した内容をsyslogに出力する
           ●off.......... 受信した内容をsyslogに出力しない

[説明]   RECV_IDに対応する受信設定のログ出力に関する設定を行う。SWを'on'にした
         場合、生存通知を受信する際にINFOレベルのsyslogを出力する。

         RECV_IDを省略した場合は全ての受信設定が適用対象となる。ただし、RECV_ID
         を個別に指定した設定の方が優先して適用される。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] off

同時に保持できる生存情報の最大数の設定

[書式]   heartbeat2 receive record limit NUM
         no heartbeat2 receive record limit

[設定値] ○NUM............ 生存情報の最大保持数(RTX3000:64..10000、それ以外の
                           機種:64..1000)

[説明]   受信した生存情報を同時に保持できる最大数を設定する。生存情報数が最大に
         達した状態では新規の情報を取り込むことができない。そのような場合は
         clear heartbeat2コマンドで不要な情報を削除する必要がある。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

[初期値] 64

生存通知の状態の表示

[書式]   show status heartbeat2
         show status heartbeat2 id RECV_ID
         show status heartbeat2 name STRING

[設定値] ○RECV_ID........ 受信設定の識別子
         ○STRING......... 文字列(1〜64文字/ASCII、1〜32文字/シフトJIS)

[説明]   受信した生存通知の情報を表示する。

         第1書式では保持している全ての情報を表示する。
         第2書式では指定の受信設定により受信した情報のみ表示する。
         第3書式では指定の文字列が通知名称に含まれる情報のみ表示する。

         STRINGにはASCII文字だけではなく、シフトJISで表現できる範囲の日本語文
         字(半角カタカナを除く)も使用できる。ただし、console characterコマン
         ドの設定がsjisの場合にのみ正しく動作し、他の設定では誤動作する場合が
         ある。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

生存通知の状態のクリア

[書式]   clear heartbeat2
         clear heartbeat2 id RECV_ID
         clear heartbeat2 name STRING

[設定値] ○RECV_ID........ 受信設定の識別子
         ○STRING......... 文字列(1〜64文字/ASCII、1〜32文字/シフトJIS)

[説明]   受信した生存通知の情報をクリアする。

         第1書式では保持している全ての情報をクリアする。
         第2書式では指定の受信設定により受信した情報のみクリアする。
         第3書式では指定の文字列が通知名称に含まれる情報のみクリアする。

         STRINGにはASCII文字だけではなく、シフトJISで表現できる範囲の日本語文
         字(半角カタカナを除く)も使用できる。ただし、console characterコマン
         ドの設定がsjisの場合にのみ正しく動作し、他の設定では誤動作する場合が
         ある。

[ノート] Rev.8.03.80、Rev.9.00.43、Rev.10.00.46、Rev.10.01.16以降で使用可能。

設定例

アドレス不定のルーターの生存を確認する

unnumbered接続の例


SYSLOGメッセージ一覧

本機能において出力されるSYSLOGメッセージの一覧を以下に示します。なお、実際に出力される各メッセージの先頭には"[HEARTBEAT2] "というプレフィックスが付与されます。

レベル 出力メッセージ 内容
INFO Send to DEST_ADDR: NAME IP_ADDRR 自身の情報(NAMEとIP_ADDR)を含めた生存通知をDEST_ADDR宛てに送信した。
Cannot resolve the host name: FQDN 送信先に指定されたホスト名(FQDN)の名前解決ができない。
Cannot transmit: DEST_ADDR (FQDN) DEST_ADDR(FQDN)宛ての生存通知パケットが送信できない。
Received from NAME IP_ADDR NAME、IP_ADDRの情報を持つホストから生存通知を受信した。
Not received for a given period: NAME IP_ADDR NAME、IP_ADDRのルーターから監視時間内に生存通知を受信していない。
Received IP address is changed from PREV_ADDR to NEW_ADDR : NAME NAMEのルーターから通知されたIPアドレスがPREV_ADDRからNEW_ADDRへ変更された。
Resumed the receiving from NAME IP_ADDR 監視時間を超えて生存通知がない相手からの生存通知が再開され通知パケットを受信した。
DEBUG Digest is wrong : SRC_ADDR SRC_ADDRから受信した生存通知のダイジェストが不正。
Format is wrong : SRC_ADDR SRC_ADDRから受信した生存通知の内容が解析不能。
Detected duplicate session, ignored: NAME 前回の通知の複製と見られるため破棄した。

既知の不具合

  1. 生存通知の送信先ホストがFQDN指定の場合、通知できない場合がある