(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の他の通信装置を宛先として、前記ネットワークを介して通信パケットを送信する通信装置であって、
前記複数の他の通信装置それぞれの宛先アドレスを宛先アドレスリストとして記憶する記憶手段と、
前記宛先アドレスリストを所定の手順に基づいて並べ換える並換手段と、
前記並換手段で並べ換えた前記宛先アドレスリストの先頭の前記宛先アドレスを送信先アドレスとして、前記宛先アドレスリストを付与した前記通信パケットを送信する送信手段と、を具備し、
前記所定の手順は、
前記記憶手段に記憶された前記宛先アドレスリストを、自己のアドレスとの関連度合に基づいて前記宛先アドレスの並び換えを行う手順であることを特徴とする通信装置。
【請求項２】
ネットワークに接続された複数の他の通信装置のいずれかから送信された通信パケットを受信し、受信した通信パケットを次の宛先に送信する通信装置であって、
複数の宛先アドレスが含まれる宛先アドレスリストを付与した前記通信パケットを受信する受信手段と、
前記宛先アドレスリストから自己のアドレスを削除した後、次に送信すべき宛先アドレスを所定の手順に基づいて並び替える宛先アドレスリスト編集手段と、
前記宛先アドレスリスト編集手段にて編集された新たな宛先アドレスリストに基づいて次の宛先アドレス宛へ前記新たな宛先アドレスリストを前記通信パケットに付与して送信する送信手段とを具備ることを特徴とする通信装置。
【請求項３】
前記所定の手順は、
自己のアドレスを削除した後の前記宛先アドレスリストを、アドレスの昇順あるいは降順に単純ソートする手順であることを特徴とする請求項２記載の通信装置。
【請求項４】
前記所定の手順は、
自己のアドレスを削除した後の前記宛先アドレスリストを、各宛先アドレスの上位側ビット列に基づいて並べ換える手順であることを特徴とする請求項２記載の通信装置。
【請求項５】
ネットワークに接続された複数の他の通信装置を宛先として、前記ネットワークを介して通信パケットを送信する送信元通信装置と、
前記ネットワークに接続された複数の他の通信装置のいずれかから送信された通信パケットを受信し、受信した通信パケットを次の宛先に送信する中継通信装置と、を備えた通信システムであって、
前記送信元通信装置は、
前記複数の他の通信装置それぞれの宛先アドレスを宛先アドレスリストとして記憶する記憶手段と、
前記宛先アドレスリストを所定の手順に基づいて並べ換える並換手段と、
前記並換手段で並べ換えた前記宛先アドレスリストの先頭の前記宛先アドレスを送信先アドレスとして、前記宛先アドレスリストを付与した前記通信パケットを送信する第１送信手段と、を有し、
前記中継通信装置は、
複数の宛先アドレスが含まれる宛先アドレスリストを付与した前記通信パケットを受信する受信手段と、
前記宛先アドレスリストから自己のアドレスを削除する宛先アドレスリスト編集手段と、
前記宛先アドレスリスト編集手段にて編集された新たな宛先アドレスリストに基づいて次の宛先アドレス宛へ前記新たな宛先アドレスリストを前記通信パケットに付与して送信する第２送信手段と、を有することを特徴とする通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続された複数の他の通信装置との間で通信パケットの受け渡しを行う通信装置及び通信システムに関する。
【０００２】
【従来の技術】
ＩＰ（Internet Protocol）アドレスを128ビットで表すIPv6（Internet Protocol version 6）への移行が徐々に進められている。IPv6の導入により、インターネットの通信形態はエンドツーエンド（end-to-end）通信に移行し、広域環境での一対多型(マルチキャスト)通信の実現性が高くなってきている。
【０００３】
マルチキャスト通信を実現する一手法として、以下の方法がある（特許文献１，２参照）。この方法は、通信宛先となる複数ノードを送信ノードが明示的に指定し、これら複数ノードを経由して通信パケットを配送するソースルーティング型のマルチキャストプロトコルである。
【０００４】
従来のマルチキャストでは、通信パケットを配送するための配送ツリーを管理するルータを別途用意する必要があったが、この方法では通信ノードだけでマルチキャスト通信を実現できるため、ネットワーク環境に依存しないユーザビリティの高いサービスを実現できる。
【０００５】
【特許文献１】
特開２０００−３５４０６３公報
【特許文献２】
特開２００１−１６８８６１公報
【０００６】
【発明が解決しようとする課題】
しかしながら、ソースルーティング型のパケット配送手法を用いる場合に、散在する通信宛先のトポロジ情報を考慮せずに配送順序を指定すると、配送経路の重複による無駄なトラフィックが発生したり、通信遅延の大きい配送順序になる可能性がある。
【０００７】
このため、ユーザがメールやチャット等でトポロジ情報を収集し、最適な通信路を手計算で導出する必要があったが、速やかに通信を行うためにはユーザビリティの低い作業であり、また、情報収集時に人為的な障害が頻発するという問題があった。
【０００８】
特許文献１，２に記載の方法では、上述の問題に対応するべく、通信宛先のトポロジ情報に基づいて最適な配送経路を計算する管理サーバを導入する手法が提案されている。
【０００９】
ところが、管理サーバを導入しても、管理サーバがユーザの管理権限がない場合には、エンドツーエンドの端末がこれらの管理サーバへの登録や削除処理を行うことが困難であるため、ユーザビリティが低くなり、単発的な障害（Single Point of Failure）が発生する可能性がある。
【００１０】
また、マルチキャスト通信に参加するメンバーが動的に変化する場合、毎回、最適経路を再計算するため、計算量が膨大となり、サーバのスケーラビリティの保証が困難化するおそれがあった。
【００１１】
本発明は、このような点に鑑みてなされたものであり、その目的は、通信遅延と総トラフィック量を軽減可能なパケットの配送経路を、サーバの管理を必要とせずに少ない計算量で求めることができる通信装置及び通信システムを提供することにある。
【００１２】
【課題を解決するための手段】
上述した課題を解決するために、本発明の一態様によれば、ネットワークに接続された複数の他の通信装置を宛先として、前記ネットワークを介して通信パケットを送信する通信装置であって、前記複数の他の通信装置それぞれの宛先アドレスを宛先アドレスリストとして記憶する記憶手段と、前記宛先アドレスリストを所定の手順に基づいて並べ換える並換手段と、前記並換手段で並べ換えた前記宛先アドレスリストの先頭の前記宛先アドレスを送信先アドレスとして、前記宛先アドレスリストを付与した前記通信パケットを送信する送信手段と、を具備し、前記所定の手順は、前記記憶手段に記憶された前記宛先アドレスリストを、自己のアドレスとの関連度合に基づいて前記宛先アドレスの並び換えを行う手順であることを特徴とする通信装置が提供される。
【００１３】
本発明では、所定の手順で並べ替えを行った宛先アドレスリストに基づいて、通信パケットの送信先を決定する。
【００１４】
また、本発明の一態様によれば、ネットワークに接続された複数の他の通信装置のいずれかから送信された通信パケットを受信し、受信した通信パケットを次の宛先に送信する通信装置であって、複数の宛先アドレスが含まれる宛先アドレスリストを付与した前記通信パケットを受信する受信手段と、前記宛先アドレスリストから自己のアドレスを削除する宛先アドレスリスト編集手段と、前記宛先アドレスリスト編集手段にて編集された新たな宛先アドレスリストに基づいて次の宛先アドレス宛へ前記新たな宛先アドレスリストを前記通信パケットに付与して送信する送信手段とを具備し、前記宛先アドレスリスト編集手段は、自己のアドレスを削除した後、次に送信すべき宛先アドレスを所定の手順に基づいて並べ換えることを特徴とする通信装置を提供する。
【００１５】
【発明の実施の形態】
以下、本発明に係る通信装置及び通信システムについて、図面を参照しながら具体的に説明する。
【００１６】
図１は本発明に係る通信システムの一実施形態の概略図である。図示のように、３つの自律システムAS-1,AS-2,AS-3がネットワーク１０に接続されている。このネットワーク１０は、例えば次世代のＩＰプロトコルであるIPv6を使用するインターネットである。
【００１７】
自律システムAS-1には通信装置A,B,Cが設けられ、通信装置B,Cは同一のＩＳＰ（Internet Service Provider）を介してインターネットに接続する。自律システムAS-2には通信装置Ｄが設けられている。自律システムAS-3には通信装置E,F,Gが設けられ、通信装置F,Gは同一のＩＳＰを介してインターネットに接続する。
【００１８】
図１の各通信装置Ａ〜Ｇは、通信パケットの送信元ノード、中継ノード及び宛先ノードになることができる。各通信装置Ａ〜Ｇは、IPv6を使用して通信パケットの送受信を行う。各通信装置Ａ〜Ｇに割り当てられたIPv6の上位ビット列（プリフィックス）は、例えば図２のようになる。
【００１９】
図３は各通信装置Ａ〜Ｇの内部構成の一例を示すブロック図である。図３に示すように、各通信装置Ａ〜Ｇは、他の通信装置それぞれの宛先アドレスを宛先アドレスリストとして記憶する宛先リスト記憶部１と、宛先アドレスリストを所定の手順に基づいて並べ替える並換部２と、並換部２で並べ換えた宛先アドレスリストの先頭の宛先アドレスを送信先アドレスとして宛先アドレスリストを付与して通信パケットを送信するパケット送信部３と、他の通信装置からの通信パケットを受信するパケット受信部４と、通信パケットに含まれる宛先アドレスリストから自己のアドレスを削除する宛先リスト編集部５とを備えている。
【００２０】
各通信装置Ａ〜Ｇが送信元になる場合は、図３の宛先リスト記憶部１、並換部２及びパケット送信部３を利用し、中継ノードとなる場合は、パケット受信部４、宛先リスト編集部５及びパケット送信部３を利用する。
【００２１】
図１の通信システムは、通信遅延と総トラフィック量を軽減可能な通信パケットの配送経路を簡易な処理手順で求めることを特徴とする。
【００２２】
（第１の処理手順）
以下、図１の通信システムの第１の処理手順について説明する。例えば、図１の通信装置Ａが送信元の場合、図２に示すIPv6のプリフィックスに基づいて宛先アドレスを昇順に単純ソートすることにより、図４の宛先アドレスリストに示すように、通信装置Ｂ→Ｃ→Ｄ→Ｅ→Ｆ→Ｇの中継順序が得られる。この中継順序で通信パケットを送信すれば、通信遅延と総トラフィックを最適化したパケット送信が可能になる。
【００２３】
ところが、図１の通信装置Ｆが送信元の場合、送信宛先となる通信装置A,B,C,D,E,Gを図２に示すIPv6のプリフィックスに基づいて昇順に単純ソートすることにより、図５の宛先アドレスリストに示すように、通信装置Ａ→Ｂ→Ｃ→Ｄ→Ｅ→Ｇの中継順序が得られる。図６はこの場合の通信パケットの中継順序を矢印で示している。
【００２４】
図６の中継順序は、最初の宛先である通信装置Ａに対しては通信遅延と総トラフィック量を最適化できないが、２番目以降の宛先である通信装置B,C,D,E,Gに対しては通信遅延と総トラフィック量を最適化できる。
【００２５】
図７は第１の処理手順を示すフローチャートであり、送信元、中継ノード及び最終宛先の各通信装置の処理手順を示している。送信元の通信装置は、まず、宛先リスト記憶部１から宛先リストを取得する（ステップＳ１）。次に、宛先リストに登録された各宛先をプリフィックス順に昇順または降順に単純ソートする（ステップＳ２）。次に、通信パケットの送信先ＩＰアドレスを設定する（ステップＳ３）。ここでは、宛先リストの先頭に登録された通信装置を送信先とする。
次に、送信先ＩＰアドレスに宛先リストを付加して、通信パケットを送信する（ステップＳ４）。
【００２６】
中継ノードの通信装置は、通信パケットを受信すると（ステップＳ１１）、通信パケットの内容の受理手続を行い、宛先リストを抽出する（ステップＳ１２）。次に、通信パケットの送信先ＩＰアドレスを設定する（ステップＳ１３）。ここでは、宛先リストに登録されている次の通信装置を送信先とする。次に、パケットを送信する（ステップＳ１４）
最終宛先の通信装置は、通信パケットを受信すると（ステップＳ２１）、通信パケットの内容の受理手続を行う（ステップＳ２２）。
【００２７】
このように、第１の処理手順では、宛先リストに登録されている各通信装置に割り当てられているIPv6のプリフィックスに基づいて単純ソートすることにより、次の宛先を決定するため、簡易な処理手順で通信遅延と総トラフィック量を最適化できる。
【００２８】
（第２の処理手順）
第２の処理手順は、宛先リストに基づいて単純ソートした後に、各通信装置に割り当てられているIPv6のプリフィックスを比較し、その比較結果に基づいて送信先アドレスを決定するものである。
【００２９】
図８は第２の処理手順を示すフローチャートであり、送信元、中継ノード及び最終宛先の各通信装置の処理手順を示している。送信元の通信装置は、宛先リストを取得して（ステップＳ３１）、プリフィックス順に昇順または降順に単純ソートした（ステップＳ３２）後、自己のIPv6のプリフィックスと各宛先の通信装置のプリフィックスとを比較する（ステップＳ３３）。ここでは、IPv6のIPアドレスの上位６４ビットをプリフィックスとして比較する。
【００３０】
図９はステップＳ３３の比較結果を示す図であり、通信装置Ｆを送信元とし、宛先リストが図５のような場合の例を示している。図９では、比較結果が一致したビットを「０」で表し、比較結果が一致しなかったビットを「１」で表している。
【００３１】
次に、プリフィックスの比較結果に基づいて、自己のプリフィックスとの一致度が高い順に、宛先リストの並び換えを行う（ステップＳ３４）。図５の宛先リストは、図１０のように並び換えられる。
【００３２】
次に、並び換えた宛先リストに基づいて、通信パケットの送信先ＩＰアドレスを設定した（ステップＳ３５）後、パケットを送信する（ステップＳ３６）。
【００３３】
中継ノードと最終宛先の各通信装置の処理手順は図７と同様であるため、説明を省略する。
【００３４】
例えば、送信元を通信装置Ｆとして、図８のフローチャートの処理を行うと、図１１の矢印で示す向きに通信パケットが送られる。図６では通信装置Ｆから通信遅延の大きい通信装置Ａに通信パケットが送られたが、図９では通信装置Ｆから通信Ｇ，Ｅを経て通信装置Ａに通信パケットが送られる。
【００３５】
このように、第２の処理手順では、宛先リストを単純ソートするだけでなく、IPv6のプリフィックスの一致度を考慮に入れて宛先リストの並び換えを行うため、通信遅延と総トラフィック量をより最適化できる。
【００３６】
（第３の処理手順）
第３の処理手順は、中継ノードの通信装置も送信先の通信装置と同様の並換処理を行うものである。
【００３７】
図１２は第３の処理手順を示すフローチャートであり、送信元、中継ノード及び最終宛先の各通信装置の処理手順を示している。送信元の通信装置は、宛先リストを取得して（ステップＳ４１）、プリフィックスを昇順または降順に単純ソートした（ステップＳ４２）後、自己のプリフィックスと各宛先のプリフィックスとを比較し、自己のプリフィックスとの一致度が最も高いプリフィックスを持つ通信装置を選択する（ステップＳ４３）。
【００３８】
次に、ステップＳ４３で複数の通信装置が選択されたか否かを判定し（ステップＳ４４）、複数の通信装置が選択された場合は、これら複数の通信装置のプリフィックスを昇順または降順に単純ソートして、宛先となる通信装置を選択する（ステップＳ４５）。
【００３９】
次に、ステップＳ４３またはＳ４５で選択した通信装置に基づいて、通信パケットの送信先ＩＰアドレスを設定し（ステップＳ４６）、通信パケットを送信する（ステップＳ４７）。
【００４０】
中継ノードの通信装置は、送信元の通信装置から送信された通信パケットを受信し（ステップＳ５１）、受信した通信パケットの受理手続を行う（ステップＳ５２）。
【００４１】
その後、中継ノードの通信装置は、送信元の通信装置が行う処理（ステップＳ４１〜Ｓ４７）と同様の処理を行う（ステップＳ５２〜Ｓ５８）。
【００４２】
例えば、送信元を通信装置Ｆとして、図１２のフローチャートの処理を行うと、図１３の矢印で示す向きに通信パケットが送られる。図１３の場合、通信装置Ｆから通信装置Ｇに通信パケットが送られている。中継ノードである通信装置Ｇは、図１２のステップＳ５１〜Ｓ５８の処理を行う。この場合、通信装置Ｇ自身のプリフィックスと他の通信装置A,B,C,D,Eのプリフィックスとの比較結果は、図１４のようになる。通信装置Ｅが最も一致度が高いことがわかる。したがって、通信装置Ｇは通信装置Ｅを次の宛先に決定して、通信パケットを送信する。
【００４３】
この通信パケットを受け取った通信装置Ｅは、図１２のステップＳ５１〜Ｓ５８の処理を行う。この場合、通信装置Ｅ自身のプリフィックスと他の通信装置A,B,C,Dのプリフィックスとの比較結果は、図１５のようになる。通信装置Ａが最も一致度が高いことがわかる。したがって、通信装置Ｅは通信装置Ａを次の宛先に決定して、通信パケットを送信する。
【００４４】
このように、第３の処理手順では、送信元と中継ノードの通信装置がいずれも、自己の通信装置のプリフィックスとの一致度が最も高いプリフィックスを持つ通信装置を宛先として選択するため、どの中継ノードにおいても、通信遅延と総トラフィック量が最小となるような宛先に通信パケットを送信できる。特に、中継する通信装置が頻繁に入れ替わるような環境において、第３の処理手順は好都合である。
【００４５】
上述した実施形態では、IPv6プロトコルを使用する例を説明したが、通信プロトコルの種類はIPv6には限定されず、他の通信プロトコル（例えば、IPv4）を用いてもよい。使用する通信プロトコルに応じて、比較の対象となるプリフィックスのビット数を変えればよい。
【００４６】
【発明の効果】
以上詳細に説明したように、本発明によれば、通信パケットを複数の通信装置を順に中継させて宛先の通信装置まで送信する場合に、所定の手順で並べ換えた宛先アドレスリストに基づいて通信パケットを送信するため、通信遅延と総トラフィック量を軽減することができる。
【００４７】
また、簡易な処理手順で通信パケットの宛先を決定できるため、宛先を決定する際には管理サーバが不要となる。
【００４８】
さらに、通信パケットを中継する通信装置が頻繁に入れ替わる環境でも、膨大な計算量を要することなく、迅速かつ的確に通信パケットの宛先を決定できる。
【図面の簡単な説明】
【図１】本発明に係る通信システムの一実施形態の概略図。
【図２】各通信装置に割り当てられたIPv6のプリフィックスを示す図。
【図３】各通信装置の内部構成の一例を示すブロック図。
【図４】送信元が通信装置Ａの場合の宛先アドレスリストを単純ソートした例を示す図。
【図５】送信元が通信装置Ｆの場合の宛先アドレスリストを単純ソートした例を示す図。
【図６】図５に対応する中継順序を示す図。
【図７】第１の処理手順を示すフローチャート。
【図８】第２の処理手順を示すフローチャート。
【図９】ステップＳ３３の比較結果を示す図。
【図１０】プリフィックス同士の比較結果に基づいて並べ換えを行った例を示す図。
【図１１】図１０に対応する中継順序を示す図。
【図１２】第３の処理手順を示すフローチャート。
【図１３】図１２の処理結果を示す中継順序を示す図。
【図１４】通信装置Ｇにおける宛先アドレスリストを示す図。
【図１５】通信装置Ｅにおける宛先アドレスリストを示す図。
【符号の説明】
１  宛先リスト記憶部
２  並換部
３  パケット送信部
４  パケット受信部
５  宛先リスト編集部
１０  ネットワーク
【図１】
0003703789.tif 000002
【図２】
0003703789.tif 000003
【図３】
0003703789.tif 000004
【図４】
0003703789.tif 000005
【図５】
0003703789.tif 000006
【図６】
0003703789.tif 000007
【図７】
0003703789.tif 000008
【図８】
0003703789.tif 000009
【図９】
0003703789.tif 000010
【図１０】
0003703789.tif 000011
【図１１】
0003703789.tif 000012
【図１２】
0003703789.tif 000013
【図１３】
0003703789.tif 000014
【図１４】
0003703789.tif 000015
【図１５】
0003703789.tif 000016