JP2010199643A - パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム - Google Patents
パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム Download PDFInfo
- Publication number
- JP2010199643A JP2010199643A JP2009038700A JP2009038700A JP2010199643A JP 2010199643 A JP2010199643 A JP 2010199643A JP 2009038700 A JP2009038700 A JP 2009038700A JP 2009038700 A JP2009038700 A JP 2009038700A JP 2010199643 A JP2010199643 A JP 2010199643A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- packet
- hash value
- transfer
- flag
- 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
【解決手段】パケット処理手段(たとえば、コア231 ,232 ,…,23n )により、後に到着したパケットの処理が、先に到着したパケットの処理よりも早く終了した場合、後に到着したパケットの処理が終了した後に、記憶手段(たとえば、共有テーブル30)に記憶されている処理番号、処理フラグ及びハッシュ値に基づいて、同一のハッシュ値を有するパケットの処理を行っているコアが存在するか否かが確認され、存在しない場合は、処理済みのパケットが出力側(たとえば、出力処理部24)に転送される一方、存在する場合は、処理が終了するまで処理済みのパケットの転送を待ち合わせる。
【選択図】図1
Description
このマルチリンク型ルータでは、ルータにルーティングを行う必要のあるパケットが入ってきたとき、ヘッダ情報の1つ又は複数が抽出され、抽出されたヘッダ情報をキーとしてハッシュ計算などが行われ、ハッシュ値に対応するインタフェースにパケットが出力される。このため、抽出されたヘッダ情報が同一であるパケットの出力インタフェースは常に同一となり、パケットの順序逆転が起こることがない。また、ハッシュ計算式として、流量の多いパケットに帯域の広い経路が割り当てられるような関数を用いることにより、負荷分散を図ることが可能となる。
すなわち、特許文献1に記載されたマルチリンク型ルータでは、処理を行う前にハッシュ値を計算することで、出力インタフェースを固定にすることができるが、処理を行う前にハッシュ値に基づいて振り分ける方法では、振り分け先が偏るという問題点があり、効率的な資源の利用が行われない。
この形態のパケット処理装置1は、同図に示すように、入力インタフェース11,12,13と、CPU20と、共有テーブル30と、出力インタフェース41,42,43とから構成されている。CPU20は、パケット処理順序制御プログラムに基づいて動作するコンピュータで構成され、入力処理部21と、振り分け処理部22と、コア231 ,232 ,…,23n と、出力処理部24とから構成されている。入力インタフェース11,12,13は、たとえばイーサネット(登録商標)などに対応した光信号などのパケットを外部から受信して電気信号に変換し、入力処理部21へ送出する。入力処理部21は、入力インタフェース11,12,13からパケットを受け取り、振り分け処理部22に転送する。
この共有テーブル30は、同図2に示すように、処理番号a、処理フラグb及びハッシュ値cが先頭から生成順に記憶されると共に、処理済みのパケットに対応する処理番号a、処理フラグb及びハッシュ値cが消去されるようになっている。
この図を参照して、この形態のパケット処理装置に用いられるパケット処理順序制御方法の処理内容について説明する。
このパケット処理装置では、コア231 ,232 ,…,23n により、当該コアを表す処理番号、パケット処理の実行中か否かを表す処理フラグ、及び、処理中のパケットのデータ(たとえば、へッダ情報)に基づくハッシュ値が生成される。処理番号、処理フラグ及びハッシュ値は、共有テーブル30に先頭から生成順に記憶される(記憶処理)。また、処理済みのパケットに対応する処理番号、処理フラグ及びハッシュ値は、消去される。振り分け処理部22により、共有テーブル30に記憶されている処理番号及び処理フラグに基づいて、コア231 ,232 ,…,23n のうちのパケット処理を実行していないコアが判定され、判定されたコアに、与えられたパケットが振り分けられて転送される(振り分け処理)。
この場合、コア231 ,232 ,…,23n は、共有テーブル30に記憶されている処理番号、処理フラグ及びハッシュ値が消去されるまで、処理済みのパケットの転送を待ち合わせる。
たとえば、上記実施形態では、パケットのヘッダ情報に基づいてハッシュ値が計算されるが、同ハッシュ値は、パケットに含まれる送信先/送信元アドレス、プロトコル番号及び送信先/送信元ポート番号に基づいて計算しても良い。また、図1中の入力インタフェース11,12,13及び出力インタフェース41,42,43は、それぞれ3系統になっているが、この数に限定されない。
21 入力処理部(CPUの一部)
22 振り分け処理部(振り分け処理手段)
231 ,232 ,…,23n コア(パケット転送処理手段)
24 出力処理部(CPUの一部)
30 共有テーブル(記憶手段)
a 処理番号
b 処理フラグ
c ハッシュ値
Claims (11)
- 与えられたパケットを送信先へ転送するパケット処理を分散して行うための複数のパケット転送処理手段を有するパケット処理装置であって、
前記各パケット転送処理手段は、
当該パケット転送処理手段を表す処理番号、パケット処理の実行中か否かを表す処理フラグ、及び、処理中のパケットに含まれるデータに基づくハッシュ値を生成する構成とされ、
前記各パケット転送処理手段で生成された前記処理番号、処理フラグ及びハッシュ値を記憶する記憶手段と、
該記憶手段に記憶されている前記処理番号及び処理フラグに基づいて、前記各パケット転送処理手段のうちのパケット処理を実行していないパケット転送処理手段を判定し、該判定されたパケット転送処理手段に、与えられたパケットを振り分けて転送する振り分け処理手段とが設けられていることを特徴とするパケット処理装置。 - 前記記憶手段は、
前記各パケット転送処理手段で生成された前記処理番号、処理フラグ及びハッシュ値を、生成順に記憶する構成とされ、
前記各パケット転送処理手段は、
後に到着したパケットの処理が、先に到着したパケットの処理よりも早く終了した場合、後に到着したパケットの処理が終了した後に、前記記憶手段に記憶されている前記処理番号、処理フラグ及びハッシュ値に基づいて、同一のハッシュ値を有するパケットの処理を行っているパケット転送処理手段が存在するか否かを確認し、存在しない場合は処理済みのパケットを出力側に転送する一方、存在する場合は処理が終了するまで処理済みのパケットの転送を待ち合わせる構成とされていることを特徴とする請求項1記載のパケット処理装置。 - 前記記憶手段は、
前記各パケット転送処理手段に共有され、前記処理番号、処理フラグ及びハッシュ値を、先頭から生成順に記憶すると共に、処理済みのパケットに対応する前記処理番号、処理フラグ及びハッシュ値を消去する共有テーブルで構成されていることを特徴とする請求項1又は2記載のパケット処理装置。 - 前記各パケット転送処理手段は、
同一のハッシュ値を有するパケットの処理を行っているパケット転送処理手段が存在する場合、前記記憶手段に記憶されている前記処理番号、処理フラグ及びハッシュ値が消去されるまで、処理済みのパケットの転送を待ち合わせる構成とされていることを特徴とする請求項3記載のパケット処理装置。 - 前記各パケット転送処理手段は、
前記ハッシュ値を、当該パケットに含まれるへッダ情報に基づいて生成する構成とされていることを特徴とする請求項1、2、3又は4記載のパケット処理装置。 - 与えられたパケットを送信先へ転送するパケット処理を分散して行うための複数のパケット転送処理手段を有するパケット処理装置に用いられるパケット処理順序制御方法であって、
前記各パケット転送処理手段が、当該パケット転送処理手段を表す処理番号、パケット処理の実行中か否かを表す処理フラグ、及び、処理中のパケットに含まれるデータに基づくハッシュ値を生成し、
記憶手段が、前記各パケット転送処理手段で生成された前記処理番号、処理フラグ及びハッシュ値を記憶する記憶処理と、
振り分け処理手段が、前記記憶手段に記憶されている前記処理番号及び処理フラグに基づいて、前記各パケット転送処理手段のうちのパケット処理を実行していないパケット転送処理手段を判定し、該判定されたパケット転送処理手段に、与えられたパケットを振り分けて転送する振り分け処理とを行うことを特徴とするパケット処理順序制御方法。 - 前記記憶処理では、
前記記憶手段が、前記各パケット転送処理手段で生成された前記処理番号、処理フラグ及びハッシュ値を生成順に記憶し、
前記各パケット転送処理手段が、後に到着したパケットの処理が、先に到着したパケットの処理よりも早く終了した場合、後に到着したパケットの処理が終了した後に、前記記憶手段に記憶されている前記処理番号、処理フラグ及びハッシュ値に基づいて、同一のハッシュ値を有するパケットの処理を行っているパケット転送処理手段が存在するか否かを確認し、存在しない場合は処理済みのパケットを出力側に転送する一方、存在する場合は処理が終了するまで処理済みのパケットの転送を待ち合わせることを特徴とする請求項6記載のパケット処理順序制御方法。 - 前記記憶処理では、
前記記憶手段が、前記各パケット転送処理手段に共有され、前記処理番号、処理フラグ及びハッシュ値を、先頭から生成順に記憶すると共に、処理済みのパケットに対応する前記処理番号、処理フラグ及びハッシュ値を消去することを特徴とする請求項6又は7記載のパケット処理順序制御方法。 - 前記各パケット転送処理手段が、同一のハッシュ値を有するパケットの処理を行っているパケット転送処理手段が存在する場合、前記記憶手段に記憶されている前記処理番号、処理フラグ及びハッシュ値が消去されるまで、処理済みのパケットの転送を待ち合わせることを特徴とする請求項8記載のパケット処理順序制御方法。
- 前記各パケット転送処理手段が、前記ハッシュ値を、当該パケットに含まれるへッダ情報に基づいて生成することを特徴とする請求項6、7、8又は9記載のパケット処理順序制御方法。
- コンピュータを請求項1乃至5のいずれか一に記載のパケット処理装置として機能させるためのコンピュータ読み取り可能なパケット処理順序制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009038700A JP5359357B2 (ja) | 2009-02-20 | 2009-02-20 | パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009038700A JP5359357B2 (ja) | 2009-02-20 | 2009-02-20 | パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010199643A true JP2010199643A (ja) | 2010-09-09 |
JP5359357B2 JP5359357B2 (ja) | 2013-12-04 |
Family
ID=42823956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009038700A Expired - Fee Related JP5359357B2 (ja) | 2009-02-20 | 2009-02-20 | パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5359357B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011024209A (ja) * | 2009-07-14 | 2011-02-03 | Ixia | セッションアクティブチェッカを有する並列パケットプロセッサ |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11234331A (ja) * | 1998-02-19 | 1999-08-27 | Matsushita Electric Ind Co Ltd | パケット並列処理装置 |
JP2001144801A (ja) * | 1999-11-10 | 2001-05-25 | Fujitsu Ltd | ヘッダ変換装置およびフレーム転送装置 |
JP2003078557A (ja) * | 2001-09-04 | 2003-03-14 | Nec Corp | パケット処理装置及び順序制御方法 |
JP2003188936A (ja) * | 2001-12-19 | 2003-07-04 | Nec Corp | パケット処理装置とそのパケット転送方法 |
JP2008512950A (ja) * | 2004-09-10 | 2008-04-24 | カビウム・ネットワークス | パケットのキューイング、スケジューリングおよび順序づけ |
JP2008236653A (ja) * | 2007-03-23 | 2008-10-02 | Nec Corp | パケット転送順序保障方法、パケット転送順序保障装置及びパケット転送順序保障プログラム |
-
2009
- 2009-02-20 JP JP2009038700A patent/JP5359357B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11234331A (ja) * | 1998-02-19 | 1999-08-27 | Matsushita Electric Ind Co Ltd | パケット並列処理装置 |
JP2001144801A (ja) * | 1999-11-10 | 2001-05-25 | Fujitsu Ltd | ヘッダ変換装置およびフレーム転送装置 |
JP2003078557A (ja) * | 2001-09-04 | 2003-03-14 | Nec Corp | パケット処理装置及び順序制御方法 |
JP2003188936A (ja) * | 2001-12-19 | 2003-07-04 | Nec Corp | パケット処理装置とそのパケット転送方法 |
JP2008512950A (ja) * | 2004-09-10 | 2008-04-24 | カビウム・ネットワークス | パケットのキューイング、スケジューリングおよび順序づけ |
JP2008236653A (ja) * | 2007-03-23 | 2008-10-02 | Nec Corp | パケット転送順序保障方法、パケット転送順序保障装置及びパケット転送順序保障プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011024209A (ja) * | 2009-07-14 | 2011-02-03 | Ixia | セッションアクティブチェッカを有する並列パケットプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
JP5359357B2 (ja) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107612840B (zh) | 一种四层负载均衡设备的数据处理方法及装置 | |
EP3079313B1 (en) | Data splitting method and splitter | |
US7715428B2 (en) | Multicore communication processing | |
CN112187612B (zh) | 高性能、可扩展和无掉话的数据中心交换结构 | |
CN108270676B (zh) | 一种基于Intel DPDK的网络数据处理方法及装置 | |
JP5993817B2 (ja) | キャリア網における経路制御システム及び方法 | |
JP5787061B2 (ja) | スイッチシステム、ラインカード、fdb情報の学習方法及びプログラム | |
JP5858141B2 (ja) | 制御装置、通信装置、通信システム、通信方法及びプログラム | |
US20120296915A1 (en) | Collective Acceleration Unit Tree Structure | |
EP2919426B1 (en) | Concurrent hashes and sub-hashes on data streams | |
US20210399908A1 (en) | Multicast routing | |
JP5900352B2 (ja) | パケット処理装置、パケット処理方法およびプログラム | |
US20160308696A1 (en) | Packet relay device, and copy function distribution method of packet relay device | |
JP2018185624A (ja) | スイッチプログラム、スイッチング方法及び情報処理装置 | |
US8594113B2 (en) | Transmit-side scaler and method for processing outgoing information packets using thread-based queues | |
EP2417737B1 (en) | Transmit-side scaler and method for processing outgoing information packets using thread-based queues | |
Chakraborty et al. | A low-latency multipath routing without elephant flow detection for data centers | |
JP5152201B2 (ja) | パケット処理装置およびパケット処理プログラム | |
JP5359357B2 (ja) | パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム | |
US8819107B2 (en) | Relay apparatus, recording medium storing a relay program, and a relay method | |
JP2017123522A (ja) | 通信装置、制御装置、通信システム、および、通信方法 | |
US8559430B2 (en) | Network connection device, switching circuit device, and method for learning address | |
US9736080B2 (en) | Determination method, device and storage medium | |
JP2012129857A (ja) | データ処理システム、およびデータ順序保証方法 | |
US20190391856A1 (en) | Synchronization of multiple queues |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130201 |
|
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: 20130806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130819 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |