doc/ja/man/man8/mrouted.8
Hiroyuki Hanai 2858a409bf Now, Japanese Online manual is compatible with 2.2-980425-SNAP.
Reviewed by: The Japanese Manual Project <man-jp@jp.FreeBSD.ORG>
Submitted by: horikawa@jp.freebsd.org
1998-04-27 03:50:50 +00:00

426 lines
14 KiB
Groff

'\"COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University.
'\"%Id: mrouted.8,v 1.5.2.2 1997/02/02 01:01:50 mpp Exp %
.\" jpman %Id: mrouted.8,v 1.3 1997/07/26 22:00:11 horikawa Stab %
.TH MROUTED 8
.UC 5
.SH 名称
mrouted \- IP マルチキャストルーティングデーモン
.SH 書式
.B mrouted
[
.B \-p
] [
.B \-c
.I config_file
] [
.B \-d
[
.I debug_level
]]
.SH 解説
.I mrouted
は、RFC1075 にて規定されている Distance-Vector Multicast Routing Protocol
(DVMRP) の実装です。本コマンドは distance-vector routing protocol
(RIP に似たプロトコルであり、RFC1058 に記述されています)
を使うことで、ネットワークトポロジに関する情報を管理し、
そのプロトコルの上で、Reverse Path Multicasting と呼ばれる
マルチキャストデータグラムフォワーディングアルゴリズムを実装しています。
.PP
.I mrouted
は、マルチキャストデータグラムを、データグラムが生成されたサブネットを幹と
して樹状に構成されるパス上に、パスの最短距離を通過するようにして送出します。
マルチキャストツリーは目的のグループを含むサブネットを越えないブロード
キャストツリーと考えることができます。
したがって、データグラムはマルチキャストの受け手がいない枝には送出され
ません。
さらに、マルチキャストデータグラムパケットの生存時間によっては、到達で
きる範囲が限定される場合もあります。
.PP
IP マルチキャストをサポートしない (ユニキャスト) ルータを介したサブネット間で、
マルチキャストを実現する場合、
.I mrouted
の実装にはトンネリングのサポートも含まれます。トンネリングとは、
インターネットのあらゆるところにて稼働している
.I mrouted
の組の間で仮想的なポイントツーポイントリンクを確立する技術です。
IP マルチキャストパケットは、トンネルを通過するところでカプセル化されます。
カプセル化されたパケットは、
ルータ及びサブネットを進む通常のユニキャストデータグラムに見えます。
トンネルの入口でカプセル化が行われ、トンネルの出口でカプセルが取り外されます。
デフォルトでは、パケットは、IP-in-IP プロトコル
(IP プロトコル番号 4)
を用いることでカプセル化を
行ないます。
古いバージョンの
.I mrouted
のトンネリングは、
IP ソースルーティングを用いたものですが、
本手法はルータによっては大きな負荷をかけることになります。
本バージョンでは、IP ソースルーティングを用いたトンネリングは
サポートしません。
.PP
トンネリング機構の実装により、
.I mrouted
は、
実際のインターネットとは独立の、
マルチキャストパケットのみを扱う広範囲の自立システムに跨る
仮想インターネットを構築できます。
これを可能にすることにより、
実験的ではあるが、インターネットマルチキャストをサポートし、
(ユニキャスト)ルータによるマルチキャストルーティング
を可能にします。
.I mrouted
deistance vector ルーティングプロトコルが持つ
よく知られたスケーリングの問題の影響を被りますし、
階層的なマルチキャストルーティングを (まだ) サポートしていません。
.PP
.I mrouted
はマルチキャストルーティングのみを扱いますので、同じ機械の上でユニキャ
ストルーティングソフトが走っていてもいなくても構いません。
トンネリングを利用すれば、
.I mrouted
はマルチキャストフォーワーディングのためにひとつより多くの
物理的なサブネットにアクセスする必要がありません。
.br
.ne 5
.SH 起動オプション
.PP
"\-d" オプションが与えられないか、もしくは debug level として 0 が指定された
場合、
.I mrouted
は起動された端末から切り離されます。それ以外の場合は、
.I mrouted
は、起動された端末に残り、起動された端末からの割り込みを受け付けます。
"\-d" が引数なしで指定された場合の debug level はデフォルトの 2 です。
debug level の指定の有無にかかわらず、
.I mrouted
は常に警告メッセージやエラーメッセージを syslogd に対して送ります。
0 以外の debug level が指定された場合、以下の挙動を示します:
.IP "level 1"
すべての syslog へ出力されるメッセージは、stderr へも出力されます。
.IP "level 2"
debug level 1での挙動に加え、重要と思われる挙動通知を stderr に出力します。
.IP "level 3"
debug level 2 での挙動に加え、すべてのパケット送出/到着について stderr
に出力します。
.PP
起動にともない、mrouted はその pid を /var/run/mrouted.pid ファイルに
書き出します。
.SH 初期設定
.PP
.I mrouted
は、自動的にすべてのマルチキャスト可能なインタフェース、
つまり、IFF_MULTICAST フラグがセットされたインタフェース
(ループバックインタフェースは除きます) に対して初期化を行い、別の
.IR mrouted
に直接接続可能なインタフェースを探索します。
デフォルトの設定を上書きする、あるいは別の
.IR mrouted
に対するトンネルリンクを付加するには、
/etc/mrouted.conf (もしくは "\-c" オプションによって指定されるファイル)
を編集します。
コンフィグレーションのためには以下の 4 種類のコマンドがあります。
.nf
phyint <local-addr> [disable] [metric <m>] [advert_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>] [advert_metric <m>]
[threshold <t>] [rate_limit <b>]
[boundary (<boundary-name>|<scoped-addr>/<mask-len>)]
cache_lifetime <ct>
name <boundary-name> <scoped-addr>/<mask-len>
.fi
.PP
ファイルの形式は自由です。すなわち、空白文字 (改行も含みます) は意味を
持ちません。
.I boundary
.I altnet
オプションは必要な数だけ指定して下さい。
.PP
phyint コマンドはローカル IP アドレス <local-addr> によって認識される
物理インタフェース上のマルチキャストルーティングを無効にするか、
デフォルトでない metric あるいは threshold を
物理インタフェースに結びつけます。
ローカル IP アドレス <local-addr> はインタフェース名 (le0 等)
で代用できます。
phyint が複数の IP からなるサブネットに向けられる場合、
altnet キーワードを使用してそれぞれのサブネットについて記述して下さい。
phyint コマンドは tunnel コマンドより前に書く必要が有ります。
.PP
tunnel コマンドはローカル IP アドレス <local-addr> と
リモート IP アドレス <remote-addr> とを結ぶトンネルリンクを作り、
デフォルトでない metric あるいは threshold をそのトンネルに結びつけます。
ローカル IP アドレス <local-addr> はインタフェース名(le0 等)で
置き換えても構いません。
リモート IP アドレス <remote-addr> は、
ホスト名に結びつけられた IP アドレスが 1 つである場合に限り、
ホスト名で置き換えても構いません。
双方のルータの mrouted.conf ファイルにおいて、
そのトンネルが使用される前に記述されている必要があります。
.PP
cache_lifetime はキャッシュされたマルチキャスト経路がタイムアウトまで
に kernel 内にどれだけ保持されるかを定めます。この変数は 300 (5 分) か
ら 86400 (1 日) の間がいいでしょう。デフォルトは 300 です。
.PP
設定をキーワードを用いて簡単に行うために、境界に名前をつけることもでき
ます。phyint あるいは tunnel コマンドの boundary オプションは
名前もしくは boundary のいずれかを受け付けます。
.PP
metric は与えられたインタフェースかトンネルへデータグラムを送るため
の "コスト" です; 経路の選択に影響を与えます。
デフォルト値は 1 です。metric は可能なかぎり小さくすべきです。
なぜなら、
.I mrouted
は metric の合計が 31 を越える経路を通ることができないからです。
.PP
advert_metric は、与えられたインタフェースもしくは tunnel に関連する
"コスト" です;
これは経路選択に影響します。
advert_metric のデフォルト値は 0 です。
リンクの実際の metric は一端の metric ともう一端の advert_metric との和です。
.LP
threshold は最小の IP の生存時間であり、
この要件を満たすマルチキャストデータグラムは
指定されるインタフェースもしくはトンネルを転送されます。
このパラメータによりマルチキャストデータグラムの到達範囲が定められます。
(転送されたパケットの TTL は threshold と比較するだけで、
threshold だけ TTL を減らしたりはしません。
すべてのマルチキャストルータは TTL を 1 づつ減らします。)
デフォルト値は 1 です。
.LP
特定のサブネットやトンネルへ接続する
.IR mrouted
は、一般的にはすべて同じ metric と threshold を持ちます。
.PP
rate_limit オプションによって、ネットワークの管理者はマルチキャスト
トラフィックのために何キロビット毎秒のバンド幅をわりあてればよいかを指定
できます。デフォルト値は、トンネルは 500Kbps、
物理インタフェースは 0 (無制限) です。
.PP
boundary オプションは、ある範囲のアドレスに対して、管理可能な境界を設
定します。この範囲のアドレスに属するパケットは範囲内のインタフェース
には転送されません。boundary オプションは名前もしくは境界にて指定します。
.PP
.I mrouted
は 2 つ以上の有効な vif (仮想インタフェース) が無いときには実行を開始しません。
vif はマルチキャスト可能な物理インタフェースもしくはトンネルです。
全ての仮想インタフェースがトンネルの場合は警告が記録されます;
そのような
.I mrouted
の設定は、より多くの直接トンネルを指定した方が良いかもしれません
(中間管理者を削除するという意味です)。
.SH 設定例
.PP
以下は大きな学校にある架空のマルチキャストルータでの例です。
.sp
.nf
#
# mrouted.conf example
#
# Name our boundaries to make it easier
name LOCAL 239.255.0.0/16
name EE 239.254.0.0/16
#
# le1 is our gateway to compsci, don't forward our
# local groups to them
phyint le1 boundary EE
#
# le2 is our interface on the classroom net, it has four
# different length subnets on it.
# note that you can use either an ip address or an
# interface name
phyint 172.16.12.38 boundary EE altnet 172.16.15.0/26
altnet 172.16.15.128/26 altnet 172.16.48.0/24
#
# atm0 is our ATM interface, which doesn't properly
# support multicasting.
phyint atm0 disable
#
# This is an internal tunnel to another EE subnet
# Remove the default tunnel rate limit, since this
# tunnel is over ethernets
tunnel 192.168.5.4 192.168.55.101 metric 1 threshold 1
rate_limit 0
#
# This is our tunnel to the outside world.
# Careful with those boundaries, Eugene.
tunnel 192.168.5.4 10.11.12.13 metric 1 threshold 32
boundary LOCAL boundary EE
.fi
.SH シグナル
.PP
.I mrouted
は以下のシグナルに反応します。
.IP HUP
.I mrouted
を再スタートします。
設定ファイルは再度読み込まれます。
.IP INT
後かたづけをしてから実行終了します
(たとえば、隣接するルータすべてにさよならのメッセージを送ります)。
.IP TERM
INT と同じです。
.IP USR1
内部ルーティングテーブルを /var/tmp/mrouted.dump にダンプし
ます。
.IP USR2
内部キャッシュテーブルを /var/tmp/mrouted.cache にダンプしま
す。
.IP QUIT
内部ルーティングテーブルを stderr にダンプします。
ただし、
.I mrouted
0 以外の debug level の時のみです。
.PP
シグナルを送る際の便宜のために、
.I mrouted
は開始時に自身の pid を /var/run/mrouted.pid に書き出します。
.bp
.SH 使用例
.PP
ルーティングテーブルは以下のようになります:
.nf
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*
.
.
.
.fi
この例では、4 つの vif が 2 つのサブネットと
2 つのトンネルにつながっています。
vif 3 がつながったトンネルは使われていません
(peer アドレスが有りません)。
vif 0 と vif 1 がつながったサブネットには
いくつかのグループが有ります;
トンネルにはグループは有りません。
この例の
.I mrouted
は、"querier" フラグが示すように、
定期的なグループメンバシップクエリを vif 0 および vif 1 サブネットにて
送出する責任が有ります。
境界のリストは当該インタフェースのアドレス範囲が示されます。
入力及び出力パケット数が各インタフェースに対して示されます。
.PP
マルチキャストデータグラムの起源となりうるサブネットに関連して
表示される情報は、
直前のホップのルータのアドレス(サブネットが直接接続されていない場合)、
起源までのパスのメトリック、
当該サブネットから最後に更新を受信してから経過した時間、
当該起源からのマルチキャストが入力される vif、
出力 vif 一覧です。
"*" は、
起源を根とするブロードキャストツリーの葉に、
当該出力 vif が接続していることを意味します。
宛先グループのメンバが当該葉にいる時のみ、
当該起源からのマルチキャストデータグラムを当該出力 vif からフォワードします。
.bp
.PP
.I mrouted
はカーネル内のフォワーディングキャッシュテーブルも管理します。
エントリの生成及び削除は
.I mrouted
が行います。
.PP
キャッシュテーブルは以下のようなものです:
.nf
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
.fi
各エントリは起源のサブネット番号、マスク、宛先マルチキャストグループにて
区別します。
'CTmr' フィールドは当該エントリの生存時間を表します。
このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます。
'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。
キャッシュエントリはリフレッシュされるため、
当該エントリに関するトラフィックが続く限りルーティングエントリは生き残ります。
'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、
そうでないばあいには上流の枝刈がタイムアウトするまでの時間を表します。
'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif
を表します。
各ルータは特定のソース及びグループに関し、
隣接するルータより受信する枝刈数の記録も管理します。
あるサブネットに関してマルチキャストツリーの下流の枝において
マルチキャストグループのメンバが存在しない場合、
上流のルータに対して枝刈メッセージが送信されます。
この場合、vif 番号の後に "P" が付けられます。
'Forwvifs' フィールドは
ソースグループに属するデータグラムがフォワードされる
インタフェースを表します。
"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない
ことを表します。
リストされないインタフェースは葉のサブネットであり、
特定のグループのメンバを当該サブネットに持ちません。
インタフェースにおける "b" の表示は、
当該インタフェースが境界インタフェースであることを表します。
すなわち、範囲内のアドレスのトラフィックは
当該インタフェースを介してフォワードされないことを意味します。
">" を最初の文字として表示する追加の行は、当該サブネット上のソースと表します。
一つのサブネット上に複数のソースが存在可能であることに注意して下さい。
.SH 関連ファイル
/etc/mrouted.conf
.br
/var/run/mrouted.pid
.br
/var/tmp/mrouted.dump
.br
/var/tmp/mrouted.cache
.SH 関連項目
.BR mrinfo (8) ,
.BR mtrace (8) ,
.BR map-mbone (8)
.sp
DVMRP は、
他のマルチキャスト経路制御アルゴリズムと共に、
ACM SIGCOMM '88 コンファレンスのプロシーディングに、
S. Deering が
"Multicast Routing in Internetworks and Extended LANs"
として記述しています。
.SH 作者
Steve Deering, Ajit Thyagarajan, Bill Fenner