JP2008263436A - 負荷分散装置及びネットワーク装置 - Google Patents
負荷分散装置及びネットワーク装置 Download PDFInfo
- Publication number
- JP2008263436A JP2008263436A JP2007105045A JP2007105045A JP2008263436A JP 2008263436 A JP2008263436 A JP 2008263436A JP 2007105045 A JP2007105045 A JP 2007105045A JP 2007105045 A JP2007105045 A JP 2007105045A JP 2008263436 A JP2008263436 A JP 2008263436A
- Authority
- JP
- Japan
- Prior art keywords
- route
- control unit
- hash value
- packet
- load distribution
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【解決手段】経路選択テーブル22は、ハッシュ値に対応してパケットの振り分け先経路が記憶される。生成されたハッシュ値に基づき経路選択テーブル22から振り分け先経路が取得され、パケット転送制御部B27によりパケットがバッファ13−1〜3のいずれかに出力される。経路開放制御部24は、ハッシュ値を受信することによりリセットされるハッシュ値毎のタイマー90を有する。経路開放制御部24は、所定のハッシュ値のタイマー90が予め定められた設定値に達すると、該ハッシュ値に対応する経路の割り当てを開放するための経路開放要求を出力する。テーブル制御部23は、経路開放要求に従い、経路選択テーブル22に記憶されたハッシュ値に対応する振り分け先経路を削除し、及び、新たな振り分け先経路を記憶する。
【選択図】図2
Description
例えば、通信装置の処理能力を向上する手法の一つとして、負荷分散技術がある。負荷分散技術は、同じ機能を持つ装置を複数台設け、これらの装置間で処理を分担することにより、各単一装置における処理負荷を低減するとともに、全体として処理能力の向上を図る方法である。負荷分散を実現するためには、負荷分散の対象となる複数の装置に対して、適切にパケットを振り分けて転送することが必要である。
従来の技術では、ハッシュ値による方法で入力パケットの情報からパケットの負荷分散を行う方法がある。しかし、この方法では入力パケットの情報からハッシュ値を求める為、パケットの振り分けが均等にできないケースが発生する。例えば、入力パケットのIPアドレス、ポート情報に基づいてハッシュ値を求める場合、同一IPアドレス、同一ポート情報のパケットは同じ振り分け先(例えば、同じバッファ)に振り分けられることになる。例えば、複数のプライベートIPアドレスをひとつのグローバルIPアドレスに変換して通信するシステムにおいては、そのグローバルIPアドレスのパケットは同じバッファに入ることになる。従って、複数のプライベートアドレスのパケットが同じバッファに入り、負荷が集中する場合がある。
この課題を解決する為に、例えば特許文献1に示すように、ハッシュ値による方法でパケットの負荷分散を行い、受信ポートでのバックプレッシャ計測値と送信ポートでの送信統計情報に基づく輻輳情報によって負荷情報を把握し、負荷が集中していればハッシュ値に対するルートの割り当てを変更して負荷が均等になるように制御を行うものがあった。
本発明は、以上の点に鑑み、パケットの順序を保証した負荷分散を行う負荷分散装置及びネットワーク装置を提供することを目的とする。本発明は、高信頼ネットワークに適した、パケットの順序保証が可能な負荷分散技術を提供することを目的とする。また、本発明は、パケットの順序を保証することで無駄な再送トラフィックを低減し、アプリケーションレベルでのネットワークでの遅延を低減し、さらにネットワークの帯域をより効率的に利用可能することを目的のひとつとする。
上記ハッシュ値生成制御は一例であり、パケットの順序が制御できる方式であれば他の方式でも良い。
本発明の第1の解決手段によると、
受信されたパケットを複数の経路へ振り分けて負荷分散を行うための負荷分散装置であって、
受信したパケットのヘッダー情報又はパケットの属性を識別するための情報に基づき、ハッシュ値を求めるハッシュ値生成部と、
ハッシュ値に対応して、予め割り当てられた振り分け先の経路を示す第1の経路情報が記憶される経路選択テーブルと、
前記ハッシュ値生成部により求められたハッシュ値に基づき前記経路選択テーブルを参照して、対応する第1の経路情報を取得するテーブル制御部と、
取得された第1の経路情報に従い、パケットを前記複数の経路のいずれかに振り分けるパケット転送制御部と、
ハッシュ値毎のタイマーを有し、前記ハッシュ値生成部からハッシュ値を受信することにより、受信されたハッシュ値に対応する前記タイマーがリセットされ、及び、所定のハッシュ値を生成するパケットを一定期間受信しないことにより、該ハッシュ値の前記タイマーが予め定められた設定値に達すると、該ハッシュ値に対応する経路の割り当てを開放するための、該ハッシュ値を含む経路開放要求を出力する経路開放制御部と、
を備え、
前記テーブル制御部は、
前記経路開放制御部からのハッシュ値を含む経路開放要求に従い、前記経路選択テーブルに記憶された該ハッシュ値に対応する第1の経路情報を削除し又は経路が開放されたことを示す情報を第1の経路情報に記憶し、
所定のタイミングで、新たに割り当てられた振り分け先の経路を示す第2の経路情報を、前記経路選択テーブルの該ハッシュ値に対応して記憶する前記負荷分散装置が提供される。
受信されたパケットを複数の経路へ振り分けて負荷分散を行うための負荷分散装置であって、
受信したパケットのヘッダ情報又はパケットの属性を識別するための情報に基づき、予め定められた複数の識別子のひとつを選択する識別子生成部と、
前記識別子に対応して、予め割り当てられた振り分け先の経路を示す第1の経路情報が記憶される経路選択テーブルと、
前記識別子生成部により求められた前記識別子に基づき前記経路選択テーブルを参照して、対応する第1の経路情報を取得するテーブル制御部と、
取得された第1の経路情報に従い、パケットを前記複数の経路のいずれかに振り分けるパケット転送制御部と、
前記識別子毎のタイマーを有し、前記識別子生成部から前記識別子を受信することにより、受信された前記識別子に対応する前記タイマーがリセットされ、及び、所定の前記識別子を生成するパケットを一定期間受信しないことにより、該識別子の前記タイマーが予め定められた設定値に達すると、該識別子に対応する経路の割り当てを開放するための、該識別子を含む経路開放要求を出力する経路開放制御部と、
を備え、
前記テーブル制御部は、
前記経路開放制御部からの前記識別子を含む経路開放要求に従い、前記経路選択テーブルに記憶された該識別子に対応する第1の経路情報を削除し又は経路が開放されたことを示す情報を第1の経路情報に記憶し、
所定のタイミングで、新たに割り当てられた振り分け先の経路を示す第2の経路情報を、前記経路選択テーブルの該識別子に対応して記憶する前記負荷分散装置が提供される。
他のネットワーク装置と複数の経路を介して接続されるネットワーク装置であって、
上記負荷分散装置と、
前記複数の経路に対応する複数のバッファと
を備え、
受信された前記他のネットワーク装置へのパケットが、前記負荷分散装置により前記複数のバッファに振り分けられ、前記他のネットワーク装置へパケットが出力される前記ネットワーク装置が提供される。
本発明の第4の解決手段によると、
上記負荷分散装置と、
受信されたパケットが前記負荷分散装置により振り分けられる複数のバッファと、
前記バッファからパケットを入力して、該パケットをネットワークへ転送するための複数の転送エンジンと
を備えたネットワーク装置が提供される。
図1は、本実施の形態によるパケット通信装置のネットワーク構成の一例を示すものである。
ネットワーク装置A10は、例えば、ネットワーク装置B14−1、ネットワーク装置C14−2、ネットワーク装置D14−3に接続されている。特にネットワーク装置B14−1に対しては、複数の経路を介してマルチリンク接続されており、経路A、経路B、経路Cに対して負荷分散する例である。本実施の形態は、このネットワーク装置B14−1に対するマルチリンク接続に対する負荷分散を制御する。なお、接続されるネットワーク装置は、適宜の数でもよい。例えば、マルチリンク接続により、ネットワーク装置B14−1にのみ接続されていてもよい。
ネットワーク装置A10は、出力ポート選択制御部11、データ振り分け制御部12、データバッファ13−1〜データバッファ13−5、及び、テストパケット制御部15を備える。なお、ネットワーク装置A10は、パケットを入力する入力インタフェース部、パケットを出力する出力インタフェース部を適宜備えてもよい。
ネットワーク装置A10はパケットを受信すると、出力ポート選択制御部11にてパケットのヘッダー情報からネットワーク装置B14−1、ネットワーク装置C14−2、ネットワーク装置D14−3のどのネットワーク装置にパケットを転送するか判定する。例えば、パケットの転送先となる出力ポートを求める。ここで、データ振り分け制御部12で宛先が判別できるようにパケットに拡張ヘッダーを付加する。データ振り分け制御部12は拡張ヘッダーから宛先を決定し、それぞれのネットワーク装置への経路に対応するデータバッファ13−1〜5へパケットを転送する。パケットは、データバッファ13から適宜読み出されてネットワーク装置へ出力される。なお、データバッファ(第1のバッファ)13−1〜13−3からは、データバッファの情報(例えば負荷状態情報)がデータ振り分け制御部12に送られる。詳細は後述する。
データ振り分け制御部12は、例えば、負荷分散制御部(負荷分散装置)20と、宛先検索部(振り分け部)30と、パケット転送制御部C31、D32とを有する。また、負荷分散制御部20は、ハッシュ値生成制御部21と、経路選択テーブル22と、テーブル制御部23と、経路開放制御部24と、経路割り当て制御部25と、経路選択制御部26と、パケット転送制御部B27とを有する。経路開放制御部24は、ハッシュ値毎にタイマー90を有する。なお、タイマーは外部の適宜のタイマーを用いてもよい。また、負荷分散制御部20の出力先は、バッファ以外にも適宜の装置・構成であってもよい。
出力ポート選択制御部11から拡張ヘッダーを付加されたパケットを受信すると、宛先検索部30では拡張ヘッダーから宛先(出力ポート)を判定し、宛先に従いパケット転送制御部B27、パケット転送制御部C31、パケット転送制御部D32のいずれかにパケットを転送する。
パケット転送制御部C31、パケット転送制御部D32にパケットが転送されるとデータバッファ(第2のバッファ)13−4、13−5を介してネットワーク装置C14−2、ネットワーク装置D14−3にパケットが転送される。
パケット転送制御部B27にパケットが転送された場合、ネットワーク装置B14−1とはマルチリンク接続されている為、負荷分散制御部20で経路選択を行い、経路A、経路B、経路Cに対して負荷分散を行う。
まず、パケット転送制御部B27は、ハッシュ値生成制御部21にパケットのヘッダー情報を転送する。ハッシュ値生成制御部21は、ヘッダー情報に基づきハッシュ値を求め、テーブル制御部23及び経路開放制御部24に転送する。なお、ハッシュ値の求め方は、従来と同様の手法を用いることができる。例えば、パケットに含まれるIPアドレスやポート情報に基づきハッシュ値を求める。
経路選択テーブル22は、ハッシュ値に対応して、パケットの振り分け先経路情報(経路割り当て値)が予め記憶される。図8に、経路選択テーブル22の構成例を示す。
テーブル制御部23は、そのハッシュ値に対応した経路割り当て値(第1の経路情報)を経路選択テーブル22から読み出し、経路割り当て制御部25に知らせる。なお、この例では、経路割り当て値が「0」であれば経路割り宛てが開放中、「0」以外であれば経路割り当て済としている。
テーブル制御部23は、その経路値を経路選択テーブル22に書き込む。「0」以外であれば経路が既に割り当てられていると判断し、その経路値をパケット転送制御部B27に知らせる。
また、経路開放制御部24は、ハッシュ値ごとにタイマー90を備え、一定時間内にパケットを受信しなければテーブル制御部23にそのハッシュ値に対する経路値に「0」をライトする(記憶されている経路値を削除する)ように要求を出し、そのハッシュ値に対する経路割り当てを開放する。
ここで、上記一定時間とは、図1に示すようにネットワーク装置A10にパケットを入力して、そのパケットがネットワーク装置B14−1へ出力される期間又はそれ以上の期間とすることができる。こうすると、通信の途中でハッシュ値に対する経路の割り当てを変更しても、その装置内には前回送出したパケット(すくなくとも該ハッシュ値を生成するパケット)は存在しないので、パケットの追い越しは発生しない。ネットワーク装置A10は、その期間を計測する為のテストパケット制御部15を備えてもよい。なお、テストパケット制御部15は、負荷分散制御部20に含まれることもできる。
テストパケット制御部15は、上記タイマーの設定値を求める為に内部に計測タイマーを備え、テストパケットを出力ポート選択制御部11(又はネットワーク装置Aの入力端)に送信し、データバッファ13−1〜データバッファ13−3(又はネットワーク装置Aの出力端)から受信するまでの時間を計測する。なお、テストパケットには、予め定められたテストパケットであることを識別するための識別子等を付加することができる。テストパケット制御部15は、計測された時間をタイマー90に設定する。例えば、テストパケット制御部15は、定期的にテストパケットを送信して、タイマー90の値を定期的に設定・更新してもよい。また、複数回の計測値の平均を求め、又は、複数回の計測値のうち最も長い時間を求め、それらをタイマー90に設定してもよい。
図3、図4は、本実施の形態のネットワーク装置によるパケット転送の手順の説明図である。
ネットワーク装置A10は、他のネットワーク装置から送られたパケットを出力ポート選択制御部11で受信し、例えば、パケットの宛先に従いネットワーク装置に応じた出力ポートの割り当てを決定後、その情報をパケットに拡張ヘッダーとして付加する(ステップ11、以下S11のように略記する)。宛先検索部31では、その拡張ヘッダー情報をもとにネットワーク装置の割り当てを行う(S12)。例えば、宛先検索部31は、出力先のネットワーク装置に対応するパケット転送制御部27、31、32にパケットを転送する。
パケット転送制御部B27でなければパケット転送制御部C31又はパケット転送制御部D32にパケットが転送され、データバッファ13−4、13−5を介してネットワーク装置C14−2、ネットワーク装置D14−3にパケットを転送する(S14)。
次に、図4を参照して、負荷分散制御(S120)について説明する。
パケット転送制御部B27にパケットが転送されるとハッシュ値生成制御部21へパケットのヘッダー情報を転送し、ハッシュ値を生成する(S17)。そのハッシュ値をテーブル制御部23、経路開放制御部24に転送し、経路開放制御部24ではハッシュ値に対応したタイマー90をリセットする(S24)。テーブル制御部23は、そのハッシュ値に対応した経路値を経路選択テーブル22から読み出す(S18)。読み出した経路値を経路割り当て制御部25に転送し、「0」であるか判定する(S19)。「0」以外であればその値をパケット転送制御部B27へ転送する(S21)。「0」であれば経路選択制御部26から転送された経路値をパケット転送制御部B27、テーブル制御部23へ転送する(S20)。
パケット転送制御部B27は、転送された経路値に従い、データバッファ13−1〜13−3にパケットを転送する(S22)。
ハッシュ値に対応したタイマー90が設定された値になると、テーブル制御部23にそのハッシュ値に対する経路値に「0」をライトするように要求を出す(S25)。S25、S20で転送した経路値を経路選択テーブルにライトする(S26)。
図5は、経路選択制御部26における経路選択処理の説明図である。
経路Aのデータバッファ13−1、経路Bのデータバッファ13−2、経路Cのデータバッファ13−3があり、図に示す網掛け部はパケットが溜まっている状態を示している。このケースを例として説明する。
それぞれのデータバッファにどれだけパケットが溜まっているか判定する為に、例えば、閾値1〜閾値4の4つの閾値を予め設定する。それらの閾値とデータバッファに溜まったパケットの数を比較して、データバッファにおけるパケットの溜まり具合を領域(ランク)1−領域5に分割して判定している。なお、閾値の数及び分割する領域数は適宜の数を用いることができる。また、パケットの数以外にも、パケットのサイズの合計など、適宜の負荷状態であってもよい。
図に示す状態では経路Cのデータバッファ13−3は領域4まで溜まっており、経路Aのデータバッファ13−1、経路Bのデータバッファ13−2は領域2まで溜まっている。次の経路を選択する候補は、パケット数などが小さい経路Aのデータバッファ13−1、経路Bのデータバッファ13−2のどちらかである。どちらも同じ領域2になる為、これを選択する方法は、例えば、ラウンドロビン方式を用いることができる。ラウンドロビン方式は一例であり、上記以外の方式として経路ごとに閾値を変更し、優先度を持った振り分け方式としても良い。
図に示すように経路開放制御部24にはハッシュ値に対応したタイマー90をそれぞれ備える。このタイマー90が、設定された値、例えばテストパケット制御部15で計測した値(ここでは例えば「6」としている)になると、一定時間パケット転送要求がないと判断し、経路開放要求を出す。例えば、ハッシュ値に対する経路の割り当てを開放する為、そのハッシュ値に対する経路値に「0」をライトするように要求を出す。テーブル制御部23は、経路選択テーブル22にそのハッシュ値に対応した経路値を削除して、「0」を記憶する(上書きする)。タイマー90のリセットはハッシュ値生成制御部21からハッシュ値を受け付けると、そのハッシュ値に対応したタイマー90をリセットする。
上記一定時間とは図1に示すようにテストパケット制御部15から出力ポート選択制御部11にパケットを入力してそのパケットがデータバッファ13−1〜データバッファ13−3から出力される期間とすれば、通信の途中でハッシュ値に対する経路の割り当てを変更してもその装置内には前回送出したパケットは存在しないのでパケットの追い越しは発生しない。
図7は、経路開放制御部24におけるハッシュ値「0」に対する経路割り当て開放処理の説明図である。
この例では、4個のパケット80−1〜4は、ハッシュ値生成制御部21ですべてハッシュ値「0」が生成されるとする。また、ハッシュ値「0」に対する割り当て経路は「3」が予め割り当てられて経路選択テーブルに記憶されている(図8(a)参照)。ハッシュ値「0」に対するタイマーの経路開放値(設定値)は、例えば「6」である。図に示すような間隔で4個のパケットを受信したケースを例として説明する。
パケット80−1に対するハッシュ値「0」をハッシュ値生成制御部21から受け付けると、ハッシュ値「0」に対応するタイマー90−0をリセットする(例えば、「0」にする)。
パケット80−2、パケット80−3のハッシュ値を受け付けるごとに、ハッシュ値「0」のタイマー90−0を「0」にしていく。ハッシュ値「0」のタイマー90−0の値が、設定値「6」にならない間隔でパケット80−1〜パケット80−3のハッシュ値をハッシュ値生成制御部21から受け付けたので、割り当て経路は「3」のままである。従ってパケット80−1〜パケット80−3は、予め定められた割り当て経路「3」に対応するバッファ13−3に送信される(図8(a)の経路選択テーブルT90−1の状態)。
ここで、パケット80−4のハッシュ値を受け付けると、ハッシュ値「0」のタイマー90を「0」にする。図8(b)に示すように、ハッシュ値の「0」の割り当て経路は「0」の為、経路割り当て制御部25により、経路が再割り当てされる。ここでは割り当て経路は「2」が割り当てられたとする(図8(c)の経路選択テーブルT90−3の状態)。パケット80−4は、割り当て経路「2」に対応するバッファ13−2に送信される。なお、経路の割り当てのタイミングは、上述のように同じハッシュ値を生成するパケットを受信したときの他、経路開放時に割り当てられてもよい。
図9〜図11は、テーブル制御部23における処理の説明図である。
テーブル制御部21が、ハッシュ値生成制御部21からハッシュ値を受け付けると経路選択テーブル22からそのハッシュ値に対応した経路値を読み出し、経路割り当て制御部25に送信する処理(以下処理1のように略記する)と、テーブル制御部21が経路開放制御部24から経路開放要求を受け付け、経路選択テーブル22のハッシュ値に対応した経路を開放する処理(以下処理2のように略記する)と、経路選択テーブル22から読み出された経路値が「0」であることにより、経路割り当て制御部25から新たな経路値を受け付けると経路選択テーブル22にライトする処理(以下処理3のように略記する)の3つの処理のタイミングを考える。
図9、図10は、処理1と処理2がぶつかるケースを示している。
図9は、処理2を実行中に処理1が実行されたケースの説明図である。
この時のテーブル制御部23の動作は、処理2で処理1のハッシュ値に対する経路値を「0」に設定中の為、処理1は経路選択テーブル22からの読み出しは行わずに、経路割り当て制御部25に「0」を送信する。その結果、新たな経路値が割り当てられ、その経路値に従いパケットが振り分けられる。
図10は、処理1を実行中に処理2が実行されたケースである。
この時のテーブル制御部23の動作は、処理1のハッシュ値に対する経路値を経路選択テーブル22から読み出し、経路割り当て制御部25にその経路値を送信しようとしたが処理2とぶつかった為、経路割り当て制御部25に「0」を送信し、経路選択テーブル22のハッシュ値に対する経路値を「0」に設定する。
処理1と平行して、処理1−1(タイマーリセット処理)も実行しているが、例えば、処理1−1でタイマー90をリセットする前にタイマーが設定値(例えば、「6」)になり、処理2の実行が開始されたケースでは、処理1を実行した後に処理2を実行するケースが発生することがある。このため、経路割り当て制御部25に送信した経路値(第1の値)と経路選択テーブル22のハッシュ値に対する経路値(第2の値)が異なってしまう。
これを回避する為、図11に示す時間A〜Cについて、「処理1の時間A>処理1−1の時間B+処理2の時間C」の関係を守る。処理1の時間A(第1時間)とは、ハッシュ値生成制御部21がハッシュ値を送信し、テーブル制御部23で経路選択テーブル22からそのハッシュ値に対する経路値を読み出し、経路割り当て制御部25に送信するまでの時間である。処理1−1の時間B(第2時間)とは、ハッシュ値生成制御部21がハッシュ値を送信し、経路開放制御部24でそのハッシュ値に対応するタイマーをリセットするまでの時間である。処理2の時間C(第3時間)とは、経路開放制御部24でタイマーが設定値になり経路開放要求をテーブル制御部23で受け付けるまでの時間である。
上記で示した関係を守るには、例えば、テーブル制御部23内にハッシュ値生成制御部21からのハッシュ値を所定時間バッファする機能(例えば、バッファ)を備えることによって処理1と処理2が必ずぶつかることになり、パケットの追い越しは発生しない。
次にネットワーク装置内でのマルチリンク接続における負荷分散方法について説明する。
図11は、負荷分散装置の適用例としてのネットワーク装置110の概略構成を示す説明図である。上述のように、他のネットワーク装置とマルチリンク接続されるネットワーク装置以外にも、例えば、自装置内のブロックに対して負荷分散するものにも適用できる。例えば、複数のパケット転送エンジンを有するルータなどのネットワーク装置に適用することもできる。
本例のネットワーク装置110は、ルータ機能を備えたパケット検索転送エンジンA111−1、パケット検索転送エンジンB111−2、パケット検索転送エンジンC111−3に対してマルチリンク接続されており、経路A、経路B、経路Cに対して負荷分散が必要な例である。本例は、このマルチリンク接続に対する負荷分散を制御するものであり、負荷分散制御部20、テストパケット制御部15は上述の機能と同じである。
上述の実施の形態では、ハッシュ値を用いて説明したが、ハッシュ値以外でもよい。例えば、ハッシュ値生成制御部(識別子生成部)は、受信したパケットのヘッダー情報又はパケットの属性を識別するための情報に基づき、予め定められた複数の識別子のひとつを選択するようにしてもよい。また、経路選択テーブル22や、他の制御部による処理についても、ハッシュ値の変わりに上記識別子を用いればよく、処理の詳細は同様である。
11 出力ポート選択制御部
12 データ振り分け制御部
13 データバッファ
14−1 ネットワーク装置B
14−2 ネットワーク装置C
14−3 ネットワーク装置D
15 テストパケット制御部15
20 負荷分散制御部
21 ハッシュ値生成制御部
22 経路選択テーブル
23 テーブル制御部
24 経路開放制御部
25 経路割り当て制御部
26 経路選択制御部
27 パケット転送制御部B
30 宛先検索部
31 パケット転送制御部C
32 パケット転送制御部D
80 パケット
90 ハッシュ値「0」のタイマー
T90 経路選択テーブル
110 ネットワーク装置
111 パケット検索転送エンジン
Claims (15)
- 受信されたパケットを複数の経路へ振り分けて負荷分散を行うための負荷分散装置であって、
受信したパケットのヘッダー情報又はパケットの属性を識別するための情報に基づき、ハッシュ値を求めるハッシュ値生成部と、
ハッシュ値に対応して、予め割り当てられた振り分け先の経路を示す第1の経路情報が記憶される経路選択テーブルと、
前記ハッシュ値生成部により求められたハッシュ値に基づき前記経路選択テーブルを参照して、対応する第1の経路情報を取得するテーブル制御部と、
取得された第1の経路情報に従い、パケットを前記複数の経路のいずれかに振り分けるパケット転送制御部と、
ハッシュ値毎のタイマーを有し、前記ハッシュ値生成部からハッシュ値を受信することにより、受信されたハッシュ値に対応する前記タイマーがリセットされ、及び、所定のハッシュ値を生成するパケットを一定期間受信しないことにより、該ハッシュ値の前記タイマーが予め定められた設定値に達すると、該ハッシュ値に対応する経路の割り当てを開放するための、該ハッシュ値を含む経路開放要求を出力する経路開放制御部と、
を備え、
前記テーブル制御部は、
前記経路開放制御部からのハッシュ値を含む経路開放要求に従い、前記経路選択テーブルに記憶された該ハッシュ値に対応する第1の経路情報を削除し又は経路が開放されたことを示す情報を第1の経路情報に記憶し、
所定のタイミングで、新たに割り当てられた振り分け先の経路を示す第2の経路情報を、前記経路選択テーブルの該ハッシュ値に対応して記憶する前記負荷分散装置。 - 前記タイマーに設定される前記設定値は、前記負荷分散装置を備えたネットワーク装置にパケットが入力されてから、該パケットが該ネットワーク装置から出力されるまでの時間、又は、それ以上の時間である請求項1に記載の負荷分散装置。
- テストパケットを前記ネットワーク装置の入力端に送信し、及び、該ネットワーク装置の出力端から該テストパケットを受信して、該テストパケットを送信してから受信されるまでの時間を計測し、計測された時間又はそれ以上の時間を前記タイマーに設定するテストパケット制御部
をさらに備えた請求項2に記載の負荷分散装置。 - パケットの振り分け先の負荷状態に基づいて振り分け先の経路を選択し、該振り分け先の経路を示す第2の経路情報を出力する経路選択制御部
をさらに備え、
前記テーブル制御部は、前記経路選択制御部により出力された第2の経路情報を、前記経路選択テーブルに記憶する請求項1に記載の負荷分散装置。 - 前記パケット転送制御部によるパケットの振り分け先は、複数のバッファであり、
前記経路選択制御部は、各バッファに存在するパケットの数又はパケットの合計サイズに基づき、パケットの数又はパケットの合計サイズが小さいバッファを振り分け先の経路として選択する請求項4に記載の負荷分散装置。 - 前記パケット転送制御部によるパケットの振り分け先は、複数のバッファであり、
前記経路選択制御部は、各バッファに存在するパケットの数又はパケットの合計サイズと、予め定められた複数の閾値とに基づき、各バッファを該複数の閾値により定まる複数のランクに分け、パケットの数又はパケットの合計サイズが少ないランクのバッファのひとつを振り分け先の経路として選択する請求項4に記載の負荷分散装置。 - 前記経路選択制御部は、
同じランクの前記バッファが複数ある場合には、ラウンドロビン方式を用いて前記バッファをひとつ選択する請求項6に記載の負荷分散装置。 - 前記所定のタイミングは、
該ハッシュ値を生成するパケットを新たに受信したタイミングである請求項1に記載の負荷分散装置。 - 前記テーブル制御部が、前記ハッシュ値生成制御部からハッシュ値を入力して、前記経路選択テーブルから該ハッシュ値に対応した第1の経路情報を読み出し、出力する第1処理と、
前記テーブル制御部が、前記経路開放制御部から経路開放要求を入力して、前記経路選択テーブルのハッシュ値に対応した第1の経路情報を削除する第2処理とついて、
前記第2処理を実行中に前記第1処理が実行された場合、前記経路選択制御部からの第2の経路情報に従いパケットが振り分けられる請求項4に記載の負荷分散装置。 - 前記テーブル制御部が、前記ハッシュ値生成制御部からハッシュ値を入力して、前記経路選択テーブルから該ハッシュ値に対応した第1の経路情報を読み出し、出力する第1処理と、
前記テーブル制御部が、前記経路開放制御部から経路開放要求を入力して、前記経路選択テーブルのハッシュ値に対応した第1の経路情報を削除する第2処理について、
前記第1処理を実行中に前記第2処理が実行された場合、前記経路選択テーブルのハッシュ値に対す第1の経路情報を削除し、及び、前記経路選択制御部からの第2の経路情報に従いパケットが振り分けられる請求項4に記載の負荷分散装置。 - 前記テーブル制御部は、前記ハッシュ値生成制御部からのハッシュ値を所定時間バッファリングする第2のバッファ
を有し、
前記ハッシュ値生成制御部がハッシュ値を送信してから、前記テーブル制御部で経路選択テーブルからそのハッシュ値に対する第1の経路情報が読み出されて、出力されるまでの第1時間と、
前記ハッシュ値生成制御部がハッシュ値を送信してから、前記経路開放制御部でそのハッシュ値に対応する前記タイマーをリセットするまでの第2時間と、
前記経路開放制御部で前記タイマーが前記設定値になってから、経路開放要求を前記テーブル制御部が入力するまでの第3時間とについて、
前記第1時間が、前記第2時間と前記第3時間の和より大きくなるように、受信されたハッシュ値を前記第2のバッファで所定時間バッファする請求項4に記載の負荷分散装置。 - 受信されたパケットを複数の経路へ振り分けて負荷分散を行うための負荷分散装置であって、
受信したパケットのヘッダー情報又はパケットの属性を識別するための情報に基づき、予め定められた複数の識別子のひとつを選択する識別子生成部と、
前記識別子に対応して、予め割り当てられた振り分け先の経路を示す第1の経路情報が記憶される経路選択テーブルと、
前記識別子生成部により求められた前記識別子に基づき前記経路選択テーブルを参照して、対応する第1の経路情報を取得するテーブル制御部と、
取得された第1の経路情報に従い、パケットを前記複数の経路のいずれかに振り分けるパケット転送制御部と、
前記識別子毎のタイマーを有し、前記識別子生成部から前記識別子を受信することにより、受信された前記識別子に対応する前記タイマーがリセットされ、及び、所定の前記識別子を生成するパケットを一定期間受信しないことにより、該識別子の前記タイマーが予め定められた設定値に達すると、該識別子に対応する経路の割り当てを開放するための、該識別子を含む経路開放要求を出力する経路開放制御部と、
を備え、
前記テーブル制御部は、
前記経路開放制御部からの前記識別子を含む経路開放要求に従い、前記経路選択テーブルに記憶された該識別子に対応する第1の経路情報を削除し又は経路が開放されたことを示す情報を第1の経路情報に記憶し、
所定のタイミングで、新たに割り当てられた振り分け先の経路を示す第2の経路情報を、前記経路選択テーブルの該識別子に対応して記憶する前記負荷分散装置。 - 他のネットワーク装置と複数の経路を介して接続されるネットワーク装置であって、
請求項1又は12に記載の負荷分散装置と、
前記複数の経路に対応する複数のバッファと
を備え、
受信された前記他のネットワーク装置へのパケットが、前記負荷分散装置により前記複数のバッファに振り分けられ、前記他のネットワーク装置へパケットが出力される前記ネットワーク装置。 - 第2のネットワーク装置と第2経路を介してさらに接続され、
前記第2経路に対応した第2のバッファと、
受信されたパケットの宛先に従い、出力ポート情報を選択する出力ポート選択制御部と、
選択された出力ポート情報に従い、パケットを前記負荷分散装置及び前記第2のバッファに振り分ける振り分け部と
をさらに備えた請求項13に記載のネットワーク装置。 - 請求項1又は12に記載の負荷分散装置と、
受信されたパケットが前記負荷分散装置により振り分けられる複数のバッファと、
前記バッファからパケットを入力して、該パケットをネットワークへ転送するための複数の転送エンジンと
を備えたネットワーク装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007105045A JP4771988B2 (ja) | 2007-04-12 | 2007-04-12 | 負荷分散装置及びネットワーク装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007105045A JP4771988B2 (ja) | 2007-04-12 | 2007-04-12 | 負荷分散装置及びネットワーク装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008263436A true JP2008263436A (ja) | 2008-10-30 |
JP4771988B2 JP4771988B2 (ja) | 2011-09-14 |
Family
ID=39985597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007105045A Expired - Fee Related JP4771988B2 (ja) | 2007-04-12 | 2007-04-12 | 負荷分散装置及びネットワーク装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4771988B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010154128A (ja) * | 2008-12-24 | 2010-07-08 | Nippon Telegr & Teleph Corp <Ntt> | マルチリンク試験装置、マルチリンク試験システム、マルチリンク試験方法およびそのプログラム |
JP2010161546A (ja) * | 2009-01-07 | 2010-07-22 | Hitachi Ltd | ネットワーク中継装置およびパケット振り分け方法 |
WO2012090351A1 (en) * | 2010-12-27 | 2012-07-05 | Nec Corporation | Mapping server, network system, packet forwarding method and program |
JP2012205048A (ja) * | 2011-03-25 | 2012-10-22 | Nec Corp | パケット伝送装置、パケット伝送方法、及びコンピュータプログラム |
US8572342B2 (en) | 2010-06-01 | 2013-10-29 | Hitachi, Ltd. | Data transfer device with confirmation of write completion and method of controlling the same |
JP2014183476A (ja) * | 2013-03-19 | 2014-09-29 | Mitsubishi Electric Corp | 通信装置およびフレーム分配方法 |
GB2521773A (en) * | 2013-12-23 | 2015-07-01 | Bae Systems Plc | Data capture |
JP2017139597A (ja) * | 2016-02-03 | 2017-08-10 | 日本電信電話株式会社 | ネットワーク負荷分散装置および方法 |
US10122609B2 (en) | 2013-12-23 | 2018-11-06 | Bae Systems Plc | Data capture |
CN110109915A (zh) * | 2018-01-18 | 2019-08-09 | 伊姆西Ip控股有限责任公司 | 用于管理哈希表的方法、设备和计算机程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005252766A (ja) * | 2004-03-05 | 2005-09-15 | Fujitsu Ltd | 伝送装置 |
JP2006074122A (ja) * | 2004-08-31 | 2006-03-16 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送装置 |
-
2007
- 2007-04-12 JP JP2007105045A patent/JP4771988B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005252766A (ja) * | 2004-03-05 | 2005-09-15 | Fujitsu Ltd | 伝送装置 |
JP2006074122A (ja) * | 2004-08-31 | 2006-03-16 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010154128A (ja) * | 2008-12-24 | 2010-07-08 | Nippon Telegr & Teleph Corp <Ntt> | マルチリンク試験装置、マルチリンク試験システム、マルチリンク試験方法およびそのプログラム |
JP2010161546A (ja) * | 2009-01-07 | 2010-07-22 | Hitachi Ltd | ネットワーク中継装置およびパケット振り分け方法 |
US8572342B2 (en) | 2010-06-01 | 2013-10-29 | Hitachi, Ltd. | Data transfer device with confirmation of write completion and method of controlling the same |
US9391887B2 (en) | 2010-12-27 | 2016-07-12 | Nec Corporation | Mapping server, network system, packet forwarding method and program |
WO2012090351A1 (en) * | 2010-12-27 | 2012-07-05 | Nec Corporation | Mapping server, network system, packet forwarding method and program |
JP2014504812A (ja) * | 2010-12-27 | 2014-02-24 | 日本電気株式会社 | マッピングサーバ装置、ネットワークシステム、パケット転送方法およびプログラム |
JP2012205048A (ja) * | 2011-03-25 | 2012-10-22 | Nec Corp | パケット伝送装置、パケット伝送方法、及びコンピュータプログラム |
JP2014183476A (ja) * | 2013-03-19 | 2014-09-29 | Mitsubishi Electric Corp | 通信装置およびフレーム分配方法 |
GB2521773A (en) * | 2013-12-23 | 2015-07-01 | Bae Systems Plc | Data capture |
GB2521773B (en) * | 2013-12-23 | 2017-03-15 | Bae Systems Plc | Data capture |
US10122609B2 (en) | 2013-12-23 | 2018-11-06 | Bae Systems Plc | Data capture |
EP3087700B1 (en) * | 2013-12-23 | 2020-08-26 | BAE Systems PLC | Data capture |
JP2017139597A (ja) * | 2016-02-03 | 2017-08-10 | 日本電信電話株式会社 | ネットワーク負荷分散装置および方法 |
CN110109915A (zh) * | 2018-01-18 | 2019-08-09 | 伊姆西Ip控股有限责任公司 | 用于管理哈希表的方法、设备和计算机程序产品 |
CN110109915B (zh) * | 2018-01-18 | 2024-01-05 | 伊姆西Ip控股有限责任公司 | 用于管理哈希表的方法、设备和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
JP4771988B2 (ja) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4771988B2 (ja) | 負荷分散装置及びネットワーク装置 | |
Hong et al. | Finishing flows quickly with preemptive scheduling | |
KR101494561B1 (ko) | 라우터에서 트래픽을 관리하는 기법 | |
EP2874116A1 (en) | Communication method between content requester and content provider for providing content and real-time streaming content in content name-based content centric network | |
CN107454017B (zh) | 一种云数据中心网络中混合数据流协同调度方法 | |
WO2009073312A2 (en) | Network bandwidth detection, distribution and traffic prioritization | |
JPWO2014103144A1 (ja) | インタフェース装置、およびメモリバスシステム | |
US10701002B1 (en) | System and method for memory deallocation | |
EP4044525B1 (en) | Data transmission method and apparatus | |
DK2460317T3 (en) | System and method for identifying multiple paths between network nodes | |
JP6351363B2 (ja) | 通信装置およびそのデータ処理方法 | |
KR20210130766A (ko) | 메모리 관리 방법 및 장치 | |
JP2013047920A (ja) | データ処理システム、データ中継装置およびライブマイグレーション方法 | |
US11310164B1 (en) | Method and apparatus for resource allocation | |
JPWO2014155617A1 (ja) | 通信装置、通信方法、及び通信プログラム | |
JP5704567B2 (ja) | ノード装置、システム、及び、パケット処理方法 | |
JP5673057B2 (ja) | 輻輳制御プログラム、情報処理装置および輻輳制御方法 | |
WO2022057131A1 (zh) | 数据拥塞处理方法、装置、计算机设备和存储介质 | |
JP2008060700A (ja) | バッファ制御装置及びバッファ制御方法 | |
CN109547352A (zh) | 报文缓存队列的动态分配方法和装置 | |
KR101541168B1 (ko) | 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법 | |
JP6144559B2 (ja) | 並列分散管理装置、プログラム及び並列分散処理システム | |
KR20010038486A (ko) | 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법 | |
US20170063725A1 (en) | Control method, control device, and storage medium | |
JP2005210385A (ja) | 他装置とのバッファ共有方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110428 |
|
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: 20110524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110621 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140701 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4771988 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |