mrouted デーモン

目的

マルチキャスト・データグラムを転送します。

構文

/usr/sbin/mrouted [ -p ] [ -c Config_File ] [ -d [ Debug_Level ] ]

説明

mrouted デーモンは、AIX にインプリメントされた Distance Vector Multicast Routing Protocol (DVMRP) です。 前のバージョンは RFC 1075 に指定されています。 mrouted は、距離ベクトル経路指定プロトコル (RFC 1058 で説明した RIP のような) を使用して、トポロジー情報を管理します。 mrouted は、このプロトコルに基づいて Reverse Path Multicasting というマルチキャスト・データグラム転送アルゴリズムをインプリメントします。

mrouted デーモンは、マルチキャスト・データグラムを、 そのデータグラムの発信元であるサブネットをルートとする最短のパス・ツリー (逆ツリー) により転送します。 マルチキャスト送達ツリーは、宛先グループのメンバーを持つサブネットワークの範囲を超えないように余分な部分が取り除かれたブロードキャスト送達ツリーであると考えられます。 したがって、データグラムは、マルチキャスト・グループのリスナーを持たないブランチには転送されません。 マルチキャスト・データグラムの IP 存続時間に基づいて、マルチキャスト・データグラムの範囲を限定できます。

IP マルチキャストをサポートしていない (ユニキャスト) ルーターによって分離されるサブネット間の マルチキャストをサポートするために、mrouted デーモンはインターネットの いずれかの場所にある対の mrouted デーモンの間の仮想 2 地点間リンク であるトンネルをサポートしています。 IP マルチキャスト・パケットは、トンネルを介して送信するためにカプセル化されます。したがって、 それらのパケットは、介在する側のルーターやサブネットからは典型的なユニキャスト・データグラムに見えます。 カプセル化されたパケットは、トンネルに入った時点で追加され、トンネルを抜けたときに取り除かれます。 デフォルトでは、パケットは、IP-in-IP プロトコル (IP プロトコル番号 4) を使用してカプセル化されます。 旧バージョンの mrouted トンネルは IP 送信元経路指定を使用しています。この場合、一部のタイプのルーターに高い負荷がかかることがあります。 旧バージョンは、 IP 送信元経路によるトンネル処理をサポートしていません。

トンネル処理機能により、mrouted デーモンは、マルチキャストのみを目的として仮想インターネットを確立することができます。 この仮想インターネットは物理インターネットから独立しており、複数の自律システムにまたがることができます。 この機能は、インターネット・マルチキャストに関する実験的なサポートのみを目的としたもので、通常の (ユニキャスト) ルーターによるマルチキャスト経路指定の幅広いサポートは実現していません。 mrouted デーモンには、距離ベクトル経路指定プロトコルについてよく知られているスケーリングの問題があり、階層マルチキャスト経路指定のサポートはありません。

mrouted デーモンは、マルチキャスト処理が可能なすべてのインターフェース (IFF_MULTICAST フラグ・セットを持つインターフェース、ループバック・インターフェースを除く) 上で転送を行うようにそれ自体を自動構成し、それらのインターフェースを使用して直接到達可能な他の mrouted デーモンを探し出します。

mrouted デーモンは、物理的なマルチキャスト処理が可能なインターフェース かトンネルのいずれかの仮想インターフェース (Vif) が 2 つ以上使用できる状態になっていないと 実行を開始しません。 mrouted デーモンは、その仮想インターフェースがすべてトンネルである場合に警告をログに記録します。 このような mrouted デーモンの構成は、より直接的なトンネルに置き換えることにより改善されます。

mrouted デーモンは、マルチキャスト経路指定のみ を扱います。mrouted デーモンと同じマシンには、ユニキャスト経路指定 ソフトウェアが実行されている場合もあります。 トンネルを使用する場合、mrouted デーモンがマルチキャスト転送を実行する ために複数の物理サブネットにアクセスする必要はありません。

フラグ

項目 説明
-c Config_File Config_File 変数で指定された代替構成ファイルを使用して mrouted コマンドを開始します。

構成エントリーには次の 5 つのタイプがあります。

