JP3851259B2 - マルチキャスト通信システムおよびマルチキャスト通信方法 - Google Patents

マルチキャスト通信システムおよびマルチキャスト通信方法 Download PDF

Info

Publication number
JP3851259B2
JP3851259B2 JP2002330653A JP2002330653A JP3851259B2 JP 3851259 B2 JP3851259 B2 JP 3851259B2 JP 2002330653 A JP2002330653 A JP 2002330653A JP 2002330653 A JP2002330653 A JP 2002330653A JP 3851259 B2 JP3851259 B2 JP 3851259B2
Authority
JP
Japan
Prior art keywords
edge router
header
router
packet
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002330653A
Other languages
English (en)
Other versions
JP2004166051A (ja
Inventor
裕史 山崎
成哲 小河原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002330653A priority Critical patent/JP3851259B2/ja
Publication of JP2004166051A publication Critical patent/JP2004166051A/ja
Application granted granted Critical
Publication of JP3851259B2 publication Critical patent/JP3851259B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は複数の端末装置を複数のルータで結ぶネットワークにより通信を行うマルチキャスト通信技術に関する。
【0002】
【従来の技術】
マルチキャストとは、同じデータを複数の端末装置に効率的に伝送するためのインターネット技術である。このマルチキャストでは、マルチキャストルーティング技術により、送信端末装置から複数の受信端末装置に対して、木構造の情報伝送経路が構成される。この情報伝達経路において、木が枝分かれする部分には、マルチキャストルータが存在する。このマルチキャストルータは、送信端末装置からのデータパケットを受信すると、必要な数だけデータパケットをコピーし、転送する。この木構造において、各端末装置は葉の部分に相当する。
【0003】
図17は、マルチキャスト通信システムの一例を示す構成図である。201はネットワーク、211〜214はルータ、221〜223は端末装置である。
ルータ211〜ルータ214は同様の構成であるため、この構成をルータ215について述べることにより説明する。図18は、ルータ215の構成を示す機能ブロック図である。215−1は送受信部、215−2は経路表作成管理部、215−3はパケット転送部、215−4は記憶部である。
【0004】
ここで、マルチキャスト技術であるProtocol Independent Multicast-Sparse Mode(PIM-SM)を使って端末装置221から端末装置222、223ヘデータを送る場合について説明する(例えば、非特許文献1参照)。なお、PIM-SMでは、各ルータ211〜214においては、要求パケットの宛先になるルータはあらかじめ決められている。全てのルータはその宛先となっているルータへ向かって要求パケットを転送する。宛先に指定されたルータの記憶部215−4には、マルチキャストアドレスと送信端末装置との関係があらかじめ記憶されているので、端末装置間のデータ転送を行うことができる。
【0005】
図17では要求パケットの宛先をルータ211とする。端末装置221は、データパケットにフロー識別子としてマルチキヤストアドレスを付けてルータ211ヘデータ送信をあらかじめ行う。
端末装置222は、端末装置221の送信しているデータの送信を要求するために、ルータ214へ端末装置221が送信するデータパケットのフローを示すマルチキャストアドレスが格納された要求パケットを送信する。
【0006】
ルータ214の送受信部215−1は、端末装置222が送信した要求パケットを受信すると、この要求パケットを経路表作成管理部215−2に入力する。経路表作成管理部215−2では、記憶部215−4に記憶されている経路表を参照し、入力された要求パケットに格納されているマルチキャストアドレスを検索する。経路表には、図19に示すように、マルチキャストアドレスとこのマルチキャストアドレスに対応するデータを受信する端末装置へ接続される出力インターフェースとの関係が示されている。
経路表の中に一致するマルチキャストアドレスが存在する場合には、ルータ214はマルチキャストアドレスに対応する出力インターフェースに要求パケットを受信したインターフェースを追加し、要求パケットは転送しない。存在しない場合には、経路表に、要求パケットを受信したインターフェースをデータパケットの出力インターフェースとして、そのマルチキャストアドレスとともに追加し、ルータ214は要求パケットをルータ212へ送信する。
【0007】
ルータ212においてもルータ214と同様の処理が行われる。この処理において、経路表の中に一致するマルチキャストアドレスが存在しない場合には、ルータ212は要求パケットをルータ211へ送信する。
【0008】
ルータ211においてもルータ214と同様の処理が行われる。この処理において、要求パケットに格納されているマルチキャストアドレスの検索の結果、要求パケットに格納されているマルチキャストアドレスが存在するが、このマルチキャストアドレスに対応する出力インターフェースは記載されていないので、要求パケットを受信したインターフェースをデータパケットの出力インターフェースとして、経路表に追加する。
【0009】
次に、データの送信について説明する。
ルータ211の送受信部215−1は、送信端末装置221から送信されたデータパケットをパケット転送部215−3に入力する。パケット転送部215−3は、記憶部215−4に記憶されている経路表を参照し、入力されたデータパケットに格納されているマルチキャストアドレスに対応する出力インターフェースに、そのデータパケットを転送する。ここでは、ルータ212に転送される。ルータ212においてもルータ211と同様の処理が行われ、データパケットはルータ214に転送される。
【0010】
ルータ214においてもルータ211と同様の処理が行われ、データパケットは、端末装置222に転送される。
その結果、データパケットは、要求パケットが送信された経路を逆向きに転送され、端末装置222に受信される。
【0011】
次に、端末装置223が端末装置221の送信するデータの送信を要求する場合について説明する。
端末装置223はルータ213へ、要求するデータのマルチキャストアドレスを格納した要求パケットを送る。
端末装置222から要求パケットを受信したルータ214と同様の処理が、ルータ213においても行われる。この処理において、経路表の中に一致するマルチキャストアドレスが存在しない場合には、ルータ213は要求パケットをルータ212へ送信する。
【0012】
ルータ212の送受信部215−1は、ルータ213が送信した要求パケットを受信すると、経路表作成管理部215−2にこの要求パケットを入力する。経路表作成管理部215−2では、記憶部215−4に記憶されている経路表を参照し、入力された要求パケットに格納されているマルチキャストアドレスを検索する。検索の結果、既に端末装置221から端末装置222への経路ができているので、要求パケットに格納されているマルチキヤストアドレスが存在するが、経路表に記載されている出力インターフェースは要求パケットを受信したインターフェースではないので、このマルチキャストアドレスに対する出力インターフェースとしてルータ213への出力インターフェースを追加する。
【0013】
次に、データ送信について説明する。
ルータ211から転送されたデータパケットは、ルータ212の送受信部215−1で受信され、送受信部215−1は受信したデータパケットをパケット転送部215−3に入力する。パケット転送部215−3では、送受信部215−1から入力されたデータパケットを、ルータ214の他にルータ213へも転送する。ルータ213およびルータ214はデータパケットを受信すると、経路表にしたがって端末装置222および端末装置223へ転送する。転送されたデータは、端末装置222および端末装置223に受信される。
【0014】
【非特許文献1】
RFC2362"Protocol Independent Multicast-Sparse Mode(PIM-SM):Protocol Specification"、The Internet Engineering Task Force(IETF)、1998年6月
【0015】
【発明が解決しようとする課題】
しかし、従来のマルチキャスト技術には、次のような問題があった。従来のマルチキャスト技術においては、送信されるデータのデータフロー毎に経路設定が行われる。このため、データフローが集中する中継ルータにおける経路設定処理による負荷が大きくなるという問題があった。
【0016】
また、データのデータフロー毎にその経路が経路表に登録されるため、データフローが集中する中継ルータでは、経路表に登録されるマルチキャストアドレスが多くなり、多くの記憶容量を必要としていた。
また、経路表に登録されるマルチキャストアドレスが多くなると、パケットを受信したときに、経路表を参照して、該当するマルチキャストアドレスを検索する時間が長くなるという問題があった。
【0017】
そこで、本発明は、前述した従来技術の問題点や課題を解決するためになされたものであり、その目的は、中継ルータでのフロー毎の経路設定を不要にし、必要なメモリ容量を抑え、データパケットを受信したときに経路の決定を短時間で行うことができるマルチキャスト通信システム及びマルチキャスト通信方法を提供することを目的とする。
【0018】
【課題を解決するための手段】
上述した目的を達成するために、本発明にかかるマルチキャスト通信システムは、ネットワークに接続された複数のルータを備え、送信端末装置からルータを介して受信端末装置へデータを送信するマルチキャスト通信システムであって、送信端末装置または受信端末装置に接続されるエッジルータと、エッジルータに接続される中継ルータと、エッジルータを識別するアドレスと、あらかじめ設定され、複数のビットで構成され、各ビットがエッジルータに対応するヘッダとを対応付けて記憶し、エッジルータおよび中継ルータの要求に応じて送信するネットワーク管理装置とを備え、エッジルータは、アドレスとヘッダとの対応に基づいて、このエッジルータの出力インターフェースとこの出力インターフェースから送信されるデータを構成するデータパケットを受信するエッジルータを示すヘッダとの対応表と、送信端末装置および受信端末装置とこれらを収容するエッジルータとの対応表とを作成する第1の経路表作成管理手段と、データパケットの送信を要求する要求パケットに格納され、このデータパケットを識別する識別子とこの要求パケットを受信した出力インターフェースとの対応表と、識別子とデータを受信する受信端末装置を収容するエッジルータのヘッダとの対応表とを作成するフロー管理手段と、受信したデータパケットに格納された識別子に対応するヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送する第1のパケット転送手段とを備え、中継ルータは、アドレスとヘッダとの対応に基づいて、この中継ルータの出力インターフェースとこの出力インターフェースから送信されるデータパケットを受信するエッジルータを示すヘッダとの対応表を作成する第2の経路表作成管理手段と、受信したデータパケットのヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送する第2のパケット転送手段とを備えるようにしたものである。
【0019】
このようにすることにより、エッジルータとこのエッジルータを示すヘッダとを対応付け、このヘッダのビット位置により、経路設定を行う。
ここで、ヘッダは、複数のビットで構成され、各ビットがエッジルータに対応するため、各エッジルータを示すビットの有無で経路設定を行う。
【0020】
さらに、第1のパケット転送手段および第2のパケット転送手段は、
受信したデータパケットに格納されているヘッダと、エッジルータを示すヘッダとのANDを計算し、計算値が0以外の場合には、この計算値をヘッダとして転送し、0となる出力インターフェースからは、パケットを転送しないようにしてもよい。
このようにすることにより、中継ルータは、受信したデータパケットに格納されているヘッダとエッジルータのヘッダに基づき、転送行う。
ここで、ヘッダのビット位置はエッジルータを表すため、受信したデータパケットに格納されているヘッダと、エッジルータのヘッダとのANDを計算し、この計算結果における、各エッジルータを示すビットの有無で転送先を指定する。
【0021】
また、本発明にかかるマルチキャスト通信方法は、ネットワークに接続された複数のルータを備え、送信端末装置からルータを介して受信端末装置へデータを送信するマルチキャスト通信方法であって、送信端末装置または受信端末装置に接続されるエッジルータと、エッジルータに接続される中継ルータと、エッジルータを識別するアドレスと、あらかじめ設定され、複数のビットで構成され、各ビットがエッジルータに対応するヘッダとを対応付けて記憶し、エッジルータおよび中継ルータの要求に応じて送信するネットワーク管理装置とを備えたマルチキャスト通信方法であって、エッジルータは、アドレスとヘッダとの対応に基づいて、このエッジルータの出力インターフェースとこの出力インターフェースから送信されるデータを構成するデータパケットを受信するエッジルータを示すヘッダとの対応表と、送信端末装置および受信端末装置とこれらを収容するエッジルータとの対応表とを作成し、データパケットの送信を要求する要求パケットに格納され、このデータパケットを識別する識別子とこの要求パケットを受信した出力インターフェースとの対応表と、識別子とデータを受信する受信端末装置を収容するエッジルータのヘッダとの対応表とを作成し、受信したデータパケットに格納された識別子に対応するヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送し、中継ルータは、アドレスとヘッダとの対応に基づいて、この中継ルータの出力インターフェースとこの出力インターフェースから送信されたデータパケットを受信するエッジルータを示すヘッダとの対応表を作成し、受信したデータパケットのヘッダから、受信端末装置に接続されたエッジルータに対応するヘッダを求め、データパケットに付加して転送することを特徴とする方法である。
【0022】
このようにすることにより、エッジルータとこのエッジルータを示すヘッダとを対応付け、このヘッダのビット位置により、経路設定を行う。
ここで、ヘッダは、複数のビットで構成され、各ビットがエッジルータに対応するため、各エッジルータを示すビットの有無で経路設定を行う。
【0023】
さらに、エッジルータおよび中継ルータは、受信したデータパケットに格納されているヘッダと、エッジルータを示すヘッダとのANDを計算し、計算値が0以外の場合には、この計算値をヘッダとして変更して転送し、0となる出力インターフェースからは、パケットを転送しないようにしてもよい。
このようにすることにより、中継ルータは、受信したデータパケットに格納されているヘッダとエッジルータのヘッダに基づき、転送行う。
ここで、ヘッダのビット位置はエッジルータを表すため、受信したデータパケットに格納されているヘッダと、エッジルータのヘッダとのANDを計算し、この計算結果における、各エッジルータを示すビットの有無で転送先を指定する。
【0024】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
なお、実施の形態を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【0025】
図1は、本発明の一実施の形態にかかるマルチキャスト通信システムを示す構成図である。
図1において、1はネットワーク、2〜5はエッジルータ、6、7は中継ルータ、8〜11は端末装置、12はネットワーク管理装置である。
以下、説明の便宜のため、端末装置8を送信端末装置として、端末装置9、10、11を受信端末装置として説明する。
また、端末装置のもつ1つのデータを運ぶパケット群を表す語として”フロー”、このフローのマルチキャストアドレスを表す語として”フロー識別子”を用いる。
また、マルチキャストの経路はユニキャスト経路表に基づいて決められるものとする。
【0026】
ネットワーク1は、エッジルータ2、3、4、および5、中継ルータ6、7を接続する。ネットワーク1としては、任意の形態のネットワークを用いることができる。
【0027】
エッジルータ2、3、4、5について説明する。
エッジルータ2、3、4、5は同様の構成であるため、この構成をルータ13について述べることにより説明する。図2は、ルータ13の構成を示す機能ブロック図である。エッジルータ13は、送受信部13−1、経路表作成管理部13−2、フロー管理部13−3、パケット転送部13−4、記憶部13−5を備える。
また、エッジルータ2のアドレスは192.168.10.10、エッジルータ3のアドレスは192.168.20.10、エッジルータ4のアドレスは192.168.30.10、エッジルータ5のアドレスは192.168.40.10とあらかじめ設定されている。
【0028】
送受信部13−1は、要求パケットおよびデータパケットの送受信を行う。
経路表作成管理部13−2は、後述するネットワーク管理装置12よりエッジルータとこのエッジルータを示すヘッダとの対応表を取得し、取得した対応表を記憶部13−5に記憶する。ここで、ヘッダは複数のビットで構成され、各ビットがエッジルータに対応する。エッジルータは、このヘッダのビット位置により互いに識別できるようになっている。
【0029】
また、経路表作成管理部13−2は、ルーチングプロトコルによってあらかじめユニキャスト経路表を作成し、後述する記憶部13−5に記憶する。また、ユニキャスト経路表を参照して、各エッジルータヘデータパケットを送信する際に使用する出力インターフェースを調べ、その結果を出力インターフェース毎にまとめることにより、パケットを送信する際に使用する出力インターフェースとその受信端末装置を格納するエッジルータ群との関係を求める。
【0030】
さらに、記憶部13−5に記憶されているエッジルータとこのエッジルータを示すヘッダとの対応表(図4)を参照して、受信端末装置の接続されたエッジルータ群をヘッダのビット位置で示し、これを出力値とし、出力インターフェースと出力値との対応を求め、図5に示すように、出力インターフェースと出力値との対応表を作成する。ここで、同一中継ルータを経由して異なる宛先エッジルータへ送信される場合には、ヘッダのビット位置のORを取り、その値を出力値とする。このようにすることにより、同一中継ルータを経由する場合には、1つのヘッダで指定できる。
【0031】
例えば、エッジルータ2において、中継ルータ6への出力インターフェースの出力値は0110、中継ルータ7への出力インターフェースの出力値は0001となる。また、中継ルータ6において、エッジルータ3への出力インターフェースの出力値は0100、エッジルータ4への出力インターフェースの出力値は0010となる。また、中継ルータ7のエッジルータ5への出力インターフェースの出力値は0001となる。
【0032】
また、経路表作成管理部13−2は、Open Shortest Path First(OSPF)のように、ネットワーク構成の情報を収集する機能を持ったルーティングプロトコル等によりネットワーク構成の情報を収集し、収集されたネットワーク構成の情報から、図6に示すように、端末装置とこの端末装置を収容しているエッジルータとの対応表を作成し、記憶部13−5に記憶する。
この場合、各端末装置を示す場合に、端末のIPアドレスの一部であるネットワークアドレスを用い、各端末装置をグループ化して収容しているエッジルータとの対応を求める。このようにすることにより、端末装置のIPアドレスとエッジルータとの対応を求める場合と比較して、記憶するためのデータ量を減らすことができる。
【0033】
フロー管理部13−3は、送受信部13−1から入力された要求パケットに格納されている送信端末装置のアドレス、受信端末装置のアドレス、フロー識別子のうちフロー識別子を参照し、このフロー識別子とこの要求パケットを受信した出力インターフェースとを対応付け、図7に示すように、フロー識別子と出力インターフェースの対応表として記憶部13−5に記憶する。
【0034】
また、記憶部13−5に記憶されている端末装置とエッジルータとの対応表(図6)を参照して、送信端末装置のアドレスから、この送信端末装置を収容しているエッジルータを特定し、この要求パケットを受信しているエッジルータを示すヘッダを、記憶部13−5に記憶されているエッジルータとエッジルータを示すヘッダの対応表(図4)から取得して、このヘッダを要求パケットに付加し、特定されたエッジルータへ送信する。
【0035】
例えば、受信端末装置9が、送信端末装置8から送信されるフローを要求する要求パケットをエッジルータ3へ送信した場合について説明する。この要求パケットには、送信端末装置アドレス、受信端末装置アドレス、フロー識別子が格納されている。
エッジルータ3のフロー管理部13−3は、記憶部13−5に記憶されているフロー識別子と出力インターフェースの対応表(図7)を参照して、フロー識別子と受信したインターフェースを出力インターフェースとして追加する。
【0036】
また、端末装置とエッジルータの対応表(図6)を参照して、要求パケットに格納されている送信端末装置8のアドレスから、この送信端末装置8を収容しているエッジルータ2を特定する。
また、このエッジルータ3に対応するヘッダを、記憶部13−5に記憶されているエッジルータとエッジルータを示すヘッダとの対応表(図4)から取得して、取得したヘッダ0100を、要求パケットに付加して送信側のエッジルータ2へ送る。
【0037】
送信側エッジルータ2のフロー管理部13−3は要求パケットを受信すると記憶部13−5に記憶された、フロー識別子とヘッダ値との対応表(図8)を参照し、フロー識別子と受信側エッジルータ3のビット位置0100をヘッダ値として追加し、要求パケットを送信端末装置8へ送る。ここで、ヘッダ値とは、受信側エッジルータのビット位置を示すものである。
【0038】
次に、受信端末装置11が受信端末装置9の要求したものと同じフローを要求する要求パケットをエッジルータ5へ送信した場合について説明する。
要求パケットには、送信端末装置アドレス、受信端末装置アドレス、フロー識別子が格納されている。
エッジルータ5のフロー管理部13−3は、記憶部13−5に記憶されたフロー識別子と出力インターフェースの対応表(図7)を参照し、フロー識別子と受信端末装置11へつながる出力インターフェースを追加する。また、端末装置とエッジルータとの対応表(図6)を参照し、要求パケットに格納された送信端末装置8のアドレスからこの送信端末装置8を収容しているエッジルータ2を特定する。
【0039】
次に、このエッジルータ5を示すヘッダを、記憶部13−5に記憶されているエッジルータとエッジルータを示すヘッダとの対応表(図4)から取得して、取得したヘッダ0001を要求パケットに付加して送信側のエッジルータ2へ送る。
【0040】
送信側エッジルータ2のフロー管理部13−3は要求パケットを受信すると、記憶部13−5に記憶されたフロー識別子とヘッダ値との対応表(図8)を参照して、フロー識別子のヘッダ値0100と受信側エッジルータ5のビット位置0001とを加えて、ヘッダ値を0101へ更新する。ヘッダ値の各ビットはエッジルータに対応するため、1つのヘッダ値で指定できる。
【0041】
次に、パケット転送部13−4について説明する。
パケット転送部13−4は、送受信部13−1から入力されたフローに格納されたフロー識別子に対応するヘッダ値を記憶部13−5に記憶されているフロー識別子とヘッダ値との対応表(図8)から取得し、この取得したヘッダ値と、記憶部13−5に記憶されている出力インターフェースと出力値との対応表(図5)における各出力値とのANDを計算する。ヘッダ値のビット位置はエッジルータに対応するため、取得したヘッダ値と出力インターフェースの出力値とのANDを計算し、この計算値の各エッジルータを示すビットの有無で転送先を指定できる。
この計算の結果が0000となる出力インターフェースからは、パケットを出力せず、計算結果が0000以外となる出力インターフェースからはこの計算結果をヘッダとして送信する。
【0042】
記憶部13−5について説明する。
記憶部13−5は、マルチキャスト通信プログラム13−51と、上述したエッジルータとヘッダのビット位置の対応表13−52、出力インターフェースと出力値との対応表13−53、端末装置と収容しているエッジルータの対応表13−54、フロー識別子と出力インターフェースの対応表13−55、フロー識別子とヘッダ値の対応表13−56、ユニキャスト経路表13−57を記憶する。
ここで、マルチキャスト通信プログラム13−51は、エッジルータ13を経路表作成管理部13−2、フロー管理部13−3、およびパケット転送部13−4として機能させるプログラムである。
【0043】
また、上述したエッジルータ13は、中央演算処理装置と、メモリ装置と、IF装置とにより構成される。さらに、CD−ROMドライブなどのドライブ装置と、補助記憶装置を備えていてもよい。
中央演算処理装置は、エッジルータ13全体の動作を制御することにより、上述した各部の機能を実現する。インターフェース(IF)装置は、ネットワークを介して、端末装置等に接続される。
【0044】
マルチキャスト通信プログラムは、ソフトウエアパッケージ、例えばCD−ROM、ROM、RAM、フレキシブルディスク、メモリカードなどの情報記憶媒体によって提供される。マルチキャスト通信プログラムを記憶した記憶媒体は、ドライブ装置にセットされ、プログラムが記憶媒体からドライブ装置を介して補助記憶装置にインストールされる。
【0045】
補助記憶装置は、インストールされたマルチキャスト通信プログラムを格納するとともに、必要なファイル、データ等を格納する。
メモリ装置は、エッジルータの起動時に補助記憶装置からマルチキャスト通信プログラムを読み出し、格納する。
また、マルチキャスト通信プログラムは、電気通信によって、例えばサーバによって、提供されるものであってもよい。
【0046】
中継ルータ6、7について説明する。
中継ルータ6、7は同様の構成であるため、この構成を中継ルータ14について述べることにより説明する。図9は、中継ルータ14の構成を示す機能ブロック図である。中継ルータ6、7は、送受信部14−1、経路表作成管理部14−2、パケット転送部14−3、記憶部14−4を備える。
送受信部14−1は、要求パケットおよびデータパケットの送受信を行う。
【0047】
経路表作成管理部14−2は、エッジルータ13の経路表作成管理部13−2での処理と同様に、後述するネットワーク管理装置12よりエッジルータとこのエッジルータを示すヘッダとの対応表を取得し、記憶部14−4に記憶する。
また、経路表作成管理部14−2は、ルーチングプロトコルによってあらかじめユニキャスト経路表を作成し、後述する記憶部14−4に記憶する。また、ユニキャスト経路表を参照して、各エッジルータヘパケットを送信する際に使用する出力インターフェースを調べ、その結果を出力インターフェース毎にまとめることにより、パケットを送信する際に使用するインターフェースとその受信端末装置を格納するエッジルータ群との関係を求める。
【0048】
さらに、記憶部14−4に記憶されているエッジルータとこのエッジルータを示すヘッダとの対応表(図4)を参照して、受信端末装置の接続されたエッジルータ群をヘッダのビット位置で示し、これを出力値とし、出力インターフェースと出力値との対応を求め出力インターフェースと出力値との対応表(図5)を作成する。
【0049】
パケット転送部14−3は、送受信部14−1から入力されたパケットに格納されたヘッダ値と、記憶部14−4に記憶されている出力インターフェースと出力値との対応表(図5)における各出力値とのANDを計算する。ヘッダ値のビット位置はエッジルータに対応するため、取得したヘッダと出力インターフェースの出力値とのANDを計算し、この計算値の各エッジルータを示すビットの有無で転送先を指定できる。
この計算の結果が0000となる出力インターフェースからはパケットを出力せず、計算結果が0000以外となる出力インターフェースからはこの計算結果をヘッダとして送信する。
【0050】
記憶部14−4は、エッジルータ13の記憶部13−5に記憶されている内容のうち、マルチキャスト通信プログラムと、上述したエッジルータとエッジルータを示すヘッダとの対応表、出力インターフェースと出力値との対応表、ユニキャスト経路表を記憶する。
ここで、マルチキャスト通信プログラム13−51は、中継ルータ14を経路表作成管理部14−2およびパケット転送部14−3として機能させるプログラムである。
【0051】
また、上述した中継ルータ14は、中央演算処理装置と、メモリ装置と、IF装置とにより構成される。さらに、CD−ROMドライブなどのドライブ装置と、補助記憶装置を備えていてもよい。
中央演算処理装置は、中継ルータ14全体の動作を制御することにより、上述した各部の機能を実現する。インターフェース(IF)装置は、ネットワークを介して、端末装置等に接続される。
【0052】
マルチキャスト通信プログラムは、ソフトウエアパッケージ、例えばCD−ROM、ROM、RAM、フレキシブルディスク、メモリカードなどの情報記憶媒体によって提供される。マルチキャスト通信プログラムを記憶した記憶媒体は、ドライブ装置にセットされ、プログラムが記憶媒体からドライブ装置を介して補助記憶装置にインストールされる。
補助記憶装置は、インストールされたマルチキャスト通信プログラムを格納するとともに、必要なファイル、データ等を格納する。
メモリ装置は、エッジルータの起動時に補助記憶装置からマルチキャスト通信プログラムを読み出し、格納する。
また、マルチキャスト通信プログラムは、電気通信によって、例えばサーバによって、提供されるものであってもよい。
【0053】
端末装置8、9、10、11は、データの送受信を行い、エッジルータ2、3、4、5にそれぞれ接続され、エッジルータ2、3、4、5を介してネットワーク1に接続されている。
【0054】
ネットワーク管理装置12は、エッジルータ2、3、4、5と、各エッジルータ2、3、4、5に対応するヘッダのビット位置との対応付けを行い、図4に示すエッジルータとエッジルータを示すヘッダとの対応表として記憶する。また、エッジルータ2、3、4、5および中継ルータ6、7からの要求により、記憶しているエッジルータとエッジルータを示すヘッダとの対応表を送信する。
【0055】
本実施の形態においては、エッジルータが4台のためエッジルータを示すヘッダのヘッダ長を4ビットとし、エッジルータ2のビット位置を1ビット目とし1000、エッジルータ3のビット位置を2ビット目とし0100、エッジルータ4のビット位置を3ビット目とし0010、エッジルータ5のビット位置を4ビット目とし0001とした。
【0056】
次に、送信端末装置8からデータが送信される場合について説明する。
例えば、端末装置8から送信されたフローは、エッジルータ2の送受信部13−1に受信され、受信されたフローは、パケット転送部13−4に入力される。エッジルータ2のパケット転送部13−4はパケットのフロー識別子に対応するヘッダ値0101を、記憶部13−5に記憶されたフロー識別子とヘッダ値の対応表(図8)から取得する。
【0057】
次に、出力インターフェースと出力値との対応表(図5)を参照し、ヘッダ値0101と各出力インターフェースの出力値とのANDを計算する。
計算の結果、中継ルータ6への出力インターフェースの出力値0110とヘッダ値0101のANDは0100であるから、中継ルータ6へはヘッダ値0100付加しパケットを送信する。
また、中継ルータ7への出力インターフェースの出力値0001とヘッダ値0101のANDは0001であるから、中継ルータ7へはヘッダ値0001でパケットを送信する。
【0058】
中継ルータ6の送受信部14−1は、エッジルータ2からパケットを受信すると受信したパケットをパケット転送部14−3に入力する。パケット転送部14−3では、送受信部14−1から入力されたパケットに格納されたヘッダ値と、記憶部13−5に記憶されている出力インターフェースと出力値との対応表(図5)における出力値とのANDを計算する。
計算の結果、エッジルータ3への出力インターフェースの出力値0100とヘッダ値0100のANDは0100であるから、エッジルータ3へはヘッダ値を0100としてパケットを送る。
また、エッジルータ4への出力インターフェースの出力値0010とヘッダ値0100のANDは0000であるから、エッジルータ4へはパケットを送らない。
【0059】
一方、中継ルータ7の送受信部は、エッジルータ2からパケットを受信すると受信したパケットをパケット転送部14−3に入力する。パケット転送部14−3では、送受信部14−1から入力されたパケットに格納されたヘッダ値と、記憶部13−5に記憶されている出力インターフェースと出力値との対応表(図5)における出力値とのANDを計算する。
計算の結果、エッジルータ5への出力インターフェースの出力値0001とヘッダ値0001のANDは0001であるから、エッジルータ5へはヘッダ値を0001としてパケットを送る。
【0060】
エッジルータ3の送受信部13−1は、中継ルータ6からパケットを受信すると受信したパケットをパケット転送部13−4に入力する。パケット転送部13−4はパケットを受信すると、ヘッダ値が0100なので、自身宛のパケットであると判断し、パケットからヘッダをはずし、パケットに格納されたフロー識別子を記憶部13−5に記憶されたフロー識別子と出力インターフェースの対応表(図7)を参照し、端末装置9への出力インターフェースに設定し、パケットを送信する。受信端末装置9は、エッジルータ3からのパケットを受信する。
【0061】
同様に、エッジルータ5のパケット転送部13−4はパケットを受信すると、ヘッダ値が0001なので、自身宛のパケットであると判断し、パケットからヘッダをはずし、パケットに格納されたのフロー識別子を記憶部13−5に記憶されたフロー識別子と出力インターフェースの対応表(図7)を参照し、端末装置11の出力インターフェースに設定し、パケットを送信する。受信端末装置11は、エッジルータ5からのパケットを受信する。
【0062】
このようにデータパケットのヘッダと出力インターフェースの出力値とのANDを計算することにより、この計算値は各出力インターフェースの先にある宛先エッジルータのみを示すこととなるため、この計算値をヘッダ値としてデータパケットに付け直すことにより、宛先エッジルータヘパケットのコピーを1つずつ送信することができる。
【0063】
次に、マルチキャスト通信の処理フローについて説明する。
図10から図16は本発明の一実施の形態にかかるマルチキャスト通信方法を示すフローチャートである。ここでは、マルチキャスト通信方法を事前準備と、フロー毎の経路設定と、データパケット転送に分けて説明する。
まず、事前準備について説明する。
エッジルータ2、3、4、5は、図10のフローチャートに示すように、エッジルータ2、3、4、5とヘッダとの対応表(図4)をネットワーク管理装置12より取得する(S101)。
【0064】
次に、エッジルータ2、3、4、5は、ルーチングプロトコルによって作成されたユニキャスト経路表を使って各エッジルータヘパケットを送信する際に使用する出力インターフェースを調べ、その結果を出力インターフェース毎にまとめ、パケットの送信にその出力インターフェースを使用する宛先エッジルータ群を求め、S101で取得したエッジルータとヘッダのビット位置との対応表(図4)から、この宛先エッジルータ群をヘッダのビット位置で示した出力値を求め、出力インターフェースと出力値との対応表を作成する(S102)。
【0065】
次に、エッジルータ2、3、4、5は、Open Shortest Path First(OSPF)のようにネットワーク構成の情報を収集する機能を持ったルーチングプロトコル等が収集したネットワーク構成の情報を得て、端末装置8、9、10、11と収容しているエッジルータ2、3、4、5との対応を検出し、端末装置とエッジルータの対応表(図6)を作成する(S103)。
【0066】
一方、中継ルータ6、7は、図11のフローチャートに示すように、エッジルータ2、3、4、5とヘッダとの対応表(図4)をネットワーク管理装置12より取得する(S111)。
次に、中継ルータ6、7は、ルーチングプロトコルによって作成されたユニキャスト経路表を使って各エッジルータヘパケットを送信する際に使用する出力インターフェースを調べ、その結果を出力インターフェース毎にまとめ、パケットの送信にその出力インターフェースを使用する宛先エッジルータ群を求め、S111で取得したエッジルータとヘッダとの対応表(図4)から、この宛先エッジルータ群をヘッダのビット位置で示した出力値を求め、出力インターフェースと出力値との対応表(図5)を作成する(S112)。
【0067】
次に、フロー毎の経路設定について説明する。
受信端末装置、例えば端末装置9、10、11がフローを要求する要求パケットを、受信側エッジルータ、例えば端末装置9、10、11に対してそれぞれエッジルータ3、4、5へ送信する。この要求パケットには、送信端末装置アドレス、受信端末装置アドレス、フロー識別子が格納されている。
受信側エッジルータは、図12のフローチャートに示すように、この要求パケットを受信する(S121)と、フロー識別子と出力インターフェースの対応表(図7)に、この要求パケットに格納されたフロー識別子と受信端末装置へつながる出力インターフェースを追加する(S122)。
【0068】
次に、要求パケットに格納されている送信端末装置アドレスを収容している送信側エッジルータを端末装置とエッジルータの対応表(図6)から求め(S123)、要求パケットに受信側エッジルータのビット位置の情報を付加し送信側エッジルータヘ送信する(S124)。
【0069】
送信側エッジルータは、図13のフローチャートに示すように、要求パケットを受信すると(S131)、フロー識別子とヘッダ値の対応表(図8)を参照し、要求パケットに格納されているフロー識別子の検索を行う(S132)。フロー識別子が存在する場合はそのヘッダ値を更新する(S133)。フロー識別子がない場合はフロー識別子と受信側エッジルータのビット位置をヘッダ値として追加する(S134)。
【0070】
次に、データパケットが転送される場合について説明する。
図14のフローチャートに示すように、送信端末装置がフローを送信し、送信側エッジルータは送信されたデータパケットを受信する(S141)。
次に、送信側エッジルータは、パケットに格納されたフロー識別子に対応するヘッダ値を、フロー識別子とヘッダ値の対応表(図8)から求める(S142)。
【0071】
次に、このヘッダ値と、出力インターフェースと出力値の対応表(図5)に示されている各出力インターフェースの出力値とのANDを計算し、計算結果が0であるか否かを判断する(S143)。
計算結果が0でない場合には、その出力インターフェースからは計算結果をヘッダ値としてパケットに付加して出力する(S144)。
計算結果が0である場合には、その出力インターフェースからはパケットを出力しない(S145)。
【0072】
ここで、中継ルータにパケットが転送された場合について説明する。
図15のフローチャートに示すように、中継ルータはパケットを受信すると(S151)、受信したパケットのヘッダ値と出力インターフェースと出力値の対応表(図5)に示されている各出力インターフェースの出力値とのANDを計算し、計算結果が0であるか否かを判断する(S152)。
計算結果が0でない場合には、その出力インターフェースからは計算結果をヘッダ値としてパケットに付加して出力する(S153)。
計算結果が0である場合には、その出力インターフェースからはパケットを出力しない(S154)。
【0073】
ここで、受信側エッジルータにパケットが転送された場合について説明する。
図16のフローチャートに示すように、受信側エッジルータはパケットを受信すると(S161)、受信したパケットのヘッダ値より自身宛のパケットであると判断し、パケットからヘッダをはずし、パケットに格納されたフロー識別子に対応する出力インターフェースを、フロー識別子と出力インターフェースの対応表から取得し、パケットを送信する。そして、受信端末装置はパケットを受信する。
【0074】
【発明の効果】
本発明によれば、エッジルータとヘッダのビット位置を関連づけることで、ヘッダに宛先エッジルータを記載することができるため、中継ルータはフロー毎の経路設定を不要にすることができる。
また、中継ルータでは、出力インターフェース毎に宛先エッジルータ群をビット位置で示した出力値を求め、この出力値と受信したバケットのヘッダ値のANDを計算し、その出力インターフェースから出力するか否かを決定し、付け替えるヘッダを決めることにより、中継ルータが持つマルチキャストの経路情報量はフロー数に関わらず出力インターフェースと同じ数となるため、フロー数が多いときでも、必要なメモリを少量に抑え、パケットを受信したときに経路の決定を短時間で行うことができる。
【図面の簡単な説明】
【図1】本実施の形態にかかるマルチキャスト通信システムの構成を示す構成図である。
【図2】本実施の形態にかかるマルチキャスト通信システムにおけるエッジルータの構成を示す機能ブロック図である。
【図3】エッジルータの記憶部の構成を説明するための図である。
【図4】エッジルータとヘッダのビット位置の対応表である。
【図5】出力インターフェースと出力値の対応表である。
【図6】端末装置とエッジルータの対応表である。
【図7】フロー識別子と出力インターフェースの対応表である。
【図8】フロー識別子とヘッダ値の対応表である。
【図9】本実施の形態にかかるマルチキャスト通信システムにおける中継ルータの構成を示す機能ブロック図である。
【図10】エッジルータにおける処理を説明するためのフロー図である。
【図11】中継ルータにおける処理を説明するためのフロー図である。
【図12】エッジルータにおける処理を説明するためのフロー図である。
【図13】エッジルータにおける処理を説明するためのフロー図である。
【図14】エッジルータにおける処理を説明するためのフロー図である。
【図15】中継ルータにおける処理を説明するためのフロー図である。
【図16】エッジルータにおける処理を説明するためのフロー図である。
【図17】従来のマルチキャスト通信システムの構成を示す構成図である。
【図18】従来のマルチキャスト通信システムにおけるルータの構成を示す機能ブロック図である。
【図19】マルチキャストアドレスと出力インターフェースとの対応を示す経路表である。
【符号の説明】
1:ネットワーク、2、3、4、5、13:エッジルータ、6、7:中継ルータ、8、9、10、11、14:端末装置、12:ネットワーク管理装置、201:ネットワーク、211、212、213、214、215:ルータ、221、222、223:端末装置。

Claims (4)

  1. ネットワークに接続された複数のルータを備え、送信端末装置から前記ルータを介して受信端末装置へデータを送信するマルチキャスト通信システムにおいて、
    前記送信端末装置または前記受信端末装置に接続されるエッジルータと、
    前記エッジルータに接続される中継ルータと、
    前記エッジルータを識別するアドレスと、あらかじめ設定され、複数のビットで構成され、各ビットが前記エッジルータに対応するヘッダとを対応付けて記憶し、前記エッジルータおよび前記中継ルータの要求に応じて送信するネットワーク管理装置と
    を備え、
    前記エッジルータは、
    前記アドレスと前記ヘッダとの対応に基づいて、このエッジルータの出力インターフェースとこの出力インターフェースから送信される前記データを構成するデータパケットを受信するエッジルータを示すヘッダとの対応表と、前記送信端末装置および前記受信端末装置とこれらを収容するエッジルータとの対応表とを作成する第1の経路表作成管理手段と、
    前記データパケットの送信を要求する要求パケットに格納され、このデータパケットを識別する識別子とこの要求パケットを受信した出力インターフェースとの対応表と、前記識別子と前記データを受信する前記受信端末装置を収容するエッジルータのヘッダとの対応表とを作成するフロー管理手段と、
    受信した前記データパケットに格納された識別子に対応するヘッダから、前記受信端末装置に接続されたエッジルータに対応するヘッダを求め、前記データパケットに付加して転送する第1のパケット転送手段と、
    を備え、
    前記中継ルータは、
    前記アドレスと前記ヘッダとの対応に基づいて、この中継ルータの出力インターフェースとこの出力インターフェースから送信されるデータパケットを受信するエッジルータを示すヘッダとの対応表を作成する第2の経路表作成管理手段と、
    受信した前記データパケットのヘッダから、前記受信端末装置に接続されたエッジルータに対応するヘッダを求め、前記データパケットに付加して転送する第2のパケット転送手段と
    を備えることを特徴とするマルチキャスト通信システム。
  2. 請求項1に記載のマルチキャスト通信システムにおいて、
    前記第1のパケット転送手段および前記第2のパケット転送手段は、
    受信した前記データパケットに格納されているヘッダと、前記エッジルータを示すヘッダとのANDを計算し、計算値が0以外の場合には、この計算値をヘッダとして転送し、0となる出力インターフェースからは、パケットを転送しないことを特徴とするマルチキャスト通信システム。
  3. ネットワークに接続された複数のルータを備え、送信端末装置から前記ルータを介して受信端末装置へデータを送信するマルチキャスト通信方法において、
    前記送信端末装置または前記受信端末装置に接続されるエッジルータと、
    前記エッジルータに接続される中継ルータと、
    前記エッジルータを識別するアドレスと、あらかじめ設定され、複数のビットで構成され、各ビットが前記エッジルータに対応するヘッダとを対応付けて記憶し、前記エッジルータおよび前記中継ルータの要求に応じて送信するネットワーク管理装置と
    を備えたマルチキャスト通信方法であって、
    前記エッジルータは、
    前記アドレスと前記ヘッダとの対応に基づいて、このエッジルータの出力インターフェースとこの出力インターフェースから送信される前記データを構成するデータパケットを受信するエッジルータを示すヘッダとの対応表と、前記送信端末装置および前記受信端末装置とこれらを収容するエッジルータとの対応表とを作成し、前記データパケットの送信を要求する要求パケットに格納され、このデータパケットを識別する識別子とこの要求パケットを受信した出力インターフェースとの対応表と、前記識別子と前記データを受信する前記受信端末装置を収容するエッジルータのヘッダとの対応表とを作成し、受信した前記データパケットに格納された識別子に対応するヘッダから、前記受信端末装置に接続されたエッジルータに対応するヘッダを求め、前記データパケットに付加して転送し、
    前記中継ルータは、
    前記アドレスと前記ヘッダとの対応に基づいて、この中継ルータの出力インターフェースとこの出力インターフェースから送信されたデータパケットを受信するエッジルータを示すヘッダとの対応表を作成し、受信した前記データパケットのヘッダから、前記受信端末装置に接続されたエッジルータに対応するヘッダを求め、前記データパケットに付加して転送することを特徴とするマルチキャスト通信方法。
  4. 請求項3に記載のマルチキャスト通信方法において、
    前記エッジルータおよび前記中継ルータは、
    受信した前記データパケットに格納されているヘッダと、前記エッジルータを示すヘッダとのANDを計算し、計算値が0以外の場合には、この計算値をヘッダとして変更して転送し、0となる出力インターフェースからは、パケットを転送しないことを特徴とするマルチキャスト通信方法。
JP2002330653A 2002-11-14 2002-11-14 マルチキャスト通信システムおよびマルチキャスト通信方法 Expired - Fee Related JP3851259B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002330653A JP3851259B2 (ja) 2002-11-14 2002-11-14 マルチキャスト通信システムおよびマルチキャスト通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002330653A JP3851259B2 (ja) 2002-11-14 2002-11-14 マルチキャスト通信システムおよびマルチキャスト通信方法

Publications (2)

Publication Number Publication Date
JP2004166051A JP2004166051A (ja) 2004-06-10
JP3851259B2 true JP3851259B2 (ja) 2006-11-29

Family

ID=32808294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002330653A Expired - Fee Related JP3851259B2 (ja) 2002-11-14 2002-11-14 マルチキャスト通信システムおよびマルチキャスト通信方法

Country Status (1)

Country Link
JP (1) JP3851259B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109068338B (zh) * 2018-06-20 2022-02-15 深圳市动能无线传媒有限公司 一种探测和处理三地址无线分布式系统兼容性的系统及方法

Also Published As

Publication number Publication date
JP2004166051A (ja) 2004-06-10

Similar Documents

Publication Publication Date Title
US9325609B2 (en) Segmented source routing in a network
CA2666425C (en) Path mtu discovery in network system
US8989181B2 (en) Method and system for multicasting data packets in an MPLS network
US10742697B2 (en) Packet forwarding apparatus for handling multicast packet
US9736058B2 (en) Multi-region source routed multicast using sub-tree identifiers
US20130332619A1 (en) Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking
US9172550B2 (en) Management of a multicast system in a software-defined network
KR100542341B1 (ko) 비쥐피 프로토콜을 분산 처리하는 장치 및 그 방법
US9491000B2 (en) Data transport system, transmission method, and transport apparatus
CN104335537A (zh) 用于层2多播多路径传送的系统和方法
JP5754506B2 (ja) 通信システム、コントローラ、スイッチ、ストレージ管理装置、及び通信方法
KR100636273B1 (ko) 이더넷을 통한 mpls 멀티캐스트 패킷 전송 장치 및 방법
JP3851259B2 (ja) マルチキャスト通信システムおよびマルチキャスト通信方法
JP2008028714A (ja) ネットワークおよびマルチキャスト転送装置
WO2021171365A1 (ja) 経路情報管理装置、経路情報管理方法及びプログラム
JP6590774B2 (ja) コンテンツ配信システムのサーバ装置、転送装置及びプログラム
JP2004088658A (ja) パケット転送装置及びパケット処理方法
JP2021114707A (ja) コンテンツ配信システムの転送装置及びプログラム
JP2004312564A (ja) パケット変換方法、パケット変換装置およびパケット経路制御装置
JP2004356883A (ja) データ通信システム、および方法
JP3811099B2 (ja) マルチキャスト通信システムおよび方法、パケット転送装置、パケット送受信装置
KR100560753B1 (ko) 분산 구조 라우터의 라우터 정보 관리 방법 및 그 장치
KR20080050041A (ko) IPv4/IPv6 변환을 이용한 라우터 시스템에서의 패킷전달 방법
JP2003309606A (ja) 仮想ルータおよび仮想ルータを用いたデータ中継システム
JP2015220496A (ja) データ転送方法及びデータ転送システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060831

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090908

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120908

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees