JP5359357B2 - パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム - Google Patents
パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム Download PDFInfo
- Publication number
- JP5359357B2 JP5359357B2 JP2009038700A JP2009038700A JP5359357B2 JP 5359357 B2 JP5359357 B2 JP 5359357B2 JP 2009038700 A JP2009038700 A JP 2009038700A JP 2009038700 A JP2009038700 A JP 2009038700A JP 5359357 B2 JP5359357 B2 JP 5359357B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- processing
- hash value
- packet transfer
- processed
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
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 (5)
- 与えられたパケットを送信先へ転送するパケット処理を分散して行うと共に、それぞれ、自己を表す処理番号、自己がパケット処理の実行中であるか否かを表す処理フラグ、及び、処理中のパケットに含まれるデータに基づくハッシュ値を生成する複数のパケット転送処理手段と、
各前記パケット転送処理手段に共有され、各前記パケット転送処理手段で生成された前記処理番号、処理フラグ及びハッシュ値を先頭から生成順に登録すると共に、処理済みのパケットに対応する前記処理番号、処理フラグ及びハッシュ値を消去するテーブル構成の記憶手段と、
該記憶手段を参照して、各前記パケット転送処理手段のうちのパケット処理を実行していないパケット転送処理手段を判定し、該判定されたパケット転送処理手段に、与えられたパケットを振り分けて転送する振り分け処理手段とを備えてなるパケット処理装置であって、
各前記パケット転送処理手段は、
自己に振り分けられたパケットの処理が終了したときは、前記記憶手段を参照して、同一のハッシュ値を有するパケットの処理を行っている他のパケット転送処理手段が自己よりも先頭側に登録されているかを検索し、検索の結果、登録されていないときは、処理済みのパケットを出力側に転送する一方、登録されているときは、当該登録が消去されるまで処理済みのパケットの転送を待ち合わせる構成になされていることを特徴とするパケット処理装置。 - 各前記パケット転送処理手段は、
前記ハッシュ値を、当該パケットに含まれるヘッダ情報に基づいて生成する構成とされていることを特徴とする請求項1記載のパケット処理装置。 - 与えられたパケットを送信先へ転送するパケット処理を分散して行うための複数のパケット転送処理手段と、各前記パケット転送処理手段に共有され、各前記パケット転送処理手段で生成された前記処理番号、処理フラグ及びハッシュ値を記憶するテーブル構成の記憶手段と、与えられたパケットを振り分けて各前記パケット転送処理手段に転送する振り分け処理手段とを備えてなるパケット処理装置に用いられるパケット処理順序制御方法であって、
各前記パケット転送処理手段が、自己を表す処理番号、パケット処理の実行中か否かを表す処理フラグ、及び、処理中のパケットに含まれるデータに基づくハッシュ値を生成する処理と、
前記記憶手段が、各前記パケット転送処理手段で生成された前記処理番号、処理フラグ及びハッシュ値を先頭から生成順に登録すると共に、処理済みのパケットに対応する前記処理番号、処理フラグ及びハッシュ値を消去する記憶処理と、
前記振り分け処理手段が、前記記憶手段を参照して、各前記パケット転送処理手段のうちのパケット処理を実行していないパケット転送処理手段を判定し、該判定されたパケット転送処理手段に、与えられたパケットを振り分けて転送する振り分け処理とを含み、かつ、
各前記パケット転送処理手段は、
自己に振り分けられたパケットの処理が終了したときは、前記記憶手段を参照して、同一のハッシュ値を有するパケットの処理を行っている他のパケット転送処理手段が自己よりも先頭側に登録されているかを検索し、検索の結果、登録されていないときは、処理済みのパケットを出力側に転送する一方、登録されているときは、当該登録が消去されるまで処理済みのパケットの転送を待ち合わせることを特徴とするパケット処理順序制御方法。 - 各前記パケット転送処理手段が、前記ハッシュ値を、当該パケットに含まれるへッダ情報に基づいて生成することを特徴とする請求項3記載のパケット処理順序制御方法。
- コンピュータを請求項1又は2記載のパケット処理装置として機能させるためのコンピュータ読み取り可能なパケット処理順序制御プログラム。
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 JP2010199643A (ja) | 2010-09-09 |
JP5359357B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8014295B2 (en) * | 2009-07-14 | 2011-09-06 | Ixia | Parallel packet processor with session active checker |
Family Cites Families (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 | ヘッダ変換装置およびフレーム転送装置 |
JP3716766B2 (ja) * | 2001-09-04 | 2005-11-16 | 日本電気株式会社 | パケット処理装置及び順序制御方法 |
JP3635660B2 (ja) * | 2001-12-19 | 2005-04-06 | 日本電気株式会社 | パケット処理装置とそのパケット転送方法 |
US7895431B2 (en) * | 2004-09-10 | 2011-02-22 | Cavium Networks, Inc. | Packet queuing, scheduling and ordering |
JP2008236653A (ja) * | 2007-03-23 | 2008-10-02 | Nec Corp | パケット転送順序保障方法、パケット転送順序保障装置及びパケット転送順序保障プログラム |
-
2009
- 2009-02-20 JP JP2009038700A patent/JP5359357B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010199643A (ja) | 2010-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101559644B1 (ko) | 통신 제어 시스템, 스위치 노드 및 통신 제어 방법 | |
US8799507B2 (en) | Longest prefix match searches with variable numbers of prefixes | |
US7715428B2 (en) | Multicore communication processing | |
JP4779955B2 (ja) | パケット処理装置及びパケット処理方法 | |
JP5993817B2 (ja) | キャリア網における経路制御システム及び方法 | |
US8295292B2 (en) | High performance hardware linked list processors | |
EP2919426B1 (en) | Concurrent hashes and sub-hashes on data streams | |
JP5787061B2 (ja) | スイッチシステム、ラインカード、fdb情報の学習方法及びプログラム | |
US20120296915A1 (en) | Collective Acceleration Unit Tree Structure | |
US20210399908A1 (en) | Multicast routing | |
JP5900352B2 (ja) | パケット処理装置、パケット処理方法およびプログラム | |
JP2018185624A (ja) | スイッチプログラム、スイッチング方法及び情報処理装置 | |
US8594113B2 (en) | Transmit-side scaler and method for processing outgoing information packets using thread-based queues | |
US7961612B2 (en) | Limiting transmission rate of data | |
EP2417737B1 (en) | Transmit-side scaler and method for processing outgoing information packets using thread-based queues | |
US9137158B2 (en) | Communication apparatus and communication method | |
JP5359357B2 (ja) | パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム | |
US8819107B2 (en) | Relay apparatus, recording medium storing a relay program, and a relay method | |
US8559430B2 (en) | Network connection device, switching circuit device, and method for learning address | |
JP2006295550A (ja) | パケット転送装置 | |
US20190391856A1 (en) | Synchronization of multiple queues | |
JP2009188623A (ja) | ネットワーク中継装置およびネットワーク中継方法 | |
US11855889B2 (en) | Information processing device, information processing method, and computer-readable medium of providing dummy response when memory search is unnecessary | |
JP2012129857A (ja) | データ処理システム、およびデータ順序保証方法 | |
WO2015118811A1 (ja) | 通信システム、パケット転送装置、パケット転送方法およびパケット転送用プログラム |
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 |