JP2009267892A - 巨大フロー特定方法とシステムおよびプログラムとフロー制御システム - Google Patents

巨大フロー特定方法とシステムおよびプログラムとフロー制御システム Download PDF

Info

Publication number
JP2009267892A
JP2009267892A JP2008116608A JP2008116608A JP2009267892A JP 2009267892 A JP2009267892 A JP 2009267892A JP 2008116608 A JP2008116608 A JP 2008116608A JP 2008116608 A JP2008116608 A JP 2008116608A JP 2009267892 A JP2009267892 A JP 2009267892A
Authority
JP
Japan
Prior art keywords
flow
packets
procedure
huge
probability
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.)
Pending
Application number
JP2008116608A
Other languages
English (en)
Inventor
Tatsuya Mori
達哉 森
Ryoichi Kawahara
亮一 川原
Kensho Kamiyama
憲昭 上山
Shigeaki Harada
薫明 原田
Tetsuya Takine
哲哉 滝根
Norihiro Maekawa
典弘 前川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Osaka University NUC
Original Assignee
Nippon Telegraph and Telephone Corp
Osaka University NUC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Osaka University NUC filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008116608A priority Critical patent/JP2009267892A/ja
Publication of JP2009267892A publication Critical patent/JP2009267892A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】全パケットをキャプチャすることなく、巨大フローを高精度に特定可能とする。
【解決手段】サンプリング部2により、各フローのパケットをサンプリングレートfでサンプルして当該フローjのパケット数Yjを計数して記憶し(ステップS401)、フロー長分布推定部5により、パケット数Yjを用いて、当該フローのサンプル前のパケット数Xjがx個である確率分布Pr[Xj=x](元のフロー長分布)を算出し(ステップS402)、閾値算出部6により、元のフロー長分布Pr[Xj=x]とパケット数Yjとを用いて、当該フローjが巨大フローであるか否かを特定するのに用いる閾値yを算出し(ステップS403)、巨大フロー特定部7により、閾値yとパケット数Yjを比較し、パケット数Yjが閾値yを超えると当該フローjを巨大フローとして特定する(ステップS404)。
【選択図】図4

Description

本発明は、IP(Internet Protocol)ネットワークにおいて、帯域を占有するトラヒックを発生する巨大フローの監視技術に係り、特に、巨大フローの特定を高精度かつ効率的に行い、各フローの通信品質の維持性能を向上させるのに好適な技術に関するものである。
IPネットワークが広く利用されてくるに伴って、IPネットワーク上での通信品質保証に対する要求が高まっている。その一方で、P2P(Peer to Peer)アプリケーションの出現に伴うトラヒックパターンの急激な変動に代表されるように、各フローのトラヒック特性はますます多種多様となり、それに伴い、各種フローの品質要求も多様化している。
例えば、P2Pトラヒックのような長時間に渡って大きな帯域を占有するフロー(巨大フロー)を適切にコントロールして、レスポンス時間に敏感なwebのようなファイルサイズの小さいフローの品質を確保することが要求される場合が想定される。その一方で、通信設備に対するコストを抑える必要がある。
従って、与えられた通信帯域を有効利用して各フローの所望の通信品質を維持できるように各フローの使用帯域を適切に制御することが重要となっている。そのためには、上述の巨大フローを特定することが必要となる。
従来、全てのフローの状態を監視して制御する技術がある。例えば非特許文献1に記載のWFQ(Weighted Fair Queueing)や非特許文献2に記載のCSFQ(Core−Stateless−Fair−Queueing)等である。
しかしながら、このような技術では、フロー毎の状態を全てのノードあるいは網の境界ノードで管理する必要があり、今後、回線速度の高速化に伴いフロー数も増大していく状況を考えると、そういった場合に対処できない、という問題点があった。
このような問題を回避する一技術として、パケットのポート番号をみて、ポート番号からP2P型のファイル共有アプリケーションに関するフローであることを特定できる場合には、そのようなフローは大きなファイルを転送して長時間帯域を占有する可能性が高いと判断できるので、そのようなフローのみを制御対象とすることも考えられる。
しかし、近年のP2Pアプリケーションは、ポート番号では識別できないトラヒックが大半を占めるため、この技術では対応できなくなってきている。また、P2P以外にもDDoS(Distributed Denial of Service)のように高レートでトラヒックを出しつづける異常トラヒックも増加しているため、アプリケーションに依存しない技術が必要となってきている。
また、回線の高速化に伴いスケーラブルな測定技術としてパケットサンプリング技術が注目されている。当該技術について図6を用いて説明する。
図6に示すように、複数のフローからのパケットがノード61,62に到着する場合を考える。尚、フローの定義は、例として、ここでは、同一の送信元IPアドレスと着信先IPアドレスおよび送信元ポート番号、着信先ポート番号、プロトコル番号を持つパケット群を同一フローと定義する。
図6の各パケットの網掛けの種類は、フロー別に振り分けされているものとする。ここで、サンプルしない場合は、ノード61に到着する管理対象のフロー数は5本である。これに対して、N(=3)個に1個のパケットをサンプルし、サンプルされたパケットの属するフローのみを管理対象とした場合には、ノード62に到着する管理対象のフロー数を2本に削減できている。
このようなサンプリングにより、管理フロー数を削減できる。また、N個に1個のパケットのみを処理対象とするためパケット処理負荷も削減できる。しかし、この技術では、パケットサンプリングしているために、必要な情報が失われている可能性があり、元のフロー統計を推定する必要がある。
例えば、非特許文献3では、パケットサンプリングを用いて巨大フローを特定する技術を提案しており、この技術では、予め定めた閾値以上のパケット数を送出しているフローを、サンプル情報のみで特定することを可能にするが、その閾値を決定する際に、元のフロー長分布の情報が必要となる。
具体的には、あるフローjのサンプル前のパケット数Xjがx個である確率Pr[Xj=x]が予め分かっているという条件が必要である。しかしながら、元のフロー長分布は、サンプルパケット情報のみからは分からないという問題点がある。
一方、非特許文献4,5では、サンプルされたSYNパケット(TCPフラグの一つで、通信開始を意味する)の数を用いて、サンプルされていない全体のフロー発生数やフロー長の平均や分布を推定する技術を提案している。
この技術により元のフロー長分布を推定することが可能であるが、TCPのみを対象としているため、TCP以外の巨大フロー、特に異常トラヒックやUDP flooding等には適用できない。
さらに、非特許文献4,5の技術は、巨大フロー特定を目的としたフロー長分布推定ではないため、推定されたフロー長分布を用いて、巨大フローを、予め定めた検出目標値を達成するように特定することを可能とするものではなかった。
また、非特許文献6では、単純なパケットサンプリングではなくsample&holdと呼ばれるサンプリング技術を用いて、フローサイズが大きいフローの統計を精度よく得る技術を提案している。
しかしながら、この技術では、N個に1個のパケットサンプリングとは別に、各到着パケットに対して、既にパケットがサンプルされているフローに属するか否かをチェックする必要があり、パケット処理負荷が大きくなってしまうという問題点がある。
A.K.Parekh and R.G.Gallager,"A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single−Node Case," IEEE/ACM Trans. on Networking, vol.1, no.3, (June 1993) pp.344−357. I.Stoica, S.Shenker, and H.Zhang, "Core−stateless fair queueing: achieving approximately fair bandwidth allocations in high−speed networks," proceedings of ACM SIGCOMM98, pp.118−130, 1998. T.Mori, M.Uchida, R.Kawahara, J.Pan, and S.Goto, "Identifying elephant flows through periodically sampled packets," ACM SIGCOMM Internet Measurement Conference, 2004. N.Duffield, C.Lund, and M.Thorup, "Properties and Prediction of Flow Statistics from Sampled Packet Streams," ACM SIGCOMM Internet Measurement Conference 2002, Nov. 2002. N.Duffield, C.Lund, and M.Thorup, "Estimating Flow Distributions from Sampled Flow Statistics,"' In Proceedings of ACM SIGCOMM, pp.325−336, Aug. 2003. C.Estan and G.Varghese, "New Directions in Traffic Measurement and Accounting," ACM SIGCOMM2002, Aug. 2002.
解決しようとする問題点は、従来の技術では、図6で示したような単純なパケットサンプリングにより得られるサンプルパケット情報のみから元のフロー長分布を推定しつつ、巨大フローを特定するための閾値を算出し、誤検出率を予め定めた目標値以内で巨大フローを特定することができない点である。
本発明の目的は、これら従来技術の課題を解決し、全パケットをキャプチャすることなく、巨大フローを高精度に特定可能とし、巨大フローの特定を高精度かつ効率的に行うことを可能とすることである。
上記目的を達成するため、本発明では、プログラムされたコンピュータ処理により、ネットワークに流れるフローから、当該フローjのパケット数Yjが予め定められた閾値yを超える巨大フローを特定する際、各フローのサンプルパケット数により元のフロー長分布を推定し、推定した元のフロー長分布を用いることにより、巨大フローを特定するための閾値を予め定められた精度を満たすように設定する。また、y個以上のパケットがサンプルされたフローの集合を特定巨大フロー群として求め、この特定巨大フロー群のフローの内、サンプル前の元のパケット数Xjが予め定めた閾値x以上となる真の巨大フローではないフローの、特定巨大フロー群全体に対する割合R(y)が予め定められた許容誤差ε以内に収まる確率r(y)=P[R(y)≦ε]が、予め定めた基準値φ以上となるような最小のパケット数yを求め、求めたyを閾値yとして定める。
本発明によれば、全パケットをキャプチャすることなく、巨大フローを高精度に特定可能となり、巨大フローの特定を高精度かつ効率的に行うことができる。
以下、図を用いて本発明を実施するための最良の形態例を説明する。尚、本例は、ネットワークを流れるパケットをサンプリングしてキャプチャすることにより、巨大なフローを特定するものである。ネットワークのトラヒックを監視する際に、対象ネットワークの帯域を長期に占有する巨大なトラヒックフロー(巨大フロー)をコントロール(制御)して、よりサイズの小さいフローの品質を確保することが重要となる。従来のパケットサンプリングの技術を用いたのでは、サンプルパケットの情報からだけでは、精度良く巨大フローの特定ができない。本例では、各フローのサンプルパケット数により推定した元のフロー長分布を用いることにより、巨大フローを特定するための閾値を予め定めた精度を満たすように設定できる。
図1は、本発明に係る巨大フローの特定処理を実行するシステムの構成例を示すブロック図であり、図2は、図1における巨大フロー特定装置を設けたネットワーク構成例を示すブロック図、図3は、本発明に係る巨大フローの特定処理を実行する他のシステム構成例を示すブロック図である。
図1における巨大フロー特定装置1は、CPU(Central Processing Unit)や主メモリ、CRTやLCD等の表示装置、キーボードやマウス等の入力装置、HHD等の外部記憶装置などを具備したコンピュータ構成からなり、光ディスク駆動装置等を介してCD−ROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、プログラムされたコンピュータ処理を実行する。
特に、本例の巨大フロー特定装置1は、プログラムされたコンピュータ処理により、ネットワークに流れるフローから、当該フローjのパケット数Yjが予め定められた閾値yを超える巨大フローを特定するものであり、プログラムされたコンピュータの処理を実行する手段として、サンプリング部2、パケットヘッダ解析部3、フロー管理部4、フロー長分布推定部5、閾値算出部6、巨大フロー特定部7を具備している。
また、巨大フロー特定装置1は、プログラムされたコンピュータの処理を実行する手段として、図示していないフロー制御手段を具備し、本発明に係るフロー制御システムとして、巨大フロー特定部7で特定した巨大フローに対して予め定められた制御を実行する。
以下、このような構成の巨大フロー特定装置1による、本発明に係る巨大フロー特定処理動作例について説明する。
第1の例では、通信網のあるノードにおいてサンプリングレートfでパケットサンプリングを行い、サンプルされたパケットの属するフローの情報を管理して、帯域を占有する巨大フローを特定・管理する際、各フローからサンプルされたパケット数を用いて元のフロー長分布を推定し、各フローのサンプルパケット数とその分布を用いてどのフローが巨大フローかを特定する。
このようにする理由は、後述するように、あるフローからサンプルされたパケット数が予め定めた閾値を超えたら巨大フローとして特定する際に、元のフロー長分布を用いることができれば、その閾値を予め定めた特定精度を満たすように設定することが可能となるからである。
第2の例では、第1の例において巨大フローを特定する際、フローjからサンプルされたパケット数Yjを測定し、Yjが、以下で計算される閾値y以上である場合にフローjを巨大フローとして特定する。
閾値yの計算手順は、まず、フローjのサンプル前のパケット数をXjとし、Xjがxである確率分布をPr[Xj=x]とする。このとき、Yj≧yであるという条件の下で、Xj≧xである確率Pr[Xj≧x|Yj≧y]を以下の数1の式(1)で求める。
Figure 2009267892
ここで、xmax=max{Xj}であり、以下の数2の式(2)により推定する。
Figure 2009267892
尚ymax=max{Yj}である。また、P[Yj≧y|Xj=k]は以下の数3の式(3)で与えられる。
Figure 2009267892
次に、P[Xj≧x|Yj≧y]を用いて誤検出率False Positive Ratio(FPR)をFPR(y)=1−P[Xj≧x|Yj≧y]により計算する。ここでxは予め定める閾値であり、サンプル前のパケット数がx以上であるフローを巨大フローと定義していることになる。
次に、誤検出率に対する目標値εを予め設定し、FPR(y)≦εを満たす最小のyをyとして設定する。
以下、上述の各数式の意味について説明する。
式(3)におけるq(y|x)は、元のパケット数Xjがxであるフローjからサンプルされるパケット数Yjがyである確率を表す(サンプリングレートfでランダムにサンプルする場合はこの式が成り立つ)。
それを用いて式(3)のPr[Yj≧y|Xj=k](元のパケット数Xjがk個であるフローからy個以上パケットがサンプルされる確率)を計算している。
式(2)のxmax=max{Xj}は、パケット数が最大であるフローが持つ元のパケット数を意味し、その値をymax=max{Yj}(つまりサンプルパケット数の最大値)を1/f倍して推定している。
式(1)は、ベイズの定理より成り立つ。この式(1)で得たPr[Xj≧x|Yj≧y](フローjからy個以上パケットがサンプルされたときに、元のパケット数がx個以上である確率)を計算できる。
従って、サンプル前のパケット数に対する閾値xを予め定めれば(これが今検出したい元のパケット数に対する閾値を意味する)、サンプルパケット数Yjがy個以上あるにもかかわらず元のパケット数Xjがx個よりも小さくなってしまう確率(誤検出率)をFPR(y)=1− P[Xj≧x|Yj≧y]のように計算できる。
この誤検出率を予め定めた目標値ε(例えば0.05)以下にするような最小のyを求め、これを閾値yとして設定している。
以上述べたように、元のフロー長分布を用いることができれば、その閾値を予め定めた特定精度を満たすように設定することが可能となる。
次に、第3の例について説明する。この第3の例においては、第2の例における元のフロー長分布Pr[Xj=x]を、サンプルパケット情報から以下の手順で推定する。
まず、Pr[Xj=x]=p(x)を以下の数4の式(4)で表される分布で近似する。
Figure 2009267892
次に、y個のパケットがサンプルされたフロー数を数え、それをmとし、ベクトルmを以下の数5の式(5)とする。
Figure 2009267892
元の分布がp(x)で与えられるときに、y個のパケットがサンプルされたフロー数がmとなる確率を尤度関数L(m|β)とし、以下の数6の式(6)で与える。
Figure 2009267892
ここで、g(y)はg(y)=Pr[Yj=y|Yj≧1]であり、s(y)=Pr[Yj=y]を用いて以下の数7の式(7)で計算される。
Figure 2009267892
このL(m|β)の値を最大にするβを求め、それをp(x)のβに代入することにより元のフロー長分布P[Xj=x]=p(x)を推定する。
上述の各数式の意味について説明する。式(4)は、元のフロー長分布を式(4)のような形状にあると仮定していることを意味する。これは、インターネットトラヒックでよく観測される分布の形状(パレート分布と呼ばれる)であり、分布の裾が長い(つまりパケット数xが大きいフローが発生する確率p(x)が少なからぬ確率で起こる)点を特徴とする。
この分布で用いるパラメータβがその分布の裾の長さ度合いを表すパラメータである。このβを式(5)〜(7)を基に、サンプルパケット情報から推定する。尚、式(4)のxmaxは式(2)で与えられる。
式(5)は、サンプルパケット情報から形成できるベクトルであり、式(6)は、元の分布p(x)を式(4)の形で与えたときに、式(5)の観測値が起きる確率をあらわしており、これはβの関数となっている。尚、式(6)は式(7)で定義されるg(y)を使って表現されている。
この式(6)を最大にするようなβを求めることにより、元の分布p(x)を推定している。これは、式(5)のように実際に観測された結果が起こる確率がもっとも高くなるように元の分布(のパラメータβ)はあるべきだという考え方、つまり最尤推定を行っている。
次に、第4の例について説明する。この第4の例においては、フローjからのサンプルパケット数Yjがある閾値y個以上であるフローを巨大フローと特定する際、y個以上のパケットがサンプルされたフローの集合を「特定された巨大フロー群」と定義し、またサンプル前の元のパケット数Xjが予め定めた閾値x以上であるフローを「真の巨大フロー」と定義し、特定された巨大フロー群全体のうち真の巨大フローではない割合をR(y)とし、R(y)が予め与えられた許容誤差ε以内に収まる確率r(y)=P[R(y)≦ε]が予め定めた基準値φ以上となるような最小のy=yを閾値に定める。
これは、第2、3の例による技術では、ある特定されたフローに着目してその誤検出率を目標値以下にしていたのに対して、ここでは特定されたフロー群全体に対して誤検出されている割合を目標値以下にする場合を扱っている。
これは、運用ポリシーによっては、特定されたフロー群の中で真の巨大フローではない割合自体を把握したい場合も考えられるため、そのようなケースに対応可能とするためである。例えば、特定フロー群をまとめて制御対象としたい場合に全体の中で誤検出されている割合を一定値以下に抑えたい場合に相当する。
次に、第5の例について説明する。この第5の例においては、第4の例での巨大フロー特定技術において、まず、y個以上のパケットがサンプルされるフロー数をM(y)、y個以上パケットがサンプルされたフローの内、巨大フローではないフロー数をZ(y)、k個のパケットがサンプルされたフロー数をMk、k個のパケットがサンプルされたフローの内、巨大フローではないフロー数をZk、という確率変数で表す。
また、k番目の要素がMkで与えられるベクトルMを、下記の数8の式(8)と定義する。
Figure 2009267892
ここで、実際にサンプルされたフロー数のベクトルがmで与えられたという条件の下で、R(y)がε以下になる条件付確率r(y)を、下記の数9の式(9)により計算し、r(y)>φとなる最小のy=yを閾値と設定する。
Figure 2009267892
ただし、上記式(9)におけるm(y)は下記の数10の式(10)であり、上記式(9)で用いられる各記号は以下の数11の式(11)で与えられる。
Figure 2009267892
Figure 2009267892
以上の各数式の意味について説明する。
上記数8の式(8)は、サンプルフローを用いて定義されるベクトルを意味し、確率変数ベクトルである。
上記数9の式(9)は、上記式(8)で定義された確率変数ベクトルMが実測値m(これは式(10)で定義されている)となったという条件の下で、真の巨大フローではない割合R(y)が許容誤差ε以下にある確率を意味し、これをサンプルパケット数に対する閾値yの関数で表している。尚、式(9)は式(11)で計算される。
式(11)のu(k)は、サンプルパケット数がkのときに真の巨大フローではない確率を表す。そのu(k)を用いて、サンプルパケット数がkであるフロー数mk本のうち、i本が真の巨大フローではない確率(=pk(i))を計算している。その畳み込み演算により、y個以上パケットがサンプルされたフロー数Zy+・・・+Zymaxがzとなる確率を式(11)の最初の数式で計算している。
以上の手順で計算された式(9)のr(y)が予め定めた目標値φより大きくなる最小のyを求め、求めたyを閾値yとして設定することにより、真の巨大フローではない割合を目標値以下に抑えることを可能としている。
次に、第6の例について説明する。この第6の例においては、上述の第2の例において、フローjからサンプルされたパケット数Yjを測定し、Yjが、以下で計算される閾値y以上である場合にフローjを巨大フローとして特定する際、元のパケット数がx個以上である真の巨大フローを見逃してしまう非検出率False negative ratio(FNR)を、下記数12の式(12)により算出する。
Figure 2009267892
このとき、サンプルパケット数がx÷f以上となるフローの情報のみを用いて元のフロー長分布Pr[Xj=k]を推定し、それを用いてFNRを推定する。
これは、これまでの技術とは異なり、本当は巨大フローなのに見逃してしまう確率に着目した場合を扱っている。
次に、第7の例について説明する。この第7の例においては、上述の第6の例において、元のフロー長分布Pr[Xj=k]を推定する際、上述の第3の例のようにy(≧1)個のパケットがサンプルされたフロー数m(y=1〜ymax、ymax=max{Yj})を用いる代わりに、y(≧y^)個のパケットがサンプルされたフロー数m(y=y^〜ymax、y^は、f×xの整数部分)を用いて、以下の数13の式(13)に示す尤度関数を構成する。
Figure 2009267892
ここで、数13におけるg^(y)、s(y)、p(x)はそれぞれ下記数14の式(14)からなる。
Figure 2009267892
上記数13の式(13)に示す尤度関数を最大にするβを求め、それを上の数14の式(14)のp(x)に代入したものを元のフロー長分布Pr[Xj=x]=p(x)とし、第6の例におけるFNRの計算に用いる。
ここの手順は、第3の例とほぼ同様であるが、違いは、y^個以上サンプルされたフローの情報しか使わない点である。こうすることにより、元のフロー長分布を推定する際に、分布の裾の方でフィットさせて見逃し率FNRを計算をしている。
図1に示す巨大フロー特定装置1においては、上述の第1の例で示した技術により、パケットサンプリングによりどのフローから何パケットサンプルされたかを管理し、サンプルパケット数が閾値を超えたら巨大フローと特定する機能、第2、4、5の例のいずれかに記載の技術により、元のフロー長分布を用いて巨大フロー検出閾値を算出する機能、第3の例に記載の技術により、元のフロー長分布を推定する機能、第6または7の例に記載の技術2より、巨大フロー非検出率を推定する機能を具備している。
この巨大フロー特定装置1は、図2に示すように、IPネットワーク内の各ノード21,22間に挿入される形で構築される。
そして、巨大フロー特定装置1は、図1に示されている通り、前段ノード(21)から到着したパケットはサンプリング部2に転送され、サンプリング部2ではカウンターCをカウントアップし、Cの値が予め定めたサンプリング周期Nと等しいかチェックする。
もしC=Nであれば、パケットはパケットヘッダ解析部3に転送され、C=0にリセットし、同時に当該パケットは後段ノード(22)へ転送される。
また、もしC<Nであれば、単に後段ノード(22)へのみ該パケットを転送する。あるいは、パケット到着毎に0〜1の範囲で乱数を発生させ、その結果が1/N以下であれば、該パケットをパケットヘッダ解析部に転送してから後段ノードにも該パケットを転送し、そうでなければ単に後段ノードへのみ該パケットを転送する、としてもよい。
パケットヘッダ解析部3では、(送信元IPアドレス、着信先IPアドレス、送信元ポート番号、着信先ポート番号、プロトコル番号)を読み出し、その情報をフロー管理部4に通知する。
フロー管理部4は、フロー毎に状態を管理するテーブルを予め用意しておく。このフロー管理テーブルでは、フロー毎に、フローjからの到着パケット数Yjを記憶する。
通知を受けた当該パケットが新規フローからのパケットであった場合、フロー管理テーブルにそのフローをエントリし、Yj←1とする。また、当該パケットが既にエントリされているフローjからのパケットであった場合、Yj←Yj+1に更新する。
以上の手順を、測定を開始してから予め定めた時間周期Tが経過するまで行い、T経過時点において、y個のパケットがサンプルされたフロー数を数え、それをmyとする。また、Yjの最大値をymaxとする。そして、myおよびymaxをフロー長分布推定部5に通知する。
フロー長分布推定部5では、フロー管理部4から受け取ったymaxを用いてxmaxを上述の式(2)により推定する。またmyの値を用いて、上述の式(5)のベクトルを構成し、上述の式(6)(と式(7))で定義される尤度関数L(m|β)を計算し、これを最大にするβを計算する。その結果を閾値算出部6に通知する。
閾値算出部6は、フロー長分布推定部5から受け取ったβを上記式(4)に代入して元のフロー長分布を構築し、それを上記式(1)のPr[Xj=x]として用いることにより、FPR(y)=1− P[Xj≧x|Yj≧y]によりFPRを計算する。
ここでxは予め定める閾値であり、サンプル前のパケット数がx以上であるフローを巨大フローと定義していることになる。
次に、誤検出率に対する目標値εを予め設定し、FPR(y)≦εを満たす最小のyを求め、求めたyを閾値yとして設定する。この結果をフロー管理部4に通知する。
フロー管理部4は、閾値yを受信すると、サンプルパケット数Yjがyを超えているフローを探し、それを巨大フローとして、巨大フロー特定部7に通知する。
巨大フロー特定部7は、フロー管理部4から受信した巨大フローを管理し、その結果をオペレータに通知する。
尚、上述の閾値算出部6のように閾値yを決める代わりに、第4、5の例で説明した手順に従って、特定された巨大フロー群全体のうち真の巨大フローではない割合をR(y)とし、R(y)が予め与えられた許容誤差ε以内に収まる確率r(y)=P[R(y)≦ε]が予め定めた基準値φ以上となるような最小のy=yを閾値に定設定してもよい。
また、上述のように、誤検出率を目標値以下となるように閾値yを決めて巨大フローを特定した際には、そのときの非検出率を第6,7の例で説明した手順に従って計算する。
また、上述の例では、ノード21,22間に挿入する形で巨大フロー特定装置1を設けた構成としているが、図3に示すように、巨大フロー特定装置1aにおいて、ネットワーク31の各ノード30a〜30gからサンプルパケット情報を収集し、ネットワーク31全体に対して同様の管理を実施してもよい。
次に、図4と図5を用いて、上述の巨大フロー特定装置1,1aによる巨大フローの特定処理動作を説明する。図4は、図1における巨大フロー特定装置による本発明に係る巨大フロー特定処理動作例を示すフローチャートであり、図5は、図3における巨大フロー特定装置による本発明に係る巨大フロー特定処理動作例を示すフローチャートである。
図4に示すように、図1における巨大フロー特定装置1は、プログラムされたコンピュータ処理により、ネットワークに流れるフローから、当該フローjのパケット数Yjが予め定められた閾値yを超える巨大フローを特定する際、まず、サンプリング部2により、各フローのパケットをサンプリングレートfでサンプルして当該フローjのパケット数Yjを計数して記憶装置に記憶する(ステップS401)。
次に、フロー長分布推定部5により、このサンプリングして記憶装置に記憶したパケット数Yjを用いて、当該フローのサンプル前のパケット数Xjがx個である確率分布Pr[Xj=x](元のフロー長分布)を算出する(ステップS402)。
また、閾値算出部6により、フロー長分布推定部5で算出した元のフロー長分布Pr[Xj=x]とサンプリング部2で記憶装置に記憶したパケット数Yjとを用いて、当該フローjが巨大フローであるか否かを特定するのに用いる閾値yを算出する(ステップS403)。
そして、巨大フロー特定部7により、閾値算出部6で算出した閾値yとサンプリング部2で計数したパケット数Yjを比較し、パケット数Yjが閾値yを超えると当該フローjを巨大フローとして特定する(ステップS404)。
尚、閾値算出部6は、フローjのパケット数Yjの最大値ymax=max{Yj}と、該最大値ymaxを用いて下記数15の式で算出されるサンプル前のパケット数Xjの最大値xmax=max{Xj}と、下記数16,17の式で算出される、Xj=xであるという条件の下でYj≧yである確率P[Yj≧y|Xj=k]とを用いて、Yj≧yであるという条件の下でXj≧xである確率Pr[Xj≧x|Yj≧y]を下記数18の式により算出する手順を実行する。
Figure 2009267892
Figure 2009267892
Figure 2009267892
Figure 2009267892
また、数18の式で算出した確率P[Xj≧x|Yj≧y]と、サンプル前のパケット数Xjとの比較で当該フローjを巨大フローであると判定するために予め定められる閾値xとを用いて、FPR(y)=1−P[Xj≧x|Yj≧y]の式により誤検出率FPRを算出する。
そして、算出した誤検出率FRP(y)が、予め定められた目標値εに対して、FPR(y)≦εの式を満たす最小のyを閾値yとして算出する。
また、フロー長分布推定部5は、元のフロー長分布Pr[Xj=x]を算出する手順として、先ず、元のフロー長分布Pr[Xj=x]を数19の式のp(x)として近似する。
Figure 2009267892
そして、y個のパケットがサンプルされたフロー数mを計数し、ベクトルmを下記数20の式で求める。
Figure 2009267892
さらに、元のフロー長分布Pr[Xj=x]が上記数19の式におけるp(x)で与えられるときに、y個のパケットがサンプルされたフロー数がmとなる確率である尤度関数L(m|β)を、確率g(y)=Pr[Yj=y|Yj≧1]を用いて、下記数21の式により算出する。
Figure 2009267892
また、確率g(y)を、確率s(y)=Pr[Yj=y]を用いて下記数22の式により算出する。
Figure 2009267892
また、確率s(y)=Pr[Yj=y]を、下記数23の式で算出されるq(y|x)を用いて下記数24の式により算出する。
Figure 2009267892
Figure 2009267892
そして、上記数21の式で算出した尤度関数L(m|β)の値を最大にするβの値を求め、求めた値を上記数19の式におけるβに代入することにより元のフロー長分布P[Xj=x]≒p(x)を算出する。
また、図1の巨大フロー特定装置1は、サンプル前のパケット数Xjがx個以上であるフローjを巨大フローとして見逃してしまう非検出率FNRを、下記の数25の式により算出する。
Figure 2009267892
サンプルして計数したパケット数Yjがx÷f以上となるフローjのみを用いて、元のフロー長分布Pr[Xj=k]を算出し、算出した元のフロー長分布Pr[Xj=k]を用いて上記数25の式により上記非検出率FNR(y)を算出する。
また、図1の巨大フロー特定装置1は、パケット数がx÷f以上となるフローjのみを用いて元のフロー長分布Pr[Xj=k]を算出する際、まず、この元のフロー長分布Pr[Xj=x]を下記数26の式のp(x)で近似する。
Figure 2009267892
次に、y(≧y^)個のパケットがサンプルされたフロー数m(y=y^〜ymax、y^は、f×xの整数部分)を計数し、計数したフロー数mを用いて、下記数27の式により、元のフロー長分布Pr[Xj=x]が上記数26の式におけるp(x)で与えられるときに、y個のパケットがサンプルされたフロー数がmとなる確率である尤度関数L(m|β)を、確率g^(y)=Pr[Yj=y|Yj≧y^]を用いて算出する。
Figure 2009267892
そして、確率g^(y)を、下記数29および下記数30の式で求められる確率s(y)を用いて下記数28の式により算出する。
Figure 2009267892
Figure 2009267892
Figure 2009267892
そして、数27の式で算出する尤度関数L(m|β)を最大にするβの値を求め、求めた値を上記数26の式におけるβに代入することにより、パケット数がx÷f以上となるフローjのみを用いた元のフロー長分布P[Xj=x]≒p(x)を算出する。
また、図3における巨大フロー特定装置1aは、図5に示すように、プログラムされたコンピュータ処理により、ネットワークに流れるフローから、当該フローjのパケット数Yjが予め定められた閾値yを超える巨大フローを特定する際、y個以上のパケットがサンプルされたフローの集合を特定巨大フロー群として求める(ステップS501)。
そして、特定巨大フロー群のフローの内、サンプル前の元のパケット数Xjが予め定めた閾値x以上となる真の巨大フローではないフローの、特定巨大フロー群全体に対する割合R(y)が予め定められた許容誤差ε以内に収まる確率r(y)=P[R(y)≦ε]が、予め定めた基準値φ以上となるような最小のパケット数yを求め(ステップS502)、求めたyを閾値yとして定める(ステップS503)。
この際、巨大フロー特定装置1aは、特定巨大フロー群のフロー数をM(y)、特定巨大フロー群のフローであるが真の巨大フローではないフロー数をZ(y)、k個のパケットがサンプルされたフロー数をMk、k個のパケットがサンプルされたフローであるが真の巨大フローではないフロー数をZkの確率変数で表し、k番目の要素がフロー数Mkで与えられるベクトルMを数31の式で定義する。
Figure 2009267892
そして、サンプルしたフロー数のベクトルMがmで与えられたという条件の下で、割合R(y)が許容誤差ε以下になる条件付確率r(y)を、下記数32〜36の式を用いて算出する。
Figure 2009267892
Figure 2009267892
Figure 2009267892
Figure 2009267892
Figure 2009267892
そして、条件付確率r(y)が基準値φに対してr(y)>φとなる最小のyを算出し、算出したyを閾値yとして定める。
以上、図1〜図5を用いて説明したように、本例では、ネットワークに流れるフローから、当該フローjのパケット数Yjが予め定められた閾値yを超える巨大フローを特定する際、各フローのサンプルパケット数により元のフロー長分布を推定し、推定した元のフロー長分布を用いることにより、巨大フローを特定するための閾値を予め定められた精度を満たすように設定する。また、y個以上のパケットがサンプルされたフローの集合を特定巨大フロー群として求め、この特定巨大フロー群のフローの内、サンプル前の元のパケット数Xjが予め定めた閾値x以上となる真の巨大フローではないフローの、特定巨大フロー群全体に対する割合R(y)が予め定められた許容誤差ε以内に収まる確率r(y)=P[R(y)≦ε]が、予め定めた基準値φ以上となるような最小のパケット数yを求め、求めたyを閾値yとして定める。
このことにより、本例では、従来技術として図6で示したような単純なパケットサンプリングにより得られるサンプルパケット情報のみから元のフロー長分布を推定しつつ、巨大フローを特定するための閾値を算出し、誤検出率を予め定めた目標値以内で巨大フローを特定することができ、全パケットをキャプチャすることなく、巨大フローを高精度に特定可能となり、巨大フローの特定を高精度かつ効率的に行うことができる。
尚、本発明は、図1〜図5を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、図2に示す例では、巨大フロー特定装置1を、IPネットワーク内の各ノード21,22間に挿入される形で構築しているが、ノード21,22に外付けし、そのノードへパケットをミラーリングする形で構築することでもよい。
また、本例のコンピュータ装置の構成に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
本発明に係る巨大フローの特定処理を実行するシステムの構成例を示すブロック図である。 図1における巨大フロー特定装置を設けたネットワーク構成例を示すブロック図である。 本発明に係る巨大フローの特定処理を実行する他のシステム構成例を示すブロック図である。 図1における巨大フロー特定装置による本発明に係る巨大フロー特定処理動作例を示すフローチャートである。 図3における巨大フロー特定装置による本発明に係る巨大フロー特定処理動作例を示すフローチャートである。 従来技術によるパケットサンプリング動作例を示す説明図である。
符号の説明
1,1a:巨大フロー特定装置、2:サンプリング部、3:パケットヘッダ解析部、4:フロー管理部、5:フロー長分布推定部、6:閾値算出部、7:巨大フロー特定部、21,22,30a〜30g:ノード、31:ネットワーク、61,62:ノード。

