JP6252112B2 - パケット処理装置、パケット処理方法、および、パケット処理システム - Google Patents
パケット処理装置、パケット処理方法、および、パケット処理システム Download PDFInfo
- Publication number
- JP6252112B2 JP6252112B2 JP2013230518A JP2013230518A JP6252112B2 JP 6252112 B2 JP6252112 B2 JP 6252112B2 JP 2013230518 A JP2013230518 A JP 2013230518A JP 2013230518 A JP2013230518 A JP 2013230518A JP 6252112 B2 JP6252112 B2 JP 6252112B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- processing
- unit
- storage unit
- packets
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
Description
図2は、処理装置10の構成の例を示す。図2に示す例では、処理装置10は、フロー識別部11とパケット処理部12を備える。フロー識別部11は、受信部21、フロー分類部22、フロー管理部23、フロー分類記憶部20を有する。フロー分類記憶部20には、パケット特性テーブル24とパラメータ情報テーブル25が記憶されている。パケット処理部12は、振り分け部26、予約キュー30、予約情報テーブル33、補正テーブル34、ベストエフォートキュー40、キュー情報テーブル43、制御部50を備える。予約キュー30は、調整部31と格納部32を有する。ベストエフォートキュー40は、調整部41と格納部42を有する。制御部50は、計算部51、出力部52、処理部53を有する。なお、送信部27はオプションである。処理装置10がパケットの中継に使用される装置である場合や、処理部53での処理後のパケットが他の装置に送信される場合、処理装置10は、送信部27を備える。
以下、第1の実施形態を、処理装置10への予約の設定、受信したパケットの分類、パケットのキューイング、パケットの処理に分けて説明する。
オペレータは、ユーザからの要求に応じて、予約キュー30を用いた処理の対象を通知するための制御パケットを処理装置10に送信する。フロー分類部22は、受信部21を介して取得した受信パケットのタイプが制御パケットに設定されている場合、受信パケットが制御パケットであると判定し、制御パケットをフロー管理部23に出力する。なお、タイプはIPヘッダ中のタイプフィールドなどを用いて設定され得る。以下、フロー管理部23によるパケット特性テーブル24とパラメータ情報テーブル25の更新について述べる。
送信元IPアドレス:10.0.0.2
宛先IPアドレス :10.0.0.1
プロトコル :IPsec
IPsecSPI :1001
処理 :IPsecデコード
すると、フロー管理部23が同様処理を行うことにより、パケット特性テーブル24には、パケット特性テーブル24bのフロー識別番号=2のエントリが追加される。一方、パラメータ情報テーブル25には、パラメータ情報テーブル25bのフロー識別番号=2のエントリが追加される。(ここでは、IPsecエンコードとデコードについて、同等のステップ数を想定するものとする)
以下、処理装置10がパケット特性テーブル24bとパラメータ情報テーブル25bを保持している場合を例として、フローの分類方法を説明する。
(1)予約キュー30へのキューイング
振り分け部26は、付加情報を読み込み、予約キュー30を用いた処理が予約されているパケットを調整部31に出力する。さらに、振り分け部26は、予約キュー30を用いた処理の予約が行われていないパケットを調整部41に出力する。
A+データ長×10=3000+256×10=5560
となる。調整部31は、パケットの処理にかかるステップ数を計算すると、予約情報テーブル33を参照することにより、パケットを格納部32に格納できるかを判定する。
調整部41は、調整部31から入力されたパケットと、振り分け部26から入力されたパケットの両方に対して、格納部42に格納できるかの判定を行う。調整部41がパケットの処理にかかるステップ数を計算する方法は、調整部31と同様である。調整部41は、格納部42にパケットを格納できるかを判定する際に、キュー情報テーブル43を使用する。キュー情報テーブル43に含まれている情報要素は、予約情報テーブル33と同様であるが、キュー情報テーブル43に含まれる数値は、処理部53が格納部42に格納されているパケットの処理に対して所定の処理期間中に行うことができるステップ数等である。調整部41は、キュー情報テーブル43を用いて、調整部31と同様の判定を行う。なお、調整部41は、調整部31から入力されたパケットについてステップ数が計算されている場合、調整部31から得られた計算値を用いて判定を行う。調整部41は、パケットの処理にかかるステップ数とメモリがまかなえると判定すると、パケットを格納部42に格納する。一方、パケットの処理にかかるステップ数とメモリを確保できないと判定すると、調整部41は、パケットを廃棄する。
計算部51は、格納部32に格納されているパケットの処理にかかるステップ数の合計値を計算する。なお、計算部51は、予約情報テーブル33の累積処理ステップ数を参照することにより、格納部32に格納されているパケットの処理にかかるステップ数を取得しても良い。計算部51は、得られた値を出力部52に出力する。出力部52は、所定の処理期間内に処理部53が処理できるステップの総数から、格納部32に格納されているパケットの処理にかかるステップ数の合計値を差し引いた値(余剰値)を求める。出力部52は、格納部32に格納されているパケットを処理部53に出力した後、余剰値のステップ数以下で処理できるパケットを格納部42から処理部53に出力する。処理部53は、出力部52から入力されたパケットを処理する。このため、格納部32に格納されたパケットは、所定の処理期間中に処理される。
第2の実施形態では、予約キュー30を介した処理が予約されているフローを用いて送受信されるパケットの数の変動に応じて、予約キュー30とベストエフォートキュー40に格納するパケットの量を変動させる場合の例を説明する。この場合、例えば、所定の期間中に処理部53が予約キュー30中のパケットに割り当てられるステップの上限値が決定され、上限を超えない範囲で予約キュー30を介したパケットの処理に使用するステップ数が変更され得る。なお、上限を設定するときに使用される期間の長さは、例えば、1時間、1日、1週間、1月など、ユーザとの契約要件や実装上の要件に応じて選択される。以下、上限を設定するときに使用される期間の長さのことを「調整周期」と記載することがある。なお、処理装置10への予約の設定と受信したパケットの分類についての処理は、第1の実施形態と同様である。また、1パケットあたりの処理ステップ数の補正方法や、振り分け部26の処理も、第1の実施形態と同様である。ただし、処理装置10は、予約情報テーブル33の代わりに予約情報テーブル35を備えている。
第3の実施形態では、パケットの処理の種類がL3中継処理である場合に、ルーティングテーブルのエントリ数に応じて、処理ステップ数を変動する方法について説明する。パケットの処理の種類がL3中継処理の場合、処理部53での処理には、入力されたパケットの宛先IPアドレスをキーとしてルーティングテーブルを検索する処理が含まれる。ルーティングテーブルに多数のエントリが含まれると、処理部53が使用する検索アルゴリズムによっては、転送先の検索に時間がかかるようになる場合がある。例えば、図19に示すように、ルーティングテーブルがリニアテーブルである場合、処理部53は、ルーティングテーブル中の先頭のエントリから順にリスト上の経路エントリを検索することになる。このため、図19に示すように、リニアテーブルの末尾に使用するエントリが記録されている場合には、処理部53での処理に時間がかかってしまう。
ここで、Aは付加情報にて指定される、ルーティングテーブル検索以外の全ての処理にかかるステップ数であり、Bはルーティングテーブル中の1つのエントリの処理にかかるステップ数である。なお、L3中継処理用の補正式も、補正テーブル34に格納される。
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
処理部53がL3中継の対象となるパケットを処理するときに、CAMを用いてルーティングテーブルを検索しても良い。CAMを用いて経路検索処理を実施すると、処理部53は、検索対象の宛先IPアドレスとの一致が最も大きな宛先に対するエントリを、一度の演算で求めることができる。例えば、処理部53がCAMを用いる代わりにソフトウェアによる処理でルーティングテーブルを処理すると、1回に600ステップかかるとし、予約情報テーブル33での割り当てステップ数が20000ステップ/秒であるとする。ここで、処理対象のパケットが全てL3中継の処理の対象であると、CAMを用いることにより、割り当てステップ数を、ソフトウェアによる処理を行う場合の600倍にすることができる。このように、調整部31は、処理部53においてCAMでの処理が可能な場合、CAMによるステップ数の減少に見合うだけのパケットを格納部32に格納できるようにするため、割り当てステップ数を600倍した値を予約情報テーブル33に設定できる。なお、ここではCAMを用いてL3中継が行われる場合を例としたが、他の処理回路により、他の処理のステップ数が減少する場合も同様である。すなわち、ソフトウェア処理でかかったステップ数を、処理回路を用いたときにかかるステップ数で割ったときの商と、ソフトウェアでの処理を基準に決められた割り当てステップ数との積が、予約情報テーブル33の割り当てステップに設定されうる。
調整部31が格納部32に格納するパケットの量を決定するときに、シェーパ方式を用いることもできる。この場合、ある処理期間内の時間において、予約量を超えた分のパケットも、閾値までは格納部32に保持する。予約された量を超えた分のパケットは、処理期間中に処理部53で処理されなくても、次の処理期間で処理される。なお、割り当てられたステップ数を超えてもパケットを格納部32に保持する場合、余剰ステップ数は負の値となる。余剰ステップ数が取れる値の範囲は、予め、ユーザに保証する遅延の範囲やジッタ等のサービス要件に応じて設定されるものとする。
以上の例では、分り易くするために処理装置10が1つの装置である場合を例として説明したが、処理装置10は、フロー識別部11として動作する装置とパケット処理部12として動作する装置の2つに分けられていても良い。2つの装置により第1〜第3の実施形態を含む種々の形態の実現に使用可能なシステムの例を図20に示す。フロー識別装置70は、第1〜第3の実施形態でのフロー識別部11と同様に動作する。ただし、フロー識別装置70では、フロー分類部22は、付加情報をパケットに付加して、送信部27aに出力する。送信部27aに出力されるパケットのフォーマットの例を図21に示す。図21の例では、付加情報は、パケットの末尾に付されている。付加情報のフォーマットは、図6を参照しながら説明したとおりである。なお、図21はパケットのフォーマットの一例であり、実装に応じて、付加情報はパケット中の他の領域に格納されていても良い。
11 フロー識別部
12 パケット処理部
20 フロー分類記憶部
21 受信部
22 フロー分類部
23 フロー管理部
24 パケット特性テーブル
25 パラメータ情報テーブル
26 振り分け部
27 送信部
30 予約キュー
31、41 調整部
32、42 格納部
33 予約情報テーブル
34 補正テーブル
40 ベストエフォートキュー
43 キュー情報テーブル
50 制御部
51 計算部
52 出力部
53 処理部
60 CPU
61 キャッシュ
62 CPUコア
63 キャッシュ
64 メモリ
65 バス
66 回線インタフェース
70 フロー識別装置
80 パケット処理装置
Claims (8)
- パケットを受信する受信部と、
前記パケットを処理する処理部と、
前記処理部が優先的に処理する優先パケットを格納する第1の格納部と、
前記第1の格納部に格納される優先パケットの数を、前記優先パケットに対して所定期間に可能な処理の量として設定された設定値以下の処理量で処理される数に調整する調整部と、
前記第1の格納部に格納されないパケットを格納する第2の格納部と、
前記第1の格納部中のパケットを前記処理部に出力するとともに、前記処理部が前記所定期間に可能な処理量から、前記第1の格納部中の優先パケットに対する処理量を差し引いた余剰値で処理可能な数のパケットを、前記第2の格納部から前記処理部に出力する出力部
を備えることを特徴とするパケット処理装置。 - 前記優先パケットに対する処理の種類の候補と、前記候補による処理の対象のパケットへの処理量を処理対象のパケットの長さの関数として表わす関数情報を対応付けて記憶する記憶部
をさらに備え、
前記調整部は、
前記優先パケットに対する処理量が、前記優先パケットの長さに応じて変動する場合、前記優先パケットに対する処理の種類に対応付けられた関数情報と、前記優先パケットの長さを用いて、前記優先パケットに対する処理量を計算し、
計算した処理量を用いて、前記優先パケットを前記第1の格納部に格納できるかを判定する
ことを特徴とする請求項1に記載のパケット処理装置。 - 前記処理部での処理後のパケットを送信する送信部
をさらに備え、
前記記憶部は、前記処理部が前記処理部に入力されたパケットの宛先に向けた中継処理を行うときに使用する経路情報をさらに備え、
前記調整部は、前記経路情報に含まれている経路数が多いほど、前記優先パケットに対する処理量を大きくする
ことを特徴とする請求項2に記載のパケット処理装置。 - 前記記憶部は、前記処理部で前記所定期間に処理可能な処理量の上限である上限値と、前記処理部で前記所定期間に処理可能な処理量の下限である下限値をさらに保持し、
前記調整部は、
前記第1の格納部に格納できない優先パケットの量が第1の閾値を超えると、前記上限値を超えない範囲で前記設定値を引き上げ、
前記第1の格納部に格納できない優先パケットの量が、前記第1の閾値より小さい第2の閾値を下回ると、前記下限値以上の範囲で前記設定値を引き下げる
ことを特徴とする請求項2または3に記載のパケット処理装置。 - 第1の格納部と第2の格納部を備える処理装置が、
パケットを受信し、
前記パケット中で優先的に処理する優先パケットに対して所定期間に可能な処理の量として設定された設定値以下の処理量で処理される数だけ、前記優先パケットを前記第1の格納部に格納し、
前記第1の格納部に格納されないパケットを、前記第2の格納部に格納し、
前記第1の格納部中のパケットを処理し、
前記所定期間に可能な処理量から、前記第1の格納部中の優先パケットに対する処理量を差し引いた余剰値で処理可能な数のパケットを、前記第2の格納部から読み出して処理する
ことを特徴とするパケット処理方法。 - 第1の格納部と第2の格納部を備える第1の装置と、
優先的に処理される対象となる優先パケットと、優先的に処理されないパケットである通常パケットを前記第1の装置に送信する第2の装置、
を備えるシステムであって、
前記第1の装置は、
前記第2の装置から前記優先パケットと前記通常パケットを受信し、
前記優先パケットに対して前記第1の装置が所定期間に行うことができる処理の量として設定された設定値以下の処理量で処理される数だけ、前記優先パケットを前記第1の格納部に格納し、
前記通常パケットを前記第2の格納部に格納し、
前記第1の格納部中のパケットを処理し、
前記所定期間に前記第1の装置が処理できる処理量から、前記第1の格納部中の優先パケットに対する処理量を差し引いた余剰値で処理可能な数のパケットを、前記第2の格納部から読み出して処理する
ことを特徴とするパケット処理システム。 - 第1の格納部と第2の格納部を備える処理装置に、
パケットを受信し、
前記パケット中で優先的に処理する優先パケットに対して所定期間に可能な処理の量として設定された設定値以下の処理量で処理される数だけ、前記優先パケットを前記第1の格納部に格納し、
前記第1の格納部に格納されないパケットを、前記第2の格納部に格納し、
前記第1の格納部中のパケットを処理し、
前記所定期間に可能な処理量から、前記第1の格納部中の優先パケットに対する処理量を差し引いた余剰値で処理可能な数のパケットを、前記第2の格納部から読み出して処理する
装置として動作させることを特徴とするパケット処理プログラム。 - 前記第2の格納部は、前記調整部による調整により前記第1の格納部に格納されない優先パケットを格納すると共に、前記受信部により受信されるパケットのうちの優先パケット以外のパケットを格納することを特徴とする請求項1〜4のいずれか1項に記載のパケット処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013230518A JP6252112B2 (ja) | 2013-11-06 | 2013-11-06 | パケット処理装置、パケット処理方法、および、パケット処理システム |
US14/510,576 US9876728B2 (en) | 2013-11-06 | 2014-10-09 | Packet processing apparatus, packet processing method, and packet processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013230518A JP6252112B2 (ja) | 2013-11-06 | 2013-11-06 | パケット処理装置、パケット処理方法、および、パケット処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015091047A JP2015091047A (ja) | 2015-05-11 |
JP6252112B2 true JP6252112B2 (ja) | 2017-12-27 |
Family
ID=53007013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013230518A Active JP6252112B2 (ja) | 2013-11-06 | 2013-11-06 | パケット処理装置、パケット処理方法、および、パケット処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9876728B2 (ja) |
JP (1) | JP6252112B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108540404B (zh) * | 2017-03-06 | 2021-09-10 | 中国移动通信有限公司研究院 | 一种动态调整流表的方法和装置 |
CN113282659A (zh) | 2017-03-28 | 2021-08-20 | 创新先进技术有限公司 | 一种基于区块链的数据处理方法及设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01209839A (ja) * | 1988-02-17 | 1989-08-23 | Fujitsu Ltd | 優先度制御方式 |
US5293486A (en) * | 1991-06-28 | 1994-03-08 | Digital Equipment Corporation | Deterministic method for allocation of a shared resource |
JPH1124779A (ja) | 1997-06-27 | 1999-01-29 | Nec Corp | ジョブ実行時間予約方式 |
JP2002354009A (ja) | 2001-05-30 | 2002-12-06 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークノード装置とパケット処理方法およびプログラム |
JP2003032297A (ja) * | 2001-07-17 | 2003-01-31 | Mitsubishi Electric Corp | パケット伝送装置及びパケット伝送方法及びコンピュータに実行させるためのプログラム及びコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US7385997B2 (en) * | 2002-04-08 | 2008-06-10 | International Business Machines Corporation | Priority based bandwidth allocation within real-time and non-real-time traffic streams |
JP2009253520A (ja) | 2008-04-03 | 2009-10-29 | Mitsubishi Electric Corp | 通信装置 |
US8094556B2 (en) * | 2009-04-27 | 2012-01-10 | Avaya Inc. | Dynamic buffering and synchronization of related media streams in packet networks |
-
2013
- 2013-11-06 JP JP2013230518A patent/JP6252112B2/ja active Active
-
2014
- 2014-10-09 US US14/510,576 patent/US9876728B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20150124834A1 (en) | 2015-05-07 |
US9876728B2 (en) | 2018-01-23 |
JP2015091047A (ja) | 2015-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2692042C1 (ru) | Способ определения маршрута и соответствующие устройство и система | |
JP5659125B2 (ja) | 中継装置、中継方法 | |
JP5915729B2 (ja) | 制御装置、通信システム及び通信装置制御方法 | |
US9083637B2 (en) | System and method for providing dynamic QoS to maximize bandwidth utilization | |
JP5237841B2 (ja) | 帯域制御装置および通信制御半導体 | |
US10721744B2 (en) | Resource reallocation | |
WO2017025021A1 (zh) | 一种处理流表的方法及装置 | |
US11582146B2 (en) | High-quality adaptive bitrate video through multiple links | |
US8514741B2 (en) | Packet forwarding device | |
JP2009027400A (ja) | 過大フロー検出装置、過大フロー検出回路、端末装置及びネットワークノード | |
JP6252112B2 (ja) | パケット処理装置、パケット処理方法、および、パケット処理システム | |
US9548929B2 (en) | Frame transfer apparatus and frame transfer method | |
JP6287859B2 (ja) | 通信ノード、制御装置、制御情報エントリの管理方法及びプログラム | |
JP7103883B2 (ja) | 通信システム、通信制御方法、及び通信装置 | |
CN104871500A (zh) | 通信节点、控制装置、通信系统、分组处理方法、通信节点控制方法及程序 | |
KR20120055946A (ko) | 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치 | |
KR20120055947A (ko) | 가입자 인지 플로우별 QoS 제공 방법 및 장치 | |
CN112714081A (zh) | 一种数据处理方法及其装置 | |
US20120057605A1 (en) | Bandwidth Control Method and Bandwidth Control Device | |
CN104363176A (zh) | 一种报文控制的方法和设备 | |
US20170063725A1 (en) | Control method, control device, and storage medium | |
JP6850618B2 (ja) | 中継装置および中継方法 | |
JP2019009630A (ja) | ネットワーク負荷分散装置および方法 | |
JP6802763B2 (ja) | 中継装置及び帯域制御方法 | |
US20170078438A1 (en) | Communication device, communication method, and non-transitory computer readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160405 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170905 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171013 |
|
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: 20171031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171113 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6252112 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |