JP2004356883A - データ通信システム、および方法 - Google Patents
データ通信システム、および方法 Download PDFInfo
- Publication number
- JP2004356883A JP2004356883A JP2003151173A JP2003151173A JP2004356883A JP 2004356883 A JP2004356883 A JP 2004356883A JP 2003151173 A JP2003151173 A JP 2003151173A JP 2003151173 A JP2003151173 A JP 2003151173A JP 2004356883 A JP2004356883 A JP 2004356883A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- router
- routing table
- output interface
- edge
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】送側エッジルータと受側エッジルータの組み合わせに対して複数の経路を使用できるようにする。
【解決手段】エッジルータ10では、経路表管理部10Cで複数の経路表を管理し、パケット転送部10Aで、受信したパケットのフローに使用する経路表を選択し、当該経路表を示す経路表識別子をパケットのルータ間転送用ヘッダに付与し、当該経路表に基づき決定された出力インターフェースから当該パケットを送信する。中継ルータ20では、経路表管理部20Cで複数の経路表を管理し、パケット転送部20Aで、受信したパケットのルータ間転送用ヘッダに記載されている経路表識別子に対応する経路表を選択し、当該経路表に基づき決定された出力インターフェースからパケットを送信する。
【選択図】 図1
【解決手段】エッジルータ10では、経路表管理部10Cで複数の経路表を管理し、パケット転送部10Aで、受信したパケットのフローに使用する経路表を選択し、当該経路表を示す経路表識別子をパケットのルータ間転送用ヘッダに付与し、当該経路表に基づき決定された出力インターフェースから当該パケットを送信する。中継ルータ20では、経路表管理部20Cで複数の経路表を管理し、パケット転送部20Aで、受信したパケットのルータ間転送用ヘッダに記載されている経路表識別子に対応する経路表を選択し、当該経路表に基づき決定された出力インターフェースからパケットを送信する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、データ通信システム、および方法に関し、特に複数の端末を複数のルータで結ぶネットワークで行われるマルチキャスト通信やユニキャスト通信に用いられるデータ通信システム、および方法に関するものである。
【0002】
【従来の技術】
インターネットに代表されるIP通信網では、同じデータを複数の端末装置に効率的に伝送するための技術としてPIM(Protocol Independent Multicast)などのマルチキャスト通信が用いられる(例えば、非特許文献1参照)。
このマルチキャスト通信では、マルチキャストルーティング技術により、送信端末から複数の受信端末に対して、木構造の情報伝送経路が構成される。この情報伝達経路において、木が枝分かれする部分には中継ルータが配置される。この中継ルータは、送信端末からのデータパケットを受信すると、必要な数だけデータパケットをコピーし各枝へ転送する。この木構造において、各端末は葉の部分に相当する。
【0003】
従来、このようなマルチキャスト通信システムにおいて、エッジルータとルータ間転送用ヘッダのビット位置とを関連づけて、ヘッダに宛先エッジルータを記載することにより、中継ルータはフロー毎の経路設定を不要とし、効率よくデータ通信を行うシステムが検討されている。
図16は、従来のマルチキャスト通信システムを示す構成例である。このマルチキャスト通信システムは、エッジルータ71〜74、中継ルータ81〜83、ネットワーク管理装置8、および端末1〜4から構成されている。
【0004】
図17は、エッジルータの構成図である。このエッジルータ70には、パケット転送部70A、フロー管理部70B、および経路表管理部70Cが設けられている。
図18は、中継ルータの構成図である。この中継ルータ80には、パケット転送部80A、および経路表管理部80Cが設けられている。
図19にルータ間転送用ヘッダ90の構成例を示す。また、図20にエッジルータ71の持つ経路表95の構成例を示す。
【0005】
ネットワーク構成が決まると、ネットワーク管理装置8はエッジルータ71〜74にルータ間転送用ヘッダ90のビット位置を割り当て、ルータ71〜74,81〜83へ通知する。ヘッダ90は、ビットマップ形式で宛先エッジルータに対応したビット位置を「1」にすることでパケットの宛先を表示する。
例えば、図16のネットワークの場合では、ヘッダ90は4ビットで、エッジルータ71は「1000」、エッジルータ72は「0100」、エッジルータ73は「0010」、エッジルータ74は「0001」というように表示する。
【0006】
ルータ71〜74,81〜83の経路表管理部70C,80Cは経路計算を行い、エッジルータ間の経路表を生成して記憶する。
図16のネットワーク構成例では、エッジルータ71からエッジルータ73への経路は、中継ルータ81を経由するものと、中継ルータ82,83を経由するものがあるが、経由するルータ数が少ない中継ルータ81を経由する経路を採用する。
【0007】
エッジルータ71からエッジルータ74への経路についても同様である。エッジルータ72からエッジルータ73,74への経路も経由するルータ数が少ない中継ルータ81を経由する経路を採用する。
また、エッジルータ71からエッジルータ72への経路は、中継ルータ81を経由するものと、中継ルータ82を経由するものがあるが、これも中継ルータ81を経由する経路を採用することとする。
【0008】
生成した経路表95には、図20のように、出力インターフェース(以下、出力I/Fという)ごとに出力値が記載される。出力値とは、その出力I/Fから送信されるパケットの宛先エッジルータ群を、ルータ間転送用ヘッダ90と同様に、ビットマップ形式で宛先エッジルータに対応するビットを「1」にして表した値である。
経路表95を用いてヘッダ90から出力I/Fを得るには、各出力I/Fの出力値とルータ間転送用ヘッダ90の論理積を計算する。この計算結果が0(ゼロ)以外となった出力I/Fからパケットを送信する。経路表95の例では、エッジルータ71からエッジルータ72〜74へパケットを送る際は、出力I/F#1を使用することになる。
【0009】
マルチキャスト通信では、データパケットを送る前に制御パケットを送り、経路設定を行う。端末1から端末3へパケットを送るとき、端末3は制御パケットにマルチキャストアドレス等のフロー識別子と送信端末1と受信端末3のアドレスを記載して送信する。
制御パケットを受信したエッジルータ73のパケット転送部70Aは、フロー管理部70Bへ制御パケットの情報を渡す。フロー管理部70Bは、制御パケットを受信したインターフェースをデータパケットの出力I/Fとしてフロー識別子とともに記憶する。そして、制御パケットに受側エッジルータがエッジルータ73であることを記載してエッジルータ71へ転送する。
【0010】
制御パケットを受信したエッジルータ71のパケット転送部70Aは、フロー管理部70Bへ制御パケットの情報を渡す。フロー管理部70Bは、制御パケットに記載されている受側エッジルータに対応するヘッダ90の値について経路表管理部70Cの持つ経路表95を調べ、出力I/F#1を得る。フロー管理部70Bは、フロー識別子、ルータ間転送用ヘッダ90、出力I/Fを記憶する。そして制御パケットから受側エッジルータの記載を削除して端末1へ送信する。
制御パケットを受信した端末1は、データパケットにフロー識別子を付けてエッジルータ71へ送信する。
【0011】
データパケットを受信したエッジルータ71のパケット転送部70Aは、そのヘッダからフロー識別子を読みとり、フロー管理部70Bに問い合わせる。フロー管理部70Bは、フロー識別子に対応したルータ間転送用ヘッダ90、出力I/Fをパケット転送部70Aへ通知する。パケット転送部70Aは、データパケットにルータ間転送用ヘッダ90を付与し、出力I/F#1より送信する。
データパケットを受信した中継ルータ81のパケット転送部80Aは、ルータ間転送用ヘッダ90を読みとり、経路表管理部80Cの持つ経路表を調べ、ルータ間転送用ヘッダ90に対する出力I/Fを得て、その出力I/Fよりデータパケットをエッジルータ73へ送信する。
【0012】
データパケットを受信したエッジルータ73のパケット転送部70Aは、ルータ間転送用ヘッダ90が自装置宛であることからフロー識別子を読みとり、フロー管理部70Bへ問い合わせる。フロー管理部70Bは、フロー識別子に対する出力I/Fをパケット転送部70Aへ通知する。パケット転送部70Aは、ルータ間転送用ヘッダ90を取り除き、端末3へデータパケットを送る。こうして、端末3はデータパケットを受信する。
このように、エッジルータ間で複数の経路が存在しても経路表を生成するときに1つの経路に決めてしまうために送側エッジルータと受側エッジルータの間で経路は一意に決まる。
【0013】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【0014】
【非特許文献1】
RFC2362”Protocol Independent Multicast−Sparse Mode(PIM−SM):Protocol Specification”、The Internet Engineering Task Force(IETF)、1998年6月
【0015】
【発明が解決しようとする課題】
しかしながら、このような従来のデータ通信システムでは、送側エッジルータと受側エッジルータの組み合わせに対して1つの経路しか存在しないため、経路上で輻輳が発生した場合、他の経路を使用することでトラヒックを分散して輻輳を解消することができないという問題点があった。
本発明はこのような問題を解決するためのものであり、送側エッジルータと受側エッジルータの組み合わせに対して複数の経路を使用できるデータ通信システム、および方法を提供することを目的としている。
【0016】
【課題を解決するための手段】
このような目的を達成するために、本発明にかかるデータ通信システムは、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により1つの送信端末から複数の受信端末へ所望のパケットを送信するフローについて、送信端末が接続されている送側エッジルータでは、送信端末からのパケットに、各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムであって、エッジルータは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのフローに対応する経路表を示す経路表識別子を当該パケットのルータ間転送用ヘッダに記載し、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するパケット転送部とを備え、中継ルータは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき決定された出力インターフェースからパケットを送信するパケット転送部とを備えるものである。
【0017】
また、本発明にかかるデータ通信方法は、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により1つの送信端末から複数の受信端末へ所望のパケットを送信するフローについて、送信端末が接続されている送側エッジルータでは、送信端末からのパケットに、各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムで用いられるデータ転送方法であって、エッジルータで、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのフローに対応する経路表を示す経路表識別子を当該パケットのルータ間転送用ヘッダに記載するステップと、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するステップとを実行し、中継ルータで、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき出力インターフェースを決定するステップと、その出力インターフェースからパケットを送信するステップとを実行するようにしたものである。
【0018】
また、本発明にかかる他のデータ通信システムは、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、ユニキャスト通信により1つの送信端末から1つの受信端末へ所望のパケットを送信する際、送信端末が接続されている送側エッジルータでは、送信端末からのパケットを送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムであって、エッジルータは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットの送信に使用する経路表を示す経路表識別子をパケットのルータ間転送用ヘッダに記載し、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するパケット転送部とを備え、中継ルータは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき決定された出力インターフェースからパケットを送信するパケット転送部とを備えるものである。
【0019】
また、本発明にかかる他のデータ通信方法は、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、ユニキャスト通信により1つの送信端末から1つの受信端末へ所望のパケットを送信する際、送信端末が接続されている送側エッジルータでは、送信端末からのパケットを送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムで用いられるデータ通信方法であって、エッジルータで、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットの送信に使用する経路表を示す経路表識別子をパケットのルータ間転送用ヘッダに記載するステップと、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するステップとを実行し、中継ルータで、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき出力インターフェースを決定するステップと、その出力インターフェースからパケットを送信するステップとを実行するようにしたものである。
【0020】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
まず、図1を参照して、本発明の第1の実施の形態にかかるデータ通信システムであるマルチキャスト通信システムについて説明する。図1は本発明の第1の実施の形態にかかるデータ通信システムの構成を示すブロック図である。
このデータ通信システム100Mは、エッジルータ11〜14、中継ルータ21〜23、ネットワーク管理装置8、および端末1〜4から構成されている。なお、前述の図16と同じまたは同等部分には同一符号を付してある。
【0021】
エッジルータ11〜14には、端末1〜4がそれぞれ接続されており、中継ルータ21には、各エッジルータ11〜14が接続されている。また、中継ルータ22には、エッジルータ11,12が接続され、中継ルータ23には、エッジルータ13,14および中継ルータ22が接続されている。さらに、ネットワーク管理装置8が、各エッジルータ11〜14および中継ルータ21〜23と接続されている。
【0022】
図2は、エッジルータの構成図である。このエッジルータ10(11〜14)には、パケット転送部10A、フロー管理部10B、および経路表管理部10Cが設けられている。
図3は、中継ルータの構成図である。この中継ルータ20(21〜23)には、パケット転送部20A、および経路表管理部20Cが設けられている。
図4にルータ間転送用ヘッダの構成例を示す。このルータ間転送用ヘッダ30は、経路表識別子31と宛先情報32とから構成されている。
【0023】
図5にエッジルータの持つ経路表の構成例を示す。この経路表では、出力I/Fと出力値とが対応付けられている。また各経路表には、各経路に固有の経路表識別子が付与されている。
なお、出力値とは、その出力I/Fから送信されるパケットの宛先エッジルータ群を、ルータ間転送用ヘッダ30と同様に、ビットマップ形式で宛先エッジルータに対応するビットを「1」にして表した値である。
【0024】
ネットワーク管理装置8は、ネットワーク構成が決まると、エッジルータ11〜14にルータ間転送用ヘッダ30の中の宛先情報32のビット位置を割り当て、ルータ11〜23へ通知する。宛先情報32は、ビットマップ形式からなり、宛先エッジルータに対応したビット位置を「1」に設定することでパケットの宛先を表示する。
ルータ11〜23の経路表管理部10C,20Cは、一般的な公知の経路計算を行い、エッジルータ間の経路表を生成して記憶する。図1のネットワーク構成例では、経由するルータ数が最も少ない中継ルータ21を経由する経路表と、中継ルータ21が輻輳した場合を想定して中継ルータ22を経由する経路表を生成する。
【0025】
この例では、経路表識別子として、中継ルータ21を経由する経路表35Aの経路表識別子を「1」、中継ルータ22を経由する経路表35Bの経路表識別子を「2」とする。そして、通常は経由するルータ数の少ない経路表35Aが使用されるものとする。
経路表35A,35Bを使って宛先情報32から出力I/Fを得るには、各出力I/Fの出力値と宛先情報32の論理積を計算する。計算結果が0(ゼロ)以外となった出力I/Fからパケットを送信する。経路表35Aの例では、エッジルータ11からエッジルータ12〜14へパケットを送る際は、出力I/F#1を使用することになる。
【0026】
マルチキャスト通信では、データパケットを送る前に制御パケットを送り、経路設定を行う。端末1から端末3へデータパケットを送る場合、端末3は、制御パケットにマルチキャストアドレス等のフロー識別子と送信端末1と受信端末3のアドレスを記載して送信する。
制御パケットを受信したエッジルータ13のパケット転送部10Aは、フロー管理部10Bへ制御パケットの情報を渡す。フロー管理部10Bは、制御パケットを受信したインターフェースを、データパケットの出力I/Fとしてフロー識別子とともに記憶する。そして、パケット転送部10Aは、制御パケットに受側エッジルータがエッジルータ13であることを記載してエッジルータ11へ転送する。
【0027】
制御パケットを受信したエッジルータ11のパケット転送部10Aは、フロー管理部10Bへ制御パケットの情報を渡す。フロー管理部10Bは、制御パケットに記載の受側エッジルータに対応する宛先情報32の値について、経路表管理部10Cの持つ経路表35Aを調べ、出力I/F#1を得る。
フロー管理部10Bは、フロー識別子、経路表識別子31、宛先情報32、出力I/Fを記憶する。ここで、使用する経路表35Aの経路表識別子31は「1」である。そして、制御パケットから受側エッジルータの記載を削除して端末1へ送信する。
制御パケットを受信した端末1は、データパケットにフロー識別子を付けてエッジルータ11へ送信する。
【0028】
データパケットを受信したエッジルータ11のパケット転送部10Aは、そのデータパケットのヘッダからフロー識別子を読みとり、フロー管理部10Bに問い合わせる。フロー管理部10Bは、そのフロー識別子に対応した経路表識別子31、宛先情報32、出力I/Fをパケット転送部10Aへ通知する。
パケット転送部10Aは、データパケットに経路表識別子31と宛先情報32から構成されるルータ間転送用ヘッダ30を付与し、出力I/F#1より送信する。
データパケットを受信した中継ルータ21のパケット転送部20Aは、そのデータパケットからルータ間転送用ヘッダ30を読みとり、経路表識別子31の値に対応した経路表管理部20Cの持つ経路表を調べ、宛先情報32に対する出力I/Fを得て、データパケットをエッジルータ13へ送信する。
【0029】
データパケットを受信したエッジルータ13のパケット転送部10Aは、そのデータパケットの宛先情報32が自装置宛であることから、そのデータパケットのヘッダからフロー識別子を読みとり、フロー管理部10Bへ問い合わせる。フロー管理部10Bは、そのフロー識別子に対する出力I/Fをパケット転送部10Aへ通知する。
パケット転送部10Aは、ルータ間転送用ヘッダ30を取り除き、端末3へデータパケットを送る。こうして端末3は、端末1からのデータパケットを受信する。
【0030】
次に、中継ルータ21にトラヒックが集中して負荷が大きくなった場合について説明する。
中継ルータ21は、負荷が大きくなったとき、エッジルータ11〜14へその旨を通知する。
エッジルータ11〜14では、この通知を受けた後、制御パケットを受信すると、エッジルータ11のフロー管理部10Bで、中継ルータ22を経由する経路表35Bを使用して出力I/Fを得る。これにより、端末1から端末3へデータパケットを送る場合は、出力I/F#2が使用され、経路表識別子31は経路表35Bを示す「2」となる。
【0031】
この際、フロー管理部10Bは、輻輳発生の通知を受ける前から通信していたフローについても、経路表識別子31と出力I/Fを変更して経路変更を行っても良い。
データパケットを受信したエッジルータ11のパケット転送部10Aは、そのデータパケットからフロー識別子を読みとり、フロー管理部10Bに問い合わせる。フロー管理部10Bは、そのフロー識別子に対応した経路表識別子31、宛先情報32、出力I/Fをパケット転送部10Aへ通知する。
パケット転送部10Aは、データパケットにルータ間転送用ヘッダ30を付与し、出力I/F#2より送信する。その結果、データパケットは、中継ルータ22へ送信される。
【0032】
データパケットを受信した中継ルータ22のパケット転送部20Aは、ルータ間転送用ヘッダ30を読みとり、記載されている経路表識別子31の値に対応した経路表管理部20Cの持つ経路表を調べる。そして、宛先情報32に対する出力I/Fを得て、データパケットを中継ルータ23へ送る。
データパケットを受信した中継ルータ23のパケット転送部20Aは、前述した中継ルータ22と同様の処理をして、データパケットをエッジルータ13へ送る。
【0033】
データパケットを受信したエッジルータ13のパケット転送部10Aは、宛先情報32が自装置宛であることからフロー識別子を読みとり、フロー管理部10Bへ問い合わせる。フロー管理部10Bは、フロー識別子に対する出力I/Fをパケット転送部10Aへ通知する。
パケット転送部10Aは、ルータ間転送用ヘッダ30を取り除き、端末3へデータパケットを送る。こうして、端末3は、端末1からのデータパケットを受信する。
【0034】
以上のように、本実施の形態にかかるマルチキャスト通信システムにおいて、送側エッジルータで経路表識別子をヘッダに記載し、その値を変えることで同じ宛先に対して複数の経路を使い分けることができる。
このため、経路上で輻輳が発生した場合には、複数の経路へトラヒックを分散することができ、発生した輻輳を解消することができる。
【0035】
なお、経路表35Bのような迂回路となる経路表の生成については、輻輳発生が通知された後に生成しても良い。また、迂回路となる経路表については、ネットワーク管理者が予め用意しても良い。
また、経路表識別子の表示できる数よりも経路表管理部が予め用意する経路表の数が多い場合、使用中の経路表のみに経路表識別子の値を割り当てても良い。
【0036】
次に、図11〜13を参照して、本実施の形態にかかるデータ通信システムのマルチキャスト通信動作について説明する。図11は本発明の第1の実施の形態にかかるデータ通信システムの事前準備処理を示すフローチャートである。図12は本発明の第1の実施の形態にかかるデータ通信システムの経路設定処理を示すフローチャートである。図13は本発明の第1の実施の形態にかかるデータ通信システムのデータパケット転送処理を示すフローチャートである。
ここでは、マルチキャスト通信動作を、事前準備処理、フローごとの経路設定処理、およびデータパケット転送処理に分けて説明する。
【0037】
まず、図11を参照して、事前準備処理について説明する。
ルータ(エッジルータおよび中継ルータ)は、エッジルータとルータ間転送用ヘッダの宛先部分のビット位置の対応表をネットワーク管理装置より取得する(ステップ100)。そして、ネットワーク構成に基づいて経路表を生成するとともに、輻輳の発生が想定される特定のルータを除いたネットワーク構成についても経路表を生成する(ステップ101)。そして、各経路表に経路表識別子の値を付与し(ステップ102)、一連の事前準備処理を終了する。
経路表と経路表識別子の対応は、ネットワーク管理装置が決めて、全ルータへ通知しても良いし、ルータ間で情報交換して決めても良い。
【0038】
次に、図12を参照して、フローごとの経路設定について説明する。
端末は、データ通信のためのフローを設定する際、制御パケットにフロー識別子、送信端末アドレス、受信端末アドレスを記載して送信する。
ルータ(エッジルータおよび中継ルータ)は、この制御パケットを受信すると(ステップ110)、受側エッジルータの記載の有無を識別する(ステップ111)。
【0039】
ここで、制御パケットに受側エッジルータの記載がなければ(ステップ111:NO)、受信端末から送られてきたことになる。したがって、制御パケットを受信したエッジルータが受側エッジルータに当たるので、受信したインターフェースを当該データパケットが属するフローの出力I/Fとしてフロー識別子とともに記憶する(ステップ116)。
そして、制御パケットに受側エッジルータである自装置のアドレスを記載して(ステップ117)、その制御パケットを送信し(ステップ118)、一連の経路設定処理を終了する。
【0040】
また、ステップ111において、制御パケットに受側エッジルータの記載がある場合(ステップ111:YES)、制御パケットを受信したエッジルータは送側エッジルータに当たることから、そのフローに対して使用する経路表を選択する(ステップ112)。
この際、ネットワーク上で輻輳が発生していなければ、通常使われる経路表を選択する。ネットワーク上で輻輳が発生していれば、輻輳が発生しているルータを迂回する経路の経路表を選択する。
【0041】
そして、その経路表から制御パケットに記載された受側エッジルータへの出力I/Fを得て(ステップ113)、フロー識別子、ルータ間転送用ヘッダの経路表識別子、宛先としての受側エッジルータ、出力I/Fを記憶する(ステップ114)。
続いて、制御パケットから受側エッジルータのアドレスを削除して(ステップ115)、対応する出力I/Fから送信端末へその制御パケットを送信し(ステップ118)、一連の経路設定処理を終了する。
【0042】
次に、図13を参照して、データパケット転送処理について説明する。ルータは、データパケットを受信すると(ステップ120)、ルータ間転送用ヘッダの有無を識別する(ステップ121)。
ここで、ルータ間転送用ヘッダ付与されてない場合は(ステップ121:NO)、データパケットに記載されたフロー識別子を読みとり、記憶している情報の中から該当するフロー識別子に対する経路表識別子、受側エッジルータ、出力I/Fを得る(ステップ127)。
そして、そのデータパケットにルータ間転送用ヘッダを付与して(ステップ128)、該当する出力I/Fから送信し(ステップ129)、一連のデータパケット転送処理を終了する。
【0043】
一方、ステップ121において、受信したデータパケットにルータ間転送用ヘッダが付与されている場合には(ステップ121:YES)、そのデータパケットのルータ間転送用ヘッダから、経路表識別子および受側エッジルータを取得し(ステップ122)、そのデータパケットの宛先が自装置宛であるか否かを調べる(ステップ123)。
ここで、自装置宛である場合は(ステップ123:YES)、記憶情報からフロー識別子に対する出力I/Fを得て(ステップ124)、当該データパケットからルータ間転送用ヘッダを削除する(ステップ125)。そして、そのデータパケットを当該出力I/Fから送信し(ステップ129)、一連のデータパケット転送処理を終了する。
【0044】
また、ステップ123において、データパケットの宛先が自装置宛でない場合は(ステップ123:NO)、データパケットに記載の経路表識別子に対応した経路表を調べ、受側エッジルータへの出力I/Fを取得する(ステップ126)。そして得られた出力I/Fからデータパケットを送信し(ステップ129)、一連のデータパケット転送処理を終了する。
このようにして、各ルータ(エッジルータおよび中継ルータ)が図11から図13のフローチャートに示した処理動作をすることで、データパケットは送信端末から受信端末まで送られる。
【0045】
次に、図6を参照して、本発明の第2の実施の形態にかかるデータ通信システムであるユニキャスト通信システムについて説明する。図6は本発明の第2の実施の形態にかかるデータ通信システムの構成を示すブロック図である。
このデータ通信システム100Uは、エッジルータ41〜44、中継ルータ51〜53、および端末1〜4から構成されている。
なお、ユニキャスト通信とは、1つの送信端末から1つの受信端末へパケットを送信する方法である。
【0046】
エッジルータ41〜44には、端末1〜4がそれぞれ接続されており、中継ルータ51には、各エッジルータ41〜44が接続されている。また、中継ルータ52には、エッジルータ41,42が接続され、中継ルータ53には、エッジルータ43,44および中継ルータ52が接続されている。
【0047】
図7は、エッジルータの構成図である。このエッジルータ40(41〜44)には、パケット転送部40A、経路制御部40B、および経路表管理部40Cが設けられている。
図8は、中継ルータの構成図である。この中継ルータ50(51〜53)には、パケット転送部50A、および経路表管理部50Cが設けられている。
図9にルータ間転送用ヘッダの構成例を示す。このルータ間転送用ヘッダ60は、経路表識別子61とIPヘッダ62とから構成されている。
【0048】
図10にエッジルータの持つ経路表の構成例を示す。経路表65Aが中継ルータ51を経由する経路表、経路表65Bが中継ルータ52を経由する経路表である。各経路表にはその経路に固有の経路表識別子が付与されている。
【0049】
ルータ41〜53の経路表管理部40C,50Cは、ネットワーク構成が決まると、一般的な公知の経路計算を行い、経路表を生成する。図6のネットワーク構成例では、経由するルータ数が最も少ない中継ルータ51を経由する経路表と、中継ルータ51が輻輳した場合を想定して中継ルータ52を経由する経路表を生成する。
この例では、経路表識別子として、中継ルータ51を経由する経路表65Aの経路表識別子を「1」、中継ルータ52を経由する経路表65Bの経路表識別子を「2」とする。そして、通常は経由するルータ数の少ない経路表65Aを使用するものとする。
【0050】
まず、ユニキャスト通信で、端末1から端末3へパケットを送る場合について説明する。
端末1から端末3へIPヘッダ62を付けてパケットが送信された場合、エッジルータ41のパケット転送部40Aでそのパケットが受信される。
パケット転送部40Aは、そのパケットのIPヘッダ62の中から宛先アドレスを読みとり、経路制御部40Bへ通知する。経路制御部40Bは、その宛先アドレスに対応する経路表65Aを示す経路表識別子61の値「1」をパケット転送部40Aへ通知する。
パケット転送部40Aは、経路表管理部40Cの中の経路表65Aを検索し、出力I/F#1を得る。パケット転送部40Aは、そのパケットに経路表識別子61を付与して出力I/F#1から送信し、中継ルータ51へ送る。
【0051】
パケットを受信した中継ルータ51のパケット転送部50Aは、そのパケットのルータ間転送用ヘッダ60から経路表識別子61とIPヘッダ62の中の宛先アドレスを読みとる。
そして、経路表管理部50Cの中から経路表識別子61の値に対応する経路表を検索し、宛先アドレスに対する出力I/Fを得る。そしてその出力I/Fからパケットをエッジルータ43へ送る。
【0052】
パケットを受信したエッジルータ43のパケット転送部40Aは、経路表識別子61とIPヘッダ62の中の宛先アドレスを読みとる。そして、経路表管理部40Cの中から経路表識別子61の値に対応する経路表を検索し、宛先アドレスに対する出力I/Fを得る。
そして、その出力I/Fが端末に接続されていることから、経路表識別子61を当該パケットから削除してパケットを端末3へ送る。こうして端末3はパケットを受信する。
【0053】
次に、中継ルータ51にトラヒックが集中して負荷が大きくなった場合について説明する。
中継ルータ51は、負荷が大きくなるとエッジルータ41〜44へその旨を通知する。
通知を受けたエッジルータ41は、負荷を複数の経路に分散することで中継ルータ51の負荷を下げるために、中継ルータ51を経由する経路表の他に中継ルータ52を経由する経路表も使用する。
【0054】
例えば、エッジルータ41はIPヘッダ62の宛先アドレスの値によって、使用する経路表65A、65Bを使い分けるとする。
端末3へ送られるパケットに中継ルータ52を経由する経路を割り当てたとすると、エッジルータ41の経路制御部40Bは、端末3のアドレス対して経路表識別子61の値を「2」と設定する。
【0055】
エッジルータ41のパケット転送部40Aが端末1から端末3へのパケットを受信すると、IPヘッダ62の宛先アドレス読みとり、経路制御部40Bへ通知する。
経路制御部40Bは、端末3のアドレスに対する経路表識別子61の値「2」をパケット転送部40Aへ通知する。
パケット転送部40Aは、経路表管理部40Cの中で経路表識別子の値「2」に対応する経路表65Bを検索し、出力I/F#2を得る。そして、パケットに経路表識別子61を付与して出力I/F#2から送信する。その結果、パケットは中継ルータ52へ送られる。
【0056】
パケットを受信した中継ルータ52のパケット転送部50Aは、そのパケットのルータ間転送用ヘッダ60から経路表識別子61とIPヘッダ62の宛先アドレスを読みとり、経路表管理部50Cの中の経路表識別子の値に対応する経路表を検索し、出力I/Fを得る。そして、その出力I/Fからパケットを中継ルータ53へ送る。
パケットを受信した中継ルータ53は、中継ルータ52と同様の処理をしてパケットをエッジルータ43へ送る。
【0057】
パケットを受信したエッジルータ43のパケット転送部40Aは、そのパケットのルータ間転送用ヘッダ60から経路表識別子61とIPヘッダ62の宛先アドレスを読みとり、経路表管理部40Cの中の経路表識別子の値に対応する経路表を検索し、出力I/Fを得る。
この際、その出力I/Fが端末に接続されていることから、経路表識別子61をヘッダから削除してパケットを端末3へ送る。こうして端末3はパケットを受信する。
【0058】
以上のように、本実施の形態にかかるユニキャスト通信システムにおいて、送側エッジルータでヘッダに経路表識別子を記載し、その値を変えることで同じ宛先に対して複数の経路を使い分けることができる。
このため、経路上で輻輳が発生した場合には、複数の経路へトラヒックを分散することができ、発生した輻輳を解消することができる。
【0059】
なお、経路表65Aのような迂回路となる経路表の生成は輻輳発生が通知された後に生成しても良い。迂回路となる経路表はネットワーク管理者が予め用意しても良い。
また、経路表識別子で表示できる数よりも経路表管理部が予め用意している経路表の数が多い場合には、使用中の経路表のみに経路表識別子の値を割り当てても良い。
【0060】
次に、図14,15を参照して、本実施の形態にかかるデータ通信システムのユニキャスト通信動作について説明する。図14は本発明の第2の実施の形態にかかるデータ通信システムの事前準備処理を示すフローチャートである。図15は本発明の第2の実施の形態にかかるデータ通信システムのデータパケット転送処理を示すフローチャートである。
ここでは、ユニキャスト通信方法を、事前準備処理、およびデータパケット転送処理に分けて説明する。
【0061】
まず、図14を参照して、事前準備処理について説明する。ルータ(エッジルータおよび中継ルータ)は、ネットワーク構成に基づいて経路表を生成する(ステップ140)。また、輻輳の発生が想定される特定のルータを除いたネットワーク構成についても経路表を生成する(ステップ140)。
そして、各経路表に経路表識別子の値を付与し(ステップ141)、一連の事前準備処理を終了する。この際、経路表と経路表識別子の対応はルータ間で情報交換して決める。
【0062】
次に、図15を参照して、データパケット転送について説明する。ルータ(エッジルータおよび中継ルータ)は、データパケットを受信すると(ステップ150)、そのデータパケットのヘッダにおける経路表識別子の有無に基づき、当該データパケットかルータから送られてきたものか否かを判断する(ステップ151)。
【0063】
ここで、データパケットに経路表識別子が付与されていない場合は(ステップ151:NO)、そのデータパケットは端末から送られてきたことになり、使用する経路表を選択する(ステップ156)。
この際、ネットワーク上で輻輳が発生していなければ、通常使われる経路表を選択する。また、ネットワーク上で輻輳が発生していれば、複数の経路にパケットが分散されて輻輳が解消するようにIPヘッダ中の宛先アドレスや送信元アドレスの値などに基づいて経路表を選択する。
【0064】
次に、選択した経路表から宛先アドレスに対する出力I/Fを得て(ステップ157)、データパケットに経路表識別子を付与する(ステップ158)。そして、そのデータパケットを得られた出力I/Fから送信し(ステップ159)、一連のデータパケット転送処理を終了する。
【0065】
一方、ステップ151において、データパケットに経路表識別子が付与されている場合は(ステップ151:YES)、そのデータパケットがルータから送られてきたことになり、そのデータパケットのルータ間転送用ヘッダから経路表識別子と宛先アドレスとを取得し(ステップ152)、その経路表識別子の値に対応した経路表から当該宛先アドレスに対応した出力I/Fを得る(ステップ153)。
そして、得られた出力I/Fがルータに接続されている場合は(ステップ154:YES)、そのデータパケットをそのまま送信し(ステップ159)、一連のデータパケット転送処理を終了する。
【0066】
また、得られた出力I/Fが端末に接続されている場合は(ステップ154:NO)、そのデータパケットのヘッダから経路表識別子を削除した後(ステップ155)、そのデータパケットを送信し(ステップ159)、一連のデータパケット転送処理を終了する。
このようにして、ルータ(エッジルータおよび中継ルータ)が、図14と図15のフローチャートに示した処理動作をすることで、データパケットは送信端末から受信端末まで送られる。
【0067】
【発明の効果】
以上説明したように、本発明は、エッジルータでは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理し、受信したパケットに使用する経路表を示す経路表識別子をパケットのルータ間転送用ヘッダに記載し、当該経路表に基づき決定された出力インターフェースから当該パケットを送信するものとし、中継ルータでは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理し、受信したパケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき決定された出力インターフェースからパケットを送信するようにしたものである。
したがって、送側エッジルータと受信エッジルータの組み合わせに対して複数の経路を使用できる。このため、経路上で輻輳が発生した場合には複数の経路へトラヒックを分散することができ、発生した輻輳を解消することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかるデータ通信システム(マルチキャスト通信システム)の構成を示すブロック図である。
【図2】図1のエッジルータの構成を示すブロック図である。
【図3】図1の中継ルータの構成を示すブロック図である。
【図4】図1のデータ通信システムで用いられるルータ間転送用ヘッダの構成例である。
【図5】図1の各ルータが持つ経路表の構成例である。
【図6】本発明の第2の実施の形態にかかるデータ通信システム(ユニキャスト通信システム)の構成の構成を示すブロック図である。
【図7】図6のエッジルータの構成を示すブロック図である。
【図8】図6の中継ルータの構成を示すブロック図である。
【図9】図6のデータ通信システムで用いられるルータ間転送用ヘッダの構成例である。
【図10】図6の各ルータが持つ経路表の構成例である。
【図11】図1のデータ通信システムの事前準備処理を示すフローチャートである。
【図12】図1のデータ通信システムの経路設定処理を示すフローチャートである。
【図13】図1のデータ通信システムのデータパケット転送処理を示すフローチャートである。
【図14】図6のデータ通信システムの事前準備処理を示すフローチャートである。
【図15】図6のデータ通信システムのデータパケット転送処理を示すフローチャートである。
【図16】従来のデータ通信システムの構成を示すブロック図である。
【図17】従来のエッジルータの構成を示すブロック図である。
【図18】従来の中継ルータの構成を示すブロック図である。
【図19】従来のデータ通信システムで用いられるルータ間転送用ヘッダの構成例である。
【図20】従来のデータ通信システムで用いられるルータが持つ経路表の構成例である。
【符号の説明】
100M…データ通信システム(マルチキャスト通信システム)、1〜4…端末、8…ネットワーク管理装置、10,11〜14…エッジルータ、10A…パケット転送部、10B…フロー管理部、10C…経路表管理部、20,21〜23…中継ルータ、20A…パケット転送部、20C…経路表管理部、30…ルータ間転送用ヘッダ、31…経路表識別子、32…宛先情報、100U…データ転送システム(ユニキャスト通信システム)、40,41〜44…エッジルータ、40A…パケット転送部、40B…経路制御部、40C…経路表管理部、50,51〜53…中継ルータ、50A…パケット転送部、50C…経路表管理部、60…ルータ間転送用ヘッダ、61…経路表識別子、62…IPヘッダ。
【発明の属する技術分野】
本発明は、データ通信システム、および方法に関し、特に複数の端末を複数のルータで結ぶネットワークで行われるマルチキャスト通信やユニキャスト通信に用いられるデータ通信システム、および方法に関するものである。
【0002】
【従来の技術】
インターネットに代表されるIP通信網では、同じデータを複数の端末装置に効率的に伝送するための技術としてPIM(Protocol Independent Multicast)などのマルチキャスト通信が用いられる(例えば、非特許文献1参照)。
このマルチキャスト通信では、マルチキャストルーティング技術により、送信端末から複数の受信端末に対して、木構造の情報伝送経路が構成される。この情報伝達経路において、木が枝分かれする部分には中継ルータが配置される。この中継ルータは、送信端末からのデータパケットを受信すると、必要な数だけデータパケットをコピーし各枝へ転送する。この木構造において、各端末は葉の部分に相当する。
【0003】
従来、このようなマルチキャスト通信システムにおいて、エッジルータとルータ間転送用ヘッダのビット位置とを関連づけて、ヘッダに宛先エッジルータを記載することにより、中継ルータはフロー毎の経路設定を不要とし、効率よくデータ通信を行うシステムが検討されている。
図16は、従来のマルチキャスト通信システムを示す構成例である。このマルチキャスト通信システムは、エッジルータ71〜74、中継ルータ81〜83、ネットワーク管理装置8、および端末1〜4から構成されている。
【0004】
図17は、エッジルータの構成図である。このエッジルータ70には、パケット転送部70A、フロー管理部70B、および経路表管理部70Cが設けられている。
図18は、中継ルータの構成図である。この中継ルータ80には、パケット転送部80A、および経路表管理部80Cが設けられている。
図19にルータ間転送用ヘッダ90の構成例を示す。また、図20にエッジルータ71の持つ経路表95の構成例を示す。
【0005】
ネットワーク構成が決まると、ネットワーク管理装置8はエッジルータ71〜74にルータ間転送用ヘッダ90のビット位置を割り当て、ルータ71〜74,81〜83へ通知する。ヘッダ90は、ビットマップ形式で宛先エッジルータに対応したビット位置を「1」にすることでパケットの宛先を表示する。
例えば、図16のネットワークの場合では、ヘッダ90は4ビットで、エッジルータ71は「1000」、エッジルータ72は「0100」、エッジルータ73は「0010」、エッジルータ74は「0001」というように表示する。
【0006】
ルータ71〜74,81〜83の経路表管理部70C,80Cは経路計算を行い、エッジルータ間の経路表を生成して記憶する。
図16のネットワーク構成例では、エッジルータ71からエッジルータ73への経路は、中継ルータ81を経由するものと、中継ルータ82,83を経由するものがあるが、経由するルータ数が少ない中継ルータ81を経由する経路を採用する。
【0007】
エッジルータ71からエッジルータ74への経路についても同様である。エッジルータ72からエッジルータ73,74への経路も経由するルータ数が少ない中継ルータ81を経由する経路を採用する。
また、エッジルータ71からエッジルータ72への経路は、中継ルータ81を経由するものと、中継ルータ82を経由するものがあるが、これも中継ルータ81を経由する経路を採用することとする。
【0008】
生成した経路表95には、図20のように、出力インターフェース(以下、出力I/Fという)ごとに出力値が記載される。出力値とは、その出力I/Fから送信されるパケットの宛先エッジルータ群を、ルータ間転送用ヘッダ90と同様に、ビットマップ形式で宛先エッジルータに対応するビットを「1」にして表した値である。
経路表95を用いてヘッダ90から出力I/Fを得るには、各出力I/Fの出力値とルータ間転送用ヘッダ90の論理積を計算する。この計算結果が0(ゼロ)以外となった出力I/Fからパケットを送信する。経路表95の例では、エッジルータ71からエッジルータ72〜74へパケットを送る際は、出力I/F#1を使用することになる。
【0009】
マルチキャスト通信では、データパケットを送る前に制御パケットを送り、経路設定を行う。端末1から端末3へパケットを送るとき、端末3は制御パケットにマルチキャストアドレス等のフロー識別子と送信端末1と受信端末3のアドレスを記載して送信する。
制御パケットを受信したエッジルータ73のパケット転送部70Aは、フロー管理部70Bへ制御パケットの情報を渡す。フロー管理部70Bは、制御パケットを受信したインターフェースをデータパケットの出力I/Fとしてフロー識別子とともに記憶する。そして、制御パケットに受側エッジルータがエッジルータ73であることを記載してエッジルータ71へ転送する。
【0010】
制御パケットを受信したエッジルータ71のパケット転送部70Aは、フロー管理部70Bへ制御パケットの情報を渡す。フロー管理部70Bは、制御パケットに記載されている受側エッジルータに対応するヘッダ90の値について経路表管理部70Cの持つ経路表95を調べ、出力I/F#1を得る。フロー管理部70Bは、フロー識別子、ルータ間転送用ヘッダ90、出力I/Fを記憶する。そして制御パケットから受側エッジルータの記載を削除して端末1へ送信する。
制御パケットを受信した端末1は、データパケットにフロー識別子を付けてエッジルータ71へ送信する。
【0011】
データパケットを受信したエッジルータ71のパケット転送部70Aは、そのヘッダからフロー識別子を読みとり、フロー管理部70Bに問い合わせる。フロー管理部70Bは、フロー識別子に対応したルータ間転送用ヘッダ90、出力I/Fをパケット転送部70Aへ通知する。パケット転送部70Aは、データパケットにルータ間転送用ヘッダ90を付与し、出力I/F#1より送信する。
データパケットを受信した中継ルータ81のパケット転送部80Aは、ルータ間転送用ヘッダ90を読みとり、経路表管理部80Cの持つ経路表を調べ、ルータ間転送用ヘッダ90に対する出力I/Fを得て、その出力I/Fよりデータパケットをエッジルータ73へ送信する。
【0012】
データパケットを受信したエッジルータ73のパケット転送部70Aは、ルータ間転送用ヘッダ90が自装置宛であることからフロー識別子を読みとり、フロー管理部70Bへ問い合わせる。フロー管理部70Bは、フロー識別子に対する出力I/Fをパケット転送部70Aへ通知する。パケット転送部70Aは、ルータ間転送用ヘッダ90を取り除き、端末3へデータパケットを送る。こうして、端末3はデータパケットを受信する。
このように、エッジルータ間で複数の経路が存在しても経路表を生成するときに1つの経路に決めてしまうために送側エッジルータと受側エッジルータの間で経路は一意に決まる。
【0013】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【0014】
【非特許文献1】
RFC2362”Protocol Independent Multicast−Sparse Mode(PIM−SM):Protocol Specification”、The Internet Engineering Task Force(IETF)、1998年6月
【0015】
【発明が解決しようとする課題】
しかしながら、このような従来のデータ通信システムでは、送側エッジルータと受側エッジルータの組み合わせに対して1つの経路しか存在しないため、経路上で輻輳が発生した場合、他の経路を使用することでトラヒックを分散して輻輳を解消することができないという問題点があった。
本発明はこのような問題を解決するためのものであり、送側エッジルータと受側エッジルータの組み合わせに対して複数の経路を使用できるデータ通信システム、および方法を提供することを目的としている。
【0016】
【課題を解決するための手段】
このような目的を達成するために、本発明にかかるデータ通信システムは、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により1つの送信端末から複数の受信端末へ所望のパケットを送信するフローについて、送信端末が接続されている送側エッジルータでは、送信端末からのパケットに、各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムであって、エッジルータは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのフローに対応する経路表を示す経路表識別子を当該パケットのルータ間転送用ヘッダに記載し、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するパケット転送部とを備え、中継ルータは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき決定された出力インターフェースからパケットを送信するパケット転送部とを備えるものである。
【0017】
また、本発明にかかるデータ通信方法は、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により1つの送信端末から複数の受信端末へ所望のパケットを送信するフローについて、送信端末が接続されている送側エッジルータでは、送信端末からのパケットに、各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムで用いられるデータ転送方法であって、エッジルータで、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのフローに対応する経路表を示す経路表識別子を当該パケットのルータ間転送用ヘッダに記載するステップと、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するステップとを実行し、中継ルータで、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき出力インターフェースを決定するステップと、その出力インターフェースからパケットを送信するステップとを実行するようにしたものである。
【0018】
また、本発明にかかる他のデータ通信システムは、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、ユニキャスト通信により1つの送信端末から1つの受信端末へ所望のパケットを送信する際、送信端末が接続されている送側エッジルータでは、送信端末からのパケットを送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムであって、エッジルータは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットの送信に使用する経路表を示す経路表識別子をパケットのルータ間転送用ヘッダに記載し、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するパケット転送部とを備え、中継ルータは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき決定された出力インターフェースからパケットを送信するパケット転送部とを備えるものである。
【0019】
また、本発明にかかる他のデータ通信方法は、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、ユニキャスト通信により1つの送信端末から1つの受信端末へ所望のパケットを送信する際、送信端末が接続されている送側エッジルータでは、送信端末からのパケットを送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムで用いられるデータ通信方法であって、エッジルータで、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットの送信に使用する経路表を示す経路表識別子をパケットのルータ間転送用ヘッダに記載するステップと、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するステップとを実行し、中継ルータで、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、送信端末からのパケットの受信に応じて、各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき出力インターフェースを決定するステップと、その出力インターフェースからパケットを送信するステップとを実行するようにしたものである。
【0020】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
まず、図1を参照して、本発明の第1の実施の形態にかかるデータ通信システムであるマルチキャスト通信システムについて説明する。図1は本発明の第1の実施の形態にかかるデータ通信システムの構成を示すブロック図である。
このデータ通信システム100Mは、エッジルータ11〜14、中継ルータ21〜23、ネットワーク管理装置8、および端末1〜4から構成されている。なお、前述の図16と同じまたは同等部分には同一符号を付してある。
【0021】
エッジルータ11〜14には、端末1〜4がそれぞれ接続されており、中継ルータ21には、各エッジルータ11〜14が接続されている。また、中継ルータ22には、エッジルータ11,12が接続され、中継ルータ23には、エッジルータ13,14および中継ルータ22が接続されている。さらに、ネットワーク管理装置8が、各エッジルータ11〜14および中継ルータ21〜23と接続されている。
【0022】
図2は、エッジルータの構成図である。このエッジルータ10(11〜14)には、パケット転送部10A、フロー管理部10B、および経路表管理部10Cが設けられている。
図3は、中継ルータの構成図である。この中継ルータ20(21〜23)には、パケット転送部20A、および経路表管理部20Cが設けられている。
図4にルータ間転送用ヘッダの構成例を示す。このルータ間転送用ヘッダ30は、経路表識別子31と宛先情報32とから構成されている。
【0023】
図5にエッジルータの持つ経路表の構成例を示す。この経路表では、出力I/Fと出力値とが対応付けられている。また各経路表には、各経路に固有の経路表識別子が付与されている。
なお、出力値とは、その出力I/Fから送信されるパケットの宛先エッジルータ群を、ルータ間転送用ヘッダ30と同様に、ビットマップ形式で宛先エッジルータに対応するビットを「1」にして表した値である。
【0024】
ネットワーク管理装置8は、ネットワーク構成が決まると、エッジルータ11〜14にルータ間転送用ヘッダ30の中の宛先情報32のビット位置を割り当て、ルータ11〜23へ通知する。宛先情報32は、ビットマップ形式からなり、宛先エッジルータに対応したビット位置を「1」に設定することでパケットの宛先を表示する。
ルータ11〜23の経路表管理部10C,20Cは、一般的な公知の経路計算を行い、エッジルータ間の経路表を生成して記憶する。図1のネットワーク構成例では、経由するルータ数が最も少ない中継ルータ21を経由する経路表と、中継ルータ21が輻輳した場合を想定して中継ルータ22を経由する経路表を生成する。
【0025】
この例では、経路表識別子として、中継ルータ21を経由する経路表35Aの経路表識別子を「1」、中継ルータ22を経由する経路表35Bの経路表識別子を「2」とする。そして、通常は経由するルータ数の少ない経路表35Aが使用されるものとする。
経路表35A,35Bを使って宛先情報32から出力I/Fを得るには、各出力I/Fの出力値と宛先情報32の論理積を計算する。計算結果が0(ゼロ)以外となった出力I/Fからパケットを送信する。経路表35Aの例では、エッジルータ11からエッジルータ12〜14へパケットを送る際は、出力I/F#1を使用することになる。
【0026】
マルチキャスト通信では、データパケットを送る前に制御パケットを送り、経路設定を行う。端末1から端末3へデータパケットを送る場合、端末3は、制御パケットにマルチキャストアドレス等のフロー識別子と送信端末1と受信端末3のアドレスを記載して送信する。
制御パケットを受信したエッジルータ13のパケット転送部10Aは、フロー管理部10Bへ制御パケットの情報を渡す。フロー管理部10Bは、制御パケットを受信したインターフェースを、データパケットの出力I/Fとしてフロー識別子とともに記憶する。そして、パケット転送部10Aは、制御パケットに受側エッジルータがエッジルータ13であることを記載してエッジルータ11へ転送する。
【0027】
制御パケットを受信したエッジルータ11のパケット転送部10Aは、フロー管理部10Bへ制御パケットの情報を渡す。フロー管理部10Bは、制御パケットに記載の受側エッジルータに対応する宛先情報32の値について、経路表管理部10Cの持つ経路表35Aを調べ、出力I/F#1を得る。
フロー管理部10Bは、フロー識別子、経路表識別子31、宛先情報32、出力I/Fを記憶する。ここで、使用する経路表35Aの経路表識別子31は「1」である。そして、制御パケットから受側エッジルータの記載を削除して端末1へ送信する。
制御パケットを受信した端末1は、データパケットにフロー識別子を付けてエッジルータ11へ送信する。
【0028】
データパケットを受信したエッジルータ11のパケット転送部10Aは、そのデータパケットのヘッダからフロー識別子を読みとり、フロー管理部10Bに問い合わせる。フロー管理部10Bは、そのフロー識別子に対応した経路表識別子31、宛先情報32、出力I/Fをパケット転送部10Aへ通知する。
パケット転送部10Aは、データパケットに経路表識別子31と宛先情報32から構成されるルータ間転送用ヘッダ30を付与し、出力I/F#1より送信する。
データパケットを受信した中継ルータ21のパケット転送部20Aは、そのデータパケットからルータ間転送用ヘッダ30を読みとり、経路表識別子31の値に対応した経路表管理部20Cの持つ経路表を調べ、宛先情報32に対する出力I/Fを得て、データパケットをエッジルータ13へ送信する。
【0029】
データパケットを受信したエッジルータ13のパケット転送部10Aは、そのデータパケットの宛先情報32が自装置宛であることから、そのデータパケットのヘッダからフロー識別子を読みとり、フロー管理部10Bへ問い合わせる。フロー管理部10Bは、そのフロー識別子に対する出力I/Fをパケット転送部10Aへ通知する。
パケット転送部10Aは、ルータ間転送用ヘッダ30を取り除き、端末3へデータパケットを送る。こうして端末3は、端末1からのデータパケットを受信する。
【0030】
次に、中継ルータ21にトラヒックが集中して負荷が大きくなった場合について説明する。
中継ルータ21は、負荷が大きくなったとき、エッジルータ11〜14へその旨を通知する。
エッジルータ11〜14では、この通知を受けた後、制御パケットを受信すると、エッジルータ11のフロー管理部10Bで、中継ルータ22を経由する経路表35Bを使用して出力I/Fを得る。これにより、端末1から端末3へデータパケットを送る場合は、出力I/F#2が使用され、経路表識別子31は経路表35Bを示す「2」となる。
【0031】
この際、フロー管理部10Bは、輻輳発生の通知を受ける前から通信していたフローについても、経路表識別子31と出力I/Fを変更して経路変更を行っても良い。
データパケットを受信したエッジルータ11のパケット転送部10Aは、そのデータパケットからフロー識別子を読みとり、フロー管理部10Bに問い合わせる。フロー管理部10Bは、そのフロー識別子に対応した経路表識別子31、宛先情報32、出力I/Fをパケット転送部10Aへ通知する。
パケット転送部10Aは、データパケットにルータ間転送用ヘッダ30を付与し、出力I/F#2より送信する。その結果、データパケットは、中継ルータ22へ送信される。
【0032】
データパケットを受信した中継ルータ22のパケット転送部20Aは、ルータ間転送用ヘッダ30を読みとり、記載されている経路表識別子31の値に対応した経路表管理部20Cの持つ経路表を調べる。そして、宛先情報32に対する出力I/Fを得て、データパケットを中継ルータ23へ送る。
データパケットを受信した中継ルータ23のパケット転送部20Aは、前述した中継ルータ22と同様の処理をして、データパケットをエッジルータ13へ送る。
【0033】
データパケットを受信したエッジルータ13のパケット転送部10Aは、宛先情報32が自装置宛であることからフロー識別子を読みとり、フロー管理部10Bへ問い合わせる。フロー管理部10Bは、フロー識別子に対する出力I/Fをパケット転送部10Aへ通知する。
パケット転送部10Aは、ルータ間転送用ヘッダ30を取り除き、端末3へデータパケットを送る。こうして、端末3は、端末1からのデータパケットを受信する。
【0034】
以上のように、本実施の形態にかかるマルチキャスト通信システムにおいて、送側エッジルータで経路表識別子をヘッダに記載し、その値を変えることで同じ宛先に対して複数の経路を使い分けることができる。
このため、経路上で輻輳が発生した場合には、複数の経路へトラヒックを分散することができ、発生した輻輳を解消することができる。
【0035】
なお、経路表35Bのような迂回路となる経路表の生成については、輻輳発生が通知された後に生成しても良い。また、迂回路となる経路表については、ネットワーク管理者が予め用意しても良い。
また、経路表識別子の表示できる数よりも経路表管理部が予め用意する経路表の数が多い場合、使用中の経路表のみに経路表識別子の値を割り当てても良い。
【0036】
次に、図11〜13を参照して、本実施の形態にかかるデータ通信システムのマルチキャスト通信動作について説明する。図11は本発明の第1の実施の形態にかかるデータ通信システムの事前準備処理を示すフローチャートである。図12は本発明の第1の実施の形態にかかるデータ通信システムの経路設定処理を示すフローチャートである。図13は本発明の第1の実施の形態にかかるデータ通信システムのデータパケット転送処理を示すフローチャートである。
ここでは、マルチキャスト通信動作を、事前準備処理、フローごとの経路設定処理、およびデータパケット転送処理に分けて説明する。
【0037】
まず、図11を参照して、事前準備処理について説明する。
ルータ(エッジルータおよび中継ルータ)は、エッジルータとルータ間転送用ヘッダの宛先部分のビット位置の対応表をネットワーク管理装置より取得する(ステップ100)。そして、ネットワーク構成に基づいて経路表を生成するとともに、輻輳の発生が想定される特定のルータを除いたネットワーク構成についても経路表を生成する(ステップ101)。そして、各経路表に経路表識別子の値を付与し(ステップ102)、一連の事前準備処理を終了する。
経路表と経路表識別子の対応は、ネットワーク管理装置が決めて、全ルータへ通知しても良いし、ルータ間で情報交換して決めても良い。
【0038】
次に、図12を参照して、フローごとの経路設定について説明する。
端末は、データ通信のためのフローを設定する際、制御パケットにフロー識別子、送信端末アドレス、受信端末アドレスを記載して送信する。
ルータ(エッジルータおよび中継ルータ)は、この制御パケットを受信すると(ステップ110)、受側エッジルータの記載の有無を識別する(ステップ111)。
【0039】
ここで、制御パケットに受側エッジルータの記載がなければ(ステップ111:NO)、受信端末から送られてきたことになる。したがって、制御パケットを受信したエッジルータが受側エッジルータに当たるので、受信したインターフェースを当該データパケットが属するフローの出力I/Fとしてフロー識別子とともに記憶する(ステップ116)。
そして、制御パケットに受側エッジルータである自装置のアドレスを記載して(ステップ117)、その制御パケットを送信し(ステップ118)、一連の経路設定処理を終了する。
【0040】
また、ステップ111において、制御パケットに受側エッジルータの記載がある場合(ステップ111:YES)、制御パケットを受信したエッジルータは送側エッジルータに当たることから、そのフローに対して使用する経路表を選択する(ステップ112)。
この際、ネットワーク上で輻輳が発生していなければ、通常使われる経路表を選択する。ネットワーク上で輻輳が発生していれば、輻輳が発生しているルータを迂回する経路の経路表を選択する。
【0041】
そして、その経路表から制御パケットに記載された受側エッジルータへの出力I/Fを得て(ステップ113)、フロー識別子、ルータ間転送用ヘッダの経路表識別子、宛先としての受側エッジルータ、出力I/Fを記憶する(ステップ114)。
続いて、制御パケットから受側エッジルータのアドレスを削除して(ステップ115)、対応する出力I/Fから送信端末へその制御パケットを送信し(ステップ118)、一連の経路設定処理を終了する。
【0042】
次に、図13を参照して、データパケット転送処理について説明する。ルータは、データパケットを受信すると(ステップ120)、ルータ間転送用ヘッダの有無を識別する(ステップ121)。
ここで、ルータ間転送用ヘッダ付与されてない場合は(ステップ121:NO)、データパケットに記載されたフロー識別子を読みとり、記憶している情報の中から該当するフロー識別子に対する経路表識別子、受側エッジルータ、出力I/Fを得る(ステップ127)。
そして、そのデータパケットにルータ間転送用ヘッダを付与して(ステップ128)、該当する出力I/Fから送信し(ステップ129)、一連のデータパケット転送処理を終了する。
【0043】
一方、ステップ121において、受信したデータパケットにルータ間転送用ヘッダが付与されている場合には(ステップ121:YES)、そのデータパケットのルータ間転送用ヘッダから、経路表識別子および受側エッジルータを取得し(ステップ122)、そのデータパケットの宛先が自装置宛であるか否かを調べる(ステップ123)。
ここで、自装置宛である場合は(ステップ123:YES)、記憶情報からフロー識別子に対する出力I/Fを得て(ステップ124)、当該データパケットからルータ間転送用ヘッダを削除する(ステップ125)。そして、そのデータパケットを当該出力I/Fから送信し(ステップ129)、一連のデータパケット転送処理を終了する。
【0044】
また、ステップ123において、データパケットの宛先が自装置宛でない場合は(ステップ123:NO)、データパケットに記載の経路表識別子に対応した経路表を調べ、受側エッジルータへの出力I/Fを取得する(ステップ126)。そして得られた出力I/Fからデータパケットを送信し(ステップ129)、一連のデータパケット転送処理を終了する。
このようにして、各ルータ(エッジルータおよび中継ルータ)が図11から図13のフローチャートに示した処理動作をすることで、データパケットは送信端末から受信端末まで送られる。
【0045】
次に、図6を参照して、本発明の第2の実施の形態にかかるデータ通信システムであるユニキャスト通信システムについて説明する。図6は本発明の第2の実施の形態にかかるデータ通信システムの構成を示すブロック図である。
このデータ通信システム100Uは、エッジルータ41〜44、中継ルータ51〜53、および端末1〜4から構成されている。
なお、ユニキャスト通信とは、1つの送信端末から1つの受信端末へパケットを送信する方法である。
【0046】
エッジルータ41〜44には、端末1〜4がそれぞれ接続されており、中継ルータ51には、各エッジルータ41〜44が接続されている。また、中継ルータ52には、エッジルータ41,42が接続され、中継ルータ53には、エッジルータ43,44および中継ルータ52が接続されている。
【0047】
図7は、エッジルータの構成図である。このエッジルータ40(41〜44)には、パケット転送部40A、経路制御部40B、および経路表管理部40Cが設けられている。
図8は、中継ルータの構成図である。この中継ルータ50(51〜53)には、パケット転送部50A、および経路表管理部50Cが設けられている。
図9にルータ間転送用ヘッダの構成例を示す。このルータ間転送用ヘッダ60は、経路表識別子61とIPヘッダ62とから構成されている。
【0048】
図10にエッジルータの持つ経路表の構成例を示す。経路表65Aが中継ルータ51を経由する経路表、経路表65Bが中継ルータ52を経由する経路表である。各経路表にはその経路に固有の経路表識別子が付与されている。
【0049】
ルータ41〜53の経路表管理部40C,50Cは、ネットワーク構成が決まると、一般的な公知の経路計算を行い、経路表を生成する。図6のネットワーク構成例では、経由するルータ数が最も少ない中継ルータ51を経由する経路表と、中継ルータ51が輻輳した場合を想定して中継ルータ52を経由する経路表を生成する。
この例では、経路表識別子として、中継ルータ51を経由する経路表65Aの経路表識別子を「1」、中継ルータ52を経由する経路表65Bの経路表識別子を「2」とする。そして、通常は経由するルータ数の少ない経路表65Aを使用するものとする。
【0050】
まず、ユニキャスト通信で、端末1から端末3へパケットを送る場合について説明する。
端末1から端末3へIPヘッダ62を付けてパケットが送信された場合、エッジルータ41のパケット転送部40Aでそのパケットが受信される。
パケット転送部40Aは、そのパケットのIPヘッダ62の中から宛先アドレスを読みとり、経路制御部40Bへ通知する。経路制御部40Bは、その宛先アドレスに対応する経路表65Aを示す経路表識別子61の値「1」をパケット転送部40Aへ通知する。
パケット転送部40Aは、経路表管理部40Cの中の経路表65Aを検索し、出力I/F#1を得る。パケット転送部40Aは、そのパケットに経路表識別子61を付与して出力I/F#1から送信し、中継ルータ51へ送る。
【0051】
パケットを受信した中継ルータ51のパケット転送部50Aは、そのパケットのルータ間転送用ヘッダ60から経路表識別子61とIPヘッダ62の中の宛先アドレスを読みとる。
そして、経路表管理部50Cの中から経路表識別子61の値に対応する経路表を検索し、宛先アドレスに対する出力I/Fを得る。そしてその出力I/Fからパケットをエッジルータ43へ送る。
【0052】
パケットを受信したエッジルータ43のパケット転送部40Aは、経路表識別子61とIPヘッダ62の中の宛先アドレスを読みとる。そして、経路表管理部40Cの中から経路表識別子61の値に対応する経路表を検索し、宛先アドレスに対する出力I/Fを得る。
そして、その出力I/Fが端末に接続されていることから、経路表識別子61を当該パケットから削除してパケットを端末3へ送る。こうして端末3はパケットを受信する。
【0053】
次に、中継ルータ51にトラヒックが集中して負荷が大きくなった場合について説明する。
中継ルータ51は、負荷が大きくなるとエッジルータ41〜44へその旨を通知する。
通知を受けたエッジルータ41は、負荷を複数の経路に分散することで中継ルータ51の負荷を下げるために、中継ルータ51を経由する経路表の他に中継ルータ52を経由する経路表も使用する。
【0054】
例えば、エッジルータ41はIPヘッダ62の宛先アドレスの値によって、使用する経路表65A、65Bを使い分けるとする。
端末3へ送られるパケットに中継ルータ52を経由する経路を割り当てたとすると、エッジルータ41の経路制御部40Bは、端末3のアドレス対して経路表識別子61の値を「2」と設定する。
【0055】
エッジルータ41のパケット転送部40Aが端末1から端末3へのパケットを受信すると、IPヘッダ62の宛先アドレス読みとり、経路制御部40Bへ通知する。
経路制御部40Bは、端末3のアドレスに対する経路表識別子61の値「2」をパケット転送部40Aへ通知する。
パケット転送部40Aは、経路表管理部40Cの中で経路表識別子の値「2」に対応する経路表65Bを検索し、出力I/F#2を得る。そして、パケットに経路表識別子61を付与して出力I/F#2から送信する。その結果、パケットは中継ルータ52へ送られる。
【0056】
パケットを受信した中継ルータ52のパケット転送部50Aは、そのパケットのルータ間転送用ヘッダ60から経路表識別子61とIPヘッダ62の宛先アドレスを読みとり、経路表管理部50Cの中の経路表識別子の値に対応する経路表を検索し、出力I/Fを得る。そして、その出力I/Fからパケットを中継ルータ53へ送る。
パケットを受信した中継ルータ53は、中継ルータ52と同様の処理をしてパケットをエッジルータ43へ送る。
【0057】
パケットを受信したエッジルータ43のパケット転送部40Aは、そのパケットのルータ間転送用ヘッダ60から経路表識別子61とIPヘッダ62の宛先アドレスを読みとり、経路表管理部40Cの中の経路表識別子の値に対応する経路表を検索し、出力I/Fを得る。
この際、その出力I/Fが端末に接続されていることから、経路表識別子61をヘッダから削除してパケットを端末3へ送る。こうして端末3はパケットを受信する。
【0058】
以上のように、本実施の形態にかかるユニキャスト通信システムにおいて、送側エッジルータでヘッダに経路表識別子を記載し、その値を変えることで同じ宛先に対して複数の経路を使い分けることができる。
このため、経路上で輻輳が発生した場合には、複数の経路へトラヒックを分散することができ、発生した輻輳を解消することができる。
【0059】
なお、経路表65Aのような迂回路となる経路表の生成は輻輳発生が通知された後に生成しても良い。迂回路となる経路表はネットワーク管理者が予め用意しても良い。
また、経路表識別子で表示できる数よりも経路表管理部が予め用意している経路表の数が多い場合には、使用中の経路表のみに経路表識別子の値を割り当てても良い。
【0060】
次に、図14,15を参照して、本実施の形態にかかるデータ通信システムのユニキャスト通信動作について説明する。図14は本発明の第2の実施の形態にかかるデータ通信システムの事前準備処理を示すフローチャートである。図15は本発明の第2の実施の形態にかかるデータ通信システムのデータパケット転送処理を示すフローチャートである。
ここでは、ユニキャスト通信方法を、事前準備処理、およびデータパケット転送処理に分けて説明する。
【0061】
まず、図14を参照して、事前準備処理について説明する。ルータ(エッジルータおよび中継ルータ)は、ネットワーク構成に基づいて経路表を生成する(ステップ140)。また、輻輳の発生が想定される特定のルータを除いたネットワーク構成についても経路表を生成する(ステップ140)。
そして、各経路表に経路表識別子の値を付与し(ステップ141)、一連の事前準備処理を終了する。この際、経路表と経路表識別子の対応はルータ間で情報交換して決める。
【0062】
次に、図15を参照して、データパケット転送について説明する。ルータ(エッジルータおよび中継ルータ)は、データパケットを受信すると(ステップ150)、そのデータパケットのヘッダにおける経路表識別子の有無に基づき、当該データパケットかルータから送られてきたものか否かを判断する(ステップ151)。
【0063】
ここで、データパケットに経路表識別子が付与されていない場合は(ステップ151:NO)、そのデータパケットは端末から送られてきたことになり、使用する経路表を選択する(ステップ156)。
この際、ネットワーク上で輻輳が発生していなければ、通常使われる経路表を選択する。また、ネットワーク上で輻輳が発生していれば、複数の経路にパケットが分散されて輻輳が解消するようにIPヘッダ中の宛先アドレスや送信元アドレスの値などに基づいて経路表を選択する。
【0064】
次に、選択した経路表から宛先アドレスに対する出力I/Fを得て(ステップ157)、データパケットに経路表識別子を付与する(ステップ158)。そして、そのデータパケットを得られた出力I/Fから送信し(ステップ159)、一連のデータパケット転送処理を終了する。
【0065】
一方、ステップ151において、データパケットに経路表識別子が付与されている場合は(ステップ151:YES)、そのデータパケットがルータから送られてきたことになり、そのデータパケットのルータ間転送用ヘッダから経路表識別子と宛先アドレスとを取得し(ステップ152)、その経路表識別子の値に対応した経路表から当該宛先アドレスに対応した出力I/Fを得る(ステップ153)。
そして、得られた出力I/Fがルータに接続されている場合は(ステップ154:YES)、そのデータパケットをそのまま送信し(ステップ159)、一連のデータパケット転送処理を終了する。
【0066】
また、得られた出力I/Fが端末に接続されている場合は(ステップ154:NO)、そのデータパケットのヘッダから経路表識別子を削除した後(ステップ155)、そのデータパケットを送信し(ステップ159)、一連のデータパケット転送処理を終了する。
このようにして、ルータ(エッジルータおよび中継ルータ)が、図14と図15のフローチャートに示した処理動作をすることで、データパケットは送信端末から受信端末まで送られる。
【0067】
【発明の効果】
以上説明したように、本発明は、エッジルータでは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理し、受信したパケットに使用する経路表を示す経路表識別子をパケットのルータ間転送用ヘッダに記載し、当該経路表に基づき決定された出力インターフェースから当該パケットを送信するものとし、中継ルータでは、受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理し、受信したパケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき決定された出力インターフェースからパケットを送信するようにしたものである。
したがって、送側エッジルータと受信エッジルータの組み合わせに対して複数の経路を使用できる。このため、経路上で輻輳が発生した場合には複数の経路へトラヒックを分散することができ、発生した輻輳を解消することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかるデータ通信システム(マルチキャスト通信システム)の構成を示すブロック図である。
【図2】図1のエッジルータの構成を示すブロック図である。
【図3】図1の中継ルータの構成を示すブロック図である。
【図4】図1のデータ通信システムで用いられるルータ間転送用ヘッダの構成例である。
【図5】図1の各ルータが持つ経路表の構成例である。
【図6】本発明の第2の実施の形態にかかるデータ通信システム(ユニキャスト通信システム)の構成の構成を示すブロック図である。
【図7】図6のエッジルータの構成を示すブロック図である。
【図8】図6の中継ルータの構成を示すブロック図である。
【図9】図6のデータ通信システムで用いられるルータ間転送用ヘッダの構成例である。
【図10】図6の各ルータが持つ経路表の構成例である。
【図11】図1のデータ通信システムの事前準備処理を示すフローチャートである。
【図12】図1のデータ通信システムの経路設定処理を示すフローチャートである。
【図13】図1のデータ通信システムのデータパケット転送処理を示すフローチャートである。
【図14】図6のデータ通信システムの事前準備処理を示すフローチャートである。
【図15】図6のデータ通信システムのデータパケット転送処理を示すフローチャートである。
【図16】従来のデータ通信システムの構成を示すブロック図である。
【図17】従来のエッジルータの構成を示すブロック図である。
【図18】従来の中継ルータの構成を示すブロック図である。
【図19】従来のデータ通信システムで用いられるルータ間転送用ヘッダの構成例である。
【図20】従来のデータ通信システムで用いられるルータが持つ経路表の構成例である。
【符号の説明】
100M…データ通信システム(マルチキャスト通信システム)、1〜4…端末、8…ネットワーク管理装置、10,11〜14…エッジルータ、10A…パケット転送部、10B…フロー管理部、10C…経路表管理部、20,21〜23…中継ルータ、20A…パケット転送部、20C…経路表管理部、30…ルータ間転送用ヘッダ、31…経路表識別子、32…宛先情報、100U…データ転送システム(ユニキャスト通信システム)、40,41〜44…エッジルータ、40A…パケット転送部、40B…経路制御部、40C…経路表管理部、50,51〜53…中継ルータ、50A…パケット転送部、50C…経路表管理部、60…ルータ間転送用ヘッダ、61…経路表識別子、62…IPヘッダ。
Claims (4)
- 出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介して前記エッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により1つの送信端末から複数の受信端末へ所望のパケットを送信するフローについて、前記送信端末が接続されている送側エッジルータでは、前記送信端末からのパケットに、前記各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、前記中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムであって、
前記エッジルータは、
受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、
前記送信端末からのパケットの受信に応じて、前記各経路表のうち当該パケットのフローに対応する経路表を示す経路表識別子を当該パケットの前記ルータ間転送用ヘッダに記載し、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するパケット転送部とを備え、
前記中継ルータは、
受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、
前記送信端末からのパケットの受信に応じて、前記各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき決定された出力インターフェースから前記パケットを送信するパケット転送部とを備えることを特徴とするデータ通信システム。 - 出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介して前記エッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により1つの送信端末から複数の受信端末へ所望のパケットを送信するフローについて、前記送信端末が接続されている送側エッジルータでは、前記送信端末からのパケットに、前記各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、前記中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムで用いられるデータ転送方法であって、
前記エッジルータで、
受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、
前記送信端末からのパケットの受信に応じて、前記各経路表のうち当該パケットのフローに対応する経路表を示す経路表識別子を当該パケットの前記ルータ間転送用ヘッダに記載するステップと、
当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するステップとを実行し、
前記中継ルータで、
受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、
前記送信端末からのパケットの受信に応じて、前記各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき出力インターフェースを決定するステップと、
その出力インターフェースから前記パケットを送信するステップとを実行することを特徴とするデータ通信方法。 - 出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介して前記エッジルータ間を接続する中継ルータとを有し、ユニキャスト通信により1つの送信端末から1つの受信端末へ所望のパケットを送信する際、前記送信端末が接続されている送側エッジルータでは、前記送信端末からのパケットを送信し、前記中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムであって、
前記エッジルータは、
受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、
前記送信端末からのパケットの受信に応じて、前記各経路表のうち当該パケットの送信に使用する経路表を示す経路表識別子を前記パケットの前記ルータ間転送用ヘッダに記載し、当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するパケット転送部とを備え、
前記中継ルータは、
受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理する経路表管理部と、
前記送信端末からのパケットの受信に応じて、前記各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき決定された出力インターフェースから前記パケットを送信するパケット転送部とを備えることを特徴とするデータ通信システム。 - 出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介して前記エッジルータ間を接続する中継ルータとを有し、ユニキャスト通信により1つの送信端末から1つの受信端末へ所望のパケットを送信する際、前記送信端末が接続されている送側エッジルータでは、前記送信端末からのパケットを送信し、前記中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するデータ通信システムで用いられるデータ通信方法であって、
前記エッジルータで、
受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、
前記送信端末からのパケットの受信に応じて、前記各経路表のうち当該パケットの送信に使用する経路表を示す経路表識別子を前記パケットの前記ルータ間転送用ヘッダに記載するステップと、
当該経路表に基づき決定された出力インターフェースからその記載後のパケットを送信するステップとを実行し、
前記中継ルータで、
受信したパケットを送信すべき出力インターフェースを決定するのに用いる複数の経路表を管理するステップと、
前記送信端末からのパケットの受信に応じて、前記各経路表のうち当該パケットのルータ間転送用ヘッダに記載の経路表識別子に対応する経路表に基づき出力インターフェースを決定するステップと、
その出力インターフェースから前記パケットを送信するステップとを実行することを特徴とするデータ通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003151173A JP2004356883A (ja) | 2003-05-28 | 2003-05-28 | データ通信システム、および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003151173A JP2004356883A (ja) | 2003-05-28 | 2003-05-28 | データ通信システム、および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004356883A true JP2004356883A (ja) | 2004-12-16 |
Family
ID=34046779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003151173A Pending JP2004356883A (ja) | 2003-05-28 | 2003-05-28 | データ通信システム、および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004356883A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010010995A (ja) * | 2008-06-26 | 2010-01-14 | Nec Corp | Gfpフレームレイヤでのプロテクション・スイッチ・システム |
JP2010515360A (ja) * | 2006-12-28 | 2010-05-06 | アルカテル−ルーセント ユーエスエー インコーポレーテッド | マルチキャストルーティングのための方法および装置 |
WO2011030889A1 (ja) * | 2009-09-14 | 2011-03-17 | 日本電気株式会社 | 通信システム、転送ノード、経路管理サーバ、通信方法およびプログラム |
JP2016165150A (ja) * | 2010-01-08 | 2016-09-08 | 日本電気株式会社 | 通信システム、転送ノード、経路管理サーバおよび通信方法 |
-
2003
- 2003-05-28 JP JP2003151173A patent/JP2004356883A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010515360A (ja) * | 2006-12-28 | 2010-05-06 | アルカテル−ルーセント ユーエスエー インコーポレーテッド | マルチキャストルーティングのための方法および装置 |
US8320374B2 (en) | 2006-12-28 | 2012-11-27 | Alcatel Lucent | Method and apparatus for improved multicast routing |
JP2010010995A (ja) * | 2008-06-26 | 2010-01-14 | Nec Corp | Gfpフレームレイヤでのプロテクション・スイッチ・システム |
WO2011030889A1 (ja) * | 2009-09-14 | 2011-03-17 | 日本電気株式会社 | 通信システム、転送ノード、経路管理サーバ、通信方法およびプログラム |
US8750163B2 (en) | 2009-09-14 | 2014-06-10 | Nec Corporation | Communication system, forwarding node, path management server, communication method, and program |
JP5640982B2 (ja) * | 2009-09-14 | 2014-12-17 | 日本電気株式会社 | 通信システム、転送ノード、経路管理サーバ、通信方法およびプログラム |
US9900249B2 (en) | 2009-09-14 | 2018-02-20 | Nec Corporation | Communication system, forwarding node, path management server, communication method, and program |
JP2016165150A (ja) * | 2010-01-08 | 2016-09-08 | 日本電気株式会社 | 通信システム、転送ノード、経路管理サーバおよび通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10536324B2 (en) | Per-prefix LFA FRR with bit indexed explicit replication | |
US8064441B2 (en) | Upstream label allocation on Ethernets for MP2MP LSPS | |
JP4342966B2 (ja) | パケット転送装置 | |
JP4277189B2 (ja) | ルータ装置及びパケット転送制御方法 | |
EP2849397A1 (en) | Communication system, control device, communication method, and program | |
JP2008079175A (ja) | フレーム転送システム | |
US8948023B2 (en) | Enhancing mtrace to detect failure in multicast diverse paths | |
US8009683B2 (en) | IP network system | |
WO2021000848A1 (zh) | 一种报文转发方法、报文处理方法及装置 | |
US9112711B2 (en) | Optimizing OTV multicast traffic flow for site local receivers | |
EP3968580B1 (en) | Method for generating multicast forwarding table entry, and access gateway | |
JP6525256B2 (ja) | 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法 | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
JP3736554B2 (ja) | ルータ装置及びパケット転送制御方法 | |
JP2008301517A (ja) | ルータ装置及びパケット転送制御方法 | |
JP6206493B2 (ja) | 制御装置、通信システム、中継装置の制御方法及びプログラム | |
JP2008028714A (ja) | ネットワークおよびマルチキャスト転送装置 | |
JP7273125B2 (ja) | BIERv6パケットを送信するための方法および第1のネットワークデバイス | |
JP2004356883A (ja) | データ通信システム、および方法 | |
WO2015186366A1 (ja) | データ転送システム、データ転送サーバ、データ転送方法、および、プログラム記録媒体 | |
WO2014199924A1 (ja) | 制御装置、通信システム、中継装置の制御方法及びプログラム | |
EP3104562B1 (en) | Method of aggregation of flows in ict networks | |
KR101005213B1 (ko) | 데이터 패킷을 라우팅하는 방법, 및 이 방법을 구현하는디바이스 | |
Lara et al. | Cut-through switching options in a mobilityfirst network with openflow | |
JP3851259B2 (ja) | マルチキャスト通信システムおよびマルチキャスト通信方法 |