Claims (10)

  1. プログラムされたコンピュータ処理により、ネットワークに流れるフローから、当該フローjのパケット数Yjが予め定められた閾値yを超える巨大フローを特定する方法であって、
    プログラムされたコンピュータの処理手順として、
    各フローのパケットをサンプリングレートfでサンプルして当該フローjのパケット数Yjを計数して記憶装置に記憶するサンプリング処理手順と、
    該サンプリング処理手順で記憶装置に記憶したパケット数Yjを用いて、当該フローのサンプル前のパケット数Xjがx個である確率分布Pr[Xj=x](元のフロー長分布)を算出するフロー長分布推定処理手順と、
    該フロー長分布推定処理手順で算出した元のフロー長分布Pr[Xj=x]と上記記憶装置に記憶したパケット数Yjとを用いて、当該フローjが巨大フローであるか否かを特定するのに用いる上記閾値yを算出する閾値算出処理手順と、
    該閾値算出処理手順で算出した閾値yと上記サンプリング処理手順で計数したパケット数Yjを比較し、該パケット数Yjが上記閾値yを超えると当該フローjを巨大フローとして特定する巨大フロー特定処理手順と
    を含むことを特徴とする巨大フロー特定方法。
  2. 請求項1に記載の巨大フロー特定方法であって、
    上記閾値算出処理手順は、
    フローjのパケット数Yjの最大値ymax=max{Yj}と、該最大値ymaxを用いて下記数1の式で算出されるサンプル前のパケット数Xjの最大値xmax=max{Xj}と、下記数2,3の式で算出される、Xj=xであるという条件の下でYj≧yである確率P[Yj≧y|Xj=k]とを用いて、
    Yj≧yであるという条件の下でXj≧xである確率Pr[Xj≧x|Yj≧y]を下記数4の式により算出する手順と、
    Figure 2009267892
    Figure 2009267892
    Figure 2009267892
    Figure 2009267892
    上記数4の式で算出した確率P[Xj≧x|Yj≧y]と、上記サンプル前のパケット数Xjとの比較で当該フローjを巨大フローであると判定するために予め定められる閾値xとを用いて、FPR(y)=1−P[Xj≧x|Yj≧y]の式により誤検出率FPRを算出する手順と、
    上記算出した誤検出率FRP(y)が、予め定められた目標値εに対して、FPR(y)≦εの式を満たす最小のyを上記閾値yとして算出する手順と
    を含むことを特徴とする巨大フロー特定方法。
  3. 請求項1もしくは請求項2のいずれかに記載の巨大フロー特定方法であって、
    上記フロー長分布推定処理手順による上記元のフロー長分布Pr[Xj=x]を算出する手順は、
    上記元のフロー長分布Pr[Xj=x]を下記数5の式のp(x)として近似する手順と、
    Figure 2009267892
    y個のパケットがサンプルされたフロー数mを計数し、ベクトルmを下記数6の式で求める手順と、
    Figure 2009267892
    上記元のフロー長分布Pr[Xj=x]が上記数5の式におけるp(x)で与えられるときに、y個のパケットがサンプルされたフロー数がmとなる確率である尤度関数L(m|β)を、確率g(y)=Pr[Yj=y|Yj≧1]を用いて、下記数7の式により算出する手順と、
    Figure 2009267892
    上記確率g(y)を、確率s(y)=Pr[Yj=y]を用いて下記数8の式により算出する手順と、
    Figure 2009267892
    上記確率s(y)=Pr[Yj=y]を、下記数9の式で算出されるq(y|x)を用いて下記数10の式により算出する手順と、
    Figure 2009267892
    Figure 2009267892
    上記数7の式で算出した尤度関数L(m|β)の値を最大にするβの値を求める手順と、
    該求めた値を上記数5の式におけるβに代入することにより元のフロー長分布P[Xj=x]≒p(x)を算出する手順と
    を含むことを特徴とする巨大フロー特定方法。
  4. 請求項2に記載の巨大フロー特定方法であって、
    上記サンプル前のパケット数Xjがx個以上であるフローjを巨大フローとして見逃してしまう非検出率FNRを、下記の数11の式により算出する手順と、
    Figure 2009267892
    上記サンプルして計数したパケット数Yjがx÷f以上となるフローjのみを用いて上記元のフロー長分布Pr[Xj=k]を算出し、該算出した元のフロー長分布Pr[Xj=k]を用いて上記数11の式により上記非検出率FNR(y)を算出する手順と
    を含むことを特徴とする巨大フロー特定方法。
  5. 請求項4に記載の巨大フロー特定方法であって、
    上記パケット数がx÷f以上となるフローjのみを用いて元のフロー長分布Pr[Xj=k]を算出する手順として、
    上記元のフロー長分布Pr[Xj=x]を下記数12の式のp(x)で近似する手順と、
    Figure 2009267892
    y(≧y^)個のパケットがサンプルされたフロー数m(y=y^〜ymax、y^は、f×xの整数部分)を計数し、該計数したフロー数mを用いて、下記数13の式により、
    上記元のフロー長分布Pr[Xj=x]が上記数12の式におけるp(x)で与えられるときに、y個のパケットがサンプルされたフロー数がmとなる確率である尤度関数L(m|β)を、確率g^(y)=Pr[Yj=y|Yj≧y^]を用いて算出する手順と、
    Figure 2009267892
    上記確率g^(y)を、下記数15および下記数16の式で求められる確率s(y)を用いて下記数14の式により算出する手順と、
    Figure 2009267892
    Figure 2009267892
    Figure 2009267892
    上記数13の式で算出する尤度関数L(m|β)を最大にするβの値を求める手順と、
    該求めた値を上記数12の式におけるβに代入することにより、上記パケット数がx÷f以上となるフローjのみを用いた元のフロー長分布P[Xj=x]≒p(x)を算出する手順と
    を含むことを特徴とする巨大フロー特定方法。
  6. プログラムされたコンピュータ処理により、ネットワークに流れるフローから、当該フローjのパケット数Yjが予め定められた閾値yを超える巨大フローを特定する方法であって、
    プログラムされたコンピュータの処理手順として、
    y個以上のパケットがサンプルされたフローの集合を特定巨大フロー群として求める手順と、
    上記特定巨大フロー群のフローの内、上記サンプル前の元のパケット数Xjが予め定めた閾値x以上となる真の巨大フローではないフローの、特定巨大フロー群全体に対する割合R(y)が予め定められた許容誤差ε以内に収まる確率r(y)=P[R(y)≦ε]が、予め定めた基準値φ以上となるような最小のパケット数yを求める手順とを含み、
    上記求めたyを上記閾値yとして定めることを特徴とする巨大フロー特定方法。
  7. 請求項6に記載の巨大フロー特定方法であって、
    上記特定巨大フロー群のフロー数をM(y)、
    上記特定巨大フロー群のフローで上記真の巨大フローではないフロー数をZ(y)、
    k個のパケットがサンプルされたフロー数をMk、
    k個のパケットがサンプルされたフローで上記真の巨大フローではないフロー数をZkの確率変数で表し、
    k番目の要素が上記フロー数Mkで与えられるベクトルMを下記数17の式で定義し、
    Figure 2009267892
    サンプルしたフロー数の上記ベクトルMがmで与えられたという条件の下で、上記割合R(y)が上記許容誤差ε以下になる条件付確率r(y)を、下記数18,19,20,21,22の式を用いて算出し、
    Figure 2009267892
    Figure 2009267892
    Figure 2009267892
    Figure 2009267892
    Figure 2009267892
    上記条件付確率r(y)が上記基準値φに対してr(y)>φとなる最小のyを算出し、
    算出したyを上記閾値yとして定めることを特徴とする巨大フロー特定方法。
  8. コンピュータに、請求項1から請求項7のいずれかに記載の巨大フロー特定方法における各手順を実行させるためのプログラム。
  9. プログラムされたコンピュータ処理により、ネットワークに流れるフローから、当該フローjのパケット数Yjが予め定められた閾値yを超える巨大フローを特定するシステムであって、
    プログラムされたコンピュータの処理を実行する手段として、
    請求項1から請求項7のいずれかに記載の巨大フロー特定方法における各手順の処理を実行する手段を具備したことを特徴とする巨大フロー特定システム。
  10. プログラムされたコンピュータ処理により、ネットワークに流れる巨大フローを制御して各フローの通信品質を維持するシステムであって、
    プログラムされたコンピュータの処理を実行する手段として、
    請求項1から請求項7のいずれかに記載の巨大フロー特定方法における各手順の処理を実行する手段と、
    該手段で特定した巨大フローに対して予め定められた制御手順を実行する手段と
    を具備したことを特徴とするフロー制御システム。
