DVMRP【Distance Vector Multicast Routing Protocol】

広告

広告

DVMRPとは

最終更新
2006-03-21T12:23:00+09:00
この記事のURI参照
https://www.7key.jp/nw/routing/r_protocol/dvmrp.html#what

DVMRPは、ユニキャストルーティングRIPと同様、距離ベクトル方式をとるマルチキャストルーティングプロトコルです。マルチキャストルータ間で、ホップアカウント情報や宛先ノードネットワークアドレス情報、ソースノード情報などを交換するために使用されます。DVMRPはIGPで、マルチキャスト環境専用となっています。マルチキャストデータグラムとユニキャストデータグラムのルーティングを行うルータがDVMRPを使う場合は、DVMRPとRIPやOSPFなど他のIGPを両方実装する必要があります。DVMRPプロセスは、配下のリーフノードにパケットを転送します。DVMRPルータのアドレスは、224.0.0.4となり、ルーティングデータグラムの交換にはIGMPが使用されます。下に一般的なDVMRPフォーマットを示します(括弧内単位はbit)。

DVMRPメッセージフォーマット
V
(4)
T
(4)
Subtype
(8)
Checksum ( 16 ) 
DVMRP データ(可変長)
V:Version
プロトコルのバージョンを示すもので、現在は1です。
T:Type
DVMRPパケットでは必ず3となります。
Subtype
DVMRPメッセージのタイプを示します。
DVMRPのSubtype
Subtype説明
1応答。宛先へのルートをもつメッセージ。
2要求。宛先へのルートを要求するメッセージ。
3非メンバーシップ報告。
4非メンバーシップ取消。以前に出した非メンバーシップ報告を取り消すメッセージ。
Checksum
チェックサム。メッセージ全体の1の補数和の合計の1の補数。
DVMRPデータ
タグ付きデータ。最大508オクテット(512オクテットから固定長4オクテットを引いたもの)。どの要素にも先頭に独自のオペレーションコードか識別子が付く。どのタグ付きデータフィールドも必ず16bitの倍数で、8bitの数値コマンドコードと、少なくとも8bitのデータ部から構成される。どの要素も16bit境界に揃えることが必要である。
DVMRPコマンドフォーマット
コマンドコードデータ(最小8bit)コマンドによって異なるオプションデータ

DVMRPコマンド

最終更新
2006-03-12T17:13:00+09:00
この記事のURI参照
https://www.7key.jp/nw/routing/r_protocol/dvmrp.html#command

Nullコマンド(コマンドコード0)

Nullコマンドは32bit境界に揃えなければならない場合に使うパディング用コマンドです。8bitのデータフィールドを持っていますが、これは無視されます。オプションデータフィールドは使われません。

アドレスファミリーインジケータコマンド(コマンドコード2)

AFI【Address Family Indicator】コマンドとも呼ばれます。アドレスクラスの指定に使われるコマンドです。これによって使用アドレスの長さが決まります。このコマンドで設定されたアドレスクラスは、データストリームで次のAFIコマンドが読み出されるまで有効となります。初期設定では、データフィールドはIPアドレス(32bitアドレス)を示す2に設定されています。オプションデータフィールドは不要です。

サブネットマスクコマンド(コマンドコード3)

使用するサブネットマスクを示すコマンドです。データフィールドの値は0か1かのどちらかをとります。0であればサブネットマスクが適用されないことを示し、1であれば次のフィールドにサブネットマスクが入れられていることを示します。サブネットマスクの長さはAFIが示します。AFIが2であれば次のフィールドは32bitの長さとなり、そのネットワークアドレスに使用するサブネットマスクが入れられます。

メトリックコマンド(コマンドコード4)

更新情報を送るルータを起点として、ホップカウントによるメトリックを使用します。データフィールドに入るメトリックは1から255までの値となります。オプションデータフィールドはありません。

Flags0コマンド(コマンドコード5)

このコマンドは無限大メトリックとなったルートについて、さらに情報を提供する手段とされるコマンドです。このコマンドではデータフィールドの8bitが8種類のフラグを表します。現在は6と7の2つが定義されており、7の場合は宛先が到達不能であることを、6の場合はスプリットホライズンルートを隠していることを意味します。

無限大コマンド(コマンドコード6)

このコマンドにより、データストリーム内にある他の全てのメトリックについて無限大メトリックが決まります。データフィールドは無限大メトリックで、1から255までの値をとります。初期設定はRIPと同様16となっています。

宛先アドレスコマンド(コマンドコード7)

DA【Destination Address】コマンドとも呼ばれます。このコマンドにより、宛先ネットワークのリスト作成が可能となります。データフィールドには1から255までの宛先数が置かれ、オプションデータフィールドで示される宛先の数となっています。IPの場合AFIコマンドが示すようにオプションデータフィールドはどれも32bit長になります。宛先の最大数はメッセージの全長制限で決まり、どのメッセージも512オクテットを超えることはありません。

要求宛先アドレスコマンド(コマンドコード8)

RDA【Requested Destination Address】コマンドとも呼ばれます。ルートを必要とする宛先のリストを提供します。データフィールドに入るのは指定されたアドレスの数で、0から255までの値をとります。0は全てのルートへの要求を示します。個々のルートが要求される場合、それぞれのルートがオプションデータフィールドに示され、IPアドレスでは32bitとなります。DAコマンド同様、実際に指定できるルートの数は、メッセージの最大長の制限があるのでAFIの指定によって決定されます。

非メンバーシップ報告コマンド(コマンドコード9)

NMR【Non Membership Report】コマンドとも呼ばれます。特定のマルチキャストグループを利用するホストを送信側ルータがもたないことを、受信側に伝えます。つまり、その特定のグループ宛のデータは送信する必要がありません。データフィールドに入るのは1から255までの値で、マルチキャストアドレスと持続時間タイマーの対の数を表します。オプションデータフィールドには、AFIコマンドが示す長さのマルチキャストアドレスと持続時間タイマーの対が続きます。これは、不要となったホストグループのマルチキャストアドレスと、この非メンバーシップ報告が有効な接続時間の秒数です。

非メンバーシップ報告取り消しコマンド(コマンドコード10)

このコマンドにより、以前出したNMRコマンドを取り消すことが出来ます。データフィールドに入る数値は次のオプションデータフィールドに入るマルチキャストアドレスの数です。オプションデータフィールドのそれぞれは、どれも現在のAFIコマンドが示す長さです。

DVMRPの特徴と動作

最終更新
2006-03-21T15:46:00+09:00
この記事のURI参照
https://www.7key.jp/nw/routing/r_protocol/dvmrp.html#work

DVMRPプロセスは、配下のリーフノードパケットを転送します。DVMRPルータのアドレスは「224.0.0.4」で、ルーティング情報の交換にはIGMPを使用します。この際、マルチキャストルータは、IP生存時間を1に設定したIGMP要求を全マルチキャストグループ224.0.0.1)に送り、応答を待ちます。RIPは特定の宛先へルーティングを行いますが、DVMRPはデータグラム伝送のリターンパスを保存し、マルチキャストツリーをリターンパスで作成します。DVMRPは通常の物理的なネットワークの他に、トンネルで連結されたネットワークを含みます。トンネルはマルチキャストをサポートしていないネットワークの中を、マルチキャストデータグラム通過させるために使用します。このトンネルでは、ユニキャストデータグラムが使用され、両端のルータ間で通信が行われることとなります。

仮想ネットワークへのデータグラム転送に責任を持つルータが仮想ネットワークの親となり、配下にあるルータの子が仮想ネットワークの情報をリバースパスでブロードキャストします。これをRPB【Reverse Path Broadcasting】と呼びます。

DVMRPにはマルチキャストメンバーとマルチキャストルータの2種類の受信者があり、マルチキャストパケットを物理的発信元からリバースの最短パスで転送します。転送の際に、メンバーのいない仮想ネットワークへのデータグラム転送を防ぐために、TRPB【Truncated Reverse Path Broadcasting】が考えられました。TRPBの動作は次のようになっています。

  1. データを転送されたマルチキャストルータは、宛先へのツリー上の各自の位置を確かめ、最短パスツリーの仮想インターフェイスを決める。
  2. 仮想インターフェイス上にデータグラムを転送する。ただし、最短パスツリーにない仮想インターフェイスについては排除する。
  3. 宛先方向にこれ以上マルチキャストルータが無い場合、その仮想ネットワークは最終ネットワークとなる。最終ネットワークにメンバーがいなければ親ルータはマルチキャストデータグラムを送信しないか、マルチキャストツリーを切り詰める動作を行う。各ルータはこの情報を記録し、使用する。

補足知識

最終更新
2006-03-12T16:32:00+09:00
この記事のURI参照
https://www.7key.jp/nw/routing/r_protocol/dvmrp.html#supplement

広告

当ページ作成にあたり、参考にさせてもらったリソース

Copyright (C) 2006 七鍵 key@do.ai 初版:2006年03月12日 最終更新:2006年03月21日