phyint local-addr [disable] [metric m] [threshold t] [rate_limit b]
[boundary (boundary-name|scoped-addr/mask-len)] [altnet
network/mask-len]

tunnel local-addr remote-addr
 [
metric m
] [
threshold t
] [
rate_limit b
]


[
boundary
 (
boundary-name
 | 
scoped-addr
/
mask-len
)]


cache_lifetime ct
   
pruning off
|
on
   
name boundary-name scoped-addr
/
mask-len
-d デバッグ・レベルを設定します。 -d オプションが指定されていない場合、 あるいはデバッグ・レベルが 0 に指定されている場合、mrouted デーモンは 呼び出し側の端末から切り離されます。 それ以外の場合は、mrouted は呼び出し側の端末に接続されており、その端末からのシグナルに応答します。 -d が引数なしで指定されると、デバッグ・レベルはデフォルトの 2 に 設定されます。デバッグ・レベルに関係なく、mrouted デーモンは、 常に警告メッセージおよびエラー・メッセージをシステム・ログ・デーモンに書き込みます。 ゼロ以外のデバッグ・レベルには、次のような効果があります。
level 1
すべてのシステム・ログ・メッセージも stderr に出力されます。
level 2
すべてのレベル 1 メッセージと、重要なイベントの通知が stderr に対して出力されます。
level 3
すべてのレベル 2 メッセージと、すべてのパケットの着信と発信の通知が stderr に対して出力されます。

始動時に、mrouted デーモンは、その pid をファイル /etc/mrouted.pid に書き込みます。

-p プルーニングをオフにします。 デフォルトでは、プルーニングが使用可能になっています。

シグナル

次のシグナルを mrouted デーモンに送信することができます。

項目 説明
HUP mrouted デーモンを再始動します。 このシグナルが呼び出されるたびに、構成ファイルが再度読み込まれます。
INT 実行を正常に終了します (つまり、隣接するすべてのルーターに終了のメッセージを送って)。
TERM INT と同様です。
USR1 内部経路指定テーブルを /usr/tmp/mrouted.dump にダンプします。
USR2 内部キャッシュ・テーブルを /usr/tmp/mrouted.cache にダンプします。
QUIT 内部経路指定テーブルを stderr にダンプします (mrouted デーモンがゼロ以外のデバッグ・レベルで呼び出された場合)。

