(57)【要約】【課題】複雑な演算を不要とするパケット転送装置の提供。【解決手段】流量監視部７０は、送信部６０ａ〜６０ｄのそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出す。ポート振り分け部３０は、ハッシュ値に対応する有効フラグが有効の時、ハッシュ値に対応する識別番号の送信部を選択し、有効フラグが無効の時、流量監視部７０によって見出された送信部を選択すると共に送信部に対応する識別番号をハッシュ値に対応させて設定して有効フラグを有効にする。さらに、受信パケットのヘッダ部の一部から求めたハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力する。エージング管理部５０は、ポート振り分け部３０が送信部を選択した際、ハッシュ値に対応するエージングフラグをセットし、一定時間経過後にエージングフラグをリセットすると共に有効フラグを無効にする。【選択図】図１
2008005287.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送装置であって、
前記複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出す流量監視部と、
受信パケットと同じハッシュ値を有するパケットを、過去一定期間内に受信したか否かを判定し、一定期間内に受信していた場合には、登録されている識別番号の送信部を選択し、一定期間内に受信していなかった場合には、前記最小の流量となる送信部を選択すると共に該送信部を識別番号として登録するパケット分配部と、
を備えることを特徴とするパケット転送装置。
【請求項２】
前記パケット分配部は、
前記ハッシュ値に対応する有効フラグが有効を示すか無効を示すかを判断し、前記有効フラグが有効であることを示す場合には、前記ハッシュ値に対応する識別番号の送信部を選択し、前記有効フラグが無効であることを示す場合には、前記流量監視部によって見出された送信部を選択すると共に該送信部に対応する識別番号を前記ハッシュ値に対応させて設定して前記有効フラグを有効に設定するポート振り分け部と、
前記ポート振り分け部が送信部を選択した際には、前記ハッシュ値に対応するエージングフラグをセットし、該エージングフラグをセットして一定期間経過後に、該エージングフラグをリセットすると共に前記有効フラグを無効に設定するエージング管理部と、
を備えることを特徴とする請求項１記載のパケット転送装置。
【請求項３】
前記ハッシュ値をアドレスとし、前記識別番号、前記有効フラグ、前記エージングフラグのそれぞれを該アドレスに対応する読み書き可能なデータとして保持するメモリ部をさらに備えることを特徴とする請求項２記載のパケット転送装置。
【請求項４】
前記流量監視部は、一定期間における転送レートが最も低い送信部を選択することを特徴とする請求項１または２記載のパケット転送装置。
【請求項５】
前記流量監視部は、送信部を構成するＦＩＦＯの空き容量が最も大きい送信部を選択することを特徴とする請求項１または２記載のパケット転送装置。
【請求項６】
受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送方法であって、
前記複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出すステップと、
受信パケットと同じハッシュ値を有するパケットを、過去一定期間内に受信したか否かを判定するステップと、
一定期間内に受信していた場合には、登録されている識別番号の送信部を選択し、一定期間内に受信していなかった場合には、前記最小の流量となる送信部を選択すると共に該送信部を識別番号として登録するステップと、
を含むことを特徴とするパケット転送方法。
【請求項７】
受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送方法であって、
前記複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出すステップと、
前記ハッシュ値に対応する有効フラグが有効を示すか無効を示すかを判断するステップと、
前記有効フラグが有効であることを示す場合には、前記ハッシュ値に対応する識別番号の送信部を選択し、前記有効フラグが無効であることを示す場合には、前記最小の流量となる送信部を選択すると共に該送信部に対応する識別番号を前記ハッシュ値に対応させて設定して前記有効フラグを有効に設定するステップと、
前記送信部を選択した際には、前記ハッシュ値に対応するエージングフラグをセットするステップと、
前記エージングフラグがセットされて一定期間経過後に、前記エージングフラグをリセットすると共に有効フラグを無効に設定するステップと、
を含むことを特徴とするパケット転送方法。
【請求項８】
前記最小の流量となる送信部を見出すステップにおいて、一定期間における転送レートが最も低い送信部を選択することを特徴とする請求項６または７記載のパケット転送方法。
【請求項９】
前記最小の流量となる送信部を見出すステップにおいて、送信部を構成するＦＩＦＯの空き容量が最も大きい送信部を選択することを特徴とする請求項６または７記載のパケット転送方法。
【請求項１０】
受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送装置を構成するコンピュータに、
前記複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出す処理と、
受信パケットと同じハッシュ値を有するパケットを、過去一定期間内に受信したか否かを判定する処理と、
一定期間内に受信していた場合には、登録されている識別番号の送信部を選択し、一定期間内に受信していなかった場合には、前記最小の流量となる送信部を選択すると共に該送信部を識別番号として登録する処理と、
を実行させるプログラム。
【請求項１１】
受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送装置を構成するコンピュータに、
前記複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出す処理と、
前記ハッシュ値に対応する有効フラグが有効を示すか無効を示すかを判断する処理と、
前記有効フラグが有効であることを示す場合には、前記ハッシュ値に対応する識別番号の送信部を選択し、前記有効フラグが無効であることを示す場合には、前記最小の流量となる送信部を選択すると共に該送信部に対応する識別番号を前記ハッシュ値に対応させて設定して有効フラグを有効に設定する処理と、
前記送信部を選択した際には、前記ハッシュ値に対応するエージングフラグをセットする処理と、
前記エージングフラグがセットされて一定時間経過後に、前記エージングフラグをリセットすると共に前記有効フラグを無効に設定する処理と、
を実行させるプログラム。
【請求項１２】
前記最小の流量となる送信部を見出す処理において、一定期間における転送レートが最も低い送信部を選択することを特徴とする請求項１０または１１記載のプログラム。
【請求項１３】
前記最小の流量となる送信部を見出す処理において、送信部を構成するＦＩＦＯの空き容量が最も大きい送信部を選択することを特徴とする請求項１０または１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置、パケット転送方法、およびプログラムに係り、特に、ポートトランキングあるいはリンクアグリゲーションによるパケット転送技術に係る。
【背景技術】
【０００２】
ポートトランキングあるいはリンクアグリゲーションは、複数の物理的なポート（リンク）を仮想的な１本のポート（リンク）として扱う技術であって、高速な回線を使用しなくても帯域幅を広げることができるという利点がある。また、物理的なポート（リンク）のどこかに障害が発生したとしても、他のポート（リンク）が使用できれば、回線全体としては停止することなく動作し続けることが可能であるため、障害に対しても強いという特徴を持つ。
【０００３】
このようなポートトランキングあるいはリンクアグリゲーションの機能を実現する場合、パケットのヘッダの一部（ＭＡＣアドレスやＩＰアドレス等の一部）に対してハッシュ演算を行って、演算結果によって送信先ポートを決定することで、パケットを振り分ける技術が知られている（例えば特許文献１〜３参照）。また、同一データフローのパケットの順序を保証するために、予め設定したテーブルに従って、ハッシュ値を送信ポートに変換するようにしている。
【０００４】
しかしながら、ハッシュ値が特定の値に偏った場合には、パケットを均等にポートに振り分けることができずに特定のポートにトラフィックが集中してしまい、効率的なデータ転送ができなくなってしまう。
【０００５】
そこで特許文献３には、リンクアグリゲーションの論理ポートを構成する複数の物理ポートにトラフィックを分散させるために、ハッシュ関数を用いて受信パケットの宛先アドレス及び送信元アドレスからハッシュ値を計算し、宛先の物理ポートを決定するトラフィック分散制御装置が開示されている。この装置は、複数の物理ポートのそれぞれからのパケットの出力流量を計測する計測手段と、計数された出力流量について複数の物理ポート間の流量比を算出する算出手段と、算出された流量比を複数の物理ポート間の帯域分配比率にフィードバックして宛先の物理ポートを決定するためのハッシュ値の個数割当ての変更を行う第１の制御手段と、を備える。このような装置によれば、リンクアグリゲーションの帯域分配に偏りが発生した場合であっても、複数の物理ポートの使用帯域の比（流量比）をフィードバックして帯域分配比率を改善するので、リンクアグリゲーションのトラフィック分配が均等に行われる。
【０００６】
なお、関連する技術として、特許文献４には、同じ送信元端末からの最後のパケットの受信及び、同じ宛先端末に対する最後のパケットの受信の何れかから所定時間経過後に、アドレスなどのマッピングのバッファから削除するエージングの技術が開示されている。
【０００７】
【特許文献１】特開２００５−２０４９２号公報
【特許文献２】特開平１０−２６０９２１号公報
【特許文献３】特開２００６−５４３７号公報
【特許文献４】特開２００５−８６６６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献３に記載のトラフィック分散制御装置は、宛先の物理ポートを決定するためのハッシュ値の個数割当てを変更することで、データ転送が特定の物理ポートに偏ることを防いで、効率的なデータ転送を行うことが可能である。しかし、流量比の算出および帯域分配比率からのハッシュ値の個数割当ての決定を行う演算を行わなければならない。このような演算には、乗除算相当の演算を必要とし、装置の複雑化を招く虞がある。特に装置の高速化に伴い、複雑な演算を必要とすることは好ましくない。
【０００９】
本発明の目的は、複雑な演算を不要とする簡易なパケット転送装置、パケット転送方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の１つのアスペクトに係るパケット転送装置は、受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送装置である。この装置は、複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出す流量監視部と、受信パケットと同じハッシュ値を有するパケットを、過去一定期間内に受信したか否かを判定し、一定期間内に受信していた場合には、登録されている識別番号の送信部を選択し、一定期間内に受信していなかった場合には、最小の流量となる送信部を選択すると共に該送信部を識別番号として登録するパケット分配部と、を備える。
【００１１】
本発明の第１の展開形態のパケット転送装置において、パケット分配部は、ハッシュ値に対応する有効フラグが有効を示すか無効を示すかを判断し、有効フラグが有効であることを示す場合には、ハッシュ値に対応する識別番号の送信部を選択し、有効フラグが無効であることを示す場合には、流量監視部によって見出された送信部を選択すると共に該送信部に対応する識別番号をハッシュ値に対応させて設定して有効フラグを有効に設定するポート振り分け部と、ポート振り分け部が送信部を選択した際には、ハッシュ値に対応するエージングフラグをセットし、該エージングフラグをセットして一定期間経過後に、該エージングフラグをリセットすると共に有効フラグを無効に設定するエージング管理部と、を備えるようにしてもよい。
【００１２】
本発明の第２の展開形態のパケット転送装置において、ハッシュ値をアドレスとし、識別番号、有効フラグ、エージングフラグのそれぞれを該アドレスに対応する読み書き可能なデータとして保持するメモリ部をさらに備えるようにしてもよい。
【００１３】
本発明の第３の展開形態のパケット転送装置において、流量監視部は、一定期間における転送レートが最も低い送信部を選択するようにしてもよい。
【００１４】
本発明の第４の展開形態のパケット転送装置において、流量監視部は、送信部を構成するＦＩＦＯの空き容量が最も大きい送信部を選択するようにしてもよい。
【００１５】
本発明の１つのアスペクトに係るパケット転送方法は、受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送方法であって、複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出すステップと、受信パケットと同じハッシュ値を有するパケットを、過去一定期間内に受信したか否かを判定するステップと、一定期間内に受信していた場合には、登録されている識別番号の送信部を選択し、一定期間内に受信していなかった場合には、最小の流量となる送信部を選択すると共に該送信部を識別番号として登録するステップと、を含む。
【００１６】
本発明の他のアスペクトに係るパケット転送方法は、受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送方法であって、複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出すステップと、ハッシュ値に対応する有効フラグが有効を示すか無効を示すかを判断するステップと、有効フラグが有効であることを示す場合には、ハッシュ値に対応する識別番号の送信部を選択し、有効フラグが無効であることを示す場合には、最小の流量となる送信部を選択すると共に該送信部に対応する識別番号をハッシュ値に対応させて設定して有効フラグを有効に設定するステップと、送信部を選択した際には、ハッシュ値に対応するエージングフラグをセットするステップと、エージングフラグがセットされて一定期間経過後に、エージングフラグをリセットすると共に有効フラグを無効に設定するステップと、を含む。
【００１７】
本発明の１つのアスペクトに係るプログラムは、受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送装置を構成するコンピュータに、複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出す処理と、受信パケットと同じハッシュ値を有するパケットを、過去一定期間内に受信したか否かを判定する処理と、一定期間内に受信していた場合には、登録されている識別番号の送信部を選択し、一定期間内に受信していなかった場合には、最小の流量となる送信部を選択すると共に該送信部を識別番号として登録する処理と、を実行させる。
【００１８】
本発明の他のアスペクトに係るプログラムは、受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部を選択して受信パケットを出力するパケット転送装置を構成するコンピュータに、複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出す処理と、ハッシュ値に対応する有効フラグが有効を示すか無効を示すかを判断する処理と、有効フラグが有効であることを示す場合には、ハッシュ値に対応する識別番号の送信部を選択し、有効フラグが無効であることを示す場合には、最小の流量となる送信部を選択すると共に該送信部に対応する識別番号をハッシュ値に対応させて設定して有効フラグを有効に設定する処理と、送信部を選択した際には、ハッシュ値に対応するエージングフラグをセットする処理と、エージングフラグがセットされて一定時間経過後に、エージングフラグをリセットすると共に有効フラグを無効に設定する処理と、を実行させる。
【発明の効果】
【００１９】
本発明によれば、最も流量の少ない送信部に新規なフローを割り当てると共に、一定期間受信しなかった送信部に対する割り当てを解除することで、特定の送信部にフローが偏ることを防ぐための複雑な演算処理を不要とすることができる。したがって、装置を簡略に構成することが可能となる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施形態に係るパケット転送装置は、受信パケットを複数の送信ポートに振り分けるポートトランキング（リンクアグリゲーション）によってネットワークスイッチ間を接続する構成を有する。より具体的には、受信パケットを複数の送信部のいずれかに分配するに際し、受信パケットのヘッダ部の一部からハッシュ値を求めて、ハッシュ値に対応する識別番号の送信部に受信パケットを出力するパケット転送装置（図１の１）である。このパケット転送装置は、パケット受信部（図１の１０）、ハッシュ演算部（図１の２０）、ポート振り分け部（図１の３０）、エージング管理部（図１の５０）、メモリ部（図１の４０）、複数の送信部（図１の６０ａ、６０ｂ、６０ｃ、６０ｄ）、流量監視部（図１の７０）を備える。
【００２１】
パケット受信部は、受信したパケットをハッシュ演算部に渡す。ハッシュ演算部は、パケットのヘッダ部を抽出してヘッダ部の一部（ＭＡＣアドレスやＩＰアドレス等の一部）に対してハッシュ演算を行い、演算結果であるハッシュ値をポート振り分け部へ渡す。
【００２２】
ポート振り分け部は、メモリ部を参照して選択した送信部に受信パケットを出力する。メモリ部は、ハッシュ値に対応して、複数の送信部から一つを選択するための識別番号と、識別番号に対するハッシュ値の割り当てが有効か無効かを示す有効フラグと、割り当てが一定時間有効であることを示すエージングフラグと、を保持する。流量監視部は、複数の送信部のそれぞれにおけるパケットの流量を監視して最小の流量となる送信部を見出す。エージング管理部は、ポート振り分け部が送信部を選択した際にエージングフラグをセットし、エージングフラグをセットして一定時間経過後に、エージングフラグをリセットすると共に有効フラグを無効に設定する。
【００２３】
このような構成のパケット転送装置において、ポート振り分け部は、ハッシュ値に対応する有効フラグが有効であることを示す場合には識別番号に対応する送信部を選択する。また、ハッシュ値に対応する有効フラグが無効であることを示す場合には流量監視部によって見出された最小の流量の送信部を選択して送信部に対応する識別番号をメモリ部に設定すると共に有効フラグを有効に設定する。
【００２４】
このようなパケット転送装置によれば、受信パケットのハッシュ演算結果から直接送信部を決定するのではなく、ハッシュ値とポート番号とを登録したメモリ部を参照し、また送信部ごとの流量を監視することにより、動的にパケットの振り分けを行うように動作する。したがって、パケットを複数の送信部に可能な限り均等に分配して、ネットワークスイッチ間の転送効率を高めることが可能である。そのための複雑な演算処理を不要とすることができる。
【実施例１】
【００２５】
図１は、本発明の実施例に係るパケット転送装置の構成を示すブロック図である。図１において、パケット転送装置１は、パケット受信部１０と、ハッシュ演算部２０と、ポート振り分け部３０と、メモリ４０と、エージング管理部５０と、送信部６０ａ、６０ｂ、６０ｃ、６０ｄと、流量監視部７０とを備える。パケット受信部１０は、パケットを受信すると、ハッシュ演算部２０にパケットを渡す。ハッシュ演算部２０は、パケットのヘッダ部を抽出してヘッダ部の一部（ＭＡＣアドレスやＩＰアドレス等の一部）に対してハッシュ演算を行い、演算結果であるハッシュ値をポート振り分け部３０へ渡す。
【００２６】
ポート振り分け部３０は、ハッシュ値をアドレスとして、メモリ４０を参照し、パケット受信部１０が受信したパケットを送信部６０ａ、６０ｂ、６０ｃ、６０ｄのいずれかを選択して出力する。送信部６０ａ、６０ｂ、６０ｃ、６０ｄは、パケットを一時的に蓄えておくＦＩＦＯ等で構成され、蓄えられているパケットを送信パケットとして外部に出力する。流量監視部７０は、送信部６０ａ、６０ｂ、６０ｃ、６０ｄにおけるパケットの流量を常時監視し、ポート振り分け部３０からの問い合わせに応じてポート番号を通知する。通知するポート番号の決定方法は、一定期間における転送レートが最も低い送信部のポート番号を選択するようにしてもよく、送信部を構成するＦＩＦＯの空き容量が最も大きい送信部のポート番号を選択するようにしてもよい。なお、パケット転送装置１に組み込まれる図示されないコンピュータにプログラムを実行させて、ハッシュ演算部２０、ポート振り分け部３０、エージング管理部５０、流量監視部７０の一部あるいは全部の機能を実現するようにしてもよい。
【００２７】
次に、メモリ４０のデータ構造について説明する。図２は、メモリ４０のデータ構造の例を示す図である。図２において、メモリ４０は、ハッシュ値をアドレスとし、「有効フラグ」、「Ａｇｉｎｇフラグ」（エージングフラグ）、「ポート番号」のそれぞれをアドレスに対応する読み書き可能なデータとして構成される。「有効フラグ」は、ハッシュ値に対応するポート番号（エントリ）が有効であるか否かを示すフラグであって、「１」は有効であることを示し、「０」は無効であることを示す。「Ａｇｉｎｇフラグ」は、一定の時間内にエントリに対応するハッシュ値を持つパケットを受信したかどうかをマークしておくフラグであり、ポート振り分け部３０が「１」を書き込み、エージング管理部５０が一定時間ごとに「０」を書き込む。「ポート番号」は、ハッシュ値に対応する振り分け先のポート番号、すなわち送信部６０ａ、６０ｂ、６０ｃ、６０ｄの識別番号を表す。なお、ハッシュ値（メモリのアドレス）の最大値は、ポート番号の数に比べて十分に大きな値とする。本実施例では、ハッシュ値を０〜１０２３、ポート番号を０〜３として示している。
【００２８】
図２において、ハッシュ値が０、あるいは１となるパケットは、ポート番号０に対応する送信部６０ａに出力され、ハッシュ値が２となるパケットは、ポート番号３に対応する送信部６０ｄに出力されることを示す。また、ハッシュ値が１０２１となるパケットは、ポート番号２に対応する送信部６０ｃに出力され、ハッシュ値が１０２３となるパケットは、ポート番号１に対応する送信部６０ｂに出力されることを示す。さらに、ハッシュ値が３、４、・・、となるパケットは、「有効フラグ」が「０」であるので、流量監視部７０よって示される最も流量の少ない送信部に出力されると共に、この送信部に対応するポート番号が新たに登録されることになる。
【００２９】
次に、パケット転送装置におけるポート振り分け動作について説明する。図３は、パケット転送装置の動作を示すフローチャートである。ステップＳ１１でパケット受信部１０がパケットを受信し、ステップＳ１２でハッシュ演算部２０は、受信したパケットにおけるハッシュ値を算出する。
【００３０】
ステップＳ１３において、ポート振り分け部３０は、ハッシュ値をアドレスとして、メモリ４０のデータを読み出す。このとき、「有効フラグ」が「１」であれば（ステップＳ１３の「有効」）、求めたハッシュ値は、既にメモリ４０に登録済みであるため、メモリ４０の該当アドレスに対応する「ポート番号」を振り分け対象となる送信部として決定する。さらに、「Ａｇｉｎｇフラグ」に「１」を書き込む（ステップＳ１７）。一方、「有効フラグ」が「０」であった場合（ステップＳ１３の「無効」）には、求めたハッシュ値に対応する「ポート番号」は、未登録であるため、流量監視部７０にポート番号を問い合わせる（ステップＳ１４）。問い合わせの結果得られたポート番号を振り分け対象となる送信部として設定してメモリ４０に書き込む（ステップＳ１５）。さらに、「有効フラグ」に「１」を書き込み（ステップＳ１６）、「Ａｇｉｎｇフラグ」に「１」を書き込む（ステップＳ１７）。
【００３１】
ステップＳ１８において、決定されたポート番号に対応する送信部に対して受信パケットを出力する。そして次の受信パケットの処理を行う。
【００３２】
次に、エージング管理部５０の動作について説明する。図４は、エージング管理部５０の動作を示すフローチャートである。エージング管理部５０は、定期的（エージングタイム毎）に起動され、メモリ４０の内容を監視する。「Ａｇｉｎｇフラグ」を読み出し、「Ａｇｉｎｇフラグ」が「１」であるエントリがあれば（ステップＳ２１のＮ）、「０」を書き込む（ステップＳ２２）。また、読み出し時に「Ａｇｉｎｇフラグ」が「０」であるエントリがあれば（ステップＳ２１のＹ）、「有効フラグ」に「０」を書き込むことで（ステップＳ２３）、そのエントリが無効とされる。すなわちエントリは開放され、同一のハッシュ値のパケットが到来した場合には、新たなポート番号が設定される可能性がある。なお、同一データフローのパケットの順序を保証するためには、エントリを無効にするためのエージングタイムは、ＳＬＡ（サービス・レベル・アグリーメント）を満たす十分に大きな時間とする。
【００３３】
以上のようなエージング管理部５０の動作例を、図２に示すメモリの内容に沿って説明する。図２のアドレス０、１に対応する「Ａｇｉｎｇフラグ」が「１」であるので、図４に示す処理が実行されると、ステップＳ２２によって、アドレス０、あるいは１に対応する「Ａｇｉｎｇフラグ」は、「０」に設定されることとなる。また、図２のアドレス２に対応する「Ａｇｉｎｇフラグ」が「０」であって、「有効フラグ」が「１」であるので、図４に示すステップＳ２３によって、アドレス２に対応する「有効フラグ」は、「０」に設定されることとなる。なお、この場合、図４に示す処理の実行間隔以内にアドレス２に対応するパケットが受信されれば、図３のステップＳ１７で「Ａｇｉｎｇフラグ」は「１」に設定され、「有効フラグ」が「１」であるので、エントリは有効のまま継続する。すなわち、受信されたパケットがポート番号で示される送信部に出力される。また、有効フラグが０であるような、新たなハッシュ値を持つパケットを受信した場合には、流量監視部７０によって示される最も流量の少ない送信部に対応するポート番号が再登録されることになる。
【００３４】
以上説明したようなパケット転送装置によれば、ハッシュ値とポート番号とを登録したメモリを参照し、また送信ポートごとの流量を監視することによって、動的に複数の送信部への振り分けを行って、特定の送信部にトラフィックが集中するのを防ぐことができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施例に係るパケット転送装置の構成を示すブロック図である。
【図２】メモリのデータ構造の例を示す図である。
【図３】本発明の実施例に係るパケット転送装置の動作を示すフローチャートである。
【図４】エージング管理部の動作を示すフローチャートである。
【符号の説明】
【００３６】
１  パケット転送装置
１０  パケット受信部
２０  ハッシュ演算部
３０  ポート振り分け部
４０  メモリ
５０  エージング管理部
６０ａ、６０ｂ、６０ｃ、６０ｄ  送信部
７０  流量監視部
【図１】
2008005287.tif 000003
【図２】
2008005287.tif 000004
【図３】
2008005287.tif 000005
【図４】
2008005287.tif 000006