JPWO2009098819A1 - 通信システム - Google Patents
通信システム Download PDFInfo
- Publication number
- JPWO2009098819A1 JPWO2009098819A1 JP2009552388A JP2009552388A JPWO2009098819A1 JP WO2009098819 A1 JPWO2009098819 A1 JP WO2009098819A1 JP 2009552388 A JP2009552388 A JP 2009552388A JP 2009552388 A JP2009552388 A JP 2009552388A JP WO2009098819 A1 JPWO2009098819 A1 JP WO2009098819A1
- Authority
- JP
- Japan
- Prior art keywords
- flow
- flow information
- packet
- registered
- cache
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
Abstract
制御サーバは、フローテーブルに登録されている複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択し、ネットワークノードは、フローキャッシュに登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報をフローキャッシュに登録している。このように、ネットワークノードが保持するフロー情報は、頻繁に入れ替えが行われる。このため、ネットワークノードにおいて、制御したいフローの数に相当するフロー情報を保持することができる容量が制限されても、全てのフローについて適切にトラヒックの制限を行うことができる。
Description
本発明は、パケットの中継を行う通信システムに関する。
ネットワークにおいて、大量のトラヒックに起因する問題が深刻になっている。例えば、特定のフローに対して大量のトラヒックを発生させることによって、そのフローの通信を阻害する攻撃(サービス拒否攻撃)や、P2P(Peer to Peer)などのアプリケーションによって、特定のフローに対して大量のトラヒックを恒常的に発生させて、そのフローの通信品質を劣化させてしまう問題などが挙げられる。これらの問題に対処するため、従来は主に以下の2方式が用いられてきた。
第一の方式では、ネットワークのトラヒックを監視し、大量のトラヒックを発生させるフローを特定し、このフローに対してのみトラヒックの制限を行う方式である。例えば、特開2006−60599号公報に示される方式では、トラヒック量などの情報を基に攻撃を検出し、これに基づいてファイヤーウォールにてレートを制限するフィルタを設定する方式が示されている。
第二の方式では、フロー毎に通信を許可する量を予め決定しておき、あるいは動的に決定しておき、フローのトラヒック量がこの量を超えた場合にはトラヒックの制限を行う方式である。例えば特開平11−041316号公報に示される方式では、出力回線を共有する全てのフロー間で公平に帯域を分配する方式が述べられており、決定された量を超えたトラヒックは、キューがいっぱいになったところで廃棄される。
以上の2つの従来方式では、ネットワークノードが、制御したいフローの数に相当するフロー情報を保持しておく必要がある。フロー情報は、フローに関する情報を表している。しかしながら、高速なネットワークノードでは、フロー情報を保持することができる容量が制限される。このため、ネットワークノードは、制御したいフローの数が多い場合は、これらのフロー情報を全て保持することができない。従って、全てのフローについて適切にトラヒックの制限を行うことができない。
上記文献について紹介する。
特開2006−60599号公報には、アプリケーションサービス拒絶攻撃防御方法が開示されている。この方法は、IPネットワーク内に設置されるエンドノードを、該エンドノードのレイヤ5以上の処理をターゲットとするTCP上のDoS攻撃またはDDoS攻撃から防御するものである。この方法では、エンドノードを収容するエッジノードの該エンドノードへの出口回線に設置されたファイヤーウォール装置が、レイヤ4以下のフィールド情報を基にフィルタリングを行う(第1の処理)。第1の処理の後、エンドノードの代理でTCPの処理を一旦終端し、3ウェイ−ハンドシェーク処理を行ってからエンドノードへトラヒックを転送する(第2の処理)。エンドノードのアドレスを送信先アドレスとするトラヒックを発信元アドレスごとに監視し、レイヤ4以下の情報に基づいて攻撃を検知し対処を依頼する(第3の処理)。第3の処理からの依頼により指定されたフローに対してトラヒックの制限を行う(第4の処理)。
特開平11−041316号公報には、データ出力制御方法が開示されている。データ出力制御方法は、複数の待ち行列を有し、入力データをその属性に基づいて適切な待ち行列に格納し、これらの待ち行列から単一の出力回線にデータを出力するものである。この方法では、待ち行列の番号を格納する複数のリストを使用し、同一の待ち行列番号は全リスト中に高々1つのみ存在するようにする。入力データを待ち行列に格納する際、該待ち行列が入力データ以外のデータを持たなければ、該待ち行列のデータ出力可否状態および優先度の内の少なくとも1つの条件に応じて適切なリストに該待ち行列番号を格納する。データを出力回線に出力する際には、適切なリストを選択してそのリストの先頭から待ち行列番号を取り出し、取り出した番号の待ち行列からデータを1つ送出する。該待ち行列が、出力したデータ以外のデータを持てば前記条件により適切なリストに該待ち行列番号を格納する。一定時間毎に、もしくは特定のリストが空になる毎に、各待ち行列の前記条件の変更と、リスト間での待ち行列番号の移動とを行うリセット動作を行う。
上述したシステムでは、全てのフローについて適切にトラヒックの制限を行うことができない、という課題がある。従って、本発明の目的は、ネットワークノードにおいて、制御したいフローの数に相当するフロー情報を保持することができる容量が制限されても、全てのフローについて適切にトラヒックの制限を行うことができる通信システムを提供することにある。
本発明の通信システムは、パケットの中継を行うネットワークノードと、ネットワークノードに接続された制御サーバと、を具備している。パケットは、パケットが属するフローに関するフロー情報を含んでいる。制御サーバは、複数のフロー情報が登録されたフローテーブルと、通知フロー決定部と、を具備している。ネットワークノードは、パケットを受信パケットとして受信するパケット監視部と、複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュと、パケット破棄部と、キャッシュ置き換え部と、を具備している。ここで、フローキャッシュに登録されている一部のフロー情報はパケット廃棄率を含んでいる。ネットワークノードのパケット破棄部は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュに登録されていない場合、受信パケットを送信パケットとして送信し、一致フロー情報がフローキャッシュに登録されている場合、一致フロー情報のパケット廃棄率に従って受信パケットを破棄する。制御サーバの通知フロー決定部は、フローテーブルに登録されている複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択する。ネットワークノードのキャッシュ置き換え部は、フローキャッシュの容量に空きがある場合、選択フロー情報に対するパケット廃棄率を選択フロー情報に付加してフローキャッシュに登録し、フローキャッシュの容量に空きがない場合、フローキャッシュに登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報に対するパケット廃棄率を選択フロー情報に付加してフローキャッシュに登録する。本発明の通信システムによれば、ネットワークノードが保持するフロー情報を削減することができる。このため、低コストでネットワークノードを構成することができる。また、ネットワークノードが保持するフロー情報は、頻繁に入れ替えが行われる。このため、本発明の通信システムによれば、ネットワークノードにおいて、制御したいフローの数に相当するフロー情報を保持することができる容量が制限されても、全てのフローについて適切にトラヒックの制限を行うことができる。
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
以下に添付図面を参照して、本発明の実施形態による通信システムについて詳細に説明する。
(第1実施形態)
図1は、本発明の第1実施形態による通信システムの構成を示している。通信システムは、制御サーバ1と、ネットワークノード2と、を具備している。
図1は、本発明の第1実施形態による通信システムの構成を示している。通信システムは、制御サーバ1と、ネットワークノード2と、を具備している。
制御サーバ1は、コンピュータであり、CPU(Central Processing Unit)である実行部11と、記録媒体である記憶部12と、を具備している。記憶部12には、制御サーバ1に実行させるためのコンピュータプログラム13が記憶されている。実行部11は、制御サーバ1が起動するときなどにコンピュータプログラム13を記憶部12から読み取って実行する。
ネットワークノード2は、コンピュータであり、CPUである実行部21と、記録媒体である記憶部22と、フローキャッシュ2−3と、を具備している。記憶部22には、ネットワークノード2に実行させるためのコンピュータプログラム23が記憶されている。実行部21は、ネットワークノード2が起動するときなどにコンピュータプログラム23を記憶部22から読み取って実行する。
図2は、本発明の第1実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
制御サーバ1の記憶部12は、フローテーブル1−2を備え、そのコンピュータプログラム13は、制限帯域設定部1−1、通知フロー決定部1−3、廃棄率決定部1−4を含んでいる。制御サーバ1は、ネットワークノード2に接続されている。
ネットワークノード2のコンピュータプログラム23は、パケット監視部2−1、キャッシュ置き換え部2−2、パケット廃棄部2−4を含んでいる。ネットワークノード2は、パケットの中継を行う。パケットは、パケットが属するフローに関するフロー情報を含んでいる。フロー情報は、パケットのヘッダに付加されている。
フローテーブル1−2には、受信帯域と制限帯域とを含む複数のフロー情報が登録されている。
フローキャッシュ2−3には、複数のフロー情報のうちの一部のフロー情報が登録されている。フローキャッシュ2−3に登録されている一部のフロー情報はパケット廃棄率Diを含んでいる。
ネットワークノード2のパケット監視部2−1は、パケットを受信パケットとして受信し、パケット破棄部2−4と制御サーバ1とに出力する。制御サーバ1の制限帯域設定部1−1は、パケット監視部2−1により受信パケットが受信されたときの受信帯域を計測し、そのときの制限帯域を推測して、受信パケットのフロー情報に受信帯域と制限帯域とを付加してフローテーブル1−2に登録する。即ち、受信パケットのフロー情報の受信帯域と制限帯域とを更新する。
制御サーバ1の通知フロー決定部1−3は、フローテーブル1−2に登録されている複数のフロー情報の中から、予め決められた第1の確率(以下、確率Pi)に従って、1つのフロー情報を選択フロー情報iとして定期的に選択する。確率Piは、フローテーブル1−2に登録されている複数のフロー情報の中から、1つのフロー情報が選択フロー情報iとして選択される確率を表している。廃棄率決定部1−4は、予め決められた第2の確率(以下、確率Di)を、選択フロー情報iに対するパケット廃棄率Diとして決定する。パケット廃棄率Diは、選択フロー情報i(特定のフロー)に属する全てのパケットの中から、受信パケットを廃棄するための確率を表している。廃棄率決定部1−4は、選択フロー情報iとパケット廃棄率Diとをネットワークノード2に出力する。
ネットワークノード2のキャッシュ置き換え部2−2は、フローキャッシュ2−3の容量に空きがあるか否かを調べる。フローキャッシュ2−3の容量に空きがある場合、キャッシュ置き換え部2−2は、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2−3に登録する。フローキャッシュ2−3の容量に空きがない場合、キャッシュ置き換え部2−2は、予め決められた第3の確率(以下、確率Rj)に従って、フローキャッシュ2−3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2−3に登録する。確率Rjは、フローキャッシュ2−3に登録されている一部のフロー情報の中から、1つのフロー情報jが選択されて削除される確率を表している。
ネットワークノード2のパケット破棄部2−4は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2−3に登録されているか否かを調べる。上記一致フロー情報がフローキャッシュ2−3に登録されていない場合、パケット破棄部2−4は、受信パケットを送信パケットとして送信する。上記一致フロー情報がフローキャッシュ2−3に登録されている場合、パケット破棄部2−4は、上記一致フロー情報のパケット廃棄率Diに従って、受信パケットを破棄する。
図3は、本発明の第1実施形態による通信システムの動作を示すフローチャートである。ここでは、図2及び図3を参照して、本実施形態の動作について説明する。
まず、ネットワークノード2にパケットが到着したときの動作について説明する。
ネットワークノード2のパケット監視部2−1は、パケットを受信パケットとして受信し(ステップS1)、パケット破棄部2−4と制御サーバ1とに出力する(ステップS2)。
制御サーバ1の制限帯域設定部1−1は、パケット監視部2−1により受信パケットが受信されたときの受信帯域を計測する。また、制限帯域設定部1−1は、受信パケットのヘッダ(フロー情報)を基に、例えばパケット長やサンプリング確率や取得パケット数などを用いて、受信パケットが属するフローの制限帯域を推定する。制限帯域設定部1−1は、受信パケットのフロー情報に受信帯域と制限帯域とを付加してフローテーブル1−2に登録する(ステップS6)。この制限帯域はサービス毎に予め設定された固定値や、動的に計算される公平帯域を用いればよい。公平帯域とは、出力回線の帯域を、現在通信を行っているフロー数で割ったものであるが、公平帯域よりも低い帯域で通信を行っているフローがある場合、この差分の帯域については他のフローに割り当ててよいものとする。
そして、ネットワークノード2のパケット破棄部2−4は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2−3に登録されているか否かを調べる(ステップS3)。上記一致フロー情報がフローキャッシュ2−3に登録されていない場合(ステップS3−YES)、パケット破棄部2−4は、受信パケットを送信パケットとして送信する(通過させる)(ステップS4)。上記一致フロー情報がフローキャッシュ2−3に登録されている場合(ステップS3−NO)、パケット破棄部2−4は、フローキャッシュ2−3に登録されているパケット廃棄率Diに従って、受信パケットを破棄する(ステップS5)。
次に、ネットワークノード2のフローキャッシュ2−3に登録された内容が更新されるときの動作について説明する。
制御サーバ1の通知フロー決定部1−3は、フローテーブル1−2に登録されている複数のフロー情報の中から、確率Piに従ってフローキャッシュに登録すべきフロー情報を選択フロー情報iとして選択する(ステップS7)。次に、廃棄率決定部1−4は、確率Diを、選択フロー情報iに対するパケット廃棄率Diとして決定する。ここで、パケット廃棄率Diは、選択フロー情報iに関する目標廃棄率ではなく、選択フロー情報iがフローキャッシュ2−3に登録されている間にのみ適用される廃棄率である。選択フロー情報iは必ずしもいつでもフローキャッシュ2−3に登録されているとは限らないため、一般的にパケット廃棄率Diは選択フロー情報iに対する目標廃棄率よりも大きく設定する必要がある。そして、廃棄率決定部1−4は、選択フロー情報iとパケット廃棄率Diとをネットワークノード2に出力する(ステップS8)。
ネットワークノード2のキャッシュ置き換え部2は、フローキャッシュ2−3のエントリに空きがあるか否かを調べる(ステップS9)。即ち、フローキャッシュ2−3の容量に空きがあるか否かを調べる。フローキャッシュ2−3のエントリに空きがある場合(ステップS9−YES)、キャッシュ置き換え部2−2は、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2−3に登録する(ステップS11)。エントリに空きがない場合(ステップS9−NO)、確率Rjに従って、フローキャッシュ2−3に登録されている一部のフロー情報のうちの1つのフロー情報と既存パケット廃棄率とに使用されているエントリを削除し(ステップS10)、空いた場所に新規の情報として、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2−3に登録する(ステップS11)。
ステップS11が実行された後、ステップS7以降が実行される。
以上で述べた確率Pi、パケット廃棄率Di、確率Rjは、任意に設定することができ、何通りも考えられる。
例えば、確率Piについては、上記の選択フロー情報、制限帯域、受信帯域をそれぞれi、Bi、Liとしたとき、
・選択フロー情報iに対して一律の確率Pi{Pi=固定値A(0≦A≦1)}、
・選択フロー情報iの受信帯域Biに比例した確率Pi{Pi=f1(Bi)、0≦f1≦1}、
・選択フロー情報iの制限帯域Biと受信帯域Liとの差分に比例した確率Pi{Pi=f2(Bi−Li)、0≦f2≦1}、
・選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Pi{Pi=f3(Hi)、0≦f3≦1}、
・選択フロー情報iをフローキャッシュ2−3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f4(T−Ti)、0≦f4≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f5(1/(T−Ai))、0≦f5≦1}、
のいずれかが挙げられる。
・選択フロー情報iに対して一律の確率Pi{Pi=固定値A(0≦A≦1)}、
・選択フロー情報iの受信帯域Biに比例した確率Pi{Pi=f1(Bi)、0≦f1≦1}、
・選択フロー情報iの制限帯域Biと受信帯域Liとの差分に比例した確率Pi{Pi=f2(Bi−Li)、0≦f2≦1}、
・選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Pi{Pi=f3(Hi)、0≦f3≦1}、
・選択フロー情報iをフローキャッシュ2−3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f4(T−Ti)、0≦f4≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f5(1/(T−Ai))、0≦f5≦1}、
のいずれかが挙げられる。
また、パケット廃棄率Diについては、上記の選択フロー情報、制限帯域、受信帯域をそれぞれi、Bi、Liとしたとき、
・選択フロー情報iに対して一律の確率Di{Di=固定値A(0≦A≦1)}、
・選択フロー情報iの受信帯域Biに比例した確率Di{Di=f1(Bi)、0≦f1≦1}、
・選択フロー情報iの制限帯域Biと受信帯域Liとの差分に比例した確率Di{Di=f2(Bi−Li)、0≦f2≦1}、
・選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Di{Di=f3(Hi)、0≦f3≦1}、
・選択フロー情報iをフローキャッシュ2−3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f4(T−Ti)、0≦f4≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f5(1/(T−Ai))、0≦f5≦1}、
のいずれかが挙げられる。
・選択フロー情報iに対して一律の確率Di{Di=固定値A(0≦A≦1)}、
・選択フロー情報iの受信帯域Biに比例した確率Di{Di=f1(Bi)、0≦f1≦1}、
・選択フロー情報iの制限帯域Biと受信帯域Liとの差分に比例した確率Di{Di=f2(Bi−Li)、0≦f2≦1}、
・選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Di{Di=f3(Hi)、0≦f3≦1}、
・選択フロー情報iをフローキャッシュ2−3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f4(T−Ti)、0≦f4≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f5(1/(T−Ai))、0≦f5≦1}、
のいずれかが挙げられる。
また、確率Rjについては、上記の選択フロー情報、パケット廃棄率をそれぞれi、Diとしたとき、
・選択フロー情報iに対して一律の確率Ri{Ri=固定値C(0≦C≦1)}、
・パケット廃棄率Diに比例した確率Ri{Ri=g1(1/Di)、0≦g1≦1}、
・選択フロー情報iをフローキャッシュ2−3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g2(T−Ti)、0≦g2≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g3(1/(T−Ai))、0≦g3≦1}、
のいずれかが挙げられる。
・選択フロー情報iに対して一律の確率Ri{Ri=固定値C(0≦C≦1)}、
・パケット廃棄率Diに比例した確率Ri{Ri=g1(1/Di)、0≦g1≦1}、
・選択フロー情報iをフローキャッシュ2−3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g2(T−Ti)、0≦g2≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g3(1/(T−Ai))、0≦g3≦1}、
のいずれかが挙げられる。
また、確率Piやパケット廃棄率Diについては、確率Piやパケット廃棄率Diに対して指数関数や対数関数を適用した確率を用いても良い。
例えば、ある選択フロー情報i(特定のフロー)に属する全てのパケットの中から、受信パケットを20%廃棄したい場合を考える。選択フロー情報iに対する確率Piの割合が10%であったとすれば、制御サーバ1からネットワークノード2へのフロー情報の通知のうち、10回に1回は選択フロー情報iが通知されることになる。ここで、フローキャッシュ2−3の容量のうちの、フロー情報が登録される容量を5フローとし、ランダムに書き換えられるとすると、フローキャッシュ2−3に選択フロー情報iが登録されている確率は50%となる。従って、パケット廃棄率Diを40%と設定すれば、選択フロー情報i(特定のフロー)に属するパケット全体のパケット廃棄率を20%とすることが可能である。
以上の説明により、本発明の第1実施形態による通信システムによれば、制御サーバ1は、複数のフロー情報が登録されたフローテーブル1−2を具備し、ネットワークノード2は、複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュ2−3を具備している。従って、本発明の第1実施形態による通信システムによれば、ネットワークノード2が保持するフロー情報を削減することができる。このため、低コストでネットワークノード2を構成することができる。
また、本発明の第1実施形態による通信システムによれば、制御サーバ1は、フローテーブル1−2に登録されている複数のフロー情報の中から、1つのフロー情報を選択フロー情報iとして定期的に選択し、ネットワークノード2は、フローキャッシュ2−3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iをフローキャッシュ2−3に登録している。このように、ネットワークノードが保持するフロー情報は、頻繁に入れ替えが行われる。このため、本発明の第1実施形態による通信システムによれば、ネットワークノード2において、制御したいフローの数に相当するフロー情報を保持することができる容量が制限されても、全てのフローについて適切にトラヒックの制限を行うことができる。
(第2実施形態)
第2実施形態では、第1実施形態と重複する説明を省略する。
第2実施形態では、第1実施形態と重複する説明を省略する。
図4は、本発明の第2実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
制御サーバ1のコンピュータプログラム13は、第1実施形態の構成に加えて、更に、ネットワークノード振り分け部1−5、ネットワークノード登録部1−6を含んでいる。
ネットワークノード2のコンピュータプログラム23は、第1実施形態の構成に加えて、更に、制御サーバ振り分け部2−5を含んでいる。
本実施形態では、
(第1の構成)1つの制御サーバ1に対して複数のネットワークノード2が接続された構成、
(第2の構成)複数の制御サーバ1に対して1つのネットワークノード2が接続された構成、
において、制御サーバ1とネットワークノード2間の通信方式が異なる。以下ではこの相違点について説明する。
(第1の構成)1つの制御サーバ1に対して複数のネットワークノード2が接続された構成、
(第2の構成)複数の制御サーバ1に対して1つのネットワークノード2が接続された構成、
において、制御サーバ1とネットワークノード2間の通信方式が異なる。以下ではこの相違点について説明する。
(第1の構成)
まず、1つの制御サーバ1に対して複数のネットワークノード2が接続された構成の場合の説明を行う。
まず、1つの制御サーバ1に対して複数のネットワークノード2が接続された構成の場合の説明を行う。
制御サーバ1は、複数のネットワークノード2に接続されている。そこで、制御サーバ1のフローテーブル1−2には、複数の識別情報に対応付けて、受信帯域と制限帯域とを含む複数のフロー情報が登録されている。複数の識別情報は、それぞれ、複数のネットワークノード2を識別するための情報である。
複数のネットワークノード2の制御サーバ振り分け部2−5は、それぞれ複数のネットワークノード2のパケット監視部2−1により受信された受信パケットと、それぞれ複数のネットワークノード2を識別する識別情報と、を制御サーバ1に出力する。このとき、複数のネットワークノード2から、それぞれ、複数の受信パケットと複数の識別情報とが出力される。制御サーバ1のネットワークノード登録部1−6は、フローテーブル1−2を参照して、複数の識別情報がそれぞれ複数のネットワークノード2から出力された情報であることを振り分け部2−5に通知する。制限帯域設定部1−1は、複数のネットワークノード2から出力された複数の受信パケットに対して受信帯域を計測し、制限帯域を推測して、複数のネットワークノード2から出力された受信パケットのフロー情報に受信帯域と制限帯域とを付加し、複数のネットワークノード2から出力された識別情報に対応付けてフローテーブル1−2に登録する。
制御サーバ1のネットワークノード振り分け部1−5は、複数のネットワークノード2に対して、通知フロー決定部1−3により選択された選択フロー情報iと、廃棄率決定部1−4により決定されたパケット廃棄率Diと、をそれぞれ複数のネットワークノード2に出力する。複数のネットワークノード2のキャッシュ置き換え部2−2は、それぞれ複数のネットワークノード2のフローキャッシュ2−3の容量に空きがあるか否かを調べる。フローキャッシュ2−3の容量に空きがある場合、キャッシュ置き換え部2−2は、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2−3に登録する。フローキャッシュ2−3の容量に空きがない場合、キャッシュ置き換え部2−2は、予め決められた確率Rjに従って、フローキャッシュ2−3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2−3に登録する。
(第2の構成)
次に、複数の制御サーバ1に対して1つのネットワークノード2が接続された構成の場合の説明を行う。
次に、複数の制御サーバ1に対して1つのネットワークノード2が接続された構成の場合の説明を行う。
ネットワークノード2は、複数の制御サーバ1に接続されている。そこで、複数の制御サーバ1のフローテーブル1−2には、識別情報に対応付けて、複数のフロー情報と、複数の受信帯域と、複数の制限帯域と、が登録されている。識別情報は、ネットワークノード2を識別するための情報である。即ち、特定のネットワークノード2が上記の複数の制御サーバ1を占有して使用することができ、他のネットワークノード2は、特定のネットワークノード2が占有する複数の制御サーバ1を使用できないようになっている。
ネットワークノード2の制御サーバ振り分け部2−5は、パケット監視部2−1により受信された受信パケットと、自身のネットワークノード2を識別する識別情報と、を複数の制御サーバ1に出力する。複数の制御サーバ1のネットワークノード登録部1−6は、それぞれ複数の制御サーバ1のフローテーブル1−2を参照して、識別情報が特定のネットワークノード2から出力された情報であることを振り分け部2−5に通知する。複数の制御サーバ1の制限帯域設定部1−1は、ネットワークノード2から出力された受信パケットに対して受信帯域を計測し、制限帯域を推測して、ネットワークノード2から出力された受信パケットのフロー情報に受信帯域と制限帯域とを付加し、ネットワークノード2から出力された識別情報に対応付けて、それぞれ複数の制御サーバ1のフローテーブル1−2に登録する。
複数の制御サーバ1のネットワークノード振り分け部1−5は、ネットワークノード2に対して、それぞれ複数の制御サーバ1の通知フロー決定部1−3により選択された選択フロー情報iと、それぞれ複数の制御サーバ1の廃棄率決定部1−4により決定されたパケット廃棄率Diと、をネットワークノード2に出力する。ネットワークノード2のキャッシュ置き換え部2−2は、フローキャッシュ2−3の容量に空きがあるか否かを調べる。フローキャッシュ2−3の容量に空きがある場合、キャッシュ置き換え部2−2は、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2−3に登録する。フローキャッシュ2−3の容量に空きがない場合、キャッシュ置き換え部2−2は、予め決められた確率Rjに従って、フローキャッシュ2−3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2−3に登録する。
以上の説明により、本発明の第2実施形態による通信システムによれば、1つの制御サーバ1に対して複数のネットワークノード2が接続された構成(第1の構成)では制御サーバ1の台数を削減する効果があり、複数の制御サーバ1に対して1つのネットワークノード2が接続された構成(第2の構成)では複数の制御サーバ1の各々のおける付加を分散できる効果がある。
(第3実施形態)
第3実施形態では、第1実施形態と重複する説明を省略する。
第3実施形態では、第1実施形態と重複する説明を省略する。
図5は、本発明の第3実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
制御サーバ1のコンピュータプログラム13は、第1実施形態の構成に加えて、更に、非制御フロー廃棄率決定部1−7を含んでいる。
ネットワークノード2のコンピュータプログラム23は、第1実施形態の構成に加えて、更に、ノード状態監視部2−6を含んでいる。
ネットワークノード2のノード状態監視部2−6は、自身のネットワークノード2の状態を表す状態情報を制御サーバ1に出力する。そこで、状態情報が、パケット監視部2−1により受信された受信パケットに対してフロー情報がフローキャッシュ2−3に登録されていないことを表している。この場合、制御サーバ1の非制御フロー廃棄率決定部1−7は、受信パケットのフロー情報に対するパケット廃棄率を決定し、ネットワークノード2に出力する。ネットワークノード2のパケット破棄部2−4は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2−3に登録されている場合、非制御フロー廃棄率決定部1−7からのパケット廃棄率と上記一致フロー情報のパケット廃棄率Diとに従って、受信パケットを破棄する。
本実施形態では、パケット廃棄部2−4において、フローキャッシュ2−3に登録されていないフロー情報(フロー)に属するパケットが到着した場合の処理が異なる。以下ではこの相違点について説明する。
まず、ネットワークノード2のノード状態監視部2−6では、自身のネットワークノード2内のキュー長や合計入力帯域などの状態を監視し、これを状態情報として制御サーバ1に送信する。制御サーバ1の非制御フロー廃棄率決定部1−7は、フローキャッシュ2−3に登録されていないフロー情報(フロー)に属するパケットが到着した場合のパケット廃棄率を計算する。このパケット廃棄率は、状態情報が表す状態やフローテーブル1−2に格納されている複数のフロー情報の状態(受信帯域、制限帯域)より計算するものとする。例えば、状態情報が表す状態を用いてパケット廃棄率=max(0、(1−回線帯域/合計入力レート))と計算しても良いし、本方式によってネットワークノード2を通過する帯域の推定値(制限帯域)の合計を用いてパケット廃棄率=max(0、(1−回線帯域/推定値))を計算しても良い。
ネットワークノード2のパケット廃棄部2−4は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2−3に登録されていない場合、非制御フロー廃棄率決定部1−7からのパケット廃棄率と上記一致フロー情報のパケット廃棄率Diとに従って、受信パケットを廃棄する。ここで、フローキャッシュ2−3に登録されているパケット廃棄率Diに対して上記非制御フロー廃棄率決定部1−7からのパケット廃棄率を上乗せした廃棄率で、受信パケットを廃棄する。
(第4実施形態)
第4実施形態では、第1実施形態と重複する説明を省略する。
第4実施形態では、第1実施形態と重複する説明を省略する。
図6は、本発明の第4実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
制御サーバ1のコンピュータプログラム13は、第1実施形態における廃棄率決定部1−4に代えて、制限帯域決定部1−8を含んでいる。
ネットワークノード2のコンピュータプログラム23は、第1実施形態におけるパケット廃棄部2−4に代えて、シェイパ処理部2−7を含んでいる。
制御サーバ1の制限帯域決定部1−8は、制限帯域設定部1−1により推測される制限帯域である第1制限帯域が表す値よりも所定値だけ小さい第2制限帯域を決定する。これはフローキャッシュ2−3に登録されていない期間のパケット廃棄を行わないため、フローキャッシュ2−3に登録されている期間は低い制限帯域を設定することでその埋め合わせを行うためである。制限帯域決定部1−8は、選択フロー情報iと第2制限帯域とをネットワークノード2に出力する。
ここで、フローキャッシュ2−3に登録されている一部のフロー情報は、パケット廃棄率ではなく、第2制限帯域である。
ネットワークノード2のキャッシュ置き換え部2−2は、フローキャッシュ2−3の容量に空きがあるか否かを調べる。フローキャッシュ2−3の容量に空きがある場合、キャッシュ置き換え部2−2は、選択フロー情報iに対する第2制限帯域を選択フロー情報iに付加してフローキャッシュ2−3に登録する。フローキャッシュ2−3の容量に空きがない場合、キャッシュ置き換え部2−2は、確率Rjに従って、フローキャッシュ2−3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iに対する第2制限帯域を選択フロー情報iに付加してフローキャッシュ2−3に登録する。
ネットワークノード2のシェイパ処理部2−7は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2−3に登録されているか否かを調べる。上記一致フロー情報がフローキャッシュ2−3に登録されていない場合、シェイパ処理部2−7は、受信パケットを送信パケットとして送信する。上記一致フロー情報がフローキャッシュ2−3に登録されている場合、シェイパ処理部2−7は、パケット監視部2−1により受信パケットが受信されたときの受信帯域と、上記一致フロー情報の第2制限帯域とを比較し、受信パケットの受信帯域が上記一致フロー情報の第2制限帯域よりも高い場合、受信パケットを破棄する。
本発明の第4実施形態による通信システムによれば、第1実施形態に対して、シェイパ処理部2−7において選択フロー情報i(特定のフロー)に属するパケットの制限帯域を監視するという処理が加わる。一方、制限帯域の変動が大きい場合には第1実施形態と比較して受信パケットを廃棄する制御を実行する上で追従性が高い。
(第5実施形態)
図7は、本発明の第5実施形態による通信システムの構成を示している。通信システムは、制御サーバ1と、ネットワークノード2と、を具備している。
図7は、本発明の第5実施形態による通信システムの構成を示している。通信システムは、制御サーバ1と、ネットワークノード2と、を具備している。
図8は、本発明の第5実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
制御サーバ1のコンピュータプログラム13は、第1実施形態における通知フロー決定部1−3に代えて、ブルームフィルタ作成部1−9を含んでいる。
ネットワークノード2は、第1実施形態におけるフローキャッシュ2−3に代えて、ブルームフィルタ保持部2−9を備えている。ネットワークノード2のコンピュータプログラム23は、第1実施形態におけるキャッシュ置き換え部2−2に代えて、ブルームフィルタ置き換え部2−8、を含んでいる。
ブルームフィルタ保持部2−9には、既存ブルームフィルタが登録されている。
制御サーバ1の廃棄率決定部1−4は、フローテーブル1−2に登録されている複数のフロー情報に対してそれぞれ複数のパケット廃棄率Diを決定する。ブルームフィルタ作成部1−9は、複数のパケット廃棄率をそれぞれ表す複数のビットを含むブルームフィルタを生成する。ブルームフィルタ作成部1−9は、ブルームフィルタをネットワークノード2に出力する。
ネットワークノード2のブルームフィルタ置き換え部2−8は、ブルームフィルタ保持部2−9に登録されている既存ブルームフィルタを削除し、ブルームフィルタをブルームフィルタ保持部2−9に登録する。パケット破棄部2−4は、ブルームフィルタ保持部2−9に登録されているブルームフィルタに基づいて、受信パケットのフロー情報に対するパケット廃棄率を選択パケット廃棄率として決定し、選択パケット廃棄率に従って、受信パケットを破棄する。
ブルームフィルタは、上記の複数のビットとしてNビット(Nは2以上の整数)のビットマップで構成されるフィルタであり、Nビットがそれぞれ複数のフロー情報(複数のフロー)に対応する。ブルームフィルタ作成部1−9は、あるフロー情報i(iは、1≦x≦Nを満たす整数)についてiをハッシュ関数にかけて1〜Nまでの数値を決定し、この数値に対応するビットを“1”に設定する。これにより、ブルームフィルタでは、少ないビット数で、それぞれのフローが含まれているかどうかの判定が可能である。
図9は、本発明の第5実施形態による通信システムの動作を示すフローチャートである。ここでは、図8及び図9を参照して、本実施形態の動作について説明する。
まず、ネットワークノード2にパケットが到着したときの動作について説明する。
ネットワークノード2のパケット監視部2−1は、パケットを受信パケットとして受信し(ステップS1)、パケット破棄部2−4と制御サーバ1とに出力する(ステップS2)。制御サーバ1の制限帯域設定部1−1は、パケット監視部2−1により受信パケットが受信されたときの受信帯域を計測する。また、制限帯域設定部1−1は、そのときの制限帯域を推定する。制限帯域設定部1−1は、受信パケットのフロー情報に受信帯域と制限帯域とを付加してフローテーブル1−2に登録する(ステップS6)。
ネットワークノード2のパケット破棄部2−4は、受信パケットのフロー情報についてハッシュ関数を用いて複数のブルームフィルタの複数のビットの各々を特定する。そして、保持している複数のブルームフィルタに対してこのビットが“1”に設定されているかどうかを調べ、“1”に設定されている割合を計算する(ステップS21)。次に、制御サーバ1から通知された最大パケット廃棄率に対して上記割合を乗じ、このパケット廃棄率を基に確率的に受信パケットを廃棄する(ステップS22)。すなわち本実施形態においてブルームフィルタは、フロー毎のパケット廃棄率を効率的に格納するための部である。第1実施形態と比較すると、ハッシュ値の衝突により誤ってパケットを廃棄するという問題やパケット廃棄率の設定粒度が荒いという問題はあるが、特定のフローだけでなく全てのフロー情報をネットワークノード2で保持可能であるため、より積極的な制御が可能である。
次に、ネットワークノード2のフローキャッシュ2−3に登録された内容が更新されるときの動作について説明する。
制御サーバ1の廃棄率決定部1−4は、フローテーブル1−2に登録されている複数のフロー情報に対してそれぞれ複数のパケット廃棄率を計算する(ステップS23)。このパケット廃棄率は、第1実施形態におけるパケット廃棄率の計算とは異なり、制限帯域を到着帯域で割ったもの、すなわち目標とするパケット廃棄率である。そして、ブルームフィルタ作成部1−9は、複数のパケット廃棄率の中から、最大値を表す最大廃棄率を決定し、複数のパケット廃棄率をそれぞれ表す複数のビットを含むブルームフィルタを生成する(ステップS24)。このとき、ブルームフィルタ作成部1−9は、ブルームフィルタの複数のビットの各々に、そのビットに対応するフロー情報におけるパケット廃棄率を最大廃棄率で割った値の確率で“1”を書き込む。即ち、最も廃棄率の高いフローについては、対応するビットが常に“1”に設定され、最大廃棄率の半分の廃棄率に設定されたフローは、対応するビットに50%の確率で“1”を書き込む。これを全てのビットについて計算し、作成したブルームフィルタをネットワークノード2に出力する。
ネットワークノード2のブルームフィルタ置き換え部2−8は、既存ブルームフィルタを削除し(ステップS25−NO、S26)、ブルームフィルタをブルームフィルタ保持部2−9に登録する(ステップS27)。
ここで、毎回ブルームフィルタを作成する処理コストが問題になるならば、ブルームフィルタ作成部1−9は、予め複数のブルームフィルタを作成しておき、これを順番にネットワークノードに出力すればよい。
この場合、ネットワークノード2のブルームフィルタ保持部2−9には、複数の既存ブルームフィルタが登録されている。ブルームフィルタ置き換え部2−8は、ブルームフィルタ保持部2−9の容量に空きがあるか否かを調べる(ステップS25)。ブルームフィルタ保持部2−9の容量に空きがある場合(ステップS25−YES)、ブルームフィルタ置き換え部2−8は、ブルームフィルタをブルームフィルタ保持部2−9に登録する(ステップS27)。ブルームフィルタ保持部2−9の容量に空きがない場合(ステップS25−NO)、ブルームフィルタ置き換え部2−8は、確率Rjに従って、ブルームフィルタ保持部2−9に登録されている複数の既存ブルームフィルタのうちの1つの既存ブルームフィルタを削除し(ステップS26)、ブルームフィルタをブルームフィルタ保持部2−9に登録する(ステップS27)。
ステップS27が実行された後、ステップS23以降が実行される。
以上の説明により、本発明の第5実施形態による通信システムによれば、ネットワークノード2が保持するフロー情報を1フローあたり1ビットに削減できる。このため、大量のフロー情報を低コストでネットワークノード2に保持することができる。ここで、ネットワークノード2に保持されるフロー情報は1フローあたり1ビットしかないため、制御をかけるかどうかの2値判断のみであるが、本発明においては、このフロー情報を頻繁に更新することにより、より細粒度な制御を実現する。例えば、最大値で制御をかけたいフローについては常にフロー情報に対応するビットを立てておいて常に制御がかかるようにする。一方、最大値の1/10で制御をかけたいフローについてはフロー情報を定期的に更新するにあたって10回に1回の割合でフロー情報に対応するビットを立てればよい。
なお、本発明では、制御サーバ1とネットワークノード2が分離した構成であるが、これらが一体となった構成でも良い。この場合、制御サーバ1の構成はネットワークノード2内に設けられ、制御サーバ1とネットワークノード2間の通信は、ネットワークノード2内部の内部バスを用いて通信する。
また、本発明では、トラヒックを扱う単位として、フロー毎と表記しているが、これに限定されない。トラヒックを扱う単位としては、フロー毎やユーザ毎、端末毎など様々な単位がある。本発明の方式では、フロー毎だけでなく、ユーザ毎や端末毎にも適応可能である。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2008年2月4日に出願された特許出願番号2008−024334号の日本特許出願に基づいており、その出願による優先権の利益を主張し、その出願の開示は、引用することにより、そっくりそのままここに組み込まれている。
Claims (18)
- パケットの中継を行うネットワークノードと、
前記ネットワークノードに接続された制御サーバと、
を具備し、
前記パケットは、前記パケットが属するフローに関するフロー情報を含み、
前記制御サーバは、
複数のフロー情報が登録されたフローテーブル、
を具備し、
前記ネットワークノードは、
前記パケットを受信パケットとして受信するパケット監視部と、
前記複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュと、ここで、前記フローキャッシュに登録されている前記一部のフロー情報はパケット廃棄率を含み、
前記受信パケットの前記フロー情報と一致する一致フロー情報が前記フローキャッシュに登録されていない場合、前記受信パケットを送信パケットとして送信し、前記一致フロー情報が前記フローキャッシュに登録されている場合、前記一致フロー情報の前記パケット廃棄率に従って前記受信パケットを破棄するパケット破棄部と、
を具備し、
前記制御サーバは、
前記フローテーブルに登録されている前記複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択する通知フロー決定部、
を更に具備し、
前記ネットワークノードは、
前記フローキャッシュの容量に空きがある場合、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録し、前記フローキャッシュの容量に空きがない場合、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するキャッシュ置き換え部、
を更に具備する通信システム。 - 前記制御サーバの前記通知フロー決定部は、予め決められた第1の確率に従って、定期的に前記選択フロー情報を選択する、
請求の範囲1に記載の通信システム。 - 前記制御サーバは、
予め決められた第2の確率を、前記選択フロー情報に対する前記パケット廃棄率として決定する廃棄率決定部、
を更に具備する請求の範囲2に記載の通信システム。 - 前記制御サーバは、
前記パケット監視部により前記受信パケットが受信されたときの受信帯域を計測し、そのときの制限帯域を推測して、前記受信パケットの前記フロー情報に前記受信帯域と前記制限帯域とを付加して前記フローテーブルに登録する制限帯域設定部、
を更に具備し、
前記フローテーブルには、複数の前記フロー情報が登録され、
前記第1の確率は、前記選択フロー情報、前記制限帯域、前記受信帯域をそれぞれi、Bi、Liとしたとき、
前記選択フロー情報iに対して一律の確率Pi{Pi=固定値A(0≦A≦1)}、
前記選択フロー情報iの前記受信帯域Biに比例した確率Pi{Pi=f1(Bi)、0≦f1≦1}、
前記選択フロー情報iの前記制限帯域Biと前記受信帯域Liとの差分に比例した確率Pi{Pi=f2(Bi−Li)、0≦f2≦1}、
前記選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Pi{Pi=f3(Hi)、0≦f3≦1}、
前記選択フロー情報iを前記フローキャッシュに前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f4(T−Ti)、0≦f4≦1}、
前記選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f5(1/(T−Ai))、0≦f5≦1}、
前記第1の確率に対して指数関数や対数関数を適用した確率、
のいずれかである、
請求の範囲2又は3に記載の通信システム。 - 前記制御サーバは、
前記パケット監視部により前記受信パケットが受信されたときの受信帯域を計測し、そのときの制限帯域を推測して、前記受信パケットの前記フロー情報に前記受信帯域と前記制限帯域とを付加して前記フローテーブルに登録する制限帯域設定部、
を更に具備し、
前記フローテーブルには、複数の前記フロー情報が登録され、
前記第2の確率は、前記選択フロー情報、前記制限帯域、前記受信帯域をそれぞれi、Bi、Liとしたとき、
前記選択フロー情報iに対して一律の確率Di{Di=固定値A(0≦A≦1)}、
前記選択フロー情報iの前記受信帯域Biに比例した確率Di{Di=f1(Bi)、0≦f1≦1}、
前記選択フロー情報iの前記制限帯域Biと前記受信帯域Liとの差分に比例した確率Di{Di=f2(Bi−Li)、0≦f2≦1}、
前記選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Di{Di=f3(Hi)、0≦f3≦1}、
前記選択フロー情報iを前記フローキャッシュに前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f4(T−Ti)、0≦f4≦1}、
前記選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f5(1/(T−Ai))、0≦f5≦1}、
前記第2の確率に対して指数関数や対数関数を適用した確率、
のいずれかである、
請求の範囲3に記載の通信システム。 - 前記ネットワークノードのキャッシュ置き換え部は、
前記フローキャッシュの容量に空きがない場合、
予め決められた第3の確率に従って、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、
前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録する、
請求の範囲4又は5に記載の通信システム。 - 前記第3の確率は、前記選択フロー情報、前記パケット廃棄率をそれぞれi、Diとしたとき、
前記選択フロー情報iに対して一律の確率Ri{Ri=固定値C(0≦C≦1)、0≦g1≦1}、
前記パケット廃棄率Diに比例した確率Ri{Ri=g1(1/Di)}、
前記選択フロー情報iを前記フローキャッシュに前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g2(T−Ti)、0≦g2≦1}、
前記選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g3(1/(T−Ai))、0≦g3≦1}、
のいずれかである、
請求の範囲6に記載の通信システム。 - 前記制御サーバは、複数の前記ネットワークノードに接続され、
前記ネットワークノードは、
前記パケット監視部により受信された前記受信パケットと、自身の前記ネットワークノードを識別する識別情報と、を前記制御サーバの前記制限帯域設定部に出力する制御サーバ振り分け部、
を更に具備し、
前記フローテーブルには、複数の前記識別情報に対応付けて、前記複数のフロー情報が登録され、
前記制御サーバの制限帯域設定部は、
前記複数のネットワークノードから出力された複数の前記受信パケットに対して前記受信帯域を計測し、前記制限帯域を推測して、前記複数のネットワークノードから出力された前記受信パケットの前記フロー情報に前記受信帯域と前記制限帯域とを付加し、前記複数のネットワークノードから出力された前記識別情報に対応付けて前記フローテーブルに登録し、
前記制御サーバは、
前記複数のネットワークノードに対して、前記通知フロー決定部により選択された前記選択フロー情報と、前記廃棄率決定部により決定された前記パケット廃棄率と、をそれぞれ前記複数のネットワークノードの前記キャッシュ置き換え部に出力するネットワークノード振り分け部、
を更に具備する請求の範囲4〜7のいずれかに記載の通信システム。 - 前記ネットワークノードは、複数の前記制御サーバに接続され、
前記ネットワークノードは、
前記パケット監視部により受信された前記受信パケットを前記制御サーバの前記制限帯域設定部に出力する制御サーバ振り分け部、
を更に具備し、
前記複数の制御サーバの制限帯域設定部は、
前記ネットワークノードから出力された前記受信パケットに対して前記受信帯域を計測し、前記制限帯域を推測して、前記ネットワークノードから出力された前記受信パケットの前記フロー情報に前記受信帯域と前記制限帯域とを付加し、それぞれ前記複数の制御サーバの前記フローテーブルに登録し、
前記複数の制御サーバは、
前記ネットワークノードに対して、それぞれ前記複数の制御サーバの前記通知フロー決定部により選択された前記選択フロー情報と、それぞれ前記複数の制御サーバの前記廃棄率決定部により決定された前記パケット廃棄率と、を前記ネットワークノードの前記キャッシュ置き換え部に出力するネットワークノード振り分け部、
を更に具備する請求の範囲4〜7のいずれかに記載の通信システム。 - 前記ネットワークノードは、
自身の前記ネットワークノードの状態を表す状態情報を前記制御サーバに出力するノード状態監視部、
を更に具備し、
前記制御サーバは、
前記状態情報が、前記パケット監視部により受信された前記受信パケットに対して前記フロー情報が前記フローキャッシュに登録されていないことを表す場合、前記受信パケットの前記フロー情報に対する前記パケット廃棄率を決定し、前記ネットワークノードの前記パケット破棄部に出力する非制御フロー廃棄率決定部、
を更に具備し、
前記パケット破棄部は、
前記受信パケットの前記フロー情報と一致する前記一致フロー情報が前記フローキャッシュに登録されている場合、前記非制御フロー廃棄率決定部からの前記パケット廃棄率と前記一致フロー情報の前記パケット廃棄率とに従って、前記受信パケットを破棄する、
請求の範囲3〜7のいずれかに記載の通信システム。 - 前記制御サーバは、
前記廃棄率決定部に代えて、制限帯域決定部、
を具備し、
前記制限帯域決定部は、前記制限帯域設定部により推測される前記制限帯域である第1制限帯域が表す値よりも所定値だけ小さい第2制限帯域を決定し、
前記フローキャッシュに登録されている前記一部のフロー情報は、パケット廃棄率に代えて、前記第2制限帯域を含み、
前記ネットワークノードの前記キャッシュ置き換え部は、
前記フローキャッシュの容量に空きがある場合、前記選択フロー情報に対する前記第2制限帯域を前記選択フロー情報に付加して前記フローキャッシュに登録し、
前記フローキャッシュの容量に空きがない場合、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、前記選択フロー情報に対する前記第2制限帯域を前記選択フロー情報に付加して前記フローキャッシュに登録し、
前記ネットワークノードは、
前記パケット破棄部に代えて、シェイパ処理部、
を具備し、
前記シェイパ処理部は、
前記受信パケットの前記フロー情報と一致する前記一致フロー情報が前記フローキャッシュに登録されていない場合、前記受信パケットを送信パケットとして送信し、
前記一致フロー情報が前記フローキャッシュに登録されている場合、前記パケット監視部により前記受信パケットが受信されたときの前記受信帯域と、前記一致フロー情報の前記第2制限帯域とを比較し、前記受信パケットの前記受信帯域が前記一致フロー情報の前記第2制限帯域よりも高い場合、前記受信パケットを破棄する、
請求の範囲4に記載の通信システム。 - 前記制御サーバは、
前記通知フロー決定部に代えて、ブルームフィルタ作成部、
を具備し、
前記制御サーバの前記廃棄率決定部は、
前記フローテーブルに登録されている前記複数のフロー情報に対してそれぞれ複数の前記パケット廃棄率を決定し、
前記ブルームフィルタ作成部は、前記複数のパケット廃棄率をそれぞれ表す複数のビットを含むブルームフィルタを生成し、
前記ネットワークノードは、
前記フローキャッシュ、前記キャッシュ置き換え部に代えて、
既存ブルームフィルタが登録されたブルームフィルタ保持部と、
前記既存ブルームフィルタを削除し、前記ブルームフィルタを前記ブルームフィルタ保持部に登録するブルームフィルタ置き換え部と、
を具備し、
前記ネットワークノードのパケット破棄部は、
前記ブルームフィルタ保持部に登録されている前記ブルームフィルタに基づいて、前記受信パケットの前記フロー情報に対する前記パケット廃棄率を選択パケット廃棄率として決定し、前記選択パケット廃棄率に従って、前記受信パケットを破棄する、
請求の範囲3に記載の通信システム。 - 前記ブルームフィルタ保持部には、複数の前記既存ブルームフィルタが登録され、
前記ブルームフィルタ置き換え部は、
前記ブルームフィルタ保持部の容量に空きがある場合、前記ブルームフィルタを前記ブルームフィルタ保持部に登録し、
前記ブルームフィルタ保持部の容量に空きがない場合、前記ブルームフィルタ保持部に登録されている前記複数の既存ブルームフィルタのうちの1つの既存ブルームフィルタを削除し、前記ブルームフィルタを前記ブルームフィルタ保持部に登録する、
請求の範囲12に記載の通信システム。 - 前記制御サーバは、前記ネットワークノード内に設けられる、
請求の範囲1〜13のいずれかに記載の通信システム。 - 請求の範囲1〜14のいずれかに記載の通信システムに使用されるネットワークノード。
- 請求の範囲1〜14のいずれかに記載の通信システムに使用される制御サーバ。
- 複数のフロー情報が登録されたフローテーブルと、前記複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュと、を用いて、パケットの中継を行う中継方法であって、
前記パケットを受信パケットとして受信するステップと、ここで、前記パケットは、前記パケットが属するフローに関するフロー情報を含み、前記フローキャッシュに登録されている前記一部のフロー情報はパケット廃棄率を含み、
前記受信パケットの前記フロー情報と一致する一致フロー情報が前記フローキャッシュに登録されていない場合、前記受信パケットを送信パケットとして送信するステップと、
前記一致フロー情報が前記フローキャッシュに登録されている場合、前記一致フロー情報の前記パケット廃棄率に従って前記受信パケットを破棄するステップと、
前記フローテーブルに登録されている前記複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択するステップと、
前記フローキャッシュの容量に空きがある場合、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するステップと、
前記フローキャッシュの容量に空きがない場合、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するステップと、
を具備する中継方法。 - 複数のフロー情報が登録されたフローテーブルと、前記複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュと、を具備し、パケットの中継を行うコンピュータに適用され、
前記パケットを受信パケットとして受信するステップと、ここで、前記パケットは、前記パケットが属するフローに関するフロー情報を含み、前記フローキャッシュに登録されている前記一部のフロー情報はパケット廃棄率を含み、
前記受信パケットの前記フロー情報と一致する一致フロー情報が前記フローキャッシュに登録されていない場合、前記受信パケットを送信パケットとして送信するステップと、
前記一致フロー情報が前記フローキャッシュに登録されている場合、前記一致フロー情報の前記パケット廃棄率に従って前記受信パケットを破棄するステップと、
前記フローテーブルに登録されている前記複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択するステップと、
前記フローキャッシュの容量に空きがある場合、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するステップと、
前記フローキャッシュの容量に空きがない場合、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するステップと、
の各ステップを前記コンピュータに実行させるコンピュータプログラムが記憶され、前記コンピュータプログラムを前記コンピュータが読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008024334 | 2008-02-04 | ||
JP2008024334 | 2008-02-04 | ||
PCT/JP2008/072317 WO2009098819A1 (ja) | 2008-02-04 | 2008-12-09 | 通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2009098819A1 true JPWO2009098819A1 (ja) | 2011-05-26 |
Family
ID=40951902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009552388A Withdrawn JPWO2009098819A1 (ja) | 2008-02-04 | 2008-12-09 | 通信システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2009098819A1 (ja) |
WO (1) | WO2009098819A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5900943B2 (ja) * | 2010-09-08 | 2016-04-06 | 日本電気通信システム株式会社 | 帯域制御システム、帯域制御装置及びそれらに用いる帯域制御ルールの運用方法 |
JP5518754B2 (ja) * | 2011-01-07 | 2014-06-11 | 株式会社日立製作所 | ネットワークノード |
US20170302558A1 (en) * | 2014-10-07 | 2017-10-19 | Nec Corporation | Measuring apparatus, measuring system, measuring method, and recording medium in which program is recorded |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143438B1 (en) * | 1997-09-12 | 2006-11-28 | Lucent Technologies Inc. | Methods and apparatus for a computer network firewall with multiple domain support |
JP2004140618A (ja) * | 2002-10-18 | 2004-05-13 | Yokogawa Electric Corp | パケットフィルタ装置および不正アクセス検知装置 |
JP4238150B2 (ja) * | 2004-01-30 | 2009-03-11 | 日本電信電話株式会社 | 通信網におけるレート制御方法およびレート制御システム |
JP4537937B2 (ja) * | 2005-11-02 | 2010-09-08 | 日本電信電話株式会社 | 輻輳制御方法、輻輳制御プログラム、および、輻輳制御システム |
-
2008
- 2008-12-09 JP JP2009552388A patent/JPWO2009098819A1/ja not_active Withdrawn
- 2008-12-09 WO PCT/JP2008/072317 patent/WO2009098819A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2009098819A1 (ja) | 2009-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8891543B1 (en) | Method and system for processing packets in a network device | |
US8898295B2 (en) | Achieving endpoint isolation by fairly sharing bandwidth | |
JP5157472B2 (ja) | 帯域制御機能を有する負荷分散装置およびその設定方法 | |
JP3809873B2 (ja) | ネットワーク処理手段によるパケット・フローの順序付き動的分散のための方法およびシステム | |
EP3399723B1 (en) | Performing upper layer inspection of a flow based on a sampling rate | |
CN109450816B (zh) | 一种队列调度方法、装置、网络设备及存储介质 | |
JP4988632B2 (ja) | パケット中継装置およびトラフィックモニタシステム | |
JP5870009B2 (ja) | ネットワークシステム、ネットワーク中継方法及び装置 | |
JP2014517571A (ja) | 階層型スケジューリングおよびシェーピング | |
JP6015342B2 (ja) | 情報処理方法、プログラム、情報処理装置、及び情報処理システム | |
EP2670085B1 (en) | System for performing Data Cut-Through | |
US10291518B2 (en) | Managing flow table entries for express packet processing based on packet priority or quality of service | |
CN114079638A (zh) | 多协议混合网络的数据传输方法、装置和存储介质 | |
US8111700B2 (en) | Computer-readable recording medium storing packet identification program, packet identification method, and packet identification device | |
US8792366B2 (en) | Network packet latency measurement | |
WO2009098819A1 (ja) | 通信システム | |
US10044632B2 (en) | Systems and methods for adaptive credit-based flow | |
JP6389564B2 (ja) | ポリシーベースネットワークにおける改善されたネットワーク利用 | |
CN109547352B (zh) | 报文缓存队列的动态分配方法和装置 | |
US20170244638A1 (en) | Control apparatus, control method and control system | |
EP3468111B1 (en) | Method for transmitting load information about path and network node | |
JP4915345B2 (ja) | 試験装置測定システム | |
CN112688985B (zh) | 通信方法及装置 | |
JP2019009630A (ja) | ネットワーク負荷分散装置および方法 | |
JP6856257B2 (ja) | ネットワークシステム、管理サーバ及び通信解析プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120306 |