JP3584884B2 - フロー検出装置及びそれに用いるフロー検出方法 - Google Patents
フロー検出装置及びそれに用いるフロー検出方法 Download PDFInfo
- Publication number
- JP3584884B2 JP3584884B2 JP2001008372A JP2001008372A JP3584884B2 JP 3584884 B2 JP3584884 B2 JP 3584884B2 JP 2001008372 A JP2001008372 A JP 2001008372A JP 2001008372 A JP2001008372 A JP 2001008372A JP 3584884 B2 JP3584884 B2 JP 3584884B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- flow detection
- information
- hash function
- packet
- 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
【発明の属する技術分野】
本発明はフロー検出装置及びそれに用いるフロー検出方法に関し、特にIP(Internet Protocol)パケットネットワークにおけるQoS(Quality of Service)保証を実現するためのフロー検出に関する。
【0002】
【従来の技術】
一般的なIPパケットネットワークの構成例を図4に示す。図4において、IPパケットネットワークではPC(パーソナルコンピュータ)5から送られてきたパケットがノード(ルータ)6のセレクタ61によってキュー62−1〜61−nに分配され、各キュー62−1〜61−nからPC7,8へと送られる。上記のノード6でのパケット処理においては図示せぬフォワーディングテーブルを検索して送付先が決定されているが、このフォワーディングテーブル検索が主要なボトルネックとなっている。
【0003】
IPパケットのキャリアクラスのQoS保証を実現するにはフロー検出技術が必要である。フロー識別はIPパケット受信時のポリシング(流量監視)のトラヒック識別子、スイッチにおける優先クラス及びIPパケット出力時の帯域制御キュー番号を決定するために必要である。
【0004】
フローとはいくつかのユニークな情報を共有する一連のパケットである。ユニークな情報としては送信先IPアドレス/送信元IPアドレス、送信先TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)ポート番号/送信元TCP/UDPポート番号、プロトコル種別、DSCP(Diffserv Code Point:IPヘッダ内Type of Serviceフィールドの一部)等がある。
【0005】
コネクションレスのIPネットワークでは、このフロー毎にQoSクラスを割当てており、フロー識別はIPレベルでQoSをサポートするための必須機能である。フロー識別することによって、IPパケット受信時のポリシング(流量監視)のトラヒック識別子、スイッチにおける優先クラス及びIPパケット出力時の帯域制御のキュー番号を決定することでQoSをサポートすることができる。
【0006】
従来のフロー検出方法の一例を図5に示す。図5において、従来のフロー検出方法ではフロー検出装置4と、フローテーブル格納メモリ3とが用いられている。フローテーブル格納メモリ3に登録されるフロー検出テーブルの一例を図6に示す。
【0007】
図6において、フロー検出テーブル31にはIPソースアドレス(IP SA)と、IPデスティネーションアドレス(IP DA)と、プロトコル(P)と、ソースポート番号(S Port)と、デスティネーションポート番号(D Port)と、プライオリティ(Priority)とが登録されている。
【0008】
IPパケットはIPヘッダ内の情報[ソースアドレス(SA)32bits、デスティネーションアドレス(DA)32bits、プロトコル(P)8bits]とTCP/UDP内の情報[ソースポート番号(SP)16bits、デスティネーションポート番号(DP)16bits]との合計104bitsから64Kのフローに識別されており、FminからFmaxまでの範囲のプライオリティ付けを行ったフロー番号Fが出力されている。
【0009】
【発明が解決しようとする課題】
上述した従来のフロー検出方法では、IPヘッダ内の情報とTCP/UDP内の情報とからIPパケットを64Kのフローに識別しており、FminからFmaxまでの範囲のプライオリティ付けを行ったフロー番号Fを出力しているので、CAM(Content Addressable Memory)等の大規模で高速かつ高価なメモリを必要とするという問題がある。
【0010】
そこで、本発明の目的は上記の問題点を解消し、メモリ容量を大幅に削減することができ、CAM等の高価なデバイスや低速なソフト処理によらずにフロー検出を行うことができるフロー検出装置及びそれに用いるフロー検出方法を提供することにある。
【0011】
【課題を解決するための手段】
本発明によるフロー検出装置は、IP(Internet Protocol)パケットのキャリアクラスのQoS(Quality of Service)保証を実現するために、いくつかのユニークな情報を共有する一連のパケットであるフローを検出するフロー検出装置であって、検出対象の全てのフローに対して互いに異なる値をとるようなハッシュ関数の計算値を計算するハッシュ関数処理手段と、前記ハッシュ関数の計算値を使用するフロー番号と前記フロー各々に設定されたプライオリティとを格納するフロー検出テーブルとを備え、前記フロー検出テーブルを参照してフロー検出を行っている。
【0012】
本発明によるフロー検出方法は、IP(Internet Protocol)パケットのキャリアクラスのQoS(Quality of Service)保証を実現するために、いくつかのユニークな情報を共有する一連のパケットであるフローを検出するフロー検出方法であって、検出対象の全てのフローに対して互いに異なる値をとるようなハッシュ関数の計算値を計算しておき、前記ハッシュ関数の計算値を使用するフロー番号と前記フロー各々に設定されたプライオリティとを格納するフロー検出テーブルを参照してフロー検出を行っている。
【0013】
すなわち、IPパケットのキャリアクラスのQoS(Quality of Service)保証を実現するにはフロー検出技術が必要である。フロー識別はIP(Internet Protocol)パケット受信時のポリシング(流量監視)のトラヒック識別子、スイッチにおける優先クラス及びIPパケット出力時の帯域制御キュー番号を決定するために必要である。
【0014】
本発明は検出対象のすべてのフローに対して互いに異なる値をとるようなハッシュ関数fを計算しておき、このハッシュ関数fの計算値をフロー番号Fとして使用している。これによって、メモリ容量を大幅に削減することが可能となるため、CAM等の高価なデバイスや低速なソフト処理によらずにフロー検出を行うことが可能となる。
【0015】
【発明の実施の形態】
次に、本発明の一実施例について図面を参照して説明する。図1は本発明の一実施例によるフロー検出装置の構成を示すブロック図である。図1において、フロー検出装置1はハッシュ関数fによる計算を行うハッシュ関数処理部11を備え、ハッシュ計算後フローテーブル格納メモリ2を参照してフロー検出を行う。
【0016】
ここで、フローとはいくつかのユニークな情報を共有する一連のパケットである。ユニークな情報としては送信先IPアドレス/送信元IPアドレス、送信先TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)ポート番号/送信元TCP/UDPポート番号、プロトコル種別、DSCP(Diffserv Code Point:IPヘッダ内Type of Serviceフィールドの一部)等がある。また、ハッシュ関数fは検出対象の全てのフローに対して互いに異なる値をとるようなハッシュ関数である。
【0017】
図2は図1のハッシュ計算後フローテーブル格納メモリ2に登録されるハッシュ関数計算後のフロー検出テーブルの一例を示す図である。図2において、ハッシュ関数計算後のフロー検出テーブル21はフロー番号F(1〜10,11〜20,100〜200,50〜70,・・・)と、プライオリティ(Priority)(QoS#1,QoS#2,QoS#20,QoS#4)とが記憶されている。
【0018】
ここで、フロー番号Fとしては上記のハッシュ関数fの計算値を使用しており、検出対象の全てのフローに対して互いに異なる値をとるようなハッシュ関数fはIPヘッダ内の情報[ソースアドレス(SA:Source Address)、デスティネーションアドレス(DA:Destination Address)、プロトコル(P:Protocol)]と、TCP/UDP内の情報[ソースポート番号(SP:Source Port)、デスティネーションポート番号(DP:Destination Port)]とから予め計算されている。
【0019】
例えば、上記のIPヘッダ内の情報及びTCP/UDP内の情報は合計で104bitsであるが、この104bitsをハッシュ関数fによって16bitsに計算することで、ハッシュ計算後フローテーブル格納メモリ2を64K分に削減することが可能となる。
【0020】
図示せぬスケジューラは上述したフロー番号Fをキュー番号として、WFQ(Weighted Fair Queuing)を行う。ここで、WFQとは複数のキューがある場合、各キューに割当てられた帯域や優先度に応じてキューに重み付けを設定するとともに、パケットのサイズも考慮して、どのキューのパケットから送出するかを決定するキューイングアルゴリズムである。
【0021】
上述したハッシュ関数fの選び方としては、“Practical minimail perfect hash functions for large databases”[Edward A.FOX,Lenwood S.Heath,Qi Fan Chen and Amjad M.Daoud;Commun.ACM35,1(Jan.1992),Pages105−121]、“A faster algorithm for constructing minimal perfect hash functions”(Edward A.FOX,Qi Fan Chen and LenwoodS.Heath;Proceedings of the Fifteenth Annual International ACM SIGIR conference on Research and development in information retrieval,1992,Pages266−273)等に記載された方法がある。
【0022】
図3は図1のハッシュ計算後フローテーブル格納メモリ2のハッシュ関数fによるメモリ容量削減のイメージを示す図である。図3において、大規模なフローテーブル格納メモリ3(その内容については図6を参照)がハッシュ関数fによってハッシュ計算後フローテーブル格納メモリ2となり、そのメモリ容量を大幅に削減することができる。
【0023】
本発明の一実施例の利点としてはメモリ容量を大幅に削減することが可能となるため、CAM等の高価なデバイスや低速なソフト処理によらずにフロー検出を行うことができる。
【0024】
しかしながら、問題点として、登録されていないIPパケットのフロー検出時に、ハッシュ関数を計算した場合、本来割当てたいプライオリティ付けに当てはまらず、違うプライオリティに割当てられる可能性があるが、これについてはレアケースとしている。
【0025】
【発明の効果】
以上説明したように本発明によれば、いくつかのユニークな情報を共有する一連のパケットであるフローを検出する際に用いかつフロー各々に設定されたプライオリティを格納するフロー検出テーブルのフロー番号として、検出対象の全てのフローに対して互いに異なる値をとるようなハッシュ関数の計算値を使用することによって、メモリ容量を大幅に削減することができ、CAM等の高価なデバイスや低速なソフト処理によらずにフロー検出を行うことができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるフロー検出装置の構成を示すブロック図である。
【図2】図1のハッシュ計算後フローテーブル格納メモリに登録されるハッシュ関数計算後のフロー検出テーブルの一例を示す図である。
【図3】図1のハッシュ計算後フローテーブル格納メモリのハッシュ関数fによるメモリ容量削減のイメージを示す図である。
【図4】従来のIPパケットネットワークの構成例を示すブロック図である。
【図5】従来のフロー検出装置の構成を示すブロック図である。
【図6】図5のフローテーブル格納メモリに登録されるフロー検出テーブルの一例を示す図である。
【符号の説明】
1 フロー検出装置
2 ハッシュ計算後フローテーブル格納メモリ
3 フローテーブル格納メモリ
11 ハッシュ関数処理部
21 ハッシュ関数計算後のフロー検出テーブル
Claims (8)
- IP(Internet Protocol)パケットのキャリアクラスのQoS(Quality of Service)保証を実現するために、いくつかのユニークな情報を共有する一連のパケットであるフローを検出するフロー検出装置であって、検出対象の全てのフローに対して互いに異なる値をとるようなハッシュ関数の計算値を計算するハッシュ関数処理手段と、前記ハッシュ関数の計算値を使用するフロー番号と前記フロー各々に設定されたプライオリティとを格納するフロー検出テーブルとを有し、前記フロー検出テーブルを参照してフロー検出を行うことを特徴とするフロー検出装置。
- 前記プライオリティは、前記IPパケットのQoS保証を示すことを特徴とする請求項1記載のフロー検出装置。
- 前記ハッシュ関数fの計算値は、IPヘッダ内の情報とTCP(Transmission Control Protocol)内の情報とから予め計算することを特徴とする請求項1または請求項2記載のフロー検出装置。
- 前記IPヘッダ内の情報は、少なくともソースアドレスとデスティネーションアドレスとプロトコルとからなり、
前記TCP/UDP内の情報は、少なくともソースポート番号とデスティネーションポート番号とからなることを特徴とする請求項3記載のフロー検出装置。 - IP(Internet Protocol)パケットのキャリアクラスのQoS(Quality of Service)保証を実現するために、いくつかのユニークな情報を共有する一連のパケットであるフローを検出するフロー検出方法であって、検出対象の全てのフローに対して互いに異なる値をとるようなハッシュ関数の計算値を計算しておき、前記ハッシュ関数の計算値を使用するフロー番号と前記フロー各々に設定されたプライオリティとを格納するフロー検出テーブルを参照してフロー検出を行うことを特徴とするフロー検出方法。
- 前記プライオリティは、前記IPパケットのQoS保証を示すことを特徴とする請求項5記載のフロー検出方法。
- 前記ハッシュ関数fの計算値は、IPヘッダ内の情報とTCP(Transmission Control Protocol)内の情報とから予め計算するようにしたことを特徴とする請求項5または請求項6記載のフロー検出方法。
- 前記IPヘッダ内の情報は、少なくともソースアドレスとデスティネーションアドレスとプロトコルとからなり、
前記TCP/UDP内の情報は、少なくともソースポート番号とデスティネーションポート番号とからなることを特徴とする請求項7記載のフロー検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001008372A JP3584884B2 (ja) | 2001-01-17 | 2001-01-17 | フロー検出装置及びそれに用いるフロー検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001008372A JP3584884B2 (ja) | 2001-01-17 | 2001-01-17 | フロー検出装置及びそれに用いるフロー検出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002217967A JP2002217967A (ja) | 2002-08-02 |
JP3584884B2 true JP3584884B2 (ja) | 2004-11-04 |
Family
ID=18876003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001008372A Expired - Fee Related JP3584884B2 (ja) | 2001-01-17 | 2001-01-17 | フロー検出装置及びそれに用いるフロー検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3584884B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1302645C (zh) * | 2003-05-26 | 2007-02-28 | 华为技术有限公司 | 网络处理器系统端口捆绑中实现流量均担的方法 |
JP4068545B2 (ja) * | 2003-10-24 | 2008-03-26 | 日本電信電話株式会社 | パケット受信方法および装置 |
US9203728B2 (en) * | 2011-03-09 | 2015-12-01 | lxia | Metadata capture for testing TCP connections |
US8837483B2 (en) * | 2011-04-11 | 2014-09-16 | Alcatel Lucent | Mapping private and public addresses |
-
2001
- 2001-01-17 JP JP2001008372A patent/JP3584884B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002217967A (ja) | 2002-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9813339B2 (en) | Filtering and route lookup in a switching device | |
US7953885B1 (en) | Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause | |
US8665892B2 (en) | Method and system for adaptive queue and buffer control based on monitoring in a packet network switch | |
US8125904B2 (en) | Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch | |
US7133400B1 (en) | System and method for filtering data | |
US7321591B2 (en) | Methods and systems for providing differentiated quality of service in a communications system | |
US6650644B1 (en) | Method and apparatus for quality of service translation | |
US6510509B1 (en) | Method and apparatus for high-speed network rule processing | |
US8630294B1 (en) | Dynamic bypass mechanism to alleviate bloom filter bank contention | |
US6868065B1 (en) | Method and apparatus for implementing a quality of service policy in a data communications network | |
WO2006083965A2 (en) | System and method for efficient traffic processing | |
US8854961B1 (en) | Integrated circuit for network stress testing | |
US7418001B2 (en) | Router for scheduling packet and method therefor | |
US7864776B2 (en) | Method and equipment for making a routing decision dependent on a quality-of-service class | |
US6850513B1 (en) | Table-based packet classification | |
JP2002124990A (ja) | ポリシ実行スイッチ | |
US20070053290A1 (en) | Packet attribute based prioritization | |
JP3584884B2 (ja) | フロー検出装置及びそれに用いるフロー検出方法 | |
KR20050049864A (ko) | 소프트웨어 프로토콜 스택과 하드웨어 프로토콜 스택을사용한 멀티미디어 통신 장치 및 그 통신 방법 | |
JP4340646B2 (ja) | 通信処理回路、通信処理方法 | |
US20040057433A1 (en) | Methods and systems for prioritizing packets of data in a communications system | |
Ertemalp et al. | Using dynamic buffer limiting to protect against belligerent flows in high-speed networks | |
US7573889B1 (en) | Systems and methods for efficient buffering and metering of high-speed flows | |
Maki et al. | Hierarchically aggregated fair queueing (HAFQ) for per-flow fair bandwidth allocation | |
EP1161851B1 (en) | Method and apparatus for providing fair traffic scheduling among aggregated internet protocol flows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040517 |
|
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: 20040713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040726 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070813 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080813 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080813 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090813 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090813 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100813 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110813 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110813 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120813 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |