PGM(Pragmatic General Multicast)の概要

 

1999年12月21日
任 俊学

1.はじめに

実用的な一般マルチキャスト(PGM:Pragmatic General Multicast、以下PGM)(元 Pretty Good Multicast)は1998年1月internet DraftでCisco Systems によっては じめて公式文章化され、1998年2月にIRTFのReliable Multicast Research Groupの 集会で始めて発表された。

2.PGMの特性

PGMは順序、非順序そして同じパケットが重複しない事を要求のアプリケーションをための高信頼性マルチキャスト転送プロトコルである。マルチキャストデータは複数の発信者から複数の受信者に運ばれる。PGMはmembershipの概念を待たないため、いつでもグループの中に受信者入出が可能であり、入出際にはグループのどの要素にも知らせる必要がない。PGMはグループに入っている間、受信者は全てのデータまたは修正されたデータを受信する事あるいは損失したデータを取り戻しできない 事を検出できるのを保証する。 以降の本文章ではtransport-layerでPGM データ パケットの発信者をソース、 transport-layerで消費者を受信者と呼ぶ。

3.PGMのパケット

 ◆ ODATA オリジナル内容のデータ、ソースからrouterを経由して受信者に向かってマルチキャストで運ばれる。
  ◆ SPM:ソースパスmessage ODATA パケットに挟まれ、ソースから定期的に発送される。
  ◆ NAK 選択的な否定の認識、受信者から発生されrouterを経由してソースに向かってunicastで運ばれる。
  ◆ NCF: NAKの確認、NAKを受け取ったPGM routerがら下の木構造に向かってマルチキャストで運ばれる。
  ◆ RDATA: 再伝送(修正)、ソースあるいはDLR(designated local repairer)からrouterを経由してNAKを発生した発信者に向かってマルチキャストされる。

各々のPGM packetは複数のsessionとソースを識別するためにTSI(Tranport session identifier)入っている。これによって、PGMを認知できるrouter(以下PGM router)と受信者は容易に複数のsessionと複数のrouterを区別できる。

4.全般的なパケットの流れ

ソースはデータpacket(ODATA)順序に木構造の下向きにマルチキャストする。こ
の時、定期的にSPMをODATAに挿入することによって、ソースパスの状態(source
のaddressと木構造における上方向に自分から一番近いPGM router のaddress)を
PGMネットワークの要素に確立させる。またSPMはsequenceの最後の番号を受信者
にしらせる役割もある。PGM routerはこのODATAを単に木構造の下向きマルチキャ
ストするだけであり、ODATAは受信者まで来てはじめて解釈される。


図1.PGMの動き1:SPMによるsource pathの状態確立



受信者がsequence番号を調べpacketの欠損が見つけると自分から木構造で一番近いPGMrouterにNAKをunicastで送る。この時unicast先の決定などはSPMによって確立されたソースパス状態から決まられる。PGM routerはNAKを受けとると下向きのNAKを送ったinterfaceに対してNCFをマルチキャストする事によってNAKの発生を押える。そして受け取ったNAKを上向きにunicastでforwardする。PGMrouterはNAKを受け取ってから木構造での上からNCFまたはRDATAを受け取る間(修正状態)、木構造の下からの全ての同じNAKを無視する事によってNAKの爆発的な増加を防ぐ。一方NAkを送った受信者はNCFあるいはRDATAが届くまである一定期間の間定期的にNAKを送り続ける。期間が過ぎてもNAKが来ないと修正不能である事が分かる。木構造の上にNAKをunicastしたPGM routerもNCFあるいはRDATAが届くまである一定期間の間定期的にNAKを送り続ける。これによってNAK,NCF損失による不具合を防ぐことができる。

 

図2.PGMの動き2:NAK、NCFの流れ


このようにしてsourceにNAKが届くとtransmit windowにデータがある場合それをRDATAとしてrouterを経由して発信者向けにマルチキャストする。上記のようにPGM routerは全てのpacketを解釈なしに単に伝送するので、ネットワークの要素の中でPGMを知らないrouterが混ざってもうまくPGMが動作する。

5.OPTION

5.1 Fragment

Fragmentはソースのtransport-layerでapplication protocol データを複数のPGM dataすることを許容する。従って、fragmentation optionはODATAとRDATAで適用できる。

5.2 Late Joining

受信者sessionの途中にが最初に接続した時今までのデータを受信する事を許容する。

5.3 Time Stamp

time stamp はNAKと結合して使われ、受信者が自分と関連がある要求されたRDATAとの間隔を詳細かする事を許容する。この間隔をネットワークの要素とソース両方で解釈され、与えられた修正を引続き処理するか放棄するかを決定する。

5.4 Reception Quality

受信質の報告はNAKと結合して使用され、受信者がメートルで受信の質をソースに提供する事を許容する。

5.5 Sequence Number Dropout

data packetと結合して利用され、ソースとネットワークの要素が選択的にPGMデータパケットを消除して、受信者に運ぶ。

5.6 Redirect

redirectionはNCFと結合して使用され、普通のNCFに指名ローカル修復機(DLR:Designated Local Repairer)のアドレス入れたredirectNCF応答し、ソースののアドレス変わりにDLRのアドレスを知らせる。これにより、下の木構造から来るNAKがDLRに向かい、DLRはそのRDATAを持っている場合ソースに変わってそのRDATAを受信者向けに送る。そしてフロー制御のために、NUllNAKをソース側に送る。

図3.DLRの動き1:Redirect NCFの伝送

図4.DLRの動き2:NAKがDLR向きに伝送される

図5.DLRの動き3:RDATAの伝送


6.参考文献

1.RELIABLE MULTICAST APPLICATIONS AND TECHNOLOGY
2.draft-miller-mftp-spec-03.txt
3.http://www.shio.org/rm/199908tutorial

Home pgm