(57)【要約】【課題】バースト状態をより精度よく検知することができるネットワーク中継装置を提供する。【解決手段】フレームを受信および送信するポートと、前記フレームの受信状態がバースト状態であるかを判定する制御部と、前記ポートにより受信された前記フレームの受信レートが所定の基準値を超過していることを検知するための、設定条件が異なる複数のトークンバケットを有するトークンバケット処理部と、を有し、前記制御部は、前記トークンバケット処理部において、前記各トークンバケットがそれぞれ空になることにより前記受信レートが前記所定の基準値を超過したことを検知した順序が所定の順序である場合にのみ、バースト状態であると判定する。【選択図】図５
2017147583.tif 000002
【特許請求の範囲】
【請求項１】
フレームを受信および送信するポートと、
前記フレームの受信状態がバースト状態であるかを判定する制御部と、
前記ポートにより受信された前記フレームの受信レートが所定の基準値を超過していることを検知するための、設定条件が異なる複数のトークンバケットを有するトークンバケット処理部と、を有し、
前記制御部は、前記トークンバケット処理部において、前記各トークンバケットがそれぞれ空になることにより前記受信レートが前記所定の基準値を超過したことを検知した順序が所定の順序である場合にのみ、バースト状態であると判定する、ネットワーク中継装置。
【請求項２】
請求項１に記載のネットワーク中継装置において、
前記各トークンバケットは、それぞれ、前記トークンバケットのサイズが大きいほど、トークンの供給レートが小さくなるよう設定されている、ネットワーク中継装置。
【請求項３】
請求項２に記載のネットワーク中継装置において、
前記制御部においてバースト状態であると判定するための前記所定の順序は、前記各トークンバケットのサイズの昇順と同じ順序である、ネットワーク中継装置。
【請求項４】
請求項２に記載のネットワーク中継装置において、
前記各トークンバケットに係る前記設定条件として、前記各トークンバケットのサイズおよびトークンの供給レートの値を予め保持するトークンバケット設定条件保持部をさらに有する、ネットワーク中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置に関し、特に、バースト状態を検知することができるネットワーク中継装置に適用して有効な技術に関するものである。
【背景技術】
【０００２】
スイッチやルータなどのネットワーク中継装置で構成されるネットワークシステムにおいて、瞬間的にトラフィックが増大するバーストトラフィックが発生することがある。特にミリ秒単位やマイクロ秒単位で突発的にトラフィック量が増大する現象をマイクロバーストと呼ぶ。このようなマイクロバーストを検知し、その発生元を特定したい、という要望がある。
【０００３】
マイクロバーストの検知に関して、例えば、特開２０１３−１６８８３２号公報（特許文献１）には、ネットワーク中継装置の制御部における処理負担をできるだけ少なくしつつ、マイクロバーストの発生元を特定する技術が記載されている。具体的には、受信フレームを受信量（受信帯域）に関する基準値（第１基準値、第２基準値）により３つのグループに分類し、特定のグループ（例えば、受信量が第１基準値を超えて第２基準値を超えないグループ）に属すると判断された場合にのみ、受信フレームの内容を複製して制御部に送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１６８８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術によれば、ネットワーク中継装置においてマイクロバーストを検知し、受信フレームの内容を取得して発生元を特定することが可能となる。
【０００６】
一方で、受信量が各基準値を超えたことを検知する仕組みとして、帯域制御に広く用いられているトークンバケット（トークンバケツ）の仕組みが用いられる。すなわち、トークンバケットサイズ（最大バケツサイズ）を基準値の受信帯域（受信レート）を実現する最小の値としておくことで、トークンバケット中のトークンが空になった場合に受信レートが基準値を超えたと判断する。
【０００７】
この場合、受信フレームの受信レートがトークンバケットにおけるトークンの供給レートよりも非常に大きい場合には、短時間でトークンが空になる。これにより、バーストトラフィックによる受信レートの瞬間的な増加（バースト状態）を即時に検知することができる。しかし、例えば、受信レートがトークンの供給レートよりも僅かに大きいという状態が起こり得る。この状態が長時間継続した場合、トークンが徐々に減って最終的には空になり、受信レートが瞬間的に増加していないにも関わらず、バースト状態として検知されてしまう場合が生じ得る。
【０００８】
本発明は、このようなことを鑑みてなされたものであり、その目的の一つは、バースト状態をより精度よく検知することができるネットワーク中継装置を提供することにある。本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１０】
本発明の代表的な実施の形態によるネットワーク中継装置は、フレームを受信および送信するポートと、前記フレームの受信状態がバースト状態であるかを判定する制御部と、前記ポートにより受信された前記フレームの受信レートが所定の基準値を超過していることを検知するための、設定条件が異なる複数のトークンバケットを有するトークンバケット処理部と、を有し、前記制御部は、前記トークンバケット処理部において、前記各トークンバケットがそれぞれ空になることにより前記受信レートが前記所定の基準値を超過したことを検知した順序が所定の順序である場合にのみ、バースト状態であると判定するものである。
【発明の効果】
【００１１】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１２】
すなわち、本発明の代表的な実施の形態によれば、バースト状態をより精度よく検知することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態におけるネットワークシステムの構成例について概要を示した図である。
【図２】本発明の一実施の形態であるイーサネットスイッチの構成例について概要を示したブロック図である。
【図３】本発明の一実施の形態におけるバースト状態の検知手法の例について概要を示した図である。
【図４】本発明の一実施の形態における各トークンバケットの設定条件の例を示した図である。
【図５】本発明の一実施の形態におけるトークンバケットでのフレームの受信レートと基準値超過までの検知時間との関係の例を示したグラフである。
【図６】本発明の一実施の形態におけるトークンバケット処理部の構成例について概要を示した図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。一方で、ある図において符号を付して説明した部位について、他の図の説明の際に再度の図示はしないが同一の符号を付して言及する場合がある。
【００１５】
＜ネットワークシステムの構成＞
図１は、本発明の一実施の形態におけるネットワークシステムの構成例について概要を示した図である。ネットワークシステム１は、例えば、広域イーサネット（登録商標）により構成され、コアネットワーク２と１つ以上のユーザ拠点５、およびこれらの間に配置される１つ以上のイーサネットスイッチ（ネットワーク中継装置）４を有する。本発明の機能は、これらのイーサネットスイッチ４に適用される。イーサネットスイッチ４には、各ユーザ拠点５に配置されてユーザ端末６を収容するもの、およびこれらのイーサネットスイッチ４を収容してコアネットワーク２のルータ３に接続するものなどがある。なお、ネットワークシステム１における上記の各構成要素の数や構成は、図示したものに限られない。
【００１６】
＜イーサネットスイッチの構成＞
図２は、本発明の一実施の形態であるイーサネットスイッチ４の構成例について概要を示したブロック図である。イーサネットスイッチ（ネットワーク中継装置）４は、例えば、複数のポート１０、スイッチングＬＳＩ（Large-Scale Integration：大規模集積回路）２０、中継部３０、メモリ４０、および制御部５０などの各部を有する。
【００１７】
ポート１０は、通信ケーブルが接続される外部インタフェースであり、フレームを受信する受信ポートおよびフレームを送信する送信ポートの双方として機能する。イーサネットスイッチ４が備えるポート１０の数は図示するものに限られず、各イーサネットスイッチ４の仕様に応じた数を備える。
【００１８】
スイッチングＬＳＩ２０は、符号化や復号化等の処理を行って、ポート１０から中継部３０へ、もしくは中継部３０からポート１０へフレームを送信する機能を有する。スイッチングＬＳＩ２０は、さらに、トークンバケット処理部２１およびトークンバケット設定条件保持部２２などの各部を有する。
【００１９】
トークンバケット処理部２１は、制御部５０と協働して、ポート１０から受信したフレームの受信量（受信帯域、受信レート）について、トークンバケットの仕組みを用いて後述する手法によりフレームの受信状態がバースト状態であることを検知する機能を有する。本実施の形態ではポート１０からのフレームの受信時、すなわちイングレス側でバースト状態の検知を行う場合を例としているが、ポート１０へのフレームの送信時、すなわちイーグレス側でバースト状態の検知を行う構成としてもよい。
【００２０】
トークンバケット処理部２１は、フレームの受信レートが所定の基準値を超えたことを検知した場合、制御部５０に対して通知等を行う。特許文献１に記載された技術と同様に、対象のフレームの内容を複製してポート１０の情報を付加した上で制御部５０に送信するようにしてもよい。また、本実施の形態では、バースト状態の検知のみを目的とし、バースト状態を検知した場合であってもポート１０から受信したフレームの中継部３０への送信（およびその逆）は継続して行うものとする。一般的なトークンバケットの仕組みによる帯域制御（例えば、トラフィックのポリシングやシェーピング等）を併せて行うようにしてもよい。
【００２１】
トークンバケット設定条件保持部２２は、トークンバケットのサイズやトークンの供給レートなどの設定条件を複数保持する。トークンバケット処理部２１は、バースト状態を検知するために複数のトークンバケットを有しており、複数のトークンバケットは、トークンバケット設定条件保持部２２に保持されている設定条件に基づいて動作する。設定条件は可変であり、外部からトークンバケット設定条件保持部２２に所定の設定条件を保持させる。
【００２２】
中継部３０は、メモリ４０や制御部５０と協働して、ＯＳＩ（Open Systems Interconnection）参照モデルにおけるデータリンク層のＭＡＣ（Media Access Control）副層を実現する機能を有する。中継部３０は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）やＦＰＧＡ（Field-Programmable Gate Array）等によって実装され、入力処理ユニット３１および出力処理ユニット３２などの各部を有する。
【００２３】
入力処理ユニット３１は、スイッチングＬＳＩ２０から受信したフレーム中の宛先ＭＡＣアドレスに基づいて、メモリ４０に格納されたＦＤＢ（Forwarding DataBase）４１等を参照しながら出力先のポート１０を設定し、フレームを出力処理ユニット３２へ送信する処理を行う。ＦＤＢ４１に宛先ＭＡＣアドレスが登録されていない場合、ブロードキャストとしてフレームを出力処理ユニット３２へ送信する。また、入力処理ユニット３１は、受信したフレーム中の送信元ＭＡＣアドレスを、フレームを受信したポート１０の番号に対応付けて、ＦＤＢ４１に登録する処理を行う。出力処理ユニット３２は、入力処理ユニット３１から受信したフレームをスイッチングＬＳＩ２０へ送信する。
【００２４】
メモリ４０は、読み出しおよび書き込みが可能な記憶装置であり、ＦＤＢ４１を格納している。また、制御部５０は、ＣＰＵ（Central Processing Unit：中央演算処理装置）によって構成され、イーサネットスイッチ４全体を制御する。本実施の形態では、トークンバケット処理部２１において受信レートが所定の基準値を超えたことを検知した結果に基づいて、バースト状態であるか否かを判定する機能を有する。トークンバケット処理部２１において受信レートが所定の基準値を超えたことが検知された際に、スイッチングＬＳＩ２０から送信されるフレームの情報を取得、記録する処理を行ってもよい。
【００２５】
＜バースト状態検知手法＞
本実施の形態におけるバースト状態検知手法の基本的な概念は、特許文献１に記載された従来技術と同様である。図３は、本実施の形態におけるバースト状態の検知手法の例について概要を示した図である。特許文献１に記載された従来技術と同様に、受信レートを基準値（第１基準値、第２基準値）により３つのグループに分ける。受信レートが第１基準値を超えた場合、バースト状態と判定する。そして、受信レートが特定のグループ（受信量が第１基準値を超えて第２基準値を超えないグループ）に属すると判断された場合にのみ、受信したフレームを複製して制御部５０へ送信する。図３の例では、ｔ３〜ｔ４の時間帯で受信レートが第２基準値を超えない間が該当する。特定のグループに属する場合のみ受信フレームの内容を複製して制御部５０に送信することで、処理負担を低減させることができる。
【００２６】
従来技術では、受信レートが各基準値を超えたことを検知するためトークンバケット（トークンバケツ）の仕組みを用いている。具体的には、各基準値に対応したトークンバケットを設定し、それぞれのトークンバケットサイズ（最大バケツサイズ）を各基準値の受信レートを実現する最小の値としておく。そして、トークンバケット中のトークンが空になった場合に受信レートが対応する基準値を超えたと判断する。
【００２７】
この場合、受信フレームの受信レートがトークンバケットにおけるトークンの供給レートよりも非常に大きい場合には、短時間でトークンが空になる。したがって、バーストトラフィックによる受信レートの瞬間的な増加であっても、受信レートが基準値（例えば、第１基準値）を超えたことを即時に検知することができる。しかし、例えば、受信レートがトークンの供給レートよりも僅かに大きいという状態であっても、これが長時間継続した場合には、トークンが徐々に減って最終的には空になり得る。この場合、実際にはバースト状態とはいえない状態にも関わらず、この時点で受信レートが第１基準値を超えたと判断されるため、バースト状態として検知されてしまう。
【００２８】
そこで、本実施の形態では、従来技術と同様に、トークンバケットの仕組みを用いて受信レートが基準値を超えているか否かを判定するが、第１基準値の超過を判定するために複数のトークンバケットを用いる。そして、各トークンバケットの設定条件（トークンバケットサイズおよびトークンの供給レート）をそれぞれ異なるものとする。そして、各トークンバケットが空になった（受信レートが第１基準値を超えたことを検知した）順序が所定の順序であった場合にのみバースト状態であると判断する。これにより、受信レートが低く長時間かけてトークンバケット中のトークンが空になるような状態をバースト状態の検知対象から排除することを可能とする。
【００２９】
図４は、本実施の形態における各トークンバケットの設定条件の例を示した図である。本実施の形態では、トークンバケットａ、ｂ、ｃの３つを設け、トークンバケットａ→ｂ→ｃの順にトークンバケットサイズが大きくなるよう設定する。一方で、トークンの供給レートは逆にトークンバケットａ→ｂ→ｃの順に小さくなるよう設定する。
【００３０】
図５は、上記の各トークンバケットでのフレームの受信レートと基準値超過までの検知時間との関係の例を示したグラフである。ある受信レートにおける各トークンバケットでの基準値超過までの検知時間、すなわちトークンバケット中のトークンが空になるまでの時間は、以下の式で表される。すなわち、受信レートをＲ、検知時間をＴ、トークンバケットサイズをＳ、トークンの供給レートをｒとすると、Ｔ＝Ｓ／（Ｒーｒ）で表される。この式に基づいて受信レートＲと検知時間Ｔとの関係を図４に示したトークンバケットａ、ｂ、ｃについてそれぞれ具体的に示したものが図５のグラフである。
【００３１】
本実施の形態では、上述したように、トークンバケットａ、ｂ、ｃにおいてトークンバケットサイズＳが大きいものほど逆に供給レートｒが小さくなるように設定している。その結果、図５の例に示すように、グラフの曲線が交差する箇所（図中の破線で示した受信レートが約４６０Ｍｂｐｓ付近）が生じる。そして、この受信レート（以下では「バースト状態検知レート」と記載する）より受信レートが高い領域では、いずれの受信レートでも基準値超過までの検知時間は常にトークンバケットａ→ｂ→ｃの順に短い。すなわち、常にトークンバケットａ→ｂ→ｃの順で基準値超過を検知することが分かる。逆に、バースト状態検知レートより受信レートが低い領域では、基準値超過の検知がトークンバケットａ→ｂ→ｃの順となることはない。
【００３２】
したがって、本実施の形態では、トークンバケットａ→ｂ→ｃの順、すなわち、トークンバケットサイズの昇順（もしくは供給レートの降順）と同じ順序で第１基準値の超過を検知した場合にのみ、バースト状態と取り扱う。これにより、受信レートがバースト状態検知レートより高いことを担保し、比較的低い受信レートが長時間継続した結果として第１基準値超過を検知したような場合をバースト状態として検知しないようにすることができる。なお、図５に示したグラフから、図４の例における各トークンバケットの設定条件は、５００Ｍｂｐｓから１０００Ｍｂｐｓ程度のバースト状態を検知するのに適したセッティングであるといえる。
【００３３】
上記の例ではトークンバケットａ→ｂ→ｃの順で第１基準値超過を検知した場合にのみバースト状態と取り扱っている。一方で、図５の例では、バースト状態検知レート付近においてトークンバケットａとトークンバケットｂの曲線が交差している。したがって、少なくともトークンバケットａ→ｂの順で第１基準値超過を検知すれば、受信レートがバースト状態検知レートより高い領域であることを担保することができる。すなわち、トークンバケットａ→ｂの順で第１基準値超過を検知した時点で、トークンバケットｃでの第１基準値超過の検知の有無に関わらずバースト状態として取り扱うことも可能である。重要なのは、トークンバケットｂ→ａや、トークンバケットｃ→ｂのように、第１基準値超過を検知する順序が逆転しないことである。これが満たされる限り、トークンバケットの数は２つ以上の任意の数とすることができる。また、設定したトークンバケット全てについて第１基準値超過を検知することも必須ではない。
【００３４】
なお、イーサネットスイッチ４における通常時のフレームの受信レートの平均が、各トークンバケットにおけるトークンの供給レートのうち最も小さいもの（図４の例ではトークンバケットｃの２５０Ｍｂｐｓ）より大きい場合には、対象のトークンバケットでは常に第１基準値超過を検知することになる。この場合、フレームの複製や通知等の処理によるオーバーヘッドが生じ得る。したがって、トークンの供給レートの最小値は、通常時における受信レートの平均より大きい値を設定しておくのが望ましい。
【００３５】
図６は、上述したような手法により第１基準値超過を検知するトークンバケット処理部２１の構成例について概要を示した図である。図６の例では、トークンバケット処理部２１は、スイッチングＬＳＩ２０が受信したフレームに対して、図４の例に示したトークンバケットａ、ｂ、ｃのそれぞれについて第１基準値超過の判断をシリアルに行うよう構成されている。具体的には、トークンバケットａ判定部２３ａ、トークンバケットｂ判定部２３ｂ、トークンバケットｃ判定部２３ｃ（以下ではこれらを「トークンバケット判定部２３」と総称する場合がある）が直列に配置されている。
【００３６】
各トークンバケット判定部２３において、対応するトークンバケット中のトークンが空になることで第１基準値超過を検知した場合は、制御部５０に対してそれぞれ通知等を行う。このとき、特許文献１に記載された技術と同様に、対象のフレームの内容を複製してポート１０の情報を付加した上で制御部５０に送信するようにしてもよい。各トークンバケット判定部２３は、第１基準値超過を検知した場合でも、後段のトークンバケット判定部２３等にフレームをそのまま受け渡すものとする。このとき、トークンバケットの仕組みによる帯域制御（例えば、トラフィックのポリシングやシェーピング等）を併せて行うようにしてもよい。
【００３７】
制御部５０では、各トークンバケット判定部２３から第１基準値超過の通知もしくは対象のフレームの内容を含む情報を受信した順序を記憶しておく。そして、その順序が各トークンバケットのトークンバケットサイズの昇順と同じ順序であった場合にバースト状態と判定する。第１基準値超過の順序の記憶内容は、トークンバケットサイズの昇順と異なる順序を検知した場合にリセットするものとする。また、最初にいずれかのトークンバケット判定部２３において第１基準値超過を検知したタイミングから所定の時間内に限り記憶内容を有効とし、所定の時間の経過後はリセットするものとしてもよい。
【００３８】
図６の例ではフレームがトークンバケットａ判定部２３ａ→トークンバケットｂ判定部２３ｂ→トークンバケットｃ判定部２３ｃの順に受け渡され、トークンバケットａ→ｂ→ｃの順で第１基準値超過が判断される構成としているが、これに限られない。上述したように、本実施の形態では第１基準値超過を検知した順序のみが問題となり、判定する順序は問題とはならない。したがって、トークンバケット判定部２３にフレームを受け渡す順序（トークンバケットの判定順序）は任意のものとすることができる。
【００３９】
あるフレームについて、複数のトークンバケット判定部２３において第１基準値超過が検知されるような場合には、検知の時間的な順序は厳密には各トークンバケット判定部２３での判定順序に依存することになる。しかし、この場合は同一のフレームについての判断であるため、判定順序に関わらず同時に第１基準値超過を検知したものとすればよい。複数のトークンバケットについて同時に第１基準値超過を検知した場合は、トークンバケットサイズの昇順と同じ順序で検知したものとして取り扱ってもよいし、異なる順序として取り扱ってもよい。
【００４０】
また、各トークンバケットについて判定する順序は問題とならないことから、図６の例のようにフレームを各トークンバケット判定部２３に対してシリアルに受け渡す構成とすることは必須ではない。例えば、一部もしくは全部のトークンバケット判定部２３を並列に配置し、フレームの内容を複製した上でこれらに対してパラレルに受け渡す構成とすることも可能である。
【００４１】
以上に説明したように、本発明の一実施の形態であるイーサネットスイッチ４（ネットワーク中継装置）によれば、受信レートを基準値（第１基準値、第２基準値）により３つのグループに分ける。そして、受信レートが第１基準値を超えて第２基準値を超えないグループに属すると判断された場合にのみバースト状態であると判定する。
【００４２】
そして、第１基準値の超過を判定するために、設定条件（トークンバケットサイズおよびトークンの供給レート）がそれぞれ異なる複数のトークンバケットを用いる。具体的には、トークンバケットサイズが大きいものほどトークンの供給レートが小さくなるような設定条件とする。そして、各トークンバケットについて第１基準値超過を検知した順序が所定の順序、すなわちトークンバケットサイズの昇順と同じ順序であった場合にのみバースト状態であると判断する。これにより、受信レートが比較的低く長時間かけてトークンバケットのトークンが空になるような状態をバースト状態として検知しないようにすることが可能となる。
【００４３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００４４】
１…ネットワークシステム、２…コアネットワーク、３…ルータ、４…イーサネットスイッチ、５…ユーザ拠点、６…ユーザ端末、
１０…ポート、
２０…スイッチングＬＳＩ、２１…トークンバケット処理部、２２…トークンバケット設定条件保持部、２３ａ〜ｃ…トークンバケットａ〜ｃ判定部、
３０…中継部、３１…入力処理ユニット、３２…出力処理ユニット、
４０…メモリ、４１…ＦＤＢ、
５０…制御部
【図１】
2017147583.tif 000003
【図２】
2017147583.tif 000004
【図３】
2017147583.tif 000005
【図４】
2017147583.tif 000006
【図５】
2017147583.tif 000007
【図６】
2017147583.tif 000008