(57)【要約】【課題】移動ノードがサブネットワーク間を移動するときに発生するマルチキャストパケットの喪失を低減し、データ転送品質を向上する。【解決手段】移動ノード３０１が少なくともサブネットワーク間を移動するまでに送信するマルチキャストグループへの参加指示を受信すると、このマルチキャストグループへの参加要求を送信する参加要求手段と、移動ノード３０１が前記サブネットワーク間を移動したときに送信する、前記移動ノードの移動先サブネットワークにおける気付アドレスを含む位置登録情報を受信すると、その後受信される前記マルチキャストグループに対応したマルチキャストパケットを、所定の期間、前記気付アドレス宛に転送するパケット転送手段とを有するようにパケット中継装置１１０を構成する。【選択図】            図１
2004304644.tif 000002
【特許請求の範囲】
【請求項１】
移動ノードが少なくともサブネットワーク間を移動するまでに送信するマルチキャストグループへの参加指示を受信すると、前記マルチキャストグループへの参加要求を送信する参加要求手段と、
前記移動ノードが前記サブネットワーク間を移動したときに送信する、前記移動ノードの移動先サブネットワークにおける気付アドレスを含む位置登録情報を受信すると、その後受信される前記マルチキャストグループに対応したマルチキャストパケットを、所定の期間、前記気付アドレス宛に転送するパケット転送手段とを有することを特徴とするパケット中継装置。
【請求項２】
前記パケット転送手段は、前記移動ノードが送信する転送停止指示を受信すると、前記マルチキャストパケットの転送を停止することを特徴とする請求項１記載のパケット中継装置。
【請求項３】
前記パケット転送手段は、前記移動ノードが送信する前記所定の期間を示す期間指定情報を受信すると、前記期間指定情報に基いて前記マルチキャストパケットの転送期間を決定することを特徴とする請求項１記載のパケット中継装置。
【請求項４】
マルチキャストパケットの配信機能を有する中継装置にマルチキャストグループへの参加要求を送信し、前記中継装置が受信し配信する前記マルチキャストグループに対応するマルチキャストパケットを受信する移動ノードであって、
少なくともサブネットワーク間を移動する前に、自身の気付アドレスを含む位置登録情報の送信先である位置登録先中継装置に対して、マルチキャストグループへの参加指示を送信する参加指示手段と、
該マルチキャストグループに参加しているときにサブネットワーク間を移動すると、前記位置登録先中継装置がその後受信する該マルチキャストグループに対応したマルチキャストパケットを、所定の期間、前記移動ノードの移動後の気付アドレスに転送させる転送要求を前記位置登録先中継装置に送信する転送要求手段を有することを特徴とする移動ノード。
【請求項５】
新たにマルチキャストグループに参加するときに、自身の属するサブネットワーク内の中継装置に前記マルチキャストグループへの参加要求を送信するとともに、
前記参加指示手段が前記位置登録先中継装置に対して、前記マルチキャストグループへの参加指示を送信することを特徴とする請求項４記載の移動ノード。
【請求項６】
マルチキャストグループへの参加要求を送信後、該参加要求に基いた前記マルチキャストグループに対応したマルチキャストパケットを受信すると、
前記位置登録先中継装置によるマルチキャストパケットの転送停止指示を前記位置登録先中継装置に送信する転送停止指示手段を有することを特徴とする請求項４記載の移動ノード。
【請求項７】
移動先のサブネットワークがマルチキャストパケットの配信機能を持つときには、前記所定の期間として所定の期間を示す情報を前記位置登録先中継装置に対して送信し、
移動先のサブネットワークがマルチキャストパケットの配信機能を持たないときには、前記所定の期間として継続して転送させることを示す情報を前記位置登録先中継装置に対して送信する期間指定手段を有することを特徴とする請求項４記載の移動ノード。
【請求項８】
マルチキャストパケットを受信する移動ノードが、移動先のサブネットワークがマルチキャストプロトコルに対応しているサブネットワークであるか否かを前記移動ノードに対応するホームエージェントに通知し、
前記ホームエージェントは、その通知内容に従って、移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークであれば、所定の期間、前記マルチキャストパケットを前記移動ノードの移動先の気付アドレスを宛先としてカプセル化転送し、
移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークでなければ、前記マルチキャストパケットを前記気付アドレスを宛先として前記所定の期間によらず、継続してカプセル化転送することを特徴とするパケット転送方法。
【請求項９】
マルチキャストパケットを受信する移動ノードが、移動先サブネットワークがマルチキャストプロトコルに対応しているサブネットワークであるか否かを前記移動ノードが移動元サブネットワークにおいて接続されていた中継装置に通知し、
前記中継装置は、その通知内容に従って、移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークであれば、所定の期間、前記マルチキャストパケットを前記移動ノードの移動先サブネットワークにおける気付アドレスを宛先としてカプセル化転送し、
前記移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークでなければ、前記マルチキャストパケットを前記気付アドレスを宛先として前記所定の期間によらず、継続してカプセル化転送することを特徴とするパケット転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット通信技術に関し、特に移動ノードのマルチキャストパケット通信技術に関する。
【０００２】
【従来の技術】
インターネットの普及に伴い、現在ではインターネットプロトコル（ＩＰ）を用いたパケット通信が広く普及している。
【０００３】
また、ＩＰを用いた移動通信を可能とするモバイルＩＰがＩＥＴＦ（Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）で検討されており、モバイルＩＰを用いた移動通信も可能になりつつある（例えば非特許文献１参照）。
【０００４】
モバイルＩＰは、ホームエージェント（ＨＡ：Ｈｏｍｅ  Ａｇｅｎｔ）に移動ノード（ＭＮ：Ｍｏｂｉｌｅ  Ｎｏｄｅ）が基本的に所属するサブネットワークであるホームネットワークにおけるアドレスであるホームアドレス（ＨｏＡ：Ｈｏｍｅ  Ａｄｄｒｅｓｓ）と、ＭＮの現在の移動先サブネットワークにおけるアドレスである気付アドレス（ＣｏＡ：Ｃａｒｅ  ｏｆ  Ａｄｄｒｅｓｓ）とを対応付けて登録しておくことによって、ＭＮが移動しても通信を継続可能とする技術である。
【０００５】
図３１はモバイルＩＰを用いた通信方法を説明する図である。
【０００６】
図３１において、最初は、ＭＮ３０１はアクセスルータ（ＡＲ：Ａｃｃｅｓｓ  Ｒｏｕｔｅｒ）（１）２０１の属するサブネットワークに接続しているものとする。
ＭＮは、ＡＲ（１）２０１の属するサブネットワークに移動したときに、気付アドレスＣｏＡ（１）を得て、これを位置登録（ＢＵ；ＢｉｎｄｉｎｇＵｐｄａｔｅ）メッセージを用いてＨＡ１１０に登録し（Ｓ９０１）、ＨＡ１１０はこの移動ノードのホームアドレス（ＨｏＡ（１））と、気付アドレス（ＣｏＡ（１））との対応情報を含むバインディングキャッシュ（ＢｉｎｄｉｎｇＣａｃｈｅ）１１１としてこれを保持する。（Ｓ９０２）
一方、ＭＮ３０１の通信相手である相手ノード（ＣＮ：Ｃｏｒｒｅｓｐｏｎｄｅｎｔ  Ｎｏｄｅ）４０１は、ＭＮ３０１のホームアドレス（ＨｏＡ（１））を宛先としたパケットを送信する。
【０００７】
ＨＡ１１０はＨｏＡ（１）を宛先としたパケットを捕捉し（Ｓ９０３）、バインディングキャッシュ１１１を参照した結果として得られるＣｏＡ（１）を宛先としてこのパケットをカプセル化して送信する。（Ｓ９０４）
このカプセル化パケットは、現在ＭＮ３０１が使用しているＣｏＡ（１）宛となっているため、ＭＮ３０１は現在の移動先においてこのパケットを受信可能となる。
【０００８】
ＭＮ３０１はこのパケットを受信すると、カプセルを解いて、ＨｏＡ（１）宛のオリジナルパケットを取り出すことでＣＮ４０１との通信が可能である。
【０００９】
次に図３１の点線で示すように、ＭＮ３０１がＡＲ（２）２０２の属するサブネットワークに移動したとする。
【００１０】
ＡＲ（２）２０２に移動した直後に、ＭＮ３０１は移動先サブネットワークで使用する気付アドレスＣｏＡ（２）を取得し、ＢＵメッセージを用いてＨＡ１１０に登録する。（Ｓ９１１）
ＨＡ１１０ではこの通知を受け、バインディングキャッシュとしてＨｏＡ（１）に対応するＣｏＡとして登録してあったＣｏＡ（１）をＣｏＡ（２）に書き換える。（Ｓ９１２）
これ以降、ＣＮ４０１がＭＮ３０１のＨｏＡ（１）宛に送信したパケットは（Ｓ９１３）、ＨＡ１１０によってＣｏＡ（２）を宛先としてカプセル化転送され（Ｓ９１４）、ＭＮ３０１はＣＮ４０１との通信を継続することが可能となる。
【００１１】
そして、前記ＣＮ４０１がモバイルＩＰに対応している場合には、前記のＨＡ１１０を経由し、カプセル化してＣＮ４０１からのパケットを転送する方法の他、ＭＮ３０１がＣＮ４０１からのパケットがＨＡ１１０経由である（カプセル化転送である）場合、ＣＮ４０１に対してＢＵメッセージを送信し、ＣＮ４０１から直接（ＨＡを経由せずに）気付アドレス宛に転送させる方法がある（以上の移動ノードのパケット通信方法については例えば非特許文献１参照）。
【００１２】
一方、パケット通信におけるマルチキャスト技術もＩＥＴＦで検討が進められており、ホストとルータ間の通信プロトコルとしてＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）やＭＬＤ（Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ）が、またルータ間のマルチキャストルーチングプロトコルとしてＰＩＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ）等の検討が進められている。
【００１３】
図３２はマルチキャスト通信におけるパケット転送を説明する図である。
【００１４】
図３２において、センダ（ｓｅｎｄｅｒ）５０１はマルチキャストグループＧのマルチキャストパケットの送信元、レシーバ（ｒｅｃｅｉｖｅｒ）（ａ）７０１、レシーバ（ｂ）７０２は前記マルチキャストパケットの受信先である。ＭＲ（１）６０１〜ＭＲ（５）６０５はＩＧＭＰ及びＰＩＭ等のマルチキャスト転送に用いるプロトコルを実装したマルチキャストプロトコルに対応したマルチキャストルータである。
【００１５】
マルチキャストルーチングプロトコルによって、センダ５０１からレシーバ（ａ）７０１およびレシーバ（ｂ）７０２に至る、マルチキャストグループＧに対応した転送ツリーが作成されている。
【００１６】
すなわち、センダ５０１がマルチキャストグループアドレスＭＣＡ（Ｇ）宛にマルチキャストパケットを送信すると（Ｓ９２１）、ＭＲ（１）６０１、ＭＲ（２）６０２、ＭＲ（３）６０３、レシーバ（ａ）７０１のルート、およびＭＲ（１）６０１、ＭＲ（２）６０２、ＭＲ（４）６０４、レシーバ（ｂ）７０２のルートで転送される。（Ｓ９２２）
このとき、ＭＲ（２）６０２は、ＭＣＡ（Ｇ）宛のマルチキャストパケットを、ＭＲ（３）６０３向け及びＭＲ（４）６０４向けにコピーして送信する。そしてＭＲ（２）６０２は、ＭＲ（５）６０５向けにはコピー送信を行わない。これは、ＭＲ（５）６０５の属するサブネットワークにマルチキャストグループＧのレシーバがおらず、ＭＲ（２）６０２からＭＲ（５）６０５には転送ツリーの枝が生成されていないためである。
【００１７】
レシーバが新たにマルチキャストグループに参加し、対応するマルチキャストパケットを受信したい場合には、レシーバが属するサブネットワークのＭＲに参加メッセージ（ＪＯＩＮメッセージ、あるいはｍｕｌｔｉｃａｓｔ  ｌｉｓｔｅｎｅｒ  ｒｅｐｏｒｔまたはｍｅｍｂｅｒｓｈｉｐ  ｒｅｐｏｒｔとも言う）を送信する。
【００１８】
そして、参加中のマルチキャストグループから離脱する場合には、Ｌｅａｖｅメッセージを送信する。
【００１９】
参加メッセージには、参加を希望するマルチキャストグループアドレスが含まれており、これによってマルチキャスト転送に必要な転送ツリーが構築され、Ｌｅａｖｅメッセージにより、該当するマルチキャストグループに参加しているノードがなくなると、転送ツリーを切断する。
【００２０】
図３２において、ＭＲ（５）６０５の配下のレシーバ（ｃ）７０３が、マルチキャストグループＧへの参加メッセージをＭＲ（５）６０５に送信した場合、ＭＲ（５）６０５はマルチキャストグループＧに参加している他のレシーバが存在しておらず、ＭＣＡ（Ｇ）宛のマルチキャストパケットを受信していない状態である、すなわち転送ツリーの枝が自身まで伸びていないことから、上位に位置するＭＲ（２）６０２に対して参加メッセージを送信する。
【００２１】
このメッセージを受信したＭＲ（２）６０２は、自身まではマルチキャストグループＧに対応する転送ツリーの枝が伸びていることから、ＭＲ（３）６０３、ＭＲ（４）６０４に加えてＭＲ（５）６０５に対しても転送ツリーの枝を伸ばすように、すなわち、ＭＣＡ（Ｇ）宛のマルチキャストパケットを受信したときにＭＲ（５）６０５に対してもコピー送信するように内部情報を書き換える。
【００２２】
これにより、ＭＲ（５）６０５配下のレシーバはＭＣＡ（Ｇ）宛のマルチキャストパケットの受信が可能となる。
【００２３】
【非特許文献１】
Ｄａｖｉｄ  Ｂ．  Ｊｏｈｎｓｏｎ  （Ｒｉｃｅ  Ｕｎｉｖｅｒｓｉｔｙ），  Ｃｈａｒｌｅｓ  Ｅ．  Ｐｅｒｋｉｎｓ  （Ｎｏｋｉａ  Ｒｅｓｅａｒｃｈ  Ｃｅｎｔｅｒ），  Ｊａｒｉ  Ａｒｋｋｏ  （Ｅｒｉｃｓｓｏｎ）、“Ｍｏｂｉｌｉｔｙ  Ｓｕｐｐｏｒｔ  ｉｎ  ＩＰｖ６  （ｄｒａｆｔ−ｉｅｔｆ−ｍｏｂｉｌｅｉｐ−ｉｐｖ６−２１．ｔｘｔ）”、［ｏｎｌｉｎｅ］、２００３年２月２６日、ＩＥＴＦ  Ｍｏｂｉｌｅ  ＩＰ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ、［平成１５年３月２６日検索］、インターネット＜  ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｉｎｔｅｒｎｅｔ−ｄｒａｆｔｓ／ｄｒａｆｔ−ｉｅｔｆ−ｍｏｂｉｌｅｉｐ−ｉｐｖ６−２１．ｔｘｔ＞
【００２４】
【発明が解決しようとする課題】
パケットネットワークにおける移動ノード、例えばモバイルＩＰ対応のネットワークにおける移動ノードが普及するにつれて、移動ノードがマルチキャスト通信を行うことが考えられる。
【００２５】
移動ノードがマルチキャスト通信を行うためには、例えばモバイルＩＰ技術を利用しなくともマルチキャスト通信を行うこと自体は可能であるが、端末が移動しながら通信することを考えると、以下の課題がある。
【００２６】
マルチキャスト通信では、ホストが参加したいマルチキャストグループ、例えばＧへの参加メッセージを代表ルータ（ＤＲ：Ｄｅｓｉｇｎａｔｅｄ  Ｒｏｕｔｅｒ）に送信する。ＤＲは、その属するセグメントでのマルチキャスト動作を管理するルータであり、図３２においてレシーバ（ａ）７０１に対応するＤＲはＭＲ（３）６０３である。
【００２７】
ＤＲの属するリンク内に、既に同一のマルチキャストグループＧに参加しているレシーバがあるならば、マルチキャストルーチングプロトコルによってそのマルチキャストグループＧ宛のマルチキャストパケットを受信するための転送ツリーの枝は既に作成されている。
【００２８】
もし、他にマルチキャストグループＧに参加しているレシーバが存在していない場合には、ＤＲはマルチキャストルーチングプロトコルを動作させて、マルチキャストグループＧ宛のマルチキャストパケットを受信するための転送ツリーの枝を新たに作成し、ＤＲまで転送ツリーの枝をのばした後で初めてマルチキャストグループＧ宛のマルチキャストパケットの受信が可能となる。
【００２９】
そして、新たにこの転送ツリーの枝が作成されるまでに必要となる時間は、センダからレシーバまでのルータ数などの環境条件によるが、通常、数百ミリ秒から数秒以上となる。
【００３０】
ここで、前記レシーバが、その属するサブネットワークが固定されている固定ノードである場合は、この時間は通信開始までに要する時間であり、その後のマルチキャストパケットの受信は継続して行なわれるので大きな問題とはならない。
【００３１】
これに対して、前記レシーバが、その属するサブネットワークが変化する移動ノードである場合は、移動（ハンドオーバ）を行った時点で、ハンドオーバ先のＤＲに転送ツリーの枝が伸びていなければ、この枝を作成するまでに、前述のように数秒以上の時間を要する可能性があり、その間、マルチキャストグループ宛のマルチキャストパケットは移動ノードで受信できず、データの欠落や、それに伴う再送を招くこととなり、品質が低下するという問題がある。
【００３２】
図３３は、モバイルＩＰにおいてマルチキャスト通信を行う通信方法を説明する図である。
【００３３】
図３３において、ＭＮ３０１は移動ノードであると同時にマルチキャストグループＧに参加しているレシーバで、ＡＲ（１）２０１の属するサブネットワークから、ＡＲ（２）２０２の属するサブネットワーク、ＡＲ（３）２０３の属するサブネットワークへと移動するものとする。
【００３４】
ＡＲ（１）２０１はマルチキャストルータであり、マルチキャストグループＧに対応した転送ツリーの枝が既に作成されており、マルチキャストパケットの受信が可能であるとする。
【００３５】
ＡＲ（２）２０２はマルチキャストルータであるが、この時点ではマルチキャストグループＧに参加するレシーバがそのサブネットワーク内に存在せず、マルチキャストグループＧに対応した転送ツリーの枝は作成されていないものとする。
【００３６】
この状態で、ＭＮ３０１がＡＲ（２）２０２の所属するサブネットワークに移動すると、ＭＮ３０１はまずマルチキャストグループＧへの参加メッセージをＡＲ（２）２０２に送り（Ｓ９３１）、ＡＲ（２）２０２は、自身まで転送ツリーの枝を伸ばすために更に参加メッセージを上流に位置するマルチキャストルータＭＲ（２）６０２に送信する。（Ｓ９３２）
その後、転送ツリーの枝がＡＲ（２）２０２まで作成されて初めてマルチキャストグループＧ宛のマルチキャストパケットがＭＮ３０１で受信可能となる。（Ｓ９３３）
従って、ＭＮ３０１は移動した時点で一旦マルチキャストパケットの受信が不可能となり、パケット転送品質が低下する。
【００３７】
また、マルチキャスト通信の仕組みは、そのサブネットワーク内にマルチキャストルータが存在していることが前提となっている。従って、ＭＮ３０１が移動した先のサブネットワーク内にマルチキャストルータが存在しなければ、マルチキャスト通信を継続する事が出来ないという問題がある。
【００３８】
図３３においてＡＲ（３）２０３は、マルチキャストに対応していないルータであるとする。
【００３９】
ＭＮ３０１がＡＲ（２）２０２から更にＡＲ（３）２０３に移動したとすると、移動後にＭＮ３０１はマルチキャストグループＧへの参加メッセージをＡＲ（３）２０３に送信する（Ｓ９３４）が、ＡＲ（３）２０３はこのメッセージを処理することができず、ＡＲ（３）２０３への転送ツリーの枝は作成されない。
【００４０】
この場合は、マルチキャストパケットの受信は移動した時点で不可能となってしまう。
【００４１】
本発明はこのような課題に鑑みて創案されたもので、移動ノードがサブネットワーク間を移動するときに発生するマルチキャストパケットの喪失を低減し、データ転送品質を向上することを目的とする。
【００４２】
【課題を解決するための手段】
上記課題を解決するため、本発明は次のような構成をとる。
【００４３】
本発明のパケット中継装置は、移動ノードが少なくともサブネットワーク間を移動するまでに送信するマルチキャストグループへの参加指示を受信すると、前記マルチキャストグループへの参加要求を送信する参加要求手段と、前記移動ノードが前記サブネットワーク間を移動したときに送信する、前記移動ノードの移動先サブネットワークにおける気付アドレスを含む位置登録情報を受信すると、その後受信される前記マルチキャストグループに対応したマルチキャストパケットを、所定の期間、前記気付アドレス宛に転送するパケット転送手段とを有する構成とする。
【００４４】
前記パケット転送手段は、移動ノードが送信する転送停止指示を受信すると、前記マルチキャストパケットの転送を停止する構成としても良い。
【００４５】
また、前記パケット転送手段は、前記移動ノードが送信する前記所定の期間を示す期間指定情報を受信すると、前記期間指定情報に基いて前記マルチキャストパケットの転送期間を決定する構成としても良い。
【００４６】
そして、本発明の移動ノードは、マルチキャストパケットの配信機能を有する中継装置にマルチキャストグループへの参加要求を送信し、前記中継装置が受信し配信する前記マルチキャストグループに対応するマルチキャストパケットを受信する移動ノードであって、少なくともサブネットワーク間を移動する前に、自身の気付アドレスを含む位置登録情報の送信先である位置登録先中継装置に対して、マルチキャストグループへの参加指示を送信する参加指示手段と、該マルチキャストグループに参加しているときにサブネットワーク間を移動すると、前記位置登録先中継装置がその後受信する該マルチキャストグループに対応したマルチキャストパケットを、所定の期間、前記移動ノードの移動後の気付アドレスに転送させる転送要求を前記位置登録先中継装置に送信する転送要求手段とを有する構成とする。
【００４７】
また、本発明の移動ノードは、新たにマルチキャストグループに参加するときに、自身の属するサブネットワーク内の中継装置に前記マルチキャストグループへの参加要求を送信するとともに、前記参加指示手段が前記位置登録先中継装置に対して、前記マルチキャストグループへの参加指示を送信する構成としても良い。
【００４８】
さらに、本発明の移動ノードは、マルチキャストグループへの参加要求を送信後、該参加要求に基いた前記マルチキャストグループに対応したマルチキャストパケットを受信すると、前記位置登録先中継装置によるマルチキャストパケットの転送停止指示を前記位置登録先中継装置に送信する転送停止指示手段を有する構成としても良い。
【００４９】
さらに、本発明の移動ノードは、移動先のサブネットワークがマルチキャストパケットの配信機能を持つときには、前記所定の期間として一定の期間を示す情報を前記位置登録先中継装置に対して送信し、移動先のサブネットワークがマルチキャストパケットの配信機能を持たないときには、前記所定の期間として継続して転送させることを示す情報を前記位置登録先中継装置に対して送信する期間指定手段を有する構成としても良い。
【００５０】
そして、本発明のパケット転送方法は、マルチキャストパケットを受信する移動ノードが、移動先のサブネットワークがマルチキャストプロトコルに対応しているサブネットワークであるか否かを前記移動ノードに対応するホームエージェントに通知し、前記ホームエージェントは、その通知内容に従って、移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークであれば、所定の期間、前記マルチキャストパケットを前記移動ノードの移動先の気付アドレスを宛先としてカプセル化転送し、移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークでなければ、前記マルチキャストパケットを前記気付アドレスを宛先として前記所定の期間によらず、継続してカプセル化転送する方法とする。
【００５１】
また、本発明のパケット転送方法は、マルチキャストパケットを受信する移動ノードが、移動先サブネットワークがマルチキャストプロトコルに対応しているサブネットワークであるか否かを前記移動ノードが移動元サブネットワークにおいて接続されていた中継装置に通知し、前記中継装置は、その通知内容に従って、移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークであれば、所定の期間、前記マルチキャストパケットを前記移動ノードの移動先サブネットワークにおける気付アドレスを宛先としてカプセル化転送し、前記移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークでなければ、前記マルチキャストパケットを前記気付アドレスを宛先として前記所定の期間によらず、継続してカプセル化転送する方法とする。
【００５２】
【発明の実施の形態】
（第１実施例）
図１は本発明の第１の実施例を説明する図で、インターネットプロトコル（ＩＰ）が適用されているＩＰネットワークである。
図１において、移動ノードＭＮ３０１は、マルチキャストパケットの配信機能を有する中継装置にマルチキャストグループへの参加要求（以下参加メッセージという）を送信し、前記中継装置が受信し配信する前記マルチキャストグループに対応するマルチキャストパケットを受信する移動ノードである。
【００５３】
そして、ＭＮ３０１は、少なくともサブネットワーク間を移動する前に、自身の気付アドレスを含む位置登録情報（以下ＢＵメッセージという）の送信先の位置登録先中継装置であるホームエージェントＨＡ１１０に対して、マルチキャストグループたとえばＧへの参加指示を送信する参加指示手段としてのパケット処理部３３０を有する。
【００５４】
さらに、このパケット処理部３３０は、ＭＮ３０１がマルチキャストグループＧに参加しているときにサブネットワーク間を移動すると、ＨＡ１１０がその後受信するマルチキャストグループＧに対応したマルチキャストパケットを、所定の期間、ＭＮ３０１の移動後の気付アドレスＣｏＡ（２）に転送させる転送要求をＨＡ１１０に送信する転送要求手段としても機能する。
【００５５】
ここで、パケット処理部３３０が前記参加指示手段および前記転送要求手段の両方を兼ねるものとしたが、これらの手段はそれぞれ別の部位として構成されていても良い。
【００５６】
そして、ＨＡ１１０は、ＭＮ３０１が少なくともサブネットワーク間を移動するまでに送信するマルチキャストグループへの参加指示を受信すると、マルチキャストグループＧに対する参加メッセージを送信する参加要求手段としてのパケット処理部１３０を有する。
【００５７】
そして、ＭＮ３０１がサブネットワーク間を移動したときに送信する、ＭＮ３０１の移動先サブネットワーク３０における気付アドレスＣｏＡ（２）を含むＢＵメッセージを受信すると、パケット処理部１３０は、その後受信される前記マルチキャストグループに対応したマルチキャストパケットを、所定の期間、前記気付アドレス宛に転送するパケット転送手段としても機能する。
【００５８】
ここで、パケット処理部１３０が参加要求手段およびパケット転送手段の両方を兼ねるものとしたが、これらの手段はそれぞれ別の部位として構成されていても良い。
【００５９】
そして、ＭＮ３０１は基本とするサブネットワークにおける自身のアドレスであるホームアドレスＨｏＡを持ち、ＨＡ１１０は、ＭＮ３０１のＨｏＡのサブネットプレフィクス（ｓｕｂｎｅｔ  ｐｒｅｆｉｘ）が定義されているホームリンクに属している。
【００６０】
まず、ＭＮ３０１はサブネットワーク２０に属しており、ＡＲ（１）２０１に接続されているものとする。
【００６１】
このサブネットワーク２０に属しているときに、ＭＮ３０１がマルチキャストグループＧに新たに参加するとき、ＭＮ３０１は参加メッセージをＡＲ（１）２０１に送信する。
【００６２】
すると、センダ５０１が送信するマルチキャストグループＧに対応するマルチキャストパケットは、パケットネットワーク１０、ＡＲ（１）２０１を経由してＭＮ３０１が受信できるようになる。すなわち、センダ５０１からＭＮ３０１までマルチキャストグループＧに対応する転送ツリーの枝が作成してある状態となる。
【００６３】
一方で、たとえば前記参加メッセージを送信するときを契機として、ＭＮ３０１はパケット処理部３３０によりＨＡ１１０に対してマルチキャストグループＧへの参加指示を送信する。
【００６４】
この参加指示を受信したＨＡ１１０は、パケット処理部１３０によりマルチキャストグループＧに対する参加メッセージを送信するので、センダ５０１が送信するマルチキャストグループＧに対応するマルチキャストパケットを受信できる状態となる。すなわち、センダ５０１からＨＡ１１０までマルチキャストグループＧに対応する転送ツリーの枝が作成してある状態となる。
【００６５】
この状態でＭＮ３０１がサブネットワーク２０からサブネットワーク３０に移動すると、ＭＮ３０１はサブネットワーク３０の識別情報を含むＡＲ（２）２０２が配信するルータ広告を受信し、サブネットワーク間の移動を認識する。
【００６６】
そして、ＭＮ３０１は移動先サブネットワーク３０のマルチキャストプロトコル対応のルータであるＡＲ（２）２０２に対してマルチキャストグループＧへの参加メッセージを送信する。
【００６７】
この時点でＡＲ（２）２０２にマルチキャストグループＧに参加しているレシーバが存在していない場合、ＡＲ（２）２０２にはマルチキャストグループＧに対応した転送ツリーの枝が到達しておらず、ＡＲ（２）２０２は転送ツリーの枝を到達させるために上位ルータに参加メッセージを送信するが、転送ツリーの枝が到達するまでの期間、マルチキャストグループＧに対応するマルチキャストパケットはＡＲ（２）２０２には到達しない。
【００６８】
したがってＭＮ３０１は、ＡＲ（２）２０２が前記マルチキャストグループＧに対応するマルチキャストパケットを受信、中継して、ＭＮ３０１が受信可能となるまでの期間、この経路（以下、直接転送経路という。）では前記のマルチキャストグループＧに対応するマルチキャストパケットを受信できない。
【００６９】
一方で、サブネットワーク３０に移動したことを認識したＭＮ３０１は、パケット処理部３３０により、ＨＡ１１０がその後受信するマルチキャストグループＧに対応したマルチキャストパケットを、所定の期間、ＭＮ３０１の移動後の気付アドレスＣｏＡ（２）に転送させる転送要求としてのＢＵメッセージをＨＡ１１０に送信する。
【００７０】
このＢＵメッセージを受信したＨＡ１１０は、パケット処理部１３０により、その後受信される前記マルチキャストグループに対応したマルチキャストパケットを、所定の期間、ＣｏＡ（２）宛にたとえばカプセル化することにより転送する。
【００７１】
そして、ＭＮ３０１はこのカプセル化パケットを受信し、カプセルを解くことによって、マルチキャストグループＧに対応するマルチキャストパケットを獲得できる。
【００７２】
すなわち、この経路（以下、カプセル化転送経路という。）で、前記所定の期間（以下カプセル化転送時間という）、参加しているマルチキャストグループＧのマルチキャストパケットを獲得できる。
【００７３】
以上説明したように、ＭＮが移動し、新しい直接転送経路の作成が必要となる場合、参加中のマルチキャストグループに対応するマルチキャストパケットをこの経路では受信できない期間においても、カプセル化転送経路を介して、所定の期間、このマルチキャストパケットを受信することができるので、ＭＮ３０１がサブネットワーク間を移動するときに発生するパケットの喪失を低減し、データ転送品質を向上することができる。
【００７４】
そして、ＨＡ１１０は、前記カプセル化転送時間経過後は転送を行わず、ＭＮ３０１の他にマルチキャストグループＧに参加しているレシーバが存在しない場合は、転送ツリーの枝を切断してマルチキャストグループＧに対応するマルチキャストパケットが転送されて来ないように、マルチキャストグループＧからの離脱メッセージ（Ｌｅａｖｅメッセージ）を送信し、ＨＡ１１０が不要なパケットを受信しないようにしても良い。
【００７５】
なお、前記パケット処理部１３０がカプセル化転送時間の間処理を行う方法として、ハードウェアタイマまたはソフトウェアタイマを設け、移動先アドレスの通知パケットを受信した時点で前記タイマをカプセル化転送時間の間起動するようにし、マルチキャストグループＧのマルチキャストアドレスＭＣＡ（Ｇ）宛のマルチキャストパケットを受信したときにこのタイマを参照して、タイマ稼動中であればカプセル化して転送する方法がある。
【００７６】
または、移動先アドレスの通知パケットを受信した時刻を記憶し、ＭＣＡ（Ｇ）宛のマルチキャストパケットを受信したときの時刻との差がカプセル化転送時間内であればカプセル化して転送する方法などさまざまな方法が適用できる。
【００７７】
そして、カプセル化転送時間は、一律に、またはＭＮ毎に、またはマルチキャストグループ毎に、または移動先サブネットワーク毎などにＨＡ１１０に保持させておく方法がある。
【００７８】
または、ＭＮ３０１が転送期間を示す期間指定情報を例えばＢＵメッセージに含ませて送信し、これをカプセル化転送時間としても良い。
【００７９】
前記したカプセル化転送時間をＭＮ３０１のＢＵメッセージに含ませる方法など、ＭＮ３０１がカプセル化転送時間を指定する方法によれば、たとえばＭＮ３０１がマルチキャストグループ毎に、または／かつ移動先サブネットワーク毎に、以前に移動したときの直接転送経路によるマルチキャストグループに対応するマルチキャストパケットの受信まで要した時間を記憶しておき、これをカプセル化転送時間としてＨＡ１１０に通知することもできる。
【００８０】
図２はこの場合に移動ノードＭＮ３０１が備えるパケット到達時間テーブルの例を示す図である。
【００８１】
例えば、以前ＭＮ３０１がマルチキャストグループＧに参加中にサブネットワーク（ｍ）に移動したときに、移動直後から直接転送経路によりマルチキャストグループＧのマルチキャストパケットを受信するまでにかかった時間を記憶する。
【００８２】
図２の例では、マルチキャストグループ欄にこのマルチキャストグループの識別子であるＧを、移動先サブネットワーク欄にその識別子であるＳＮ（ｍ）を、直接転送パケット到達時間欄に例えば到達時間の２秒を記憶する。
【００８３】
ここで、移動先のサブネットワークがマルチキャストパケットの配信機能をもたないとき、すなわちたとえば図１におけるＡＲ（２）２０２がマルチキャストプロトコル対応のルータでない場合には、ＭＮ３０１は直接転送パケット到達時間欄にＨＡ１１０からマルチキャストパケットを継続して転送させることを示す情報として、たとえば９９を記憶しておく。
【００８４】
なお、ＭＮが移動先サブネットワークにマルチキャストルータがないことは、アクセスルータからのルータ広告内容で知る方法や、前記マルチキャストグループへの参加メッセージに対する応答がないことで知る方法がある。
【００８５】
このようにＭＮ３０１がパケット到達時間テーブルを用意した状態で、たとえばマルチキャストグループＧに参加中にサブネットワーク（ｍ）に移動したときには、ＭＮ３０１はこのテーブルを参照して、直接転送パケット到達時間欄に記憶してある時間（２秒）をＨＡ１１０に送信する。
【００８６】
ＨＡ１１０がこの時間をカプセル化転送時間として使用するか、あるいはこの時間にマージン時間を加えてカプセル化転送時間として使用すれば、転送ツリーの構成が異なるマルチキャストグループ毎、移動先サブネットワーク毎に適切なカプセル化転送時間を設定でき、不要なカプセル化転送を抑え、すなわちネットワーク資源の浪費を抑えて、パケットのロスを低減でき、効率的にデータ転送品質の向上が図れる。
【００８７】
直接転送パケット到達時間として、前記特定のデータ（例えば９９）をＨＡ１１０が受信した場合、すなわち、ＭＮ３０１がマルチキャストルータのないサブネットワークに移動したことを示す通知をＨＡ１１０が受けた場合、ＨＡ１１０はＭＣＡ（Ｇ）宛のマルチキャストパケットを継続的にカプセル化してＣｏＡ（２）宛に転送する。
【００８８】
このＣｏＡ（２）宛の継続的なカプセル化転送は、ＭＮ３０１のマルチキャストグループＧからのＬｅａｖｅメッセージをＨＡが受信したとき、または、ＭＮ３０１から新たなＢＵメッセージをＨＡ１１０が受信したときに終了するようにもできる。
【００８９】
このようにして、ＭＮ３０１の移動先サブネットワークにマルチキャストプロトコル対応のルータがない場合においても、ＭＮ３０１がマルチキャストグループから離脱するまで、または他のサブネットワークに移動するまで、ＭＮ３０１はカプセル化転送経路により参加しているマルチキャストグループのマルチキャストパケットを受信でき、不要なカプセル化転送を抑え、すなわちネットワーク資源の浪費を抑えて、パケットのロスを低減でき、効率的にデータ転送品質の向上が図れる。
【００９０】
また、ＭＮ３０１のパケット処理部３３０に、ＨＡ１１０によるマルチキャストパケットのカプセル化転送を停止する転送停止指示をＨＡ１１０に送信する転送停止指示手段としての機能を持たせる構成としても良い。
【００９１】
この場合、ＭＮ３０１がマルチキャストグループへの参加要求をＡＲ（２）２０２に送信後、該参加要求に基いた前記マルチキャストグループに対応したマルチキャストパケットを受信したときに、ＭＮ３０１は前記転送停止指示をＨＡ１１０に送信するように構成する。
【００９２】
たとえば、ＭＮ３０１がカプセル化転送時間を送信する場合において、その値を特定の値、たとえば０として送信する。
【００９３】
そして、これを受信したＨＡ１１０はＭＣＡ（Ｇ）宛のマルチキャストパケットを受信したときに、ＣｏＡ（２）宛にカプセル化転送していた処理を停止する。
【００９４】
これにより、ＭＮ３０１には冗長なパケットが送信されず、冗長なパケット送信によるネットワーク資源の浪費を防ぐ効果がある。
【００９５】
なお、ＭＮ３０１がパケット到達時間テーブルを参照するときに、該当するマルチキャストグループ、移動先のいずれかがない場合は、デフォルト値として、例えば１０秒をパケット到達時間としてＨＡ１１０に送信するようにもできる。
【００９６】
また、上記実施例では、ＭＮ３０１が一つのマルチキャストグループに参加し、センダ５０１が一つであるものとして説明したが、ＭＮ３０１が複数のマルチキャストグループに参加している場合、またはセンダが複数である場合であっても同様の構成で同様の効果を奏することは明らかである。
【００９７】
さらに、上記実施例では、ＭＮ３０１と接続されるアクセスルータがマルチキャストルータを兼ねる場合として説明したが、アクセスルータとマルチキャストルータが別々にあっても良い。
【００９８】
また、図１において各ノード間、たとえばＭＮ３０１とＡＲ（１）２０１間や、ノードとネットワーク間の接続関係を直線で示しているが、この接続はたとえば有線接続、または無線接続等を問わず、接続関係にあることを示す。このことは以下に説明する図においても同様である。
【００９９】
さらに、図１においてパケットネットワーク１０には多数のルータが含まれる場合があるが、そうした場合でも本発明の適用が可能であることは明らかである。
【０１００】
（第２実施例）
図３は本発明の第２の実施例を説明する図（１）であり、移動ノードであるＭＮ３０１がマルチキャストプロトコル対応のアクセスルータＡＲ（１）２０１の属するサブネットワークで通信を開始した時点を示す。
【０１０１】
図３において、移動ノードであるＭＮ３０１は、ＡＲ（１）２０１の属するサブネットワーク配下で通信を開始したときに、ＡＲ（１）２０１が送信するルータ広告メッセージを受信する。（Ｓ１０１）
ＭＮ３０１はルータ広告メッセージに含まれる情報から、ＡＲ（１）２０１がマルチキャストプロトコル対応ルータであり、このサブネットワークの代表ルータであることを認識する。
【０１０２】
またＭＮ３０１は、ＡＲ（１）のルータ広告メッセージに含まれるサブネットプレフィクスの値を認識し、この移動先サブネットワークにおける気付アドレスＣｏＡ（１）の生成を行う。
【０１０３】
次にＭＮ３０１は、ホームエージェントＨＡ１１０に、現在の移動先でのアドレスである気付アドレスＣｏＡ（１）の通知、すなわち位置登録を行う。
【０１０４】
ＭｏｂｉｌｅＩＰ  ｖ６を例にとると、位置登録のためにＢＵ（ＢｉｎｄｉｎｇＵｐｄａｔｅ）というメッセージが用意されている。ＢＵメッセージに含まれる基本的な情報は移動ノードが基本的に属するホームネットワークにおける基本アドレスであるホームアドレスＨｏＡと気付アドレスＣｏＡ（１）との対応を示す情報であるが、本実施例では、これに加えて、現在の移動先のサブネットワーク内に、マルチキャストパケットを受信および配信する機能を有するルータ、すなわちマルチキャストプロトコル対応のルータが存在するか否かを示す識別子としてのマルチキャスト対応フラグと、ＭＮ３０１が受信する特定のアドレスとして、マルチキャストグループアドレスＭＣＡ（Ｇ）と、このアドレス宛のマルチキャストパケットの受信を行うか、受信を終了するかを示す識別子としてのＬｅａｖｅフラグとをＢＵメッセージに含めてＨＡ１１０に送信する。（Ｓ１０２）
ここで、マルチキャスト対応フラグの値として、たとえばサブネットワークがマルチキャストプロトコル対応の場合は”１”、そうでない場合は”０”と定義し、Ｌｅａｖｅフラグの値として、通知したマルチキャストグループアドレスにＭＮが新規に参加する場合または参加中である場合は、”０”、参加を終了する場合は”１”と定義する。
【０１０５】
なお、ＭＮ３０１が参加するマルチキャストグループは複数でもよく、その場合には、複数のマルチキャストグループアドレスと、そのそれぞれに対応するＬｅａｖｅフラグとを含めたＢＵメッセージを送信する方法や、マルチキャストグループアドレス毎に前記の情報を含むＢＵメッセージを複数回送信する方法等が適用できる。
【０１０６】
ＨＡ１１０は、このＢＵメッセージを受信すると、各移動ノードの情報の保持手段としてのバインディングキャッシュ（ＢｉｎｄｉｎｇＣａｃｈｅ）に、ＭＮ３０１のホームアドレスＨｏＡ（１）と気付アドレスＣｏＡ（１）とを対応付けて登録する。
【０１０７】
また、本実施例では、前記に加えて、ＨＡ１１０はバインディングキャッシュにＭＮ３０１の移動先サブネットワークのマルチキャスト対応フラグ、マルチキャストグループのアドレスＭＣＡ（Ｇ）、これに対応するＬｅａｖｅフラグも同様に格納しておく。
【０１０８】
図４はこのときのバインディングキャッシュの保持内容の例を示す図である。
【０１０９】
この例において、ＭＮ３０１に対応するＨｏＡ（１）の行において、マルチキャスト対応フラグの値は”１”であるから、移動先サブネットワークはマルチキャストプロトコル対応である。
【０１１０】
ＭＣＡ（Ｇ）に対応するＬｅａｖｅフラグが”０”であるから、ＭＮはマルチキャストグループＧに参加することを示している。
【０１１１】
そして図４において、マルチキャストライフタイムは、ＭＮ３０１のサブネットワーク間の移動を検出したとき、すなわち、ハンドオーバが発生したときにＭＮ３０１に対してＣｏＡ（１）を宛先としたカプセル化転送を行う期間を示し、たとえばハンドオーバが発生した時点から１秒ごとに減算される値である。
【０１１２】
この値が０になるまでの間は、ＨＡ１１０は受信した該当するＭＣＡ（Ｇ）宛のマルチキャストパケットをＣｏＡ宛にたとえばカプセル化して転送することとなる。
【０１１３】
なお、マルチキャストライフタイムの初期値は、ＨＡ１１０が自身で設定しても良いし、ＭＮがＢＵメッセージに含めて通知しても良い。図４の例ではＨｏＡ（１）のＭＣＡ（Ｇ）に対するマルチキャストライフタイムとして１０（秒）が設定されている。
【０１１４】
なお、図４において、ＬｉｆｅｔｉｍｅはＭｏｂｉｌｅＩＰｖ６において、ＣｏＡの有効期間を示すものであり、バインディングキャッシュに登録される基本的な情報である。
【０１１５】
また、ＨＡ１１０はどのマルチキャストグループにどの移動ノードが参加しているかを示すマルチキャストテーブルを備えており、これを更新する。
【０１１６】
図５はマルチキャストテーブルの例を示す図である。
【０１１７】
図５において、ＨＡ１１０はＭＮ３０１からのＢＵメッセージに含まれる情報であるマルチキャストグループアドレスとこれに対応するＬｅａｖｅフラグが参加を示す０であることから、マルチキャストグループアドレスＭＣＡ（Ｇ）に対応してＨｏＡ（１）を格納する。これにより、ＨＡはどのＭＮがどのマルチキャストグループのマルチキャストパケットの受信を希望しているかを認識できる。
【０１１８】
例えば図５においてアドレスＭＣＡ（Ｂ）であるマルチキャストグループＢにはＨｏＡ（ｍ）、ＨｏＡ（ｋ）に対応する移動ノードが参加していることが分かる。
【０１１９】
Ｌｅａｖｅフラグがマルチキャストグループへの参加終了を示しているＢＵメッセージをＨＡ１１０が受信すると、マルチキャストテーブルの更新を行う。すなわち、該当するマルチキャストグループを検索し、ＢＵメッセージを送信したＭＮのＨｏＡを削除し、該当するマルチキャストグループに参加しているＭＮの情報の整合性を維持する。
【０１２０】
前述のマルチキャストテーブルに新しいエントリを作成するときには、まだＨＡ１１０にマルチキャストグループＧに対応する転送ツリーの枝が伸びていないため、ＨＡ１１０はＭＣＡ（Ｇ）に対応する参加メッセージをＨＡ１１０の代表ルータであるＭＲ（２）６０２に送信し（Ｓ１０３）、ＨＡ１１０にマルチキャストパケットが到達するように転送ツリーの枝の作成を要求する。
【０１２１】
なお、例えばすでにマルチキャストグループエントリが作成済であって、同じエントリにＨｏＡを追加する場合のように、ＨＡ１１０にマルチキャストグループＧに対応するの転送ツリーの枝が既に伸びている場合は前述の参加メッセージの送信は不要である。
【０１２２】
この状態でＨＡ１１０がセンダ５０１から送信されるＭＣＡ（Ｇ）宛のマルチキャストパケットを受信すると、ＨＡ１１０はマルチキャストテーブルを参照して受信を希望するＭＮのＨｏＡ、図５の例ではＭＣＡ（Ｇ）に対応するＨｏＡ（１）を得る。
【０１２３】
そして、ＨＡ１１０はＨｏＡ（１）に該当するバインディングキャッシュを参照し、ＭＮ３０１のＣｏＡ（１）を得て、ＨＡ１１０に到着したＭＣＡ（Ｇ）宛のマルチキャストパケットをＣｏＡ（１）宛にマルチキャストライフタイムの値が”０”となるまでカプセル化転送する。（Ｓ１０４）
ＭＮ３０１はこのＣｏＡ（１）宛にカプセル化されたマルチキャストパケットをマルチキャストライフタイムの期間受信し、カプセルを解いて、ＭＣＡ（Ｇ）宛のマルチキャストパケットを得ることができる。
【０１２４】
一方でＭＮ３０１は、ＨＡ１１０へＢＵメッセージを送信するとともに、マルチキャストグループへの参加メッセージを代表ルータＤＲに送信して転送ツリーの枝の作成を要求する。
【０１２５】
図３の例では、ＭＮ３０１は、代表ルータを兼ねるアクセスルータＡＲ（１）２０１に対してマルチキャストグループＧに対する参加メッセージを送信する。（Ｓ１０５）
この参加メッセージを受けたＡＲ（１）２０１は自身にマルチキャストグループＧに対する転送ツリーの枝が伸びていない場合、上位の代表ルータであるＭＲ（２）に対して参加メッセージを送信し、マルチキャストグループＧの転送ツリーの枝を自身まで伸ばすように要求する。（Ｓ１０６）
以上の動作によりＭＮ３０１は、ＡＲ（１）２０１のサブネットワークに属した状態で通信を開始すると、ＨＡ１１０からカプセル化転送経路でＭＣＡ（Ｇ）宛のマルチキャストパケットをマルチキャストライフタイムに設定された初期値の期間だけ受信する。
【０１２６】
このため、たとえばＡＲ（１）２０１にマルチキャストグループＧに対応する転送ツリーの枝が伸びておらず、転送ツリーの枝が作成されるまでに長時間を要し、ＭＮ３０１が直接転送経路で受信を開始するまで数秒を要する場合でも、カプセル化転送経路により受信ができ、ＭＮ３０１がＡＲ（１）２０１の属するサブネットワークで通信を開始してから参加するマルチキャストパケットを受信するまでの時間を短縮可能である。
【０１２７】
図６は本発明の第２の実施例を説明する図（２）であり、移動ノードであるＭＮ３０１がマルチキャストグループ（Ｇ）のマルチキャストパケットを受信中にマルチキャストプロトコル対応のアクセスルータＡＲ（２）２０２の属するサブネットワークに移動した時点を示す。
【０１２８】
図３で説明したとおり、ＨＡ１１０にはこの時点でマルチキャストグループＧに対応する転送ツリーの枝が伸びており、ＭＣＡ（Ｇ）宛のマルチキャストパケットが受信されている。（Ｓ２０１）
図６において、ＭＮ３０１がＡＲ（２）２０２の属するサブネットワークに移動すると、ＭＮ３０１はＡＲ（１）２０１の属するサブネットワーク配下で通信を開始したときと同様に、ＡＲ（２）２０２が送信するルータ広告メッセージを受信する。（Ｓ２０２）
ＭＮ３０１はルータ広告メッセージに含まれる情報から、ＡＲ（２）２０２がマルチキャストプロトコル対応ルータであり、このサブネットワークの代表ルータであることを認識し、また、気付アドレスＣｏＡ（２）を同様に作成して、マルチキャスト対応フラグ、マルチキャストグループアドレスＭＣＡ（Ｇ）およびＬｅａｖｅフラグとともにＢＵメッセージとしてＨＡ１１０に送信する。（Ｓ２０３）
このＢＵメッセージを受信したＨＡ１１０では、ＭＮ３０１、すなわちＨｏＡ（１）に対応するバインディングキャッシュの内容を書き換えるとともに、マルチキャストライフタイムの値を再び１０秒にセットする。
【０１２９】
図４の例では、ＨＡ１１０はＨｏＡ（１）のＣｏＡの値をＣｏＡ（１）からＣｏＡ（２）に書き換え、マルチキャストライフタイムの初期値として１０秒を設定する。
【０１３０】
これにより、ＨＡ１１０はＭＣＡ（Ｇ）宛のマルチキャストパケットを、ＭＮ３０１からのＢＵメッセージを受信した時点から１０秒間、ＭＣＡ（Ｇ）宛のマルチキャストパケットをＭＮ３０１の気付アドレスＣｏＡ（２）宛にカプセル化転送し（Ｓ２０４）、ハンドオーバ時に一端途切れる直接転送経路によるマルチキャストグループ宛パケットのロスを低減でき、データ転送品質を向上できる。
【０１３１】
また、移動先サブネットワークにマルチキャストプロトコル対応のルータがない場合、たとえばＡＲ（２）２０２がマルチキャストプロトコルに対応していない場合、ＭＮ３０１はマルチキャスト対応フラグを”０”としてＢＵメッセージをＨＡ１１０に送信する。
【０１３２】
これを受信したＨＡ１１０は、設定されているマルチキャストライフタイムの値によらず、受信したＭＣＡ（Ｇ）宛のマルチキャストパケットをＣｏＡ（２）を宛先としてカプセル化転送する。
【０１３３】
このように、マルチキャストプロトコル対応のルータがなく、直接転送経路によるＭＣＡ（Ｇ）宛のマルチキャストパケットの受信ができない場合でも、ＭＮ３０１はカプセル化転送経路を介してこのパケットを受信でき、データ転送品質を向上できる。
【０１３４】
なお、ＭＮ３０１が送信するＢＵメッセージは、移動前のＡＲ宛、図６の例ではＡＲ（１）２０１宛に送信して、移動前のＡＲから、現在のＣｏＡ宛にカプセル化転送する方法も実現可能である。
【０１３５】
また、上記の説明では、マルチキャストライフタイムを使用するものとして説明したが、ＭＮ３０１が自身のマルチキャストパケットの受信状態をＨＡ１１０に通知して、それに応じてＨＡ１１０がカプセル化転送をするか、転送しないかを決める方法も同様に実現可能である。
【０１３６】
これは、例えば直接転送経路でのマルチキャストパケットの受信状態をＭＮが監視し、不良であると判断した場合にはＨＡに対してカプセル化転送経路によるパケットの転送を要求する場合などに有効で、パケットロスを低減し、データ転送品質の向上が図れる。
【０１３７】
さらに、本実施例ではＭＮ３０１がＡＲ（１）２０１およびＡＲ（２）２０２がマルチキャストプロトコル対応のルータであるか否かを判定する方法として各ＡＲが送信するルータ広告メッセージにこの情報を含めることとしたが、これは一例であり、別の方法として、移動先サブネットワークでＭＮがマルチキャストグループへの参加メッセージを送信し、その応答を待ち、一定時間応答がない場合にはマルチキャストプロトコル対応でないと判定する方法もある。
【０１３８】
この場合、移動後にＡＲがマルチキャストプロトコル対応のルータか否かをＭＮが判断するのに一定の時間を要するので、本発明の手法がより有効となる。
【０１３９】
図７は本発明の第２の実施例を説明する図（３）である。
【０１４０】
図７において、移動先のマルチキャストルータＡＲ（２）２０２には既にマルチキャストグループＧに対応した転送ツリーの枝が作成されており、ＡＲ（２）２０２はＭＣＡ（Ｇ）宛のマルチキャストパケットをＡＲ（２）２０２で受信しているものとする。（Ｓ３０１）
この場合、ＭＮ３０１がＡＲ（２）２０２に対して参加メッセージを送信すると即座にマルチキャストパケットの受信が可能となる。
【０１４１】
通常ＭＮは移動先のＡＲに接続するまでは、参加しているマルチキャストグループに対応する転送ツリーの枝がＡＲまで伸びているか否かを知ることができない。一方で、本実施例では前述したとおり、ＨＡに対して位置登録であるＢＵメッセージを送信し、その中にマルチキャスト転送のためのパラメータを含めて転送し、カプセル化転送を要求する。（Ｓ３０２）
ＭＮ３０１の移動先のマルチキャストプロトコル対応ルータであるＡＲ（２）２０２に既にマルチキャストグループＧに対応する転送ツリーの枝が伸びていれば、ＭＮ３０１はＡＲ（２）２０２に対して参加メッセージを送信することで（Ｓ３０３）、即座に直接転送経路によるマルチキャストパケットの受信が可能となる。
【０１４２】
カプセル化されていないマルチキャストパケットを受信したＭＮ３０１にとっては、その時点でＨＡ１１０からカプセル化転送されたマルチキャストパケットは不要な冗長パケットとなる。
【０１４３】
ＭＮ３０１が受信したマルチキャストパケットを処理するマルチキャストアプリケーションでは、このような冗長パケットを受け取っても、不要なパケットを廃棄することができるために影響は少ないが、ネットワーク資源の浪費を防止するために不要なＨＡ１１０からのカプセル化転送を停止することは有効である。
【０１４４】
本実施例においてＨＡ１１０からのカプセル化転送を停止する方法を以下に説明する。
【０１４５】
ＭＮ３０１は、カプセル化転送が不要になった時点でマルチキャストライフタイムを０として、ＨＡ１１０に対して再度位置登録すなわちＢＵメッセージの送信を行う。ＨＡ１１０ではこのＢＵメッセージの受信により、自身のバインディングキャッシュに含まれるマルチキャストライフタイムが”０”となるため、以降、ＭＣＡ（Ｇ）宛のマルチキャストパケットのカプセル化転送を停止することができ、ネットワーク資源の浪費を防ぐことができる。
【０１４６】
また、ＭＮの移動先のマルチキャストルータに、ＭＮの参加しているマルチキャストグループに対応する転送ツリーの枝が伸びているか否かを知る他の方法として以下がある。
【０１４７】
すなわち、ＡＲが送信するルータ広告メッセージの中に、現在ＡＲが扱っているマルチキャストグループの情報を含める方法である。この場合には、ＭＮ３０１が移動した直後に、ＭＮ３０１がそれまで受信中であったマルチキャストグループの転送ツリーの枝が、移動先であるＡＲ（２）２０２まで既に作成されているか否かをＭＮ３０１が判断できるため、移動直後にＨＡ１１０に送信するＢＵメッセージに、最初からマルチキャストライフタイムの初期値を”０”として送信し、ＨＡ１１０によるマルチキャストパケットのカプセル化転送を停止することが可能である。
【０１４８】
図８は本発明の第２の実施例を説明する図（４）で、ＭＮがマルチキャストグループの参加を終了し、該当するマルチキャストパケットの受信を停止する場合の動作を説明した図である。
【０１４９】
ＭＮが直接転送経路によるマルチキャストパケットの受信を停止する場合は、ＡＲ（２）２０２に対してＬｅａｖｅメッセージを送信する。（Ｓ４０１）
Ｌｅａｖｅメッセージを受信したＡＲ（２）２０２は、該当するマルチキャストグループの他のレシーバがない場合、該当するマルチキャストパケットの送信を停止する。
【０１５０】
そして、カプセル化転送経路によるマルチキャストパケットの受信を停止する場合は、停止するマルチキャストグループアドレスと、その値を参加終了を示す”０”としたＬｅａｖｅフラグと、その値を”１”としたマルチキャストライフタイムとを含むＢＵメッセージをＨＡ１１０に対して送信する。（Ｓ４０２）
このＢＵメッセージを受信したＨＡ１１０は、ＭＮ３０１に対応するバインディングキャッシュを更新し、さらに、Ｌｅａｖｅフラグの値が”１”であることから、マルチキャストテーブルも更新する。
【０１５１】
バインディングキャッシュについては、該当するマルチキャストグループアドレスを削除し、Ｌｅａｖｅフラグの値を例えばＮｕｌｌとし、また、マルチキャストライフタイムの値を例えばＮｕｌｌとする。
【０１５２】
マルチキャストテーブルについては、該当するマルチキャストグループアドレスを検索して、送信元であるＨｏＡ（１）を削除する。
【０１５３】
この状態でＨＡ１１０がＭＣＡ（Ｇ）宛のマルチキャストパケットを受信した場合、マルチキャストテーブルにはＨｏＡ（１）が登録されていないことから、ＭＮ３０１に対してこのマルチキャストパケットをカプセル化転送することはない。
【０１５４】
なお、図３、６、７、８において、センダ５０１とＡＲ（１）２０１、ＡＲ（２）２０２間、またセンダ５０１とＨＡ１１０間に多数のルータが存在する場合においても、本発明が適用でき、上記の効果がえられることは明らかである。
【０１５５】
（第３実施例）
つぎに、本発明の第３の実施例について説明する。
【０１５６】
図９は、ホームエージェント（ＨＡ）の構成例を示す図である。
【０１５７】
図９において、ＨＡ１１０は入力パケット種別判定部１２１、ルーティングメッセージ処理部１２２、モバイルＩＰメッセージ処理部１２３、マルチキャストメッセージ処理部１２４、マルチキャストパケット転送処理部１３１、カプセル処理部１３２、送信処理部１３３、ルーティングテーブル１４０、バインディングキャッシュ１１１、マルチキャストテーブル１１２とから構成される。
【０１５８】
入力パケット種別判定部１２１は、外部からの入力パケットのヘッダ情報を解析し、最適な処理部へパケットを振り分ける。
【０１５９】
入力パケットがＲＩＰなどのルーティングプロトコルメッセージである場合には、そのパケットはルーティングメッセージ処理部１２２へ振り分けられ、ルーティングメッセージ処理の結果がルーティングテーブル１４０に反映される。
【０１６０】
入力パケットがモバイルＩＰメッセージであれば、そのパケットはモバイルＩＰメッセージ処理部１２３に振り分けられ、その処理結果がバインディングキャッシュ１１１やマルチキャストテーブル１１２に反映される。
【０１６１】
入力パケットがマルチキャストプロトコルメッセージであれば、そのパケットはマルチキャストメッセージ処理部１２４へ振り分けられ、その結果がマルチキャストテーブルに１１２に反映される。
【０１６２】
入力パケットが、通常のＭＮ宛パケットであれば、宛先はＨｏＡとなっている。この場合には、そのパケットはカプセル処理部１３２へ振り分けられ、該当するＨｏＡに対応したバインディングキャッシュ１１１を参照した結果得られるＣｏＡを用いてカプセル化が行われ、送信処理部１３３によって出力先インタフェースが決定されて外部に出力される。
【０１６３】
入力パケットが、マルチキャストグループ宛のマルチキャストパケットであれば、そのパケットはマルチキャストパケット転送処理部１３１に振り分ける。マルチキャストパケット転送処理部１３１では、到着パケットの宛先ＩＰアドレスを検索キーとしてマルチキャストテーブル１１２を検索し、このマルチキャストグループアドレスに対応するＨｏＡが登録されているか否かを検索する。
【０１６４】
ここで得られたＨｏＡに対応するバインディングキャッシュ１１１を検索し、検索結果として得られたＣｏＡを宛先としてカプセル処理をカプセル処理部１３２で行い、カプセル化パケットを出力する。
【０１６５】
マルチキャストテーブルに複数のＨｏＡが登録されている場合には、それぞれのＨｏＡ毎に前記マルチキャストパケットをコピーして、それぞれのＨｏＡに対応するＣｏＡを宛先としてそれぞれカプセル処理をカプセル処理部１３２で行い、カプセル化パケットを出力する。
図１０は、移動ノード（ＭＮ）の構成例を示す図である。
図１０において、ＭＮ３０１は入力パケット種別判定部３２１、ルーティングメッセージ処理部３２２、マルチキャストメッセージ処理部３２３、モバイルＩＰメッセージ処理部３２４、デカプセル処理部３２５、カプセル処理部３３１、送信処理部３３３、ルーティングテーブル３４０、マルチキャストアプリケーション３５０、その他のアプリケーション３５１とから構成されている。
【０１６６】
入力パケット種別判定部３２１は、外部からの入力パケットのヘッダ情報を解析し、最適な処理部へパケットを振り分ける。
【０１６７】
入力パケットがＲＩＰなどのルーティングプロトコルメッセージであれば、そのパケットはルーティングメッセージ処理部３２２に振り分けられ、ルーティングメッセージ処理部３２２の処理結果がルーティングテーブル３４０に反映される。
【０１６８】
入力パケットがマルチキャストプロトコルメッセージであれば、そのパケットはマルチキャストメッセージ処理部３２３に振り分けられる。マルチキャストメッセージ処理部３２３では、マルチキャストアプリケーション３５０からの指示によって移動先のＡＲに対して参加メッセージを発行する。また、参加メッセージは、ＭＮが移動を行った直後にも発行する。
【０１６９】
入力パケットがマルチキャストグループ宛のパケットであれば、そのパケットはマルチキャストアプリケーション３５０に振り分けられる。
【０１７０】
入力パケットがモバイルＩＰメッセージであれば、そのパケットはモバイルＩＰメッセージ処理部３２４に振り分けられる。このメッセージ処理結果は、デカプセル処理部３２５、及び、カプセル処理部３３１へ反映される。
【０１７１】
カプセル処理部３３１は、ＨＡ宛にカプセル化を行う（リバーストンネルと呼ばれる）必要がある場合に使用するブロックである。またデカプセル処理部３２５は、ＣｏＡ宛にカプセル化転送されてきたパケットのカプセルを解く（デカプセルする）ブロックである。
【０１７２】
入力パケットがＣｏＡ宛のデータパケットであれば、このパケットはまずデカプセル処理部３２５に振り分けられ、カプセルを解かれて元のパケット（以下インナパケットという。）が取り出される。
【０１７３】
そして、図１０に示すように、そのインナパケットの宛先アドレスに応じて入力パケット種別判定部に入力され、再度振り分けが行われる。
【０１７４】
このインナパケットの宛先がマルチキャストグループアドレスであれば、マルチキャストアプリケーション３５０へと振り分けられる。また、インナパケットの宛先がＨｏＡであれば、他アプリケーション３５１へと振り分けられる。
【０１７５】
他アプリケーション３５１が、リバーストンネルを使ってパケット送信する場合には、カプセル化転送を行うために、カプセル処理部３３１を経由してパケットを送信する。
【０１７６】
図１１は、図９に示したホームエージェントＨＡ１１０の構成例におけるマルチキャストパケット転送処理部１３１のフローチャート、図１２は、カプセル処理部１３２のフローチャート、図１３は、モバイルＩＰメッセージ処理部１２３のフローチャート（１）、図１４はモバイルＩＰメッセージ処理部１２３のフローチャート（２）である。
【０１７７】
また、図１５は、ＨＡ１１０のマルチキャストテーブルの構成例を示す図である。
【０１７８】
ここで、図１５において、マルチキャストテーブルは、マルチキャストグループアドレス毎に、受信するＭＮのアドレス数と、それらのＨｏＡとを格納している。
【０１７９】
また、図１６は、ＨＡのバインディングキャッシュの構成例を示す図であり、さらに、図１７は、ＢＵメッセージの構成例を示している。
【０１８０】
この例は、ＭｏｂｉｌｅＩＰｖ６で用いられるモビリティヘッダに、拡張オプション領域としてマルチキャストオプションを追加し、マルチキャスト対応フラグＭＦとＬｅａｖｅフラグＬＦ、マルチキャストライフタイムおよびマルチキャストグループアドレスをＨＡ１１０に通知する例である。
【０１８１】
なお、本実施例ではマルチキャストライフタイムをＭＮ３０１が通知する例であるが、マルチキャストライフタイムの値をＨＡ１１０が固定値として設定するようにしても良い。
【０１８２】
図１１、図１２に示したように、マルチキャストグループ宛のパケットがＨＡ１１０に到着すると（Ｓ１１０１）、図１５に例示したマルチキャストテーブル１１２を抽出して（Ｓ１１０２）検索し、このマルチキャストグループアドレスへの受信を希望するＭＮの数と、該当するＨｏＡを得る。（Ｓ１１０３）
ここで、ＭＮの数だけ処理を繰り返すために変数Ｉを用意し、初期化し（Ｓ１１０４）、カプセル処理部での処理に移行する。（Ｓ１１０５、図１２のＳ１２０１）
この結果を用いて、図１２に示したように、それぞれのＨｏＡ毎に図１６に例示したバインディングキャッシュを検索する。（Ｓ１２０２）
その結果、移動先のＡＲがマルチキャストプロトコル非対応である場合（Ｓ１２０３の判定結果がＹｅｓの場合）、及び、マルチキャストプロトコル対応であっても、初期値が登録された時点から減算されるマルチキャストライフタイムがまだ有効期間内である場合（Ｓ１２０４の判定結果がＮｏの場合）には、ＣｏＡを宛先としたカプセル化転送を行う。（Ｓ１２０５）
そうでない場合には、カプセル化転送を行わない。そしてこの処理をマルチキャストテーブル１１２の検索結果得られたすべてのＨｏＡについて（Ｓ１２０６）実施し（Ｓ１２０７）、処理を終了する。（Ｓ１２０８）
このようにすることで、移動直後の一定期間のみ、すなわち、マルチキャストライフタイムの値が０になるまでの期間、マルチキャストパケットをＭＮにカプセル化転送することが可能となる。また、移動先がマルチキャストプロトコルに対応していない場合にもカプセル化転送を行うことが可能となる。
【０１８３】
図１３に示したように、ＨＡ１１０は、ＢＵメッセージを受信した（Ｓ１３０１）ときには、ＢＵメッセージにマルチキャストオプションが含まれているか否かによって動作が異なる。
【０１８４】
マルチキャストオプションが無い場合（Ｓ１３０２の判定結果がＮｏの場合）は、通常のユニキャストパケットに対するモバイルＩＰの手順（Ｓ１３０４）でＢＵメッセージを処理する。
【０１８５】
マルチキャストオプションが含まれている場合（Ｓ１３０２の判定結果がＹｅｓの場合）には、その内容にしたがってバインディングキャッシュ１１１を設定する。（Ｓ１３０３）
そしてＬｅａｖｅフラグを参照し、マルチキャストグループへの参加終了を示す値、たとえば１である場合（Ｓ１３０５の判定結果がＹｅｓの場合）は、マルチキャストに関する情報を削除するように動作する。
【０１８６】
すなわち、マルチキャストテーブル１１２を検索し（Ｓ１３０６）、該当のエントリについて、マルチキャスト通信を終了するＨｏＡを削除する。（Ｓ１３０９）
このとき、削除によってそのマルチキャストグループに登録したＨｏＡの個数が０となり、このマルチキャストグループのエントリに他の登録データがなくなった場合（Ｓ１３１０の判定結果がＮｏの場合）には、このテーブルエントリを削除（１３１１）し、ＨＡ１１０まで伸びている、該当するマルチキャストグループに対応する転送ツリーの枝を削除するために、Ｌｅａｖｅメッセージの発行をマルチキャストメッセージ処理部１２４に指示する。（Ｓ１３１２）
なお、マルチキャストテーブルを検索した結果、該当するマルチキャストグループアドレスがない場合（Ｓ１３０７の判定結果がＮｏの場合）、または、該当するＨｏＡがない場合（Ｓ１３０８の判定結果がＮｏの場合）には処理を終了する。（Ｓ１３１３）
ＢＵメッセージに含まれるＬｅａｖｅフラグがマルチキャストグループへの参加終了を示す値でない、たとえば０である場合（Ｓ１３０５の判定結果がＮｏの場合）は、マルチキャストテーブルに該当エントリを追加する。
【０１８７】
この場合、まずＢＵメッセージに含まれるマルチキャストグループアドレスを検索キーとしてマルチキャストテーブル１１２を検索する。（図１４のＳ１４０１）
既にマルチキャストグループアドレスが他のＭＮの処理によって登録されている場合（Ｓ１４０２の判定結果がＹｅｓの場合）で、今回のＨｏＡが登録さていない場合（Ｓ１４０３の判定結果がＮｏの場合）には、そのエントリ内に今回のＨｏＡを新しく追加登録し（Ｓ１４０４）処理を終了し（Ｓ１４０７）、今回のＨｏＡが既に登録されている場合（Ｓ１４０３の判定結果がＹｅｓの場合）には、そのまま処理を終了する。（Ｓ１４０７）
もし、マルチキャストグループアドレスがまだ登録されていなければ（Ｓ１４０２の判定結果がＮｏの場合）、エントリ自体を追加し、ＨｏＡを登録し（Ｓ１４０５）、ＨＡ１１０にこのマルチキャストグループに対応する転送ツリーの枝を作成するために、マルチキャストメッセージ処理部１２４に参加メッセージを発行するように指示する。（Ｓ１４０６）
図１８は、図１０に示したＭＮの構成例におけるモバイルＩＰメッセージ処理部３２４の移動時のフローチャートである。
【０１８８】
図１８に示すように、ＭＮ３０１はルータ広告を受信し（Ｓ１８０１）、自身が移動したか否かを判断する。具体的には、ルータ広告に含まれるルータのサブネットプレフィクスに変化があれば移動したものと判断し（Ｓ１８０２の判定結果がＹｅｓの場合）、そうでなければ移動していないと判断する。（Ｓ１８０２の判定結果がＮｏの場合）
移動していないと判断した場合には処理を終了する。（Ｓ１８１１）
移動したと判断した場合には、まず、前述のサブネットプレフィクスからＣｏＡを作成する。（Ｓ１８０３）
そして、ＨＡに対して送信するＢＵメッセージを作成するが、自身がマルチキャスト通信中である場合（Ｓ１８０４、Ｓ１８０９の判定結果がＹｅｓの場合）は、マルチキャストオプション情報として、マルチキャスト対応フラグ、マルチキャストグループアドレス、これに対応したマルチキャストライフタイム（例えば１０秒）、Ｌｅａｖｅフラグ（参加を意味する例えば０）を準備する。（Ｓ１８０６）
つぎに、移動ノードとしての基本情報であるＨｏＡ、ＣｏＡ、Ｌｉｆｅｔｉｍｅ等とともにＢＵメッセージを作成し（Ｓ１８０７）、ＨＡ１１０に対して送信する。（Ｓ１８０８）
さらに、ＡＲに対して参加メッセージを発行するよう、マルチキャストメッセージ処理部に指示し（Ｓ１８１０）、処理を終了する。（Ｓ１８１１）
なお、自身がマルチキャスト通信中でない場合（Ｓ１８０４、Ｓ１８０９の判定結果がＮｏの場合）は、移動ノードとしての基本情報であるＨｏＡ、ＣｏＡ、Ｌｉｆｅｔｉｍｅ等によりＢＵメッセージを作成し（Ｓ１８０５）、ＨＡ１１０に対して送信し（Ｓ１８０８）、処理を終了する。（Ｓ１８１１）
図１９は図１０に示したＭＮの構成例におけるモバイルＩＰメッセージ処理部３２４の通信終了時のフローチャートである。
【０１８９】
図１９に示すように、マルチキャスト通信終了時（Ｓ１９０１）には、マルチキャスト通信中か否かを確認し、マルチキャスト通信中でない場合（Ｓ１９０２の判定結果がＮｏである場合）、処理を終了する。（Ｓ１９０７）
マルチキャスト通信中である場合（Ｓ１９０２の判定結果がＹｅｓである場合）、マルチキャストオプション情報として、Ｌｅａｖｅフラグを参加終了を意味する例えば１として、マルチキャスト対応フラグ、マルチキャストグループアドレス、マルチキャストライフタイム、とともに準備する。（Ｓ１９０３）
つぎに、移動ノードとしての基本情報であるＨｏＡ、ＣｏＡ、Ｌｉｆｅｔｉｍｅ等とともにＢＵメッセージを作成し（Ｓ１９０４）、ＨＡ１１０に対して送信する。（Ｓ１９０５）
さらに、ＡＲに対してＬｅａｖｅメッセージを発行するよう、マルチキャストメッセージ処理部に指示し（Ｓ１９０６）、処理を終了する。（Ｓ１９０７）
図２０は、図１０に示したＭＮの構成例におけるモバイルＩＰメッセージ処理部３２４の冗長となるカプセル化転送を停止するフローチャートである。
【０１９０】
たとえばカプセル化転送経路でマルチキャストパケットを受信中に直接転送経路によるマルチキャストパケットの転送が開始されると、カプセル化転送経路のよるものは冗長となる。この場合にＭＮがカプセル化転送経路でのパケット転送を停止する手順を示したのが図２０である。
【０１９１】
図２０において、カプセル化転送停止を要求する（Ｓ２００１）場合には、マルチキャストライフタイムを０としたマルチキャストオプション情報を準備し（Ｓ２００２）、ＢＵメッセージを生成し（Ｓ２００３）、ＨＡ１１０に対して送信し（Ｓ２００４）、処理を終了する。（Ｓ２００５）
このように、本実施例においても、ＨＡ１１０は、ＭＣＡ（Ｇ）宛のマルチキャストパケットを受信し、移動先サブネットワークがマルチキャストプロトコルに対応している場合には、ＭＮ３０１からのＢＵメッセージを受信した時点からマルチキャストライフタイムの期間、ＭＣＡ（Ｇ）宛のマルチキャストパケットをＭＮ３０１の気付アドレスＣｏＡ（２）宛にカプセル化転送するので、ハンドオーバ時に一端途切れる直接転送経路によるマルチキャストグループ宛パケットのロスを低減でき、データ転送品質を向上できる。
【０１９２】
また、移動先サブネットワークがマルチキャストプロトコルに対応していない場合には、ＨＡ１１０は、ＭＮ３０１からのＢＵメッセージを受信した時点から継続的にＭＣＡ（Ｇ）宛のマルチキャストパケットをＭＮ３０１の気付アドレスＣｏＡ（２）宛にカプセル化転送するので、マルチキャストグループ宛パケットのロスを低減でき、データ転送品質を向上できる。
【０１９３】
さらに、冗長なカプセル化転送を抑止することにより、ネットワーク資源の浪費を回避する効果もある。
【０１９４】
（第４実施例）
つぎに、本発明の第４の実施例について説明する。
【０１９５】
図２１は本発明の第４の実施例を説明する図（１）である。
【０１９６】
図２１において、移動直後に、移動前に使用していた旧ＡＲであるＡＲ（１）２０１に対して転送指示をしておくことで、移動時のマルチキャストパケットの損失を防ぐ例を示している。
【０１９７】
ＭＮ３０１がＡＲ（２）２０２の属するサブネットワークに移動した直後、ＭＮ３０１はＨＡ１１０にＢＵメッセージを送信するとともに、移動前の旧ＡＲ（ＡＲ（１）２０１に対して、それまで使用していた旧ＣｏＡであるｏｌｄＣｏＡと、新ＡＲ（ＡＲ（２）２０２）のサブネットプレフィクスから作成し、これから使用する新ＣｏＡであるｎｅｗＣｏＡをＢＵメッセージを用いて通知する。（Ｓ２１０１）
一方、ＭＮ３０１がＡＲ（１）２０１の属するサブネットワークで直接転送経路によりＭＣＡ（Ｇ）宛のパケットを受信中にＡＲ（２）２０２の属するサブネットワークに移動した場合には、ＡＲ（１）２０１には、ＭＣＡ（Ｇ）に対応する転送ツリーの枝が既に作成されているので、ＭＣＡ（Ｇ）宛のマルチキャストパケットの受信が既に可能な状態である。（Ｓ２１０２）
ＢＵメッセージを受信した旧ＡＲ（１）２０１は、前記第３実施例に示したＨＡと同様の動作を行うことで、受信したＭＣＡ（Ｇ）宛のマルチキャストパケットを新アドレスｎｅｗＣｏＡにカプセル化転送する。（Ｓ２１０３）
そして、第３実施例と同様に、ＭＮ３０１は参加メッセージをＡＲ（２）２０２に送信する。（Ｓ２１０４）
図２２は本発明の第４の実施例を説明する図（２）で、ＭＮが移動した後の定常状態を示す図である。
【０１９８】
図２２において、前記参加メッセージを受けたＡＲ（２）２０２は必要に応じて上位のＤＲに参加メッセージを送信し、ＭＣＡ（Ｇ）に対応する転送ツリーの枝を自身まで作成し、マルチキャストルーチングプロトコルによって、ＭＣＡ（Ｇ）宛のパケットをＭＮ３０１に直接転送経路により送信し、ＭＮ３０１はこれを受信する。（Ｓ２２０１）
このように、ＭＮ３０１は、図２２に示すように直接転送経路によって定常的にＭＣＡ（Ｇ）宛のパケットを受信する状態となるまで、図２１に示すカプセル化転送経路により受信でき、ハンドオーバ時に一端途切れる直接転送経路によるマルチキャストグループ宛パケットのロスを低減でき、データ転送品質を向上できる。
【０１９９】
図２３は、本実施例における移動元のＡＲの構成例を示す図である。
【０２００】
図２３において基本的なブロック構成は図９に示したＨＡの構成と同じであるが、扱う情報の内容に相違がある。
【０２０１】
前記第３実施例において、ＨＡ１１０は移動ノードの基本的なアドレスとして用いたＨｏＡと気付アドレスであるＣｏＡとの対応関係に従って動作する。
【０２０２】
これに対して、本実施例では、移動前の旧ＡＲ（１）２０１は、移動ノードの基本的なアドレスとして移動前の旧気付アドレスｏｌｄＣｏＡと、移動先の新気付アドレスｎｅｗＣｏＡとの対応関係に従って動作する。
【０２０３】
図２４は旧ＡＲ（１）２０１のマルチキャストパケット転送処理部のフローチャートであり、図１１に示すＨＡのフローチャートとほぼ同一である。
【０２０４】
また、図２５は旧ＡＲ（１）２０１のカプセル処理部のフローチャートであり、図１２に示すＨＡのフローチャートとほぼ同一である。
【０２０５】
さらに、図２６、図２７はそれぞれ旧ＡＲ（１）２０１のモバイルＩＰメッセージ処理部のフローチャート（１）と（２）であり、図１３および図１４に示すＨＡのフローチャートとそれぞれほぼ同一である。
【０２０６】
相違点は、旧ＡＲ（１）２０１のマルチキャストテーブルはマルチキャストグループアドレスに対応したＭＮのアドレスとしてＨｏＡではなく、ｏｌｄＣｏＡを用いているため、マルチキャストテーブルの検索結果としてｏｌｄＣｏＡを得ることである。
【０２０７】
また、旧ＡＲ（１）２０１のバインディングキャッシュも同様にＨｏＡではなく、ｏｌｄＣｏＡに対してｎｅｗＣｏＡ、Ｌｉｆｅｔｉｍｅ等が登録されており、このｏｌｄＣｏＡを元にｎｅｗＣｏＡや、各マルチキャストオプションの検索処理等が行われることが異なる。
【０２０８】
上記以外の処理は、第３実施例で説明したＨＡ１１０の動作と同じである。
【０２０９】
本実施例におけるＭＮの構成例は図１０に示した第３実施例のＭＮの構成例と同一である。
【０２１０】
第３実施例との相違は、扱う情報の内容と、その処理内容である。
【０２１１】
図２８は本実施例におけるＭＮのモバイルＩＰメッセージ処理部の移動時のフローチャートであり、図１８に示す第３実施例におけるフローチャートとほぼ同一である。
【０２１２】
異なる点は、移動を検出した場合、ＨＡ宛に加えて、旧ＡＲに対するＢＵメッセージの生成（Ｓ２８０８）、送信（Ｓ２８０９）を行うことである。
【０２１３】
図２９は本実施例におけるＭＮのモバイルＩＰメッセージ処理部の通信終了時のフローチャートであり、図１９に示す第３実施例におけるフローチャートとほぼ同一である。
【０２１４】
異なる点は、同様にＨＡ宛に加えて、旧ＡＲに対するＢＵメッセージの生成（Ｓ２９０４）、送信（Ｓ２９０６）を行うことである。
【０２１５】
図３０は、本実施例におけるＭＮのモバイルＩＰメッセージ処理部の冗長カプセル化転送停止時のフローチャートであり、図２０に示す第３実施例におけるフローチャートとほぼ同一である。
【０２１６】
異なる点は、同様にＨＡ宛に加えて、旧ＡＲに対するＢＵメッセージの生成（Ｓ３００３）、送信（Ｓ３００５）を行うことである。
【０２１７】
なお、図２１、２２において、センダ５０１とＡＲ（１）２０１、ＡＲ（２）２０２間、またセンダ５０１とＨＡ１１０間に多数のルータが存在する場合においても、本発明が適用でき、上記の効果がえられることは明らかである。
【０２１８】
以上、本明細書で開示した主な発明について以下にまとめる。
【０２１９】
（付記１）移動ノードが少なくともサブネットワーク間を移動するまでに送信するマルチキャストグループへの参加指示を受信すると、前記マルチキャストグループへの参加要求を送信する参加要求手段と、前記移動ノードが前記サブネットワーク間を移動したときに送信する、前記移動ノードの移動先サブネットワークにおける気付アドレスを含む位置登録情報を受信すると、その後受信される前記マルチキャストグループに対応したマルチキャストパケットを、所定の期間、前記気付アドレス宛に転送するパケット転送手段とを有することを特徴とするパケット中継装置。（請求項１）
（付記２）前記パケット転送手段は、前記移動ノードが送信する転送停止指示を受信すると、前記マルチキャストパケットの転送を停止することを特徴とする付記１記載のパケット中継装置。（請求項２）
（付記３）前記パケット転送手段は、前記移動ノードが送信する前記所定の期間を示す期間指定情報を受信すると、前記期間指定情報に基いて前記マルチキャストパケットの転送期間を決定することを特徴とする付記１記載のパケット中継装置。（請求項３）
（付記４）マルチキャストパケットの配信機能を有する中継装置にマルチキャストグループへの参加要求を送信し、前記中継装置が受信し配信する前記マルチキャストグループに対応するマルチキャストパケットを受信する移動ノードであって、少なくともサブネットワーク間を移動する前に、自身の気付アドレスを含む位置登録情報の送信先である位置登録先中継装置に対して、マルチキャストグループへの参加指示を送信する参加指示手段と、該マルチキャストグループに参加しているときにサブネットワーク間を移動すると、前記位置登録先中継装置がその後受信する該マルチキャストグループに対応したマルチキャストパケットを、所定の期間、前記移動ノードの移動後の気付アドレスに転送させる転送要求を前記位置登録先中継装置に送信する転送要求手段を有することを特徴とする移動ノード。（請求項４）
（付記５）新たにマルチキャストグループに参加するときに、自身の属するサブネットワーク内の中継装置に前記マルチキャストグループへの参加要求を送信するとともに、前記参加指示手段が前記位置登録先中継装置に対して、前記マルチキャストグループへの参加指示を送信することを特徴とする付記４記載の移動ノード。（請求項５）
（付記６）マルチキャストグループへの参加要求を送信後、該参加要求に基いた前記マルチキャストグループに対応したマルチキャストパケットを受信すると、前記位置登録先中継装置によるマルチキャストパケットの転送停止指示を前記位置登録先中継装置に送信する転送停止指示手段を有することを特徴とする付記４記載の移動ノード。（請求項６）
（付記７）移動先のサブネットワークがマルチキャストパケットの配信機能を持つときには、前記所定の期間として一定の期間を示す情報を前記位置登録先中継装置に対して送信し、移動先のサブネットワークがマルチキャストパケットの配信機能を持たないときには、前記所定の期間として継続して転送させることを示す情報を前記位置登録先中継装置に対して送信する期間指定手段を有することを特徴とする付記４記載の移動ノード。（請求項７）
（付記８）マルチキャストパケットを受信する移動ノードが、移動先のサブネットワークがマルチキャストプロトコルに対応しているサブネットワークであるか否かを前記移動ノードに対応するホームエージェントに通知し、前記ホームエージェントは、その通知内容に従って、移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークであれば、所定の期間、前記マルチキャストパケットを前記移動ノードの移動先の気付アドレスを宛先としてカプセル化転送し、移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークでなければ、前記マルチキャストパケットを前記気付アドレスを宛先として前記所定の期間によらず、継続してカプセル化転送することを特徴とするパケット転送方法。（請求項８）
（付記９）マルチキャストパケットを受信する移動ノードが、移動先サブネットワークがマルチキャストプロトコルに対応しているサブネットワークであるか否かを前記移動ノードが移動元サブネットワークにおいて接続されていた中継装置に通知し、前記中継装置は、その通知内容に従って、移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークであれば、所定の期間、前記マルチキャストパケットを前記移動ノードの移動先サブネットワークにおける気付アドレスを宛先としてカプセル化転送し、前記移動先サブネットワークがマルチキャストプロトコル対応のサブネットワークでなければ、前記マルチキャストパケットを前記気付アドレスを宛先として前記所定の期間によらず、継続してカプセル化転送することを特徴とするパケット転送方法。（請求項９）
（付記１０）移動ノードが、移動先サブネットワークがマルチキャスト対応ネットワークか否かを通知する方法として、位置登録メッセージに、移動先サブネットワークがマルチキャスト対応か否かの情報を含めて通知することを特徴とする付記８または９記載のパケット転送方法。
【０２２０】
（付記１１）付記８に記載のパケット転送方法において、前記ホームエージェントが固定的にカプセル化転送を行う時間を決めることを特徴とする方法。
【０２２１】
（付記１２）付記８に記載のパケット転送方法において、前記ホームエージェントが前記移動ノード宛てにマルチキャストパケットを転送する期間を、前記移動ノードが前記ホームエージェントに対して指定することを特徴とするパケット転送方法。
【０２２２】
（付記１３）管理対象の移動ノードの移動先管理手段としてのバインディングキャッシュと、マルチキャストパケットを転送するマルチキャストパケット転送手段としてのマルチキャストパケット転送処理部を有し、かつ、移動ノードの移動先でのマルチキャストパケットの受信可否に応じて所定の期間、マルチキャストパケットをカプセル化転送する連携手段としてのパケット処理部とを有することを特徴としたホームエージェント。
【０２２３】
（付記１４）モバイルＩＰ機能を有する移動ノードにおいて、前記移動ノードがマルチキャストパケットの受信を行う場合に、移動に伴って前記移動ノードのアドレスが変更されることに同期して、マルチキャストパケットの受信を要求するメッセージを送信することを特徴とした移動ノード。
【０２２４】
【発明の効果】
以上、本発明によれば、移動ノードが移動するときに発生するマルチキャストグループ宛パケットのロスを低減させることができ、データ転送品質を向上できるという効果がある。
【０２２５】
また、冗長なパケットの送信を抑止することにより、ネットワーク資源の浪費を抑制する効果が期待できる。
【図面の簡単な説明】
【図１】本発明を第１の実施例を説明する図である。
【図２】移動ノードが備えるパケット到達時間テーブルの例を示す図である。
【図３】本発明の第２の実施例を説明する図（１）である。
【図４】バインディングキャッシュの保持内容の例を示す図である。
【図５】マルチキャストテーブルの例を示す図である。
【図６】本発明の第２の実施例を説明する図（２）である。
【図７】本発明の第２の実施例を説明する図（３）である。
【図８】本発明の第２の実施例を説明する図（４）である。
【図９】ホームエージェント（ＨＡ）の構成例を示す図である。
【図１０】移動ノード（ＭＮ）の構成例を示す図である。
【図１１】ＨＡのマルチキャストパケット転送処理部のフローチャートである。
【図１２】ＨＡのカプセル処理部のフローチャートである。
【図１３】ＨＡのモバイルＩＰメッセージ処理部のフローチャート（１）である。
【図１４】ＨＡのモバイルＩＰメッセージ処理部のフローチャート（２）である。
【図１５】ＨＡのマルチキャストテーブルの構成例を示す図である。
【図１６】ＨＡのバインディングキャッシュの構成例を示す図である。
【図１７】ＢＵメッセージの構成例を示す図である。
【図１８】ＭＮのモバイルＩＰメッセージ処理部の移動時のフローチャートである。
【図１９】ＭＮのモバイルＩＰメッセージ処理部の通信終了時のフローチャートである。
【図２０】ＭＮのモバイルＩＰメッセージ処理部の冗長カプセル化転送停止時のフローチャートである。
【図２１】本発明の第４の実施例を説明する図（１）である。
【図２２】本発明の第４の実施例を説明する図（２）である。
【図２３】アクセスルータ（ＡＲ）の構成例を示す図である。
【図２４】ＡＲのマルチキャストパケット転送処理部のフローチャートである。
【図２５】ＡＲのカプセル処理部のフローチャートである。
【図２６】ＡＲのモバイルＩＰメッセージ処理部のフローチャート（１）である。
【図２７】ＡＲのモバイルＩＰメッセージ処理部のフローチャート（２）である。
【図２８】第４実施例におけるＭＮのモバイルＩＰメッセージ処理部の移動時のフローチャートである。
【図２９】第４実施例におけるＭＮのモバイルＩＰメッセージ処理部の通信終了時のフローチャートである。
【図３０】第４実施例におけるＭＮのモバイルＩＰメッセージ処理部の冗長カプセル化転送停止時のフローチャートである。
【図３１】モバイルＩＰを用いた通信方法を説明する図である。
【図３２】マルチキャスト通信におけるパケット転送を説明する図である。
【図３３】モバイルＩＰにおいてマルチキャスト通信を行う通信方法を説明する図である。
【符号の説明】
１０  パケットネットワーク
２０、３０  サブネットワーク
１１０  ホームエージェント（ＨＡ）
１１１  バインディングキャッシュ
１１２  マルチキャストテーブル
１２０  パケット受信部
１２１  入力パケット種別判定部
１２２  ルーティングメッセージ処理部
１２３  モバイルＩＰメッセージ処理部
１２４  マルチキャストメッセージ処理部
１３０  パケット処理部
１３１  マルチキャストパケット転送処理部
１３２  カプセル処理部
１３３  送信処理部
１４０  ルーティングテーブル
２０１、２０２、２０３  アクセスルータ（ＡＲ）
２１１  バインディングキャッシュ
２１２  マルチキャストテーブル
２２０  パケット受信部
２２１  入力パケット種別判定部
２２２  ルーティングメッセージ処理部
２２３  モバイルＩＰメッセージ処理部
２２４  マルチキャストメッセージ処理部
２３０  パケット処理部
２３１  マルチキャストパケット転送処理部
２３２  カプセル処理部
２３３  送信処理部
２４０  ルーティングテーブル
３０１  移動ノード（ＭＮ）
３２０  パケット受信部
３２１  入力パケット種別判定部
３２２  ルーティングメッセージ処理部
３２３  マルチキャストメッセージ処理部
３２４  モバイルＩＰメッセージ処理部
３２５  デカプセル処理部
３３０  パケット処理部
３３１  カプセル処理部
３３３  送信処理部
３４０  ルーティングテーブル
３５０  マルチキャストアプリケーション
３５１  その他アプリケーション
４０１  通信相手ノード（ＣＮ）
５０１  センダ
６０１、６０２、６０３、６０４、６０５  マルチキャストルータ（ＭＲ）
７０１、７０２、７０３  レシーバ
【図１】
2004304644.tif 000003
【図２】
2004304644.tif 000004
【図３】
2004304644.tif 000005
【図４】
2004304644.tif 000006
【図５】
2004304644.tif 000007
【図６】
2004304644.tif 000008
【図７】
2004304644.tif 000009
【図８】
2004304644.tif 000010
【図９】
2004304644.tif 000011
【図１０】
2004304644.tif 000012
【図１１】
2004304644.tif 000013
【図１２】
2004304644.tif 000014
【図１３】
2004304644.tif 000015
【図１４】
2004304644.tif 000016
【図１５】
2004304644.tif 000017
【図１６】
2004304644.tif 000018
【図１７】
2004304644.tif 000019
【図１８】
2004304644.tif 000020
【図１９】
2004304644.tif 000021
【図２０】
2004304644.tif 000022
【図２１】
2004304644.tif 000023
【図２２】
2004304644.tif 000024
【図２３】
2004304644.tif 000025
【図２４】
2004304644.tif 000026
【図２５】
2004304644.tif 000027
【図２６】
2004304644.tif 000028
【図２７】
2004304644.tif 000029
【図２８】
2004304644.tif 000030
【図２９】
2004304644.tif 000031
【図３０】
2004304644.tif 000032
【図３１】
2004304644.tif 000033
【図３２】
2004304644.tif 000034
【図３３】
2004304644.tif 000035