(57)【要約】【課題】入力されたパケットのデータ量が出力側インタフェースの使用可能な帯域を超える場合に、パケットをフロー単位で別の出力インタフェースに送信する。【解決手段】帯域監視部４は出力インタフェース部７へ送信されるパケットのデータ量による使用帯域を測定し、閾値設定部６より設定された閾値以上の使用帯域を検出した場合にフォワーディング制御部２にフローの識別とその識別されたフローを出力インタフェース部８へパケット送信することの指示を行う。【選択図】      図１
2005005921.tif 000002
【特許請求の範囲】
【請求項１】
パケットのルーティングを行うルータであって、
送出パケットのデータ量による使用帯域が第１閾値以上となった場合に、入力パケットをフロー単位で識別し、識別されたフローのパケットを通常とは別のインタフェースへ送出するフォワーディング制御手段を含むことを特徴とするルータ。
【請求項２】
さらに、前記フォワーディング制御手段は、通常のインタフェース向けのパケットのデータ量による使用帯域と、前記別のインタフェース向けのパケットのデータ量による使用帯域との合計値が第２閾値未満となった場合に、フローの識別と、フローの別のインタフェースへの送出とを停止することを特徴とする請求項１記載のルータ。
【請求項３】
前記第１閾値を所定のシェーピングレートに置換したことを特徴とする請求項１記載のルータ。
【請求項４】
前記第２閾値を所定のシェーピングレートに置換したことを特徴とする請求項２記載のルータ。
【請求項５】
前記フローの識別はＩＰヘッダにおける識別情報に基づいて行われることを特徴とする請求項１から４いずれかに記載のルータ。
【請求項６】
ルータに用いるパケットルーティング方法であって、
送出パケットのデータ量による使用帯域が第１閾値以上となった場合に、入力パケットをフロー単位で識別し、識別されたフローのパケットを通常とは別のインタフェースへ送出するフォワーディング制御ステップを含むことを特徴とするパケットルーティング方法。
【請求項７】
さらに、前記フォワーディング制御ステップは、通常のインタフェース向けのパケットのデータ量による使用帯域と、前記別のインタフェース向けのパケットのデータ量による使用帯域との合計値が第２閾値未満となった場合に、フローの識別と、フローの別のインタフェースへの送出とを停止することを特徴とする請求項６記載のパケットルーティング方法。
【請求項８】
前記第１閾値を所定のシェーピングレートに置換したことを特徴とする請求項６記載のパケットルーティング方法。
【請求項９】
前記第２閾値を所定のシェーピングレートに置換したことを特徴とする請求項７記載のパケットルーティング方法。
【請求項１０】
前記フローの識別はＩＰヘッダにおける識別情報に基づいて行われることを特徴とする請求項６から９いずれかに記載のパケットルーティング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ルータおよびそのルータに用いるパケットルーティング方法に関し、特にＩＰ（ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ  ）パケットのルーティングを行うルータおよびそのルータに用いるパケットルーティング方法に関する。
【０００２】
【従来の技術】
この種の技術の一例として、バッファを新たに設け、このバッファにルーティング制御手段にてルーティングできなかったパケットを一時的に退避させることにより、データのオーバフロー分を吸収し、データ（  パケット）  の廃棄や網全体への輻輳波の発生を防止するパケット交換方式が開示されている（  特許文献１参照）  。
【０００３】
また、他の一例として、フロー単位にパケットを迂回させる技術が開示されている。これは、複数の経路にロードバランシング比率に基づいてパケットを振り分ける、というものである（  特許文献２参照）  。
【０００４】
さらに、他の一例として、輻輳状態でない場合はパケットのデータフローを識別せず、送信要求順にパケットを送信するが、輻輳状態時にパケットをデータフロー単位に管理する技術が開示されている。これは、データフロー対応に送信待ち状態のパケットを、送信可能時にデータフローの通信品質に応じて送信する、というものである。具体的には、輻輳時にリアルタイム性のデータフローを優先して送信する、というものである（  特許文献３参照）  。
【０００５】
【特許文献１】
特開平５−３７５６１号公報（段落００６０、図１）
【０００６】
【特許文献２】
特開２００２−３０５５４１号公報（段落００１０、００４５、図５）
【０００７】
【特許文献３】
特開平１０−３２２３９２号公報（段落００１２、００５０、図６）
【０００８】
【発明が解決しようとする課題】
しかし、特許文献１記載の技術には以下の問題点がある。第１の問題点は、パケットのフロー単位での迂回ができないということである。その理由は、この技術は迂回を行う際のパケットのフロー識別を行う機能を有していないためである。第２の問題点は、迂回されるパケットの遅延が大きくなってしまうことである。その理由は、迂回すべきパケットが一旦バッファに蓄積されるため、装置内での転送遅延が発生してしまうためである。
【０００９】
一方、特許文献２記載の技術はフロー単位でパケットを迂回させる技術である。しかし、この技術には複数の経路にパケットを振り分ける比率が示されているだけであり、本発明の、通常は特定の経路を使用するが、送信帯域が一定の閾値以上となる場合に他の経路に迂回させるものとは、目的、構成、作用、効果のいずれもが全く相違する。
【００１０】
また、特許文献３記載の技術は輻輳状態時にパケットをデータフロー単位に管理する技術である。しかし、この技術は輻輳時にリアルタイム性のデータフローを優先して送信するだけであり、輻輳時にそのデータフローを他の経路に迂回させるものではない。従って、この技術も本発明とは目的、構成、作用、効果のいずれもが全く相違する。
【００１１】
そこで、本発明の目的は、パケット入力側インタフェースと出力側インタフェース間の使用可能帯域に差があり、入力されたパケットのデータ量が出力側インタフェースの使用可能な帯域を超えてしまうような場合でも、パケットをフロー単位で別の出力インタフェースに送信することが可能なルータおよびそのルータに用いるパケットルーティング方法を提供することにある。
【００１２】
【課題を解決するための手段】
本発明によるルータは、パケットのルーティングを行うルータであって、送出パケットのデータ量による使用帯域が第１閾値以上となった場合に、入力パケットをフロー単位で識別し、識別されたフローのパケットを通常とは別のインタフェースへ送出するフォワーディング制御手段を含むことを特徴とする。
【００１３】
また、本発明によるパケットルーティング方法は、ルータに用いるパケットルーティング方法であって、送出パケットのデータ量による使用帯域が第１閾値以上となった場合に、入力パケットをフロー単位で識別し、識別されたフローのパケットを通常とは別のインタフェースへ送出するフォワーディング制御ステップを含むことを特徴とする。
【００１４】
すなわち、本発明は上記構成を備えることにより、入力されたパケットのデータ量が出力側インタフェースの使用可能な帯域を超えてしまうような場合でも、パケットをフロー単位で別の出力インタフェースに送信することが可能となる。
【００１５】
本発明はＩＰパケットのルーティングを行うルータにて、パケットルーティングを行うときにパケット入力側インタフェースが例えば１００ＢＡＳＥ−ＴＸ、パケット出力側インタフェースが例えば１０ＢＡＳＥ−Ｔと入出力インタフェース間の使用可能帯域に差があり、入力されたパケットのデータ量が出力側インタフェースの使用可能な帯域を超え、送信帯域不足によりパケットが廃棄されてしまうような場合に、入力されたパケットをフロー単位で識別し、識別されたフローのパケットを別のインタフェースへ送出する機能を設けることにより、フロー単位での迂回を可能とすることを特徴とする。
【００１６】
図１において、閾値設定部６は帯域監視部４に対し、出力インタフェース部７の送信可能帯域の内、出力インタフェース部８への送出パケットのデータ量による使用帯域がある閾値を超えた場合にフォワーディング部３にフローの識別とその識別されたフローを出力インタフェース部８へパケット送出することの指示を行うための閾値を設定する。また、閾値設定部６は帯域監視部５で監視される出力インタフェース部８への送出パケットのデータ量による使用帯域と、帯域監視部４にて監視される出力インタフェース部７への送出パケットのデータ量による使用帯域の合計値が出力インタフェース部７の送信可能帯域のある閾値以下になったら、フォワーディング制御部２にフローの識別とその識別されたフローを出力インタフェース部８へパケット送出することの指示を停止するための閾値を設定する。
【００１７】
帯域監視部５は出力インタフェース部８へ送信されるパケットのデータ量による使用帯域を常時測定し、その使用帯域を帯域監視部４へ常時通知を行う。
【００１８】
帯域監視部４は出力インタフェース部７へ送信されるパケットのデータ量による使用帯域を測定し、閾値設定部６より設定された閾値以上の使用帯域を検出した場合にフォワーディング制御部２にフローの識別とその識別されたフローを出力インタフェース部８へパケット送信することの指示を行う。
【００１９】
また、帯域監視部４は帯域監視部５より通知される出力インタフェース部８へ送信されるパケットのデータ量による使用帯域と出力インタフェース部７へ送信されるパケットのデータ量による使用帯域の合計値が閾値設定部６により設定された閾値以下となった場合にフォワーディング制御部２にフローの識別とその識別されたフローを出力インタフェース部８へパケット送信を行うための指示を停止する。
【００２０】
識別フロー設定部３は帯域監視部４によりフロー識別指示があった場合に、フォワーディング制御部２に対し、フローの識別を行うためのＩＰヘッダにおける識別情報（  ディスティネーションＩＰアドレス、ソースＩＰアドレス、プロトコル番号、Ｔｏ  Ｓ値（サービスを指定する値）等）  を設定する。
【００２１】
フォワーディング制御部２は通常全ての送信パケットを出力インタフェース部７へパケット送信しているが、帯域監視部  ４よりフロー識別とその識別されたフローを出力インタフェース８へ送信する迂回指示があった場合に、フロー識別部２により設定された識別情報に基づきフローの識別を行い、その識別されたフローのパケットを出力インタフェース部８に向けて送信する。
【００２２】
更にフォワーディング制御部２は帯域監視部４よりフロー識別とその識別されたフロー単位での迂回の指示がなくなった場合にフローの識別を停止し、すべての送信パケットを出力インタフェース部７へ送出する。
【００２３】
従ってフォワーディング制御部２は出力インタフェース部７向けの送出パケットによるデータ量が帯域設定部４に設定される閾値を超えている間、識別フロー設定部２により設定されたＩＰヘッダ内の識別情報に基づき、識別されたフローのパケットを出力インタフェース部８へ向けて送出されるため、入力インタフェース部１より出力インタフェース部７の送信可能帯域以上のデータが入力されてもルータ内でのパケット廃棄を抑制することが可能となる。
【００２４】
また、フロー単位での迂回が可能となるため、パケットが送信先に到達したときにパケットの到着順序が入れ替わったりするという問題も発生しないといった効果が得られる。
【００２５】
【発明の実施の形態】
以下、本発明の実施例について添付図面を参照しながら説明する。まず、第１実施例について説明する。図１は本発明に係るルータの第１実施例の構成図である。同図を参照すると、ルータ９は入力インタフェース部１と、フォワーディング制御部２と、識別フロー設定部３と、帯域監視部４および５と、閾値設定部６と、出力インタフェース部７および８とを含んで構成される。
【００２６】
入力インタフェース部１は、ルータ９に向けて送信されてきたパケットの受信を行い、フォワーディング制御部２へそのパケットを送出する。
【００２７】
フォワーディング制御部２は通常、入力インタフェース部１より受信したパケットを出力インタフェース部７へ送出しているが、帯域監視部４よりフローの識別とその識別されたフローを出力インタフェース部８へ送信するよう指示を受けると、識別フロー設定部３により設定された識別情報に基づき、入力インタフェース部１より受信したパケットのＩＰヘッダ情報によりパケットのフローを識別し、識別情報にマッチしたパケットのフローを出力インタフェース部８に向けて送信し、識別情報にマッチしないパケットは出力インタフェース部７に向けて送信を行う。
【００２８】
また、フォワーディング制御部２は、帯域監視部４よりフローの識別の停止とその識別されたフローの出力インタフェース部８への出力を停止する指示を受けた場合には、フローの識別を停止し、入力インタフェース部１より受信したパケットを全て出力インタフェース部７に向けて送信する。
【００２９】
識別フロー設定部３は、フォワーディング制御部２に対し、帯域監視部４よりフローの識別指示を受けたときに、入力インタフェース部１より受信したパケットのフロー識別を行うためのＩＰヘッダにおける識別情報（  ディスティネーションＩＰアドレス、ソースＩＰアドレス、プロトコル番号、Ｔｏ  Ｓ値等）  をフォワーディング制御部２に対して設定を行う。
【００３０】
帯域監視部４は、フォワーディング制御部２より受信した出力インタフェース部７向けのパケットのデータ量による使用帯域を測定し、閾値設定部６より設定された閾値以上のデータ量を検出した場合に、フォワーディング部２に対し入力インタフェース部１より受信するパケットのフロー識別を実施すること及び識別されたフローのパケットを出力インタフェース部８に向けて送信することを指示する。
【００３１】
また、帯域監視部４は、帯域監視部５より受信した出力インタフェース部８への送信パケットによる使用帯域と自ら測定している出力インタフェース部７向けの送信パケットによる使用帯域の合計値が閾値設定部６より設定された閾値より下回った場合に、フォワーディング制御部２に対し、入力インタフェース部１より受信するパケットのフロー識別の停止及びフロー識別されたパケットの出力インタフェース部８向けの送信停止を指示する。
【００３２】
帯域監視部５は、フォワーディング制御部２より受信した出力インタフェース部８向けのパケットのデータ量による使用帯域を常に測定し、その結果を帯域監視部４に対し通知を行う。
【００３３】
閾値設定部６は、帯域監視部４に対し、帯域監視部４が測定を行っている出力インタフェース部７向けのパケットのデータ量による使用帯域が、出力インタフェース部７のデータ送信可能帯域に対してある値以上になったときに、フォワーディン制御２に対してフロー識別を実施し、識別されたフローのパケットを出力インタフェース部８に向けて送信を行うことを指示するための第１閾値と、帯域監視部４が測定を行っている出力インタフェース部７向けのパケットのデータ量による使用帯域と、帯域監視部５より通知されるフォワーディング制御部２より受信した出力インタフェース部８向けのパケットのデータ量による使用帯域の合計値が、出力インタフェース部７のデータ送信可能帯域に対してどの値以下になったときに、フォワーディング制御部２に対して、フローの識別を停止し、フロー識別されたパケットの出力インタフェース部８への送信を停止するかの指示を行うための第２閾値を設定する。
【００３４】
出力インタフェース部７は、帯域監視部４より受信したパケットをルータ９の外部へ送信を行う。
【００３５】
出力インタフェース部８は、帯域監視部４より受信したパケットをルータ９の外部へ送信を行う。
【００３６】
次に、図２〜４を参照しながら本発明に係るルータの動作について説明する。図２〜４は本発明に係るルータの動作を示すフローチャートである。
【００３７】
始めに閾値設定部６より帯域監視部４に対して出力インタフェース部７の送信可能帯域の内、送信パケットのデータ量により、使用帯域がある閾値を超えた場合にフォワーディング制御部２にフローの識別とその識別されたフローを出力インタフェース部８へパケット送信を行うための指示を行う第１閾値を設定する。また同時に閾値設定部６は帯域監視部５で測定される送信パケットのデータ量による使用帯域と、帯域監視部４にて測定される送信パケットのデータ量による使用帯域の合計値が出力インタフェース部７の送信可能帯域のある閾値以下になったら、フォワーディング制御部２にフローの識別とその識別されたフローを出力インタフェース部８へパケット送信を行うための指示を停止するための第２閾値を設定する（  ステップＳ１）  。
【００３８】
帯域監視部４にて出力インタフェース部７へ送信されるパケットのデータ量による使用帯域の測定を開始する。同時に帯域監視部５にて出力インタフェース部８へ送信されるパケットのデータ量による使用帯域の測定を開始する（  ステップＳ２）  。
【００３９】
識別フロー設定部３より、出力インタフェース部７への送信パケットのデータ量による使用帯域が帯域監視部４に設定された閾値以上のデータ量となった場合に出力インタフェース部８へ迂回させるフローを識別するためのＩＰヘッダにおける識別情報（  ディスティネーションＩＰアドレス、ソースＩＰアドレス、プロトコル番号、Ｔｏ  Ｓ値等）  をフォワーディング制御部２に対し設定を行う（  ステップＳ３）  。
【００４０】
入力インタフェース部１でのパケット受信を開始する（  ステップＳ４）  。
【００４１】
フォワーディング制御部２により受信パケットを全て出力インタフェース部７向けに送信する（  ステップ５）  。
【００４２】
出力インタフェース部７に送信されるパケットのデータ量が帯域監視部４に設定される第１閾値以上であるかを帯域監視部４にて測定する（ステップ６−１）。このとき測定しているパケットのデータ量が帯域監視部４に設定される閾値未満であれば（ステップ６−２にてＮの場合）、ステップ６−１へ戻る。また閾値以上であれば（ステップ６−２にてＹの場合）、  閾値監視部４よりフォワーディング制御部２に対し、識別フロー設定部３により設定されたフロー識別情報によりフローの識別を実施すること及び識別されたフローのパケットは出力インタフェース部８へ送信し、それ以外のパケットは出力インタフェース部７へ送信することを指示する（ステップＳ７）。
【００４３】
フォワーディング制御部２にて識別フロー設定部３より設定された識別情報に基づき、入力インタフェース部１から入力されたパケットのフローの識別を開始する（  ステップＳ８−１）  。
【００４４】
識別フロー設定部３より設定された識別情報と、入力インタフェース部１から入力されたパケットのフローとがマッチした場合（ステップＳ８−２にてＹの場合）、そのパケットを出力インタフェース部８へ送信し（  ステップＳ９）  、マッチしない場合（ステップＳ８−２にてＮの場合）、そのパケットを出力インタフェース部７へ送信する（  ステップＳ８）  。
【００４５】
帯域監視部５から通知される出力インタフェース部８に送信されるパケットのデータ量と、帯域監視部４で測定した出力インタフェース部７に送信されるパケットのデータ量を合計し、閾値設定部６で設定された閾値と比較を行い（  ステップＳ１１−１）  、合計値が設定された第２閾値以上であれば（  ステップＳ１１−２にてＹの場合）  ステップＳ８−１へ戻り、閾値未満であれば（  ステップＳ１１−２にてＮの場合）  、帯域監視部４よりフォワーディング制御部２に対し、フロー識別および出力インタフェース部８へのパケット送信の実施を停止させる（ステップＳ１２）。
【００４６】
その後、ステップＳ６−１へ戻り、出力インタフェース部７に送信されるパケットのデータ量が帯域監視部４に設定される閾値以上であるかを帯域監視部４にて再度測定を行う。以下、前述した動作の繰り返しとなる。
【００４７】
次に、本発明の第２実施例について説明する。図５は本発明に係るルータの第２実施例の構成図である。同図を参照すると、第１実施例（図１参照）との相違点は、第１実施例における閾値設定部６をシェーピングレート設定部１０に置換したものである。また、シェーピングレート設定部１０の出力を帯域監視部４のみならず出力インタフェース部７にも入力させた点が第１実施例と相違している。
【００４８】
なお、シェーピングレート設定部１０以外の構成は第１実施例と同様であるため、それらの説明は省略する。
【００４９】
シェーピングとはネットワークにおいて、送信側がセルの送信間隔を調節してセル遅延変動を一定値以下に抑えることをいい、シェーピングレートとはその送信間隔の率をいう。
【００５０】
シェーピングレート設定部１０は出力インタフェース部７の送信帯域におけるシェーピングレートを設定すると共に、帯域監視部４に対し、出力インタフェース部７に設定されるシェーピングレートの通知を行う。
【００５１】
出力インタフェース部７は、シェーピングレート設定部１０により設定されたシェーピングレートに従い、出力可能な送信帯域を制限する。
【００５２】
帯域監視部４は、フォワーディング制御部２より出力インタフェース部７へ送信されるパケットのデータ量による使用帯域を測定し（図２のＳ６−１参照）、シェーピングレート設定部１０より通知された出力インタフェース部７に設定されたシェーピングレートと出力インタフェース部７へ送信されるパケットのデータ量による使用帯域比較を行い、出力インタフェース部７へ送信されるパケットのデータ量による使用帯域が、シェーピングレート設定部１０より通知された出力インタフェース部７に設定されたシェーピングレート以上となった場合に（図２のＳ６−２参照）、フォワーディング制御部２にフローの識別の実施及び識別されたフローのパケットを出力インタフェース８へ送信することを指示する（図３のＳ７参照）。
【００５３】
また、帯域監視部４は出力インタフェース部７へ送信されるパケットのデータ量による使用帯域と、帯域監視部５より通知される出力インタフェース部８へ送信されるパケットのデータ量による使用帯域の合計値がシェーピングレート設定部１０より通知された出力インタフェース部７に設定されたシェーピングレート未満となった場合に（図４のステップＳ１１−１およびＳ１１−２参照）、フォワーディング制御部２に対し、入力インタフェース部１より受信するパケットのフロー識別の停止及びフロー識別されたパケットの出力インタフェース部８向けの送信停止を指示する（図４のステップＳ１２参照）。
【００５４】
その他の構成部は上記第１実施例の構成で説明した動作と同様の動作を行う。
【００５５】
以上により、第２実施例では、出力インタフェース部７にフレキシブルにシェーピングレートを設定可能で、そのシェーピングレート以上のパケットによるデータ量がフォワーディング制御部２より出力インタフェース７に送信された場合、出力インタフェース８に対し、フロー単位での迂回を実施することが可能となる。
【００５６】
【発明の効果】
以上説明したように本発明によれば、送出パケットのデータ量による使用帯域が第１閾値以上となった場合に、入力パケットをフロー単位で識別し、識別されたフローのパケットを通常とは別のインタフェースへ送出するフォワーディング制御手段およびフォワーディング制御ステップを備えるため、入力されたパケットのデータ量が出力側インタフェースの使用可能な帯域を超えてしまうような場合でも、パケットをフロー単位で別の出力インタフェースに送信することが可能となる。
【００５７】
具体的に説明すると、第一の効果は、ＩＰパケットのルーティングを行うルータにて、パケットルーティングを行うときにパケット入力側インタフェースが例えば１００ＢＡＳＥ−ＴＸ、パケット出力側インタフェースが例えば１０ＢＡＳＥ−Ｔと入出力インタフェース間の使用可能帯域に差があり、入力されたパケットのデータ量が出力側インタフェースの使用可能な帯域を超えてしまうような場合でも、パケットをフロー単位で別の出力インタフェースに送信することができるので、送信帯域不足によるルータ内でのパケット廃棄が抑制されることである。
【００５８】
第二の効果は、フロー単位で別インタフェースへの出力による迂回が可能となるため、パケット単位での迂回時に発生する、パケット到達先でのパケット到着順序が入れ替わるといった問題がなくなることである。
【００５９】
第三の効果は、フローの識別により、動的に迂回経路にパケットが送出されるため、パケットの迂回を行う際に、迂回するパケットに装置内でのパケット送出遅延が発生しないことである。
【図面の簡単な説明】
【図１】本発明に係るルータの第１実施例の構成図である。
【図２】本発明に係るルータの動作を示すフローチャートである。
【図３】本発明に係るルータの動作を示すフローチャートである。
【図４】本発明に係るルータの動作を示すフローチャートである。
【図５】本発明に係るルータの第２実施例の構成図である。
【符号の説明】
１  入力インタフェース部
２  フォワーディング制御部
３  識別フロー設定部
４  帯域監視部
５  帯域監視部
６  閾値設定部
７  出力インタフェース部
８  出力インタフェース部
９  ルータ
１０  シェーピングレート設定部
【図１】
2005005921.tif 000003
【図２】
2005005921.tif 000004
【図３】
2005005921.tif 000005
【図４】
2005005921.tif 000006
【図５】
2005005921.tif 000007