JP2008116608A 2008-04-28 2008-04-28 巨大フロー特定方法とシステムおよびプログラムとフロー制御システム Pending JP2009267892A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008116608A JP2009267892A (ja) 2008-04-28 2008-04-28 巨大フロー特定方法とシステムおよびプログラムとフロー制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008116608A JP2009267892A (ja) 2008-04-28 2008-04-28 巨大フロー特定方法とシステムおよびプログラムとフロー制御システム

Publications (1)

Publication Number Publication Date
JP2009267892A true JP2009267892A (ja) 2009-11-12

Family

ID=41393154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008116608A Pending JP2009267892A (ja) 2008-04-28 2008-04-28 巨大フロー特定方法とシステムおよびプログラムとフロー制御システム

Country Status (1)

Country Link
JP (1) JP2009267892A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986607A (zh) * 2010-11-30 2011-03-16 东南大学 基于随机抽样报文流长分布的流量流数推断方法
JP2014176032A (ja) * 2013-03-12 2014-09-22 Nippon Telegr & Teleph Corp <Ntt> トラヒック分布推定装置、トラヒック分布推定システム、及びトラヒック分布推定方法
JP2016092622A (ja) * 2014-11-05 2016-05-23 富士通株式会社 情報処理システム、情報処理システムの制御方法およびスイッチ装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986607A (zh) * 2010-11-30 2011-03-16 东南大学 基于随机抽样报文流长分布的流量流数推断方法
JP2014176032A (ja) * 2013-03-12 2014-09-22 Nippon Telegr & Teleph Corp <Ntt> トラヒック分布推定装置、トラヒック分布推定システム、及びトラヒック分布推定方法
JP2016092622A (ja) * 2014-11-05 2016-05-23 富士通株式会社 情報処理システム、情報処理システムの制御方法およびスイッチ装置

