(57)【要約】【課題】中継ルータでのフロー毎の経路設定を不要にし、必要なメモリを少量に抑え、パケットを受信したときに経路の決定を短時間で行うことができるマルチキャスト通信システム及びマルチキャスト通信方法を提供する。【解決手段】エッジルータと、中継ルータと、ネットワーク管理装置とを備え、エッジルータは、出力インターフェースとエッジルータを示すヘッダとの対応表と、端末装置とこれらを収容するエッジルータとの対応表とを作成する第１の経路表作成管理手段と、データ送信要求パケットに格納された識別子とこの要求パケットを受信した出力インターフェースとの対応表と、識別子と受信端末装置を収容するエッジルータのヘッダとの対応表とを作成するフロー管理手段と、受信したデータパケットに格納された識別子に対応するヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送する第１のパケット転送手段とを備える。【選択図】        図１
2004166051.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のルータを備え、送信端末装置から前記ルータを介して受信端末装置へデータを送信するマルチキャスト通信システムにおいて、
前記送信端末装置または前記受信端末装置に接続されるエッジルータと、
前記エッジルータに接続される中継ルータと、
前記エッジルータを識別するアドレスと、あらかじめ設定され、複数のビットで構成され、各ビットが前記エッジルータに対応するヘッダとを対応付けて記憶し、前記エッジルータおよび前記中継ルータの要求に応じて送信するネットワーク管理装置と
を備え、
前記エッジルータは、
前記アドレスと前記ヘッダとの対応に基づいて、このエッジルータの出力インターフェースとこの出力インターフェースから送信される前記データを構成するデータパケットを受信するエッジルータを示すヘッダとの対応表と、前記送信端末装置および前記受信端末装置とこれらを収容するエッジルータとの対応表とを作成する第１の経路表作成管理手段と、
前記データパケットの送信を要求する要求パケットに格納され、このデータパケットを識別する識別子とこの要求パケットを受信した出力インターフェースとの対応表と、前記識別子と前記データを受信する前記受信端末装置を収容するエッジルータのヘッダとの対応表とを作成するフロー管理手段と、
受信した前記データパケットに格納された識別子に対応するヘッダから、前記受信端末装置に接続されたエッジルータに対応するヘッダを求め、前記データパケットに付加して転送する第１のパケット転送手段と、
を備え、
前記中継ルータは、
前記アドレスと前記ヘッダとの対応に基づいて、この中継ルータの出力インターフェースとこの出力インターフェースから送信されるデータパケットを受信するエッジルータを示すヘッダとの対応表を作成する第２の経路表作成管理手段と、
受信した前記データパケットのヘッダから、前記受信端末装置に接続されたエッジルータに対応するヘッダを求め、前記データパケットに付加して転送する第２のパケット転送手段と
を備えることを特徴とするマルチキャスト通信システム。
【請求項２】
請求項１に記載のマルチキャスト通信システムにおいて、
前記第１のパケット転送手段および前記第２のパケット転送手段は、
受信した前記データパケットに格納されているヘッダと、前記エッジルータを示すヘッダとのＡＮＤを計算し、計算値が０以外の場合には、この計算値をヘッダとして転送し、０となる出力インターフェースからは、パケットを転送しないことを特徴とするマルチキャスト通信システム。
【請求項３】
ネットワークに接続された複数のルータを備え、送信端末装置から前記ルータを介して受信端末装置へデータを送信するマルチキャスト通信方法において、
前記送信端末装置または前記受信端末装置に接続されるエッジルータと、
前記エッジルータに接続される中継ルータと、
前記エッジルータを識別するアドレスと、あらかじめ設定され、複数のビットで構成され、各ビットが前記エッジルータに対応するヘッダとを対応付けて記憶し、前記エッジルータおよび前記中継ルータの要求に応じて送信するネットワーク管理装置と
を備えたマルチキャスト通信方法であって、
前記エッジルータは、
前記アドレスと前記ヘッダとの対応に基づいて、このエッジルータの出力インターフェースとこの出力インターフェースから送信される前記データを構成するデータパケットを受信するエッジルータを示すヘッダとの対応表と、前記送信端末装置および前記受信端末装置とこれらを収容するエッジルータとの対応表とを作成し、前記データパケットの送信を要求する要求パケットに格納され、このデータパケットを識別する識別子とこの要求パケットを受信した出力インターフェースとの対応表と、前記識別子と前記データを受信する前記受信端末装置を収容するエッジルータのヘッダとの対応表とを作成し、受信した前記データパケットに格納された識別子に対応するヘッダから、前記受信端末装置に接続されたエッジルータに対応するヘッダを求め、前記データパケットに付加して転送し、
前記中継ルータは、
前記アドレスと前記ヘッダとの対応に基づいて、この中継ルータの出力インターフェースとこの出力インターフェースから送信されたデータパケットを受信するエッジルータを示すヘッダとの対応表を作成し、受信した前記データパケットのヘッダから、前記受信端末装置に接続されたエッジルータに対応するヘッダを求め、前記データパケットに付加して転送することを特徴とするマルチキャスト通信方法。
【請求項４】
請求項３に記載のマルチキャスト通信方法において、
前記エッジルータおよび前記中継ルータは、
受信した前記データパケットに格納されているヘッダと、前記エッジルータを示すヘッダとのＡＮＤを計算し、計算値が０以外の場合には、この計算値をヘッダとして変更して転送し、０となる出力インターフェースからは、パケットを転送しないことを特徴とするマルチキャスト通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複数の端末装置を複数のルータで結ぶネットワークにより通信を行うマルチキャスト通信技術に関する。
【０００２】
【従来の技術】
マルチキャストとは、同じデータを複数の端末装置に効率的に伝送するためのインターネット技術である。このマルチキャストでは、マルチキャストルーティング技術により、送信端末装置から複数の受信端末装置に対して、木構造の情報伝送経路が構成される。この情報伝達経路において、木が枝分かれする部分には、マルチキャストルータが存在する。このマルチキャストルータは、送信端末装置からのデータパケットを受信すると、必要な数だけデータパケットをコピーし、転送する。この木構造において、各端末装置は葉の部分に相当する。
【０００３】
図１７は、マルチキャスト通信システムの一例を示す構成図である。２０１はネットワーク、２１１〜２１４はルータ、２２１〜２２３は端末装置である。
ルータ２１１〜ルータ２１４は同様の構成であるため、この構成をルータ２１５について述べることにより説明する。図１８は、ルータ２１５の構成を示す機能ブロック図である。２１５−１は送受信部、２１５−２は経路表作成管理部、２１５−３はパケット転送部、２１５−４は記憶部である。
【０００４】
ここで、マルチキャスト技術であるＰｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ−Ｓｐａｒｓｅ  Ｍｏｄｅ（ＰＩＭ−ＳＭ）を使って端末装置２２１から端末装置２２２、２２３ヘデータを送る場合について説明する（例えば、非特許文献１参照）。なお、ＰＩＭ−ＳＭでは、各ルータ２１１〜２１４においては、要求パケットの宛先になるルータはあらかじめ決められている。全てのルータはその宛先となっているルータへ向かって要求パケットを転送する。宛先に指定されたルータの記憶部２１５−４には、マルチキャストアドレスと送信端末装置との関係があらかじめ記憶されているので、端末装置間のデータ転送を行うことができる。
【０００５】
図１７では要求パケットの宛先をルータ２１１とする。端末装置２２１は、データパケットにフロー識別子としてマルチキヤストアドレスを付けてルータ２１１ヘデータ送信をあらかじめ行う。
端末装置２２２は、端末装置２２１の送信しているデータの送信を要求するために、ルータ２１４へ端末装置２２１が送信するデータパケットのフローを示すマルチキャストアドレスが格納された要求パケットを送信する。
【０００６】
ルータ２１４の送受信部２１５−１は、端末装置２２２が送信した要求パケットを受信すると、この要求パケットを経路表作成管理部２１５−２に入力する。経路表作成管理部２１５−２では、記憶部２１５−４に記憶されている経路表を参照し、入力された要求パケットに格納されているマルチキャストアドレスを検索する。経路表には、図１９に示すように、マルチキャストアドレスとこのマルチキャストアドレスに対応するデータを受信する端末装置へ接続される出力インターフェースとの関係が示されている。
経路表の中に一致するマルチキャストアドレスが存在する場合には、ルータ２１４はマルチキャストアドレスに対応する出力インターフェースに要求パケットを受信したインターフェースを追加し、要求パケットは転送しない。存在しない場合には、経路表に、要求パケットを受信したインターフェースをデータパケットの出力インターフェースとして、そのマルチキャストアドレスとともに追加し、ルータ２１４は要求パケットをルータ２１２へ送信する。
【０００７】
ルータ２１２においてもルータ２１４と同様の処理が行われる。この処理において、経路表の中に一致するマルチキャストアドレスが存在しない場合には、ルータ２１２は要求パケットをルータ２１１へ送信する。
【０００８】
ルータ２１１においてもルータ２１４と同様の処理が行われる。この処理において、要求パケットに格納されているマルチキャストアドレスの検索の結果、要求パケットに格納されているマルチキャストアドレスが存在するが、このマルチキャストアドレスに対応する出力インターフェースは記載されていないので、要求パケットを受信したインターフェースをデータパケットの出力インターフェースとして、経路表に追加する。
【０００９】
次に、データの送信について説明する。
ルータ２１１の送受信部２１５−１は、送信端末装置２２１から送信されたデータパケットをパケット転送部２１５−３に入力する。パケット転送部２１５−３は、記憶部２１５−４に記憶されている経路表を参照し、入力されたデータパケットに格納されているマルチキャストアドレスに対応する出力インターフェースに、そのデータパケットを転送する。ここでは、ルータ２１２に転送される。
ルータ２１２においてもルータ２１１と同様の処理が行われ、データパケットはルータ２１４に転送される。
【００１０】
ルータ２１４においてもルータ２１１と同様の処理が行われ、データパケットは、端末装置２２２に転送される。
その結果、データパケットは、要求パケットが送信された経路を逆向きに転送され、端末装置２２２に受信される。
【００１１】
次に、端末装置２２３が端末装置２２１の送信するデータの送信を要求する場合について説明する。
端末装置２２３はルータ２１３へ、要求するデータのマルチキャストアドレスを格納した要求パケットを送る。
端末装置２２２から要求パケットを受信したルータ２１４と同様の処理が、ルータ２１３においても行われる。この処理において、経路表の中に一致するマルチキャストアドレスが存在しない場合には、ルータ２１３は要求パケットをルータ２１２へ送信する。
【００１２】
ルータ２１２の送受信部２１５−１は、ルータ２１３が送信した要求パケットを受信すると、経路表作成管理部２１５−２にこの要求パケットを入力する。経路表作成管理部２１５−２では、記憶部２１５−４に記憶されている経路表を参照し、入力された要求パケットに格納されているマルチキャストアドレスを検索する。検索の結果、既に端末装置２２１から端末装置２２２への経路ができているので、要求パケットに格納されているマルチキヤストアドレスが存在するが、経路表に記載されている出力インターフェースは要求パケットを受信したインターフェースではないので、このマルチキャストアドレスに対する出力インターフェースとしてルータ２１３への出力インターフェースを追加する。
【００１３】
次に、データ送信について説明する。
ルータ２１１から転送されたデータパケットは、ルータ２１２の送受信部２１５−１で受信され、送受信部２１５−１は受信したデータパケットをパケット転送部２１５−３に入力する。パケット転送部２１５−３では、送受信部２１５−１から入力されたデータパケットを、ルータ２１４の他にルータ２１３へも転送する。ルータ２１３およびルータ２１４はデータパケットを受信すると、経路表にしたがって端末装置２２２および端末装置２２３へ転送する。転送されたデータは、端末装置２２２および端末装置２２３に受信される。
【００１４】
【非特許文献１】
ＲＦＣ２３６２”Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ−Ｓｐａｒｓｅ  Ｍｏｄｅ（ＰＩＭ−ＳＭ）：Ｐｒｏｔｏｃｏｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”、Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ）、１９９８年６月
【００１５】
【発明が解決しようとする課題】
しかし、従来のマルチキャスト技術には、次のような問題があった。従来のマルチキャスト技術においては、送信されるデータのデータフロー毎に経路設定が行われる。このため、データフローが集中する中継ルータにおける経路設定処理による負荷が大きくなるという問題があった。
【００１６】
また、データのデータフロー毎にその経路が経路表に登録されるため、データフローが集中する中継ルータでは、経路表に登録されるマルチキャストアドレスが多くなり、多くの記憶容量を必要としていた。
また、経路表に登録されるマルチキャストアドレスが多くなると、パケットを受信したときに、経路表を参照して、該当するマルチキャストアドレスを検索する時間が長くなるという問題があった。
【００１７】
そこで、本発明は、前述した従来技術の問題点や課題を解決するためになされたものであり、その目的は、中継ルータでのフロー毎の経路設定を不要にし、必要なメモリ容量を抑え、データパケットを受信したときに経路の決定を短時間で行うことができるマルチキャスト通信システム及びマルチキャスト通信方法を提供することを目的とする。
【００１８】
【課題を解決するための手段】
上述した目的を達成するために、本発明にかかるマルチキャスト通信システムは、ネットワークに接続された複数のルータを備え、送信端末装置からルータを介して受信端末装置へデータを送信するマルチキャスト通信システムであって、送信端末装置または受信端末装置に接続されるエッジルータと、エッジルータに接続される中継ルータと、エッジルータを識別するアドレスと、あらかじめ設定され、複数のビットで構成され、各ビットがエッジルータに対応するヘッダとを対応付けて記憶し、エッジルータおよび中継ルータの要求に応じて送信するネットワーク管理装置とを備え、エッジルータは、アドレスとヘッダとの対応に基づいて、このエッジルータの出力インターフェースとこの出力インターフェースから送信されるデータを構成するデータパケットを受信するエッジルータを示すヘッダとの対応表と、送信端末装置および受信端末装置とこれらを収容するエッジルータとの対応表とを作成する第１の経路表作成管理手段と、データパケットの送信を要求する要求パケットに格納され、このデータパケットを識別する識別子とこの要求パケットを受信した出力インターフェースとの対応表と、識別子とデータを受信する受信端末装置を収容するエッジルータのヘッダとの対応表とを作成するフロー管理手段と、受信したデータパケットに格納された識別子に対応するヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送する第１のパケット転送手段とを備え、中継ルータは、アドレスとヘッダとの対応に基づいて、この中継ルータの出力インターフェースとこの出力インターフェースから送信されるデータパケットを受信するエッジルータを示すヘッダとの対応表を作成する第２の経路表作成管理手段と、受信したデータパケットのヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送する第２のパケット転送手段とを備えるようにしたものである。
【００１９】
このようにすることにより、エッジルータとこのエッジルータを示すヘッダとを対応付け、このヘッダのビット位置により、経路設定を行う。
ここで、ヘッダは、複数のビットで構成され、各ビットがエッジルータに対応するため、各エッジルータを示すビットの有無で経路設定を行う。
【００２０】
さらに、第１のパケット転送手段および第２のパケット転送手段は、
受信したデータパケットに格納されているヘッダと、エッジルータを示すヘッダとのＡＮＤを計算し、計算値が０以外の場合には、この計算値をヘッダとして転送し、０となる出力インターフェースからは、パケットを転送しないようにしてもよい。
このようにすることにより、中継ルータは、受信したデータパケットに格納されているヘッダとエッジルータのヘッダに基づき、転送行う。
ここで、ヘッダのビット位置はエッジルータを表すため、受信したデータパケットに格納されているヘッダと、エッジルータのヘッダとのＡＮＤを計算し、この計算結果における、各エッジルータを示すビットの有無で転送先を指定する。
【００２１】
また、本発明にかかるマルチキャスト通信方法は、ネットワークに接続された複数のルータを備え、送信端末装置からルータを介して受信端末装置へデータを送信するマルチキャスト通信方法であって、送信端末装置または受信端末装置に接続されるエッジルータと、エッジルータに接続される中継ルータと、エッジルータを識別するアドレスと、あらかじめ設定され、複数のビットで構成され、各ビットがエッジルータに対応するヘッダとを対応付けて記憶し、エッジルータおよび中継ルータの要求に応じて送信するネットワーク管理装置とを備えたマルチキャスト通信方法であって、エッジルータは、アドレスとヘッダとの対応に基づいて、このエッジルータの出力インターフェースとこの出力インターフェースから送信されるデータを構成するデータパケットを受信するエッジルータを示すヘッダとの対応表と、送信端末装置および受信端末装置とこれらを収容するエッジルータとの対応表とを作成し、データパケットの送信を要求する要求パケットに格納され、このデータパケットを識別する識別子とこの要求パケットを受信した出力インターフェースとの対応表と、識別子とデータを受信する受信端末装置を収容するエッジルータのヘッダとの対応表とを作成し、受信したデータパケットに格納された識別子に対応するヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送し、中継ルータは、アドレスとヘッダとの対応に基づいて、この中継ルータの出力インターフェースとこの出力インターフェースから送信されたデータパケットを受信するエッジルータを示すヘッダとの対応表を作成し、受信したデータパケットのヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送することを特徴とする方法である。
【００２２】
このようにすることにより、エッジルータとこのエッジルータを示すヘッダとを対応付け、このヘッダのビット位置により、経路設定を行う。
ここで、ヘッダは、複数のビットで構成され、各ビットがエッジルータに対応するため、各エッジルータを示すビットの有無で経路設定を行う。
【００２３】
さらに、エッジルータおよび中継ルータは、受信したデータパケットに格納されているヘッダと、エッジルータを示すヘッダとのＡＮＤを計算し、計算値が０以外の場合には、この計算値をヘッダとして変更して転送し、０となる出力インターフェースからは、パケットを転送しないようにしてもよい。
このようにすることにより、中継ルータは、受信したデータパケットに格納されているヘッダとエッジルータのヘッダに基づき、転送行う。
ここで、ヘッダのビット位置はエッジルータを表すため、受信したデータパケットに格納されているヘッダと、エッジルータのヘッダとのＡＮＤを計算し、この計算結果における、各エッジルータを示すビットの有無で転送先を指定する。
【００２４】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
なお、実施の形態を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００２５】
図１は、本発明の一実施の形態にかかるマルチキャスト通信システムを示す構成図である。
図１において、１はネットワーク、２〜５はエッジルータ、６、７は中継ルータ、８〜１１は端末装置、１２はネットワーク管理装置である。
以下、説明の便宜のため、端末装置８を送信端末装置として、端末装置９、１０、１１を受信端末装置として説明する。
また、端末装置のもつ１つのデータを運ぶパケット群を表す語として”フロー”、このフローのマルチキャストアドレスを表す語として”フロー識別子”を用いる。
また、マルチキャストの経路はユニキャスト経路表に基づいて決められるものとする。
【００２６】
ネットワーク１は、エッジルータ２、３、４、および５、中継ルータ６、７を接続する。ネットワーク１としては、任意の形態のネットワークを用いることができる。
【００２７】
エッジルータ２、３、４、５について説明する。
エッジルータ２、３、４、５は同様の構成であるため、この構成をルータ１３について述べることにより説明する。図２は、ルータ１３の構成を示す機能ブロック図である。エッジルータ１３は、送受信部１３−１、経路表作成管理部１３−２、フロー管理部１３−３、パケット転送部１３−４、記憶部１３−５を備える。
また、エッジルータ２のアドレスは１９２．１６８．１０．１０、エッジルータ３のアドレスは１９２．１６８．２０．１０、エッジルータ４のアドレスは１９２．１６８．３０．１０、エッジルータ５のアドレスは１９２．１６８．４０．１０とあらかじめ設定されている。
【００２８】
送受信部１３−１は、要求パケットおよびデータパケットの送受信を行う。
経路表作成管理部１３−２は、後述するネットワーク管理装置１２よりエッジルータとこのエッジルータを示すヘッダとの対応表を取得し、取得した対応表を記憶部１３−５に記憶する。ここで、ヘッダは複数のビットで構成され、各ビットがエッジルータに対応する。エッジルータは、このヘッダのビット位置により互いに識別できるようになっている。
【００２９】
また、経路表作成管理部１３−２は、ルーチングプロトコルによってあらかじめユニキャスト経路表を作成し、後述する記憶部１３−５に記憶する。また、ユニキャスト経路表を参照して、各エッジルータヘデータパケットを送信する際に使用する出力インターフェースを調べ、その結果を出力インターフェース毎にまとめることにより、パケットを送信する際に使用する出力インターフェースとその受信端末装置を格納するエッジルータ群との関係を求める。
【００３０】
さらに、記憶部１３−５に記憶されているエッジルータとこのエッジルータを示すヘッダとの対応表（図４）を参照して、受信端末装置の接続されたエッジルータ群をヘッダのビット位置で示し、これを出力値とし、出力インターフェースと出力値との対応を求め、図５に示すように、出力インターフェースと出力値との対応表を作成する。ここで、同一中継ルータを経由して異なる宛先エッジルータへ送信される場合には、ヘッダのビット位置のＯＲを取り、その値を出力値とする。このようにすることにより、同一中継ルータを経由する場合には、１つのヘッダで指定できる。
【００３１】
例えば、エッジルータ２において、中継ルータ６への出力インターフェースの出力値は０１１０、中継ルータ７への出力インターフェースの出力値は０００１となる。また、中継ルータ６において、エッジルータ３への出力インターフェースの出力値は０１００、エッジルータ４への出力インターフェースの出力値は００１０となる。また、中継ルータ７のエッジルータ５への出力インターフェースの出力値は０００１となる。
【００３２】
また、経路表作成管理部１３−２は、Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ（ＯＳＰＦ）のように、ネットワーク構成の情報を収集する機能を持ったルーティングプロトコル等によりネットワーク構成の情報を収集し、収集されたネットワーク構成の情報から、図６に示すように、端末装置とこの端末装置を収容しているエッジルータとの対応表を作成し、記憶部１３−５に記憶する。
この場合、各端末装置を示す場合に、端末のＩＰアドレスの一部であるネットワークアドレスを用い、各端末装置をグループ化して収容しているエッジルータとの対応を求める。このようにすることにより、端末装置のＩＰアドレスとエッジルータとの対応を求める場合と比較して、記憶するためのデータ量を減らすことができる。
【００３３】
フロー管理部１３−３は、送受信部１３−１から入力された要求パケットに格納されている送信端末装置のアドレス、受信端末装置のアドレス、フロー識別子のうちフロー識別子を参照し、このフロー識別子とこの要求パケットを受信した出力インターフェースとを対応付け、図７に示すように、フロー識別子と出力インターフェースの対応表として記憶部１３−５に記憶する。
【００３４】
また、記憶部１３−５に記憶されている端末装置とエッジルータとの対応表（図６）を参照して、送信端末装置のアドレスから、この送信端末装置を収容しているエッジルータを特定し、この要求パケットを受信しているエッジルータを示すヘッダを、記憶部１３−５に記憶されているエッジルータとエッジルータを示すヘッダの対応表（図４）から取得して、このヘッダを要求パケットに付加し、特定されたエッジルータへ送信する。
【００３５】
例えば、受信端末装置９が、送信端末装置８から送信されるフローを要求する要求パケットをエッジルータ３へ送信した場合について説明する。この要求パケットには、送信端末装置アドレス、受信端末装置アドレス、フロー識別子が格納されている。
エッジルータ３のフロー管理部１３−３は、記憶部１３−５に記憶されているフロー識別子と出力インターフェースの対応表（図７）を参照して、フロー識別子と受信したインターフェースを出力インターフェースとして追加する。
【００３６】
また、端末装置とエッジルータの対応表（図６）を参照して、要求パケットに格納されている送信端末装置８のアドレスから、この送信端末装置８を収容しているエッジルータ２を特定する。
また、このエッジルータ３に対応するヘッダを、記憶部１３−５に記憶されているエッジルータとエッジルータを示すヘッダとの対応表（図４）から取得して、取得したヘッダ０１００を、要求パケットに付加して送信側のエッジルータ２へ送る。
【００３７】
送信側エッジルータ２のフロー管理部１３−３は要求パケットを受信すると記憶部１３−５に記憶された、フロー識別子とヘッダ値との対応表（図８）を参照し、フロー識別子と受信側エッジルータ３のビット位置０１００をヘッダ値として追加し、要求パケットを送信端末装置８へ送る。ここで、ヘッダ値とは、受信側エッジルータのビット位置を示すものである。
【００３８】
次に、受信端末装置１１が受信端末装置９の要求したものと同じフローを要求する要求パケットをエッジルータ５へ送信した場合について説明する。
要求パケットには、送信端末装置アドレス、受信端末装置アドレス、フロー識別子が格納されている。
エッジルータ５のフロー管理部１３−３は、記憶部１３−５に記憶されたフロー識別子と出力インターフェースの対応表（図７）を参照し、フロー識別子と受信端末装置１１へつながる出力インターフェースを追加する。また、端末装置とエッジルータとの対応表（図６）を参照し、要求パケットに格納された送信端末装置８のアドレスからこの送信端末装置８を収容しているエッジルータ２を特定する。
【００３９】
次に、このエッジルータ５を示すヘッダを、記憶部１３−５に記憶されているエッジルータとエッジルータを示すヘッダとの対応表（図４）から取得して、取得したヘッダ０００１を要求パケットに付加して送信側のエッジルータ２へ送る。
【００４０】
送信側エッジルータ２のフロー管理部１３−３は要求パケットを受信すると、記憶部１３−５に記憶されたフロー識別子とヘッダ値との対応表（図８）を参照して、フロー識別子のヘッダ値０１００と受信側エッジルータ５のビット位置０００１とを加えて、ヘッダ値を０１０１へ更新する。ヘッダ値の各ビットはエッジルータに対応するため、１つのヘッダ値で指定できる。
【００４１】
次に、パケット転送部１３−４について説明する。
パケット転送部１３−４は、送受信部１３−１から入力されたフローに格納されたフロー識別子に対応するヘッダ値を記憶部１３−５に記憶されているフロー識別子とヘッダ値との対応表（図８）から取得し、この取得したヘッダ値と、記憶部１３−５に記憶されている出力インターフェースと出力値との対応表（図５）における各出力値とのＡＮＤを計算する。ヘッダ値のビット位置はエッジルータに対応するため、取得したヘッダ値と出力インターフェースの出力値とのＡＮＤを計算し、この計算値の各エッジルータを示すビットの有無で転送先を指定できる。
この計算の結果が００００となる出力インターフェースからは、パケットを出力せず、計算結果が００００以外となる出力インターフェースからはこの計算結果をヘッダとして送信する。
【００４２】
記憶部１３−５について説明する。
記憶部１３−５は、マルチキャスト通信プログラム１３−５１と、上述したエッジルータとヘッダのビット位置の対応表１３−５２、出力インターフェースと出力値との対応表１３−５３、端末装置と収容しているエッジルータの対応表１３−５４、フロー識別子と出力インターフェースの対応表１３−５５、フロー識別子とヘッダ値の対応表１３−５６、ユニキャスト経路表１３−５７を記憶する。
ここで、マルチキャスト通信プログラム１３−５１は、エッジルータ１３を経路表作成管理部１３−２、フロー管理部１３−３、およびパケット転送部１３−４として機能させるプログラムである。
【００４３】
また、上述したエッジルータ１３は、中央演算処理装置と、メモリ装置と、ＩＦ装置とにより構成される。さらに、ＣＤ−ＲＯＭドライブなどのドライブ装置と、補助記憶装置を備えていてもよい。
中央演算処理装置は、エッジルータ１３全体の動作を制御することにより、上述した各部の機能を実現する。インターフェース（ＩＦ）装置は、ネットワークを介して、端末装置等に接続される。
【００４４】
マルチキャスト通信プログラムは、ソフトウエアパッケージ、例えばＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭ、フレキシブルディスク、メモリカードなどの情報記憶媒体によって提供される。マルチキャスト通信プログラムを記憶した記憶媒体は、ドライブ装置にセットされ、プログラムが記憶媒体からドライブ装置を介して補助記憶装置にインストールされる。
【００４５】
補助記憶装置は、インストールされたマルチキャスト通信プログラムを格納するとともに、必要なファイル、データ等を格納する。
メモリ装置は、エッジルータの起動時に補助記憶装置からマルチキャスト通信プログラムを読み出し、格納する。
また、マルチキャスト通信プログラムは、電気通信によって、例えばサーバによって、提供されるものであってもよい。
【００４６】
中継ルータ６、７について説明する。
中継ルータ６、７は同様の構成であるため、この構成を中継ルータ１４について述べることにより説明する。図９は、中継ルータ１４の構成を示す機能ブロック図である。中継ルータ６、７は、送受信部１４−１、経路表作成管理部１４−２、パケット転送部１４−３、記憶部１４−４を備える。
送受信部１４−１は、要求パケットおよびデータパケットの送受信を行う。
【００４７】
経路表作成管理部１４−２は、エッジルータ１３の経路表作成管理部１３−２での処理と同様に、後述するネットワーク管理装置１２よりエッジルータとこのエッジルータを示すヘッダとの対応表を取得し、記憶部１４−４に記憶する。
また、経路表作成管理部１４−２は、ルーチングプロトコルによってあらかじめユニキャスト経路表を作成し、後述する記憶部１４−４に記憶する。また、ユニキャスト経路表を参照して、各エッジルータヘパケットを送信する際に使用する出力インターフェースを調べ、その結果を出力インターフェース毎にまとめることにより、パケットを送信する際に使用するインターフェースとその受信端末装置を格納するエッジルータ群との関係を求める。
【００４８】
さらに、記憶部１４−４に記憶されているエッジルータとこのエッジルータを示すヘッダとの対応表（図４）を参照して、受信端末装置の接続されたエッジルータ群をヘッダのビット位置で示し、これを出力値とし、出力インターフェースと出力値との対応を求め出力インターフェースと出力値との対応表（図５）を作成する。
【００４９】
パケット転送部１４−３は、送受信部１４−１から入力されたパケットに格納されたヘッダ値と、記憶部１４−４に記憶されている出力インターフェースと出力値との対応表（図５）における各出力値とのＡＮＤを計算する。ヘッダ値のビット位置はエッジルータに対応するため、取得したヘッダと出力インターフェースの出力値とのＡＮＤを計算し、この計算値の各エッジルータを示すビットの有無で転送先を指定できる。
この計算の結果が００００となる出力インターフェースからはパケットを出力せず、計算結果が００００以外となる出力インターフェースからはこの計算結果をヘッダとして送信する。
【００５０】
記憶部１４−４は、エッジルータ１３の記憶部１３−５に記憶されている内容のうち、マルチキャスト通信プログラムと、上述したエッジルータとエッジルータを示すヘッダとの対応表、出力インターフェースと出力値との対応表、ユニキャスト経路表を記憶する。
ここで、マルチキャスト通信プログラム１３−５１は、中継ルータ１４を経路表作成管理部１４−２およびパケット転送部１４−３として機能させるプログラムである。
【００５１】
また、上述した中継ルータ１４は、中央演算処理装置と、メモリ装置と、ＩＦ装置とにより構成される。さらに、ＣＤ−ＲＯＭドライブなどのドライブ装置と、補助記憶装置を備えていてもよい。
中央演算処理装置は、中継ルータ１４全体の動作を制御することにより、上述した各部の機能を実現する。インターフェース（ＩＦ）装置は、ネットワークを介して、端末装置等に接続される。
【００５２】
マルチキャスト通信プログラムは、ソフトウエアパッケージ、例えばＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭ、フレキシブルディスク、メモリカードなどの情報記憶媒体によって提供される。マルチキャスト通信プログラムを記憶した記憶媒体は、ドライブ装置にセットされ、プログラムが記憶媒体からドライブ装置を介して補助記憶装置にインストールされる。
補助記憶装置は、インストールされたマルチキャスト通信プログラムを格納するとともに、必要なファイル、データ等を格納する。
メモリ装置は、エッジルータの起動時に補助記憶装置からマルチキャスト通信プログラムを読み出し、格納する。
また、マルチキャスト通信プログラムは、電気通信によって、例えばサーバによって、提供されるものであってもよい。
【００５３】
端末装置８、９、１０、１１は、データの送受信を行い、エッジルータ２、３、４、５にそれぞれ接続され、エッジルータ２、３、４、５を介してネットワーク１に接続されている。
【００５４】
ネットワーク管理装置１２は、エッジルータ２、３、４、５と、各エッジルータ２、３、４、５に対応するヘッダのビット位置との対応付けを行い、図４に示すエッジルータとエッジルータを示すヘッダとの対応表として記憶する。また、エッジルータ２、３、４、５および中継ルータ６、７からの要求により、記憶しているエッジルータとエッジルータを示すヘッダとの対応表を送信する。
【００５５】
本実施の形態においては、エッジルータが４台のためエッジルータを示すヘッダのヘッダ長を４ビットとし、エッジルータ２のビット位置を１ビット目とし１０００、エッジルータ３のビット位置を２ビット目とし０１００、エッジルータ４のビット位置を３ビット目とし００１０、エッジルータ５のビット位置を４ビット目とし０００１とした。
【００５６】
次に、送信端末装置８からデータが送信される場合について説明する。
例えば、端末装置８から送信されたフローは、エッジルータ２の送受信部１３−１に受信され、受信されたフローは、パケット転送部１３−４に入力される。
エッジルータ２のパケット転送部１３−４はパケットのフロー識別子に対応するヘッダ値０１０１を、記憶部１３−５に記憶されたフロー識別子とヘッダ値の対応表（図８）から取得する。
【００５７】
次に、出力インターフェースと出力値との対応表（図５）を参照し、ヘッダ値０１０１と各出力インターフェースの出力値とのＡＮＤを計算する。
計算の結果、中継ルータ６への出力インターフェースの出力値０１１０とヘッダ値０１０１のＡＮＤは０１００であるから、中継ルータ６へはヘッダ値０１００付加しパケットを送信する。
また、中継ルータ７への出力インターフェースの出力値０００１とヘッダ値０１０１のＡＮＤは０００１であるから、中継ルータ７へはヘッダ値０００１でパケットを送信する。
【００５８】
中継ルータ６の送受信部１４−１は、エッジルータ２からパケットを受信すると受信したパケットをパケット転送部１４−３に入力する。パケット転送部１４−３では、送受信部１４−１から入力されたパケットに格納されたヘッダ値と、記憶部１３−５に記憶されている出力インターフェースと出力値との対応表（図５）における出力値とのＡＮＤを計算する。
計算の結果、エッジルータ３への出力インターフェースの出力値０１００とヘッダ値０１００のＡＮＤは０１００であるから、エッジルータ３へはヘッダ値を０１００としてパケットを送る。
また、エッジルータ４への出力インターフェースの出力値００１０とヘッダ値０１００のＡＮＤは００００であるから、エッジルータ４へはパケットを送らない。
【００５９】
一方、中継ルータ７の送受信部は、エッジルータ２からパケットを受信すると受信したパケットをパケット転送部１４−３に入力する。パケット転送部１４−３では、送受信部１４−１から入力されたパケットに格納されたヘッダ値と、記憶部１３−５に記憶されている出力インターフェースと出力値との対応表（図５）における出力値とのＡＮＤを計算する。
計算の結果、エッジルータ５への出力インターフェースの出力値０００１とヘッダ値０００１のＡＮＤは０００１であるから、エッジルータ５へはヘッダ値を０００１としてパケットを送る。
【００６０】
エッジルータ３の送受信部１３−１は、中継ルータ６からパケットを受信すると受信したパケットをパケット転送部１３−４に入力する。パケット転送部１３−４はパケットを受信すると、ヘッダ値が０１００なので、自身宛のパケットであると判断し、パケットからヘッダをはずし、パケットに格納されたフロー識別子を記憶部１３−５に記憶されたフロー識別子と出力インターフェースの対応表（図７）を参照し、端末装置９への出力インターフェースに設定し、パケットを送信する。受信端末装置９は、エッジルータ３からのパケットを受信する。
【００６１】
同様に、エッジルータ５のパケット転送部１３−４はパケットを受信すると、ヘッダ値が０００１なので、自身宛のパケットであると判断し、パケットからヘッダをはずし、パケットに格納されたのフロー識別子を記憶部１３−５に記憶されたフロー識別子と出力インターフェースの対応表（図７）を参照し、端末装置１１の出力インターフェースに設定し、パケットを送信する。受信端末装置１１は、エッジルータ５からのパケットを受信する。
【００６２】
このようにデータパケットのヘッダと出力インターフェースの出力値とのＡＮＤを計算することにより、この計算値は各出力インターフェースの先にある宛先エッジルータのみを示すこととなるため、この計算値をヘッダ値としてデータパケットに付け直すことにより、宛先エッジルータヘパケットのコピーを１つずつ送信することができる。
【００６３】
次に、マルチキャスト通信の処理フローについて説明する。
図１０から図１６は本発明の一実施の形態にかかるマルチキャスト通信方法を示すフローチャートである。ここでは、マルチキャスト通信方法を事前準備と、フロー毎の経路設定と、データパケット転送に分けて説明する。
まず、事前準備について説明する。
エッジルータ２、３、４、５は、図１０のフローチャートに示すように、エッジルータ２、３、４、５とヘッダとの対応表（図４）をネットワーク管理装置１２より取得する（Ｓ１０１）。
【００６４】
次に、エッジルータ２、３、４、５は、ルーチングプロトコルによって作成されたユニキャスト経路表を使って各エッジルータヘパケットを送信する際に使用する出力インターフェースを調べ、その結果を出力インターフェース毎にまとめ、パケットの送信にその出力インターフェースを使用する宛先エッジルータ群を求め、Ｓ１０１で取得したエッジルータとヘッダのビット位置との対応表（図４）から、この宛先エッジルータ群をヘッダのビット位置で示した出力値を求め、出力インターフェースと出力値との対応表を作成する（Ｓ１０２）。
【００６５】
次に、エッジルータ２、３、４、５は、Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ（ＯＳＰＦ）のようにネットワーク構成の情報を収集する機能を持ったルーチングプロトコル等が収集したネットワーク構成の情報を得て、端末装置８、９、１０、１１と収容しているエッジルータ２、３、４、５との対応を検出し、端末装置とエッジルータの対応表（図６）を作成する（Ｓ１０３）。
【００６６】
一方、中継ルータ６、７は、図１１のフローチャートに示すように、エッジルータ２、３、４、５とヘッダとの対応表（図４）をネットワーク管理装置１２より取得する（Ｓ１１１）。
次に、中継ルータ６、７は、ルーチングプロトコルによって作成されたユニキャスト経路表を使って各エッジルータヘパケットを送信する際に使用する出力インターフェースを調べ、その結果を出力インターフェース毎にまとめ、パケットの送信にその出力インターフェースを使用する宛先エッジルータ群を求め、Ｓ１１１で取得したエッジルータとヘッダとの対応表（図４）から、この宛先エッジルータ群をヘッダのビット位置で示した出力値を求め、出力インターフェースと出力値との対応表（図５）を作成する（Ｓ１１２）。
【００６７】
次に、フロー毎の経路設定について説明する。
受信端末装置、例えば端末装置９、１０、１１がフローを要求する要求パケットを、受信側エッジルータ、例えば端末装置９、１０、１１に対してそれぞれエッジルータ３、４、５へ送信する。この要求パケットには、送信端末装置アドレス、受信端末装置アドレス、フロー識別子が格納されている。
受信側エッジルータは、図１２のフローチャートに示すように、この要求パケットを受信する（Ｓ１２１）と、フロー識別子と出力インターフェースの対応表（図７）に、この要求パケットに格納されたフロー識別子と受信端末装置へつながる出力インターフェースを追加する（Ｓ１２２）。
【００６８】
次に、要求パケットに格納されている送信端末装置アドレスを収容している送信側エッジルータを端末装置とエッジルータの対応表（図６）から求め（Ｓ１２３）、要求パケットに受信側エッジルータのビット位置の情報を付加し送信側エッジルータヘ送信する（Ｓ１２４）。
【００６９】
送信側エッジルータは、図１３のフローチャートに示すように、要求パケットを受信すると（Ｓ１３１）、フロー識別子とヘッダ値の対応表（図８）を参照し、要求パケットに格納されているフロー識別子の検索を行う（Ｓ１３２）。フロー識別子が存在する場合はそのヘッダ値を更新する（Ｓ１３３）。フロー識別子がない場合はフロー識別子と受信側エッジルータのビット位置をヘッダ値として追加する（Ｓ１３４）。
【００７０】
次に、データパケットが転送される場合について説明する。
図１４のフローチャートに示すように、送信端末装置がフローを送信し、送信側エッジルータは送信されたデータパケットを受信する（Ｓ１４１）。
次に、送信側エッジルータは、パケットに格納されたフロー識別子に対応するヘッダ値を、フロー識別子とヘッダ値の対応表（図８）から求める（Ｓ１４２）。
【００７１】
次に、このヘッダ値と、出力インターフェースと出力値の対応表（図５）に示されている各出力インターフェースの出力値とのＡＮＤを計算し、計算結果が０であるか否かを判断する（Ｓ１４３）。
計算結果が０でない場合には、その出力インターフェースからは計算結果をヘッダ値としてパケットに付加して出力する（Ｓ１４４）。
計算結果が０である場合には、その出力インターフェースからはパケットを出力しない（Ｓ１４５）。
【００７２】
ここで、中継ルータにパケットが転送された場合について説明する。
図１５のフローチャートに示すように、中継ルータはパケットを受信すると（Ｓ１５１）、受信したパケットのヘッダ値と出力インターフェースと出力値の対応表（図５）に示されている各出力インターフェースの出力値とのＡＮＤを計算し、計算結果が０であるか否かを判断する（Ｓ１５２）。
計算結果が０でない場合には、その出力インターフェースからは計算結果をヘッダ値としてパケットに付加して出力する（Ｓ１５３）。
計算結果が０である場合には、その出力インターフェースからはパケットを出力しない（Ｓ１５４）。
【００７３】
ここで、受信側エッジルータにパケットが転送された場合について説明する。
図１６のフローチャートに示すように、受信側エッジルータはパケットを受信すると（Ｓ１６１）、受信したパケットのヘッダ値より自身宛のパケットであると判断し、パケットからヘッダをはずし、パケットに格納されたフロー識別子に対応する出力インターフェースを、フロー識別子と出力インターフェースの対応表から取得し、パケットを送信する。そして、受信端末装置はパケットを受信する。
【００７４】
【発明の効果】
本発明によれば、エッジルータとヘッダのビット位置を関連づけることで、ヘッダに宛先エッジルータを記載することができるため、中継ルータはフロー毎の経路設定を不要にすることができる。
また、中継ルータでは、出力インターフェース毎に宛先エッジルータ群をビット位置で示した出力値を求め、この出力値と受信したバケットのヘッダ値のＡＮＤを計算し、その出力インターフェースから出力するか否かを決定し、付け替えるヘッダを決めることにより、中継ルータが持つマルチキャストの経路情報量はフロー数に関わらず出力インターフェースと同じ数となるため、フロー数が多いときでも、必要なメモリを少量に抑え、パケットを受信したときに経路の決定を短時間で行うことができる。
【図面の簡単な説明】
【図１】本実施の形態にかかるマルチキャスト通信システムの構成を示す構成図である。
【図２】本実施の形態にかかるマルチキャスト通信システムにおけるエッジルータの構成を示す機能ブロック図である。
【図３】エッジルータの記憶部の構成を説明するための図である。
【図４】エッジルータとヘッダのビット位置の対応表である。
【図５】出力インターフェースと出力値の対応表である。
【図６】端末装置とエッジルータの対応表である。
【図７】フロー識別子と出力インターフェースの対応表である。
【図８】フロー識別子とヘッダ値の対応表である。
【図９】本実施の形態にかかるマルチキャスト通信システムにおける中継ルータの構成を示す機能ブロック図である。
【図１０】エッジルータにおける処理を説明するためのフロー図である。
【図１１】中継ルータにおける処理を説明するためのフロー図である。
【図１２】エッジルータにおける処理を説明するためのフロー図である。
【図１３】エッジルータにおける処理を説明するためのフロー図である。
【図１４】エッジルータにおける処理を説明するためのフロー図である。
【図１５】中継ルータにおける処理を説明するためのフロー図である。
【図１６】エッジルータにおける処理を説明するためのフロー図である。
【図１７】従来のマルチキャスト通信システムの構成を示す構成図である。
【図１８】従来のマルチキャスト通信システムにおけるルータの構成を示す機能ブロック図である。
【図１９】マルチキャストアドレスと出力インターフェースとの対応を示す経路表である。
【符号の説明】
１：ネットワーク、２、３、４、５、１３：エッジルータ、６、７：中継ルータ、８、９、１０、１１、１４：端末装置、１２：ネットワーク管理装置、２０１：ネットワーク、２１１、２１２、２１３、２１４、２１５：ルータ、２２１、２２２、２２３：端末装置。
【図１】
2004166051.tif 000003
【図２】
2004166051.tif 000004
【図３】
2004166051.tif 000005
【図４】
2004166051.tif 000006
【図５】
2004166051.tif 000007
【図６】
2004166051.tif 000008
【図７】
2004166051.tif 000009
【図８】
2004166051.tif 000010
【図９】
2004166051.tif 000011
【図１０】
2004166051.tif 000012
【図１１】
2004166051.tif 000013
【図１２】
2004166051.tif 000014
【図１３】
2004166051.tif 000015
【図１４】
2004166051.tif 000016
【図１５】
2004166051.tif 000017
【図１６】
2004166051.tif 000018
【図１７】
2004166051.tif 000019
【図１８】
2004166051.tif 000020
【図１９】
2004166051.tif 000021