シグナルの送信における便宜上、mrouted デーモンは、始動時に その pid を /etc/mrouted.pid に書き込みます。

  1. 経路指定テーブル情報を表示するには、次のように入力します。
    kill -USR1 *cat /etc/mrouted.pid*
    これにより、以下の出力が生成されます。
    Virtual Interface Table
     Vif Local-Address                    Metric   Thresh   Flags 
      0  36.2.0.8     subnet: 36.2           1        1     querier  
                      groups: 224.0.2.1 
                              224.0.0.4 
                     pkts in: 3456 
                    pkts out: 2322323
       
      1  36.11.0.1    subnet: 36.11          1        1     querier
                      groups: 224.0.2.1 
                              224.0.1.0 
                              224.0.0.4 
                     pkts in: 345 
                    pkts out: 3456
       
      2  36.2.0.8     tunnel: 36.8.0.77       3        1     
                       peers: 36.8.0.77 (2.2) 
                  boundaries: 239.0.1 
                            : 239.1.2 
                     pkts in: 34545433 
                    pkts out: 234342
       
      3  36.2.0.8     tunnel: 36.6.8.23       3        16
       
    Multicast Routing Table (1136 entries) 
     Origin-Subnet    From-Gateway         Metric Tmr In-Vif Out-Vifs
     36.2                                 1    45  0     1* 2 3* 
     36.8             36.8.0.77            4    15  2     0* 1* 3*
     36.11                                1    20  1     0* 2 3* 
     .
     .
     .
    この例では、2 つのサブネットと 2 つのトンネルに接続する 4 つの仮想インターフェースがあります。 Vif 3 トンネルは使用されていません (ピア・アドレスがない)。Vif 0 サブネットおよび Vif 1 サブネットには、 いくつかのグループがあります。トンネルにはグループはありません。mrouted デーモンのこのインスタンスは、querier フラグで示される Vif 0 サブネット および Vif 1 サブネットに関するグループ・メンバーシップ照会を定期的に送信する役割を担っています。 境界のリストは、そのインターフェース上の範囲指定されたアドレスを示します。 また、着信パケットおよび発信パケットの no. (番号) のカウントについてもそれぞれのインターフェースで示されます。

    マルチキャスト・データグラムの発信元となり得る各サブネットに関連するものとして、 前のホップ・ルーターのアドレス (サブネットが直接接続されない場合)、発信元に戻されるパスの メトリック、このサブネットの更新を最後に受信してから経過した時間、その発信元からの マルチキャストのための着信仮想インターフェース、および発信仮想インターフェースのリストがあります。 * (アスタリスク) は、発信仮想インターフェースが発信元をルートとするブロードキャスト・ツリーの リーフに接続されていて、そのリーフ上に宛先グループのメンバーがある場合にのみ、その発信元からの マルチキャスト・データグラムがその発信仮想インターフェースに関して転送されることを意味します。

    また、mrouted デーモンは、カーネル転送キャッシュ・テーブルのコピーも 保守します。エントリーは mrouted デーモンによって作成および削除されます。

  2. キャッシュ・テーブル情報を表示するには、次のように入力します。
    kill -USR2 *cat /etc/mrouted.pid*
    これにより、以下の出力が生成されます。
    Multicast Routing Cache Table (147 entries)
     Origin         Mcast-group      CTmr   Age  Ptmr  IVif  Forwvifs
     13.2.116/22    224.2.127.255      3m    2m    -    0     1
     >13.2.116.19 
     >13.2.116.196  
     138.96.48/21   224.2.127.255      5m    2m    -    0     1
     >138.96.48.108 
     128.9.160/20   224.2.127.255      3m    2m    -    0     1
     >128.9.160.45 
     198.106.194/24 224.2.135.190      9m    28s   9m    0P
     >198.106.194.22
    各エントリーは、発信元サブネットの番号とマスク、宛先マルチキャスト・グループに特徴があります。 CTmr フィールドは、そのエントリーの存続時間を示します。 タイマーがゼロに減少すると、エントリーはキャッシュ・テーブルから削除されます。 経過時間フィールドは、このキャッシュ・エントリーが最初に作成されてから経過した時間です。 トラフィックが流れているとキャッシュ・エントリーがリフレッシュされるため、 経路指定エントリーが非常に古くなる可能性があります。Ptmr フィールドは、 枝取りが上流に送られなかった場合はハイフンで、送られた場合は、アップストリーム枝取りが タイムアウトになるまでに経過した時間です。 Ivif フィールドは、その着信元からのマルチキャスト・パケットの 着信仮想インターフェースを示します。 各ルーターは、特定のグループおよび送信元に関して、隣接するルーターから受信した枝取りの数のレコードも保持します。 サブネットのマルチキャスト・ツリーのいずれかの下位リンクにマルチキャスト・グループのメンバーがいない場合、枝取りメッセージはアップストリーム・ルーターに送られます。 これらは、仮想インターフェース番号の後ろに P を付けて示されます。 Forwvifs フィールドは、送信元グループに属するデータグラムが転送されるインターフェースを示します。 p は、そのインターフェースを介して転送されるデータグラムがないことを示します。 表示されていないインターフェースは、そのサブネット上の特定のグループのメンバーでないリーフ・サブネットです。 インターフェース上の b は、それが境界インターフェースであることを示しています。つまり、そのインターフェースの範囲指定されたアドレス上ではトラフィックが転送されません。 先頭文字として > (より大記号) の付いた追加行が、サブネット上の各送信元ごとに出力されます。 1 つのサブネットに多数の送信元がある場合もあります。

ファイル

項目 説明
/etc/mrouted.conf mrouted デーモンの構成情報が入っています。
/usr/tmp/mrouted.dump mrouted デーモンの内部経路指定テーブルが入っています。
/etc/mrouted.pid mrouted デーモンのプロセス ID が入っています。
/usr/tmp/mrouted.cache mrouted デーモンの内部キャッシュ・テーブルが入っています。