Similar Documents

Publication Publication Date Title
Cui et al. SD-Anti-DDoS: Fast and efficient DDoS defense in software-defined networks
Wang et al. An entropy-based distributed DDoS detection mechanism in software-defined networking
CN104506482B (zh) 网络攻击检测方法及装置
EP2800333B1 (en) Method, apparatus and device for detecting an e-mail bomb
US10616267B2 (en) Using repetitive behavioral patterns to detect malware
Cheminod et al. Performance evaluation and modeling of an industrial application-layer firewall
US7903657B2 (en) Method for classifying applications and detecting network abnormality by statistical information of packets and apparatus therefor
JP2018147172A (ja) 異常検知装置、異常検知方法及びプログラム
JP2005348416A (ja) フロー単位のトラフィック推定
US20190124094A1 (en) Active prioritization of investigation targets in network security
JP2009267892A (ja) 巨大フロー特定方法とシステムおよびプログラムとフロー制御システム
Basso et al. Strengthening measurements from the edges: application-level packet loss rate estimation
Jeyasekar et al. Congestion avoidance algorithm using ARIMA (2, 1, 1) model-based RTT estimation and RSS in heterogeneous wired-wireless networks
JP5052653B2 (ja) Tcp通信品質推定方法およびtcp通信品質推定装置
JP5180247B2 (ja) パケットサンプリング装置と方法およびプログラム
RU2531878C1 (ru) Способ обнаружения компьютерных атак в информационно-телекоммуникационной сети
KR102575526B1 (ko) 학습한 과거 데이터를 이용하여 분산 서비스 거부 공격을 탐지하는 장치 및 그 방법
JP4814270B2 (ja) トラヒック変動量推定方法およびその装置とプログラム
Torres-Jr et al. Packet reordering metrics to enable performance comparison in IP‐networks
US11805034B1 (en) Systems and methods for detecting large network flows
JP4282556B2 (ja) フローレベル通信品質管理装置と方法およびプログラム
JP2009284433A (ja) P2p端末検知及び制御システム、並びにその方法
JP4454506B2 (ja) 高レートフロー特定化方法並びに高レートフロー特定化システム
Zhang et al. SYN Flood Attack Detection and Defense Method Based on Extended Berkeley Packet Filter
Gong et al. Towards Integrating Formal Methods into ML-Based Systems for Networking