(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-21
(45)【発行日】2025-03-31
(54)【発明の名称】冗長性判定装置、プログラム及び冗長性判定方法
(51)【国際特許分類】
H04L 12/46 20060101AFI20250324BHJP
H04L 43/00 20220101ALI20250324BHJP
【FI】
H04L12/46 Z
H04L43/00
(21)【出願番号】P 2021063436
(22)【出願日】2021-04-02
【審査請求日】2023-10-03
【国等の委託研究の成果に係る記載事項】(出願人による申告)2018年度、国立研究開発法人新エネルギー・産業技術総合開発機構「戦略的イノベーション創造プログラム(SIP)第2期/IoT社会に対応したサイバー・フィジカル・セキュリティ/(C2)信頼チェーンの維持技術の研究開発事業」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100116964
【氏名又は名称】山形 洋一
(74)【代理人】
【識別番号】100120477
【氏名又は名称】佐藤 賢改
(74)【代理人】
【識別番号】100135921
【氏名又は名称】篠原 昌彦
(74)【代理人】
【識別番号】100083840
【氏名又は名称】前田 実
(72)【発明者】
【氏名】佐藤 浩司
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2013-141140(JP,A)
【文献】特開平02-109445(JP,A)
【文献】特開2002-101115(JP,A)
【文献】特開2013-017079(JP,A)
【文献】特開2018-107584(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-69/40
(57)【特許請求の範囲】
【請求項1】
複数のイーサネットフレームを順次受信するポートと、
前記複数のイーサネットフレームに含まれる最後のイーサネットフレームである判定対象から、送信元MACアドレス及びフレームチェックシーケンスを対象送信元MACアドレス及び対象フレームチェックシーケンスとして取得する取得部と、
前記ポートで前記判定対象よりも前に受信されたイーサネットフレームのフレームチェックシーケンスを、前記送信元MACアドレス毎に最新のN個(Nは、一以上の整数)を格納した判定データを記憶する判定データ記憶部と、
前記判定データを参照し、前記対象送信元MACアドレス及び前記対象フレームチェックシーケンスの組み合わせが前記判定データに格納されている場合には前記判定対象を冗長フレームであると判定し、前記判定データに格納されていない場合には前記判定対象を前記冗長フレームではないと判定して、その後、前記判定データに格納された、前記最新のN個のイーサネットフレームのフレームチェックシーケンスのうち、前記対象フレームチェックシーケンスに対応する前記送信元MACアドレスのフレームチェックシーケンスの最も古い値を削除して、代わりに前記対象フレームチェックシーケンスを追加する冗長性判定部と、を備えること
を特徴とする冗長性判定装置。
【請求項2】
前記ポートとは異なる別のポートである出力ポートをさらに備え、
前記取得部は、前記冗長フレームではないと判定された前記判定対象を前記出力ポートから出力すること
を特徴とする請求項
1に記載の冗長性判定装置。
【請求項3】
前記冗長フレームではないと判定された前記判定対象に対して、予め定められた分析を行う分析部をさらに備えること
を特徴とする請求項
1に記載の冗長性判定装置。
【請求項4】
前記分析部は、統計処理、又は、AI(Aartificial Intelligence)を使って分析すること
を特徴とする請求項
3に記載の冗長性判定装置。
【請求項5】
コンピュータを、
複数のイーサネットフレームを順次受信するポート、
前記複数のイーサネットフレームに含まれる最後のイーサネットフレームである判定対象から、送信元MACアドレス及びフレームチェックシーケンスを対象送信元MACアドレス及び対象フレームチェックシーケンスとして取得する取得部、及び、
前記ポートで前記判定対象よりも前に受信されたイーサネットフレームのフレームチェックシーケンスを、前記送信元MACアドレス毎に最新のN個(Nは、一以上の整数)を格納した判定データを参照し、前記対象送信元MACアドレス及び前記対象フレームチェックシーケンスの組み合わせが前記判定データに格納されている場合には前記判定対象を冗長フレームであると判定し、前記判定データに格納されていない場合には前記判定対象を前記冗長フレームではないと判定して、その後、前記判定データに格納された、前記最新のN個のイーサネットフレームのフレームチェックシーケンスのうち、前記対象フレームチェックシーケンスに対応する前記送信元MACアドレスのフレームチェックシーケンスの最も古い値を削除して、代わりに前記対象フレームチェックシーケンスを追加する冗長性判定部、として機能させること
を特徴とするプログラム。
【請求項6】
複数のイーサネットフレームを順次受信し、
前記複数のイーサネットフレームに含まれる最後のイーサネットフレームである判定対象から、送信元MACアドレス及びフレームチェックシーケンスを対象送信元MACアドレス及び対象フレームチェックシーケンスとして取得し、
前記判定対象よりも前に受信されたイーサネットフレームのフレームチェックシーケンスを、前記送信元MACアドレス毎に最新のN個(Nは、一以上の整数)を格納した判定データを参照し、前記対象送信元MACアドレス及び前記対象フレームチェックシーケンスの組み合わせが前記判定データに格納されている場合には前記判定対象を冗長フレームであると判定し、前記判定データに格納されていない場合には前記判定対象を前記冗長フレームではないと判定して、その後、前記判定データに格納された、前記最新のN個のイーサネットフレームのフレームチェックシーケンスのうち、前記判定対象の前記対象フレームチェックシーケンスに対応する前記送信元MACアドレスのフレームチェックシーケンスの最も古い値を削除して、代わりに前記判定対象の前記対象フレームチェックシーケンスを追加すること
を特徴とする冗長性判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、冗長性判定装置、プログラム及び冗長性判定方法に関する。
【背景技術】
【0002】
イーサネットフレームをブリッジ転送するスイッチ機器であるレイヤ2スイッチ等で、転送されるネットワークトラフィックのコピー(言い換えると、ミラー)を取得し、取得されたフレームを分析することで、ネットワークの利用状況の把握又はネットワークの異常の検出が可能である。ここで、イーサネットは、登録商標である。
【0003】
近年では、ネットワークに流れるフレームの量が大量及び高速となっている。
このため、計算量を削減したい、又は、そもそも分析処理に必要ない、といった理由で、冗長なフレームについては、分析処理を行わないように、分析処理を行う前に廃棄したい、又は、分析処理の処理性能に見合う量にフレームの数を削減する際に、冗長なフレームを優先的に廃棄したい、といった状況が発生し得る。
【0004】
例えば、特許文献1に記載されたパケットサンプリング装置は、IPネットワークのパケットサンプリングにおいて、特定のフローだけがサンプルされ続ける問題を回避するため、フローを特定する情報であるフローキーに対するハッシュ値を求め、ハッシュ値が予め定められた範囲であるサンプル区間であれば、そのパケットをサンプリングすることにより、小フローを大量生成するトラヒックの検出を可能にしている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術では、入力量を削減することはできているが、冗長なフレームを判定することができないため、冗長フレームの選択廃棄又は非冗長フレームを優先して入力に用いることができない。
【0007】
また、冗長フレームを判定するために、フレーム全体の比較を行うと、比較対象のフレーム全体を保持しなくてはならず、比較の演算量も多くなるため、処理負荷が高く、処理時間もかかってしまう。
【0008】
そこで、本開示の一又は複数の態様は、簡便な方法で冗長なフレームを判定することができるようにすることを目的とする。
【課題を解決するための手段】
【0009】
本開示の一態様に係る冗長性判定装置は、複数のイーサネットフレームを順次受信するポートと、前記複数のイーサネットフレームに含まれる最後のイーサネットフレームである判定対象から、送信元MACアドレス及びフレームチェックシーケンスを対象送信元MACアドレス及び対象フレームチェックシーケンスとして取得する取得部と、前記ポートで前記判定対象よりも前に受信されたイーサネットフレームのフレームチェックシーケンスを、前記送信元MACアドレス毎に最新のN個(Nは、一以上の整数)を格納した判定データを記憶する判定データ記憶部と、前記判定データを参照し、前記対象送信元MACアドレス及び前記対象フレームチェックシーケンスの組み合わせが前記判定データに格納されている場合には前記判定対象を冗長フレームであると判定し、前記判定データに格納されていない場合には前記判定対象を前記冗長フレームではないと判定して、その後、前記判定データに格納された、前記最新のN個のイーサネットフレームのフレームチェックシーケンスのうち、前記対象フレームチェックシーケンスに対応する前記送信元MACアドレスのフレームチェックシーケンスの最も古い値を削除して、代わりに前記対象フレームチェックシーケンスを追加する冗長性判定部と、を備えることを特徴とする。
【0010】
本開示の一態様に係るプログラムは、コンピュータを、複数のイーサネットフレームを順次受信するポート、前記複数のイーサネットフレームに含まれる最後のイーサネットフレームである判定対象から、送信元MACアドレス及びフレームチェックシーケンスを対象送信元MACアドレス及び対象フレームチェックシーケンスとして取得する取得部、及び、前記ポートで前記判定対象よりも前に受信されたイーサネットフレームのフレームチェックシーケンスを、前記送信元MACアドレス毎に最新のN個(Nは、一以上の整数)を格納した判定データを参照し、前記対象送信元MACアドレス及び前記対象フレームチェックシーケンスの組み合わせが前記判定データに格納されている場合には前記判定対象を冗長フレームであると判定し、前記判定データに格納されていない場合には前記判定対象を前記冗長フレームではないと判定して、その後、前記判定データに格納された、前記最新のN個のイーサネットフレームのフレームチェックシーケンスのうち、前記対象フレームチェックシーケンスに対応する前記送信元MACアドレスのフレームチェックシーケンスの最も古い値を削除して、代わりに前記対象フレームチェックシーケンスを追加する冗長性判定部、として機能させることを特徴とする。
【0011】
本開示の一態様に係る冗長性判定方法は、複数のイーサネットフレームを順次受信し、前記複数のイーサネットフレームに含まれる最後のイーサネットフレームである判定対象から、送信元MACアドレス及びフレームチェックシーケンスを対象送信元MACアドレス及び対象フレームチェックシーケンスとして取得し、前記判定対象よりも前に受信されたイーサネットフレームのフレームチェックシーケンスを、前記送信元MACアドレス毎に最新のN個(Nは、一以上の整数)を格納した判定データを参照し、前記対象送信元MACアドレス及び前記対象フレームチェックシーケンスの組み合わせが前記判定データに格納されている場合には前記判定対象を冗長フレームであると判定し、前記判定データに格納されていない場合には前記判定対象を前記冗長フレームではないと判定して、その後、前記判定データに格納された、前記最新のN個のイーサネットフレームのフレームチェックシーケンスのうち、前記判定対象の前記対象フレームチェックシーケンスに対応する前記送信元MACアドレスのフレームチェックシーケンスの最も古い値を削除して、代わりに前記判定対象の前記対象フレームチェックシーケンスを追加することを特徴とする。
【発明の効果】
【0012】
本開示の一又は複数の態様によれば、簡便な方法で冗長なフレームを判定することができる。
【図面の簡単な説明】
【0013】
【
図1】実施の形態1に係る冗長性判定装置としてのスイッチの構成を概略的に示すブロック図である。
【
図2】レイヤ2イーサネットフレームのフレームフォーマットの基本構造を示す概略図である。
【
図3】実施の形態1における判定データのテーブル構造を示す概略図である。
【
図4】(A)及び(B)は、ハードウェア構成例を示すブロック図である。
【
図5】実施の形態1における冗長性判定部での動作を示すフローチャートである。
【
図6】(A)~(C)は、実施の形態1において、判定データが変化する様子を説明するための概略図である。
【
図7】実施の形態2における判定データのテーブル構造を示す概略図である。
【
図8】実施の形態2における冗長性判定部での動作を示すフローチャートである。
【
図9】実施の形態3に係る冗長性判定装置としての分析装置の構成を概略的に示すブロック図である。
【発明を実施するための形態】
【0014】
実施の形態1.
図1は、実施の形態1に係る冗長性判定装置としてのスイッチ100の構成を概略的に示すブロック図である。
スイッチ100は、ポート101A、101B、101C、101Dと、フレーム転送部102と、ミラー取得部103と、冗長性判定部104と、判定データ記憶部105とを備える。スイッチ100は、ここでは、4ポートのレイヤ2スイッチであり、フレームとして、イーサネットフレームを中継する。
【0015】
ポート101A、101B、101C、101Dは、イーサネットフレームを送受信する通信インターフェースである。例えば、ポート101A、101B、101Cは、複数のイーサネットフレームを順次受信する。
ここでは、ポート101Aには、機器120Aが接続され、ポート101Bには、機器120Bが接続され、ポート101Cには、機器120Cが接続され、ポート101Dには、分析装置130が接続されている。
【0016】
後述するように、ポート101Dは、ポート101A、101B、101Cで受信されたイーサネットフレームの内、冗長フレームではないと判定された判定対象を分析装置130に出力する出力ポートとして機能する。
【0017】
機器120A~120Cは、スイッチ100を介して、イーサネットフレームを送受信することにより通信を行う通信機器である。
【0018】
分析装置130は、スイッチ100からミラートラフィックを受信して予め定められた分析を行う。分析装置130としては、例えば、ネットワークトラフィックの中身を確認して異常を検出するような装置が考えられる。ここでは、分析装置130は、冗長フレームを処理する必要がないと仮定する。
【0019】
フレーム転送部102は、各ポート間におけるイーサネットフレームの転送を行う。
ミラー取得部103は、指定された一若しくは複数のポートに入力されるイーサネットフレーム、指定された一若しくは複数のポートから出力されるイーサネットフレーム、又は、指定された一若しくは複数のポートに入力され、かつ、指定された一若しくは複数のポートから出力されるイーサネットフレームをコピーして、指定されたポートに出力する。
ここでは、ミラー取得部103は、ポート101A、ポート101B又はポート101Cに入力されるイーサネットフレームをコピーして、ポート101Dから出力するものとする。
【0020】
実施の形態1におけるミラー取得部103は、ポート101A若しくはポート101Bに入力されるイーサネットフレーム、又は、ポート101A若しくはポート101Bから出力されるイーサネットフレームをコピーして、そのイーサネットフレームの送信元MAC(Media Access Control)アドレス及びFCS(Frame Check Sequence)を取得して、その送信元MACアドレス及びFCSを冗長性判定部104に与えて、冗長性判定部104から冗長性の判定結果を受け取る。
言い換えると、ミラー取得部103は、ポート101A、ポート101B又はポート101Cで受信された複数のイーサネットフレームに含まれる最後のイーサネットフレームである判定対象から、送信元MACアドレス及びフレームチェックシーケンスを取得する取得部として機能する。なお、ここで取得される送信元MACアドレス及びFCSを、対象送信元MACアドレス及び対象FCSともいう。
【0021】
そして、ミラー取得部103は、冗長性判定部104からの判定結果として、冗長フレームであることを示す「真」を受け取ると、コピーされたイーサネットフレームをポート101Dには与えずに、廃棄する。一方、ミラー取得部103は、冗長性判定部104からの判定結果として、冗長フレームではないことを示す「偽」を受け取ると、コピーされたイーサネットフレームをポート101Dに与える。
【0022】
以上のような構成において、スイッチ100には、ポート101A又はポート101Bにおいて入出力されるイーサネットフレームを、ポート101Dにミラー出力する設定と、そのミラー出力には、冗長フレームを含まないという設定が行われているものとする。
【0023】
冗長性判定部104は、判定データ記憶部105に記憶されている判定データを用いて冗長性を判定し、その判定結果をミラー取得部103に返す。
ここで、冗長性判定部104の入力には、判定対象となるイーサネットフレームから取得した値が用いられる。
【0024】
図2は、レイヤ2イーサネットフレームのフレームフォーマットの基本構造を示す概略図である。
図2では、左側がフレームの先頭、右側がフレームの末尾である。
レイヤ2イーサネットフレームの先頭には、そのフレームを送信した機器のネットワークインタフェースに割り当てられたMACアドレスが、送信元MACアドレスとして格納されている。
【0025】
次に、宛先となる機器のネットワークインタフェースに割り当てられたMACアドレスが宛先MACアドレスとして格納される。
【0026】
その後ろには、ペイロード内に格納されているデータの型を表すEtherTypeが格納される。
その後ろに送信したいデータ本体であるペイロードが格納される。
そして、フレームの最後に、フレームの情報が壊れていないかどうかをチェックするためのFCSが格納される。
【0027】
冗長性判定部104へは、送信元MACアドレス及びFCSが、対象送信元MACアドレス及び対象FCSとして与えられる。
そして、冗長性判定部104は、対象送信元MACアドレス及び対象FCSを用いて、判定対象となるイーサネットフレームがポート101A、ポート101B又はポート101Cでその判定対象よりも前に受信されたイーサネットフレームと同一の冗長フレームであるか否かを判定する。
【0028】
図1に戻り、判定データ記憶部105は、イーサネットフレームが冗長フレームであるか否かを判定するためのデータである判定データを記憶する。ここでは、判定データは、テーブル形式のデータであるものとする。
【0029】
図3は、実施の形態1における判定データのテーブル構造を示す概略図である。
図3に示されているように、判定データ105aは、送信元MACアドレス列105bと、前回FCS列105cとを備える。
【0030】
送信元MACアドレス列105bは、送信元MACアドレスを格納する。
前回FCS列105cは、同じ行に格納されている送信元MACアドレスを送信元MACアドレスとし、かつ、判定対象となるイーサネットフレームを受信する前において、最後に受信されたイーサネットフレームのFCSが格納される。
【0031】
図1に戻り、判定データ105aを参照することにより、冗長性判定部104は、ミラー取得部103から与えられた送信元MACアドレスをキーとして、最後に受信されたイーサネットフレームのFCSである前回FCSを特定することができる。
そして、冗長性判定部104は、特定されたFCSと、ミラー取得部103から与えられた対象FCSとが同じ場合には、判定結果として、冗長フレームであることを示す「真」をミラー取得部103に返し、特定されたFCSと、ミラー取得部103から与えられた対象FCSとが異なる場合には、判定結果として、冗長フレームであることを示す「偽」をミラー取得部103に返す。
【0032】
言い換えると、判定データには、送信元MACアドレス毎に、ポート101A、101B、101Cで判定対象よりも前に受信されたイーサネットフレームのFCSが格納されている。そして、冗長性判定部104は、対象送信元MACアドレス及び対象フレームチェックシーケンスの組み合わせが判定データに格納されている場合には、判定対象を冗長フレームであると判定する。
【0033】
なお、冗長性判定部104は、冗長性の判定を行った後に、判定データ105aにおいて、ミラー取得部103から与えられた送信元MACアドレスが格納されている行の前回FCS列105cの値を、ミラー取得部103から与えられたFCSで更新する。
言い換えると、冗長性判定部104は、判定対象が冗長フレームであるか否かを判定した後に、判定データに、対象FCSを対象送信元MACアドレスに対応付けて格納する。
【0034】
以上に記載されたフレーム転送部102、ミラー取得部103及び冗長性判定部104の一部又は全部は、例えば、
図4(A)に示されているように、メモリ10と、メモリ10に格納されているプログラムを実行するCPU(Central Processing Unit)等のプロセッサ11とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
言い換えると、スイッチ100は、コンピュータにより実現することができる。
【0035】
また、フレーム転送部102、ミラー取得部103及び冗長性判定部104の一部又は全部は、例えば、
図4(B)に示されているように、単一回路、複合回路、プログラムで動作するプロセッサ、プログラムで動作する並列プロセッサ、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)等の処理回路12で構成することもできる。
以上のように、フレーム転送部102、ミラー取得部103及び冗長性判定部104は、処理回路網により実現することができる。
なお、判定データ記憶部105は、揮発性又は不揮発性のメモリで実現することができる。
【0036】
図5は、実施の形態1における冗長性判定部104での動作を示すフローチャートである。
ここで、
図5に示されているフローチャートは、判定対象となるイーサネットフレームの送信元MACアドレスと、FCSとを冗長性判定部104が受け取ることで開始される。
【0037】
まず、冗長性判定部104は、判定データから、受け取った送信元MACアドレスに対応するFCSである前回FCSを取得する(S10)。
【0038】
冗長性判定部104は、受け取ったFCSと、ステップS10で取得された前回FCSとを比較して、これらの値が同じか否かを判定する(S11)。これらの値が同じ場合(S11でYes)には、処理はステップS12に進み、これらの値が異なる場合(S11でNo)には、処理はステップS13に進む。
【0039】
ステップS12では、冗長性判定部104は、判定対象のイーサネットフレームが冗長フレームであると判定して、ミラー取得部103への戻り値を「真」に設定する。そして、処理はステップS14に進む。
一方、ステップS13では、冗長性判定部104は、判定対象のイーサネットフレームが冗長フレームではないと判定して、ミラー取得部103への戻り値を「偽」に設定する。そして、処理はステップS14に進む。
【0040】
ステップS14では、冗長性判定部104は、判定データにおいて、受け取った送信元MACアドレスに対応する行の前回FCSを、今回受け取ったFCSに更新する。
そして、冗長性判定部104は、ミラー取得部103に戻り値を与える(S15)。
【0041】
次に、判定データ記憶部105に記憶されている判定データが変化する様子を、
図6(A)~(C)を用いて説明する。
図6(A)は、冗長性判定部104が動作を開始した直後、まだ一つも入力を受け取っていない段階、言い換えると初期状態の判定データ105a#1を示す。
図6(A)に示されているようにテーブル内には何もデータが格納されていない状態である。
【0042】
図6(B)は、判定データが、
図6(A)で示されている判定データ105a#1となっている際に、送信元MACアドレスが「A」及びFCSが「#1」となっている判定の問い合わせに対して、冗長性判定部104が判定を行った後の判定データの状態を示している。
図6(B)に示されているように、この場合には、判定データ105a#2に、送信元MACアドレス「A」及びFCS「#1」の組み合わせのエントリが格納されている。
【0043】
図6(C)は、判定データが
図6(B)に示されている判定データ105a#2となっている際に、送信元MACアドレスが「B」及びFCSが「#2」となっている判定の問い合わせに対して、冗長性判定部104が判定を行った後の判定データの状態を示している。
図6(C)に示されているように、この場合には、判定データ105a#3に、送信元MACアドレス「B」及びFCS「#3」の組み合わせのエントリが格納されている。
【0044】
なお、判定データが、
図6(C)に示されている判定データ105a#3となっている際に、送信元MACアドレスが「A」及びFCSが「#1」となっている判定の問い合わせを冗長性判定部104が受けると、送信元MACアドレス「A」のエントリが判定データ105a#3内に存在するため、前回FCS「#1」が取得される。
そして、冗長性判定部104は、判定の問い合わせとして受け取ったFCS「#1」と、判定データ105aから取得されたFCS「#1」とを比較する。比較の結果、これらの値は、同一であるため、冗長性判定部104は、判定対象のイーサネットフレームを冗長フレームであると判定する。
【0045】
この場合、冗長性判定部104は、
図6(C)に示されている判定データ105a#3の送信元MACアドレス「A」に対応するエントリを、前回FCS「#1」で更新するが、既にこのようなエントリは判定データ105a#3内に存在するため、判定データの状態は、
図6(C)に示されている判定データ105a#3のまま変わらない。
【0046】
以上の動作により、ある送信元MACアドレスにおいて、連続して送信された同一のFCSを持つイーサネットフレームを冗長フレームであると判断することができる。
【0047】
厳密には、FCSが同じであるからといって、必ず同一のイーサネットフレームである保証はないが、32bitで表されるFCSが同じ値になる確率は、本実施の形態の目的に照らして十分に小さい。
【0048】
以上により、冗長フレームを削減したミラー出力を得ることができるため、分析装置130は、分析処理に不要である冗長フレームに対する分析処理を削減できる。
また、スイッチ100においても、メモリ又はCPU処理時間といった計算資源を大量に使うことなく、冗長フレームを判定することができる。
【0049】
実施の形態2.
実施の形態1では、判定データに前回FCSが記憶されているが、実施の形態2では、判定データに送信元MACアドレス毎に最新N回分(Nは、1以上の整数)のFCSを記憶する例を示す。
【0050】
図1に示されているように、実施の形態2に係る冗長性判定装置としてのスイッチ200は、ポート101A、101B、101C、101Dと、フレーム転送部102と、ミラー取得部103と、冗長性判定部204と、判定データ記憶部205とを備える。
【0051】
実施の形態2に係るスイッチ200のポート101A、101B、101C、101D、フレーム転送部102及びミラー取得部103は、実施の形態1に係るスイッチ100のポート101A、101B、101C、101D、フレーム転送部102及びミラー取得部103と同様である。
【0052】
判定データ記憶部205は、イーサネットフレームが冗長フレームであるか否かを判定するためのデータである判定データを記憶する。ここでは、判定データは、テーブル形式のデータであるものとする。
【0053】
図7は、実施の形態2における判定データのテーブル構造を示す概略図である。
図7に示されているように、判定データ205aは、送信元MACアドレス列205bと、FCSリスト列205cとを備える。
【0054】
送信元MACアドレス列205bは、送信元MACアドレスを格納する。
FCSリスト列205cは、同じ行に格納されている送信元MACアドレスを送信元MACアドレスとし、かつ、判定対象となるイーサネットフレームを受信する前において受信されたイーサネットフレームのFCSがN回分格納される。
これにより、実施の形態2における判定データ205aは、送信元MACアドレス毎に最新N回分のFCSをリストとして保持することができる。
【0055】
言い換えると、実施の形態2では、判定データは、送信元MACアドレス毎に、ポート101A、101B、101Cで判定対象よりも前に受信された最新のN個(Nは、二以上の整数)のイーサネットフレームのFCSを格納している。
【0056】
図1に戻り、冗長性判定部204は、判定データ記憶部205に記憶されている判定データを用いて冗長性を判定し、その判定結果をミラー取得部103に返す。
ここで、冗長性判定部204の入力には、判定対象となるイーサネットフレームから取得した値が用いられる。冗長性判定部204へは、送信元MACアドレスと、FCSとの二つの値が入力される。
【0057】
ここで、実施の形態2においては、判定データ205aを参照することにより、冗長性判定部204は、ミラー取得部103から与えられた送信元MACアドレスをキーとして、過去において受信されたイーサネットフレームのFCSのN回分のリストを特定することができる。
そして、冗長性判定部204は、ミラー取得部103から与えられたFCSが、特定されたN回分のリストに含まれている場合には、判定結果として、冗長フレームであることを示す「真」をミラー取得部103に返し、ミラー取得部103から与えられたFCSが特定されたN回分のリストに含まれていない場合には、判定結果として、冗長フレームであることを示す「偽」をミラー取得部103に返す。
【0058】
なお、冗長性判定部204は、冗長性の判定を行った後に、判定データ205aにおいて、ミラー取得部103から与えられた送信元MACアドレスが格納されている行のFCSリスト列205cにおいて、最も古い値を削除して、ミラー取得部103から与えられたFCSを追加する。
【0059】
図8は、実施の形態2における冗長性判定部204での動作を示すフローチャートである。
ここで、
図8に示されているフローチャートは、判定対象となるイーサネットフレームの送信元MACアドレスと、FCSとを冗長性判定部204が受け取ることで開始される。
【0060】
まず、冗長性判定部204は、判定データから、受け取った送信元MACアドレスに対応するFCSのリストを取得する(S20)。
【0061】
冗長性判定部204は、受け取ったFCSと、ステップS20で取得されたリストに含まれている値とを比較して、受け取ったFCSがリストに含まれているか否かを判定する(S21)。その値がリストに含まれている場合(S21でYes)には、処理はステップS22に進み、その値がリストに含まれていない場合(S21でNo)には、処理はステップS23に進む。
【0062】
ステップS22では、冗長性判定部204は、判定対象のイーサネットフレームが冗長フレームであると判定して、ミラー取得部103への戻り値を「真」に設定する。そして、処理はステップS24に進む。
一方、ステップS23では、冗長性判定部204は、判定対象のイーサネットフレームが冗長フレームではないと判定して、ミラー取得部103への戻り値を「偽」に設定する。そして、処理はステップS24に進む。
【0063】
ステップS24では、冗長性判定部204は、判定データにおいて、受け取った送信元MACアドレスに対応する行ノリスとから最も古い値を削除して、その行のリストに今回受け取ったFCSを追加する。なお、判定データに格納されているリストには、FCSが追加された順番がわかるようになっているものとする。例えば、
図7に示されている判定データ205aでは、FCSリスト列205cにおいて、左から順番にFCSが追加されている。このため、リストを更新する場合には、最も左の値が削除され、最も右側に新しい値が追加される。
そして、冗長性判定部204は、ミラー取得部103に戻り値を与える(S25)。
【0064】
以上説明したように、実施の形態2では、判定テーブルに最新N回分のFCSのリストを保持することができるため、実施の形態1で実現していた、連続する2フレーム間の同一性判定に加え、同じ送信元MACアドレスを持つ直前Nフレームを対象とした同一性判定が可能となる。
【0065】
以上のように、実施の形態1又は2によれば、受信済みのイーサネットフレームと、新たに受信したイーサネットフレームとの同一性を簡易な方法で判定することができる。このため、冗長フレームと判別されたフレームを一律に廃棄する、あるいは、条件を満たした場合に限り廃棄する等が実現できるため、後段の分析処理等において、不要な処理を削減する形で処理負荷の軽減ができる。ここでの条件は、ユーザが任意に設定することができるものとする。
【0066】
実施の形態3.
以上に記載された実施の形態1及び2では、レイヤ2のスイッチ100、200に、冗長性判定部104、204及び判定データ記憶部105、205が設けられているが、実施の形態1又は2は、このような例に限定されない。例えば、スイッチ100、200ではなくて、スイッチ100、200に接続されている分析装置側にこれらが設けられてもよい。
【0067】
図9は、実施の形態3に係る冗長性判定装置としての分析装置330の構成を概略的に示すブロック図である。
分析装置330は、スイッチ300からイーサネットフレームを受け取り、その受け取ったイーサネットフレームを分析する装置である。
例えば、分析装置330は、スイッチ300からのイーサネットフレームを分析することで、ネットワーク利用状況の把握、又は、ネットワーク異常の検出が可能である。
ここで、その分析処理には、統計処理、AI(Aartificial Intelligence)、機械学習等の様々な方法が適用され得る。
【0068】
実施の形態3におけるスイッチ300は、ポート101A、101B、101C、101Dと、フレーム転送部102と、ミラー取得部303とを備える。
実施の形態3におけるスイッチ300のポート101A、101B、101C、101D及びフレーム転送部102は、実施の形態1におけるスイッチ100のポート101A、101B、101C、101D及びフレーム転送部102と同様である。
【0069】
ミラー取得部303は、指定された一若しくは複数のポートに入力されるイーサネットフレーム、指定された一若しくは複数のポートから出力されるイーサネットフレーム、又は、指定された一若しくは複数のポートに入力され、かつ、指定された一若しくは複数のポートから出力されるイーサネットフレームをコピーして、指定されたポートに出力する。
ここでは、ミラー取得部303は、ポート101A、ポート101B又はポート101Cに入力されるイーサネットフレームをコピーして、ポート101Dから出力するものとする。
また、実施の形態3では、ミラー取得部303は、冗長性判定部104へ冗長フレームの問い合わせを行わない。
【0070】
実施の形態3に係る分析装置330は、ポート331と、受信処理部332と、冗長性判定部104と、判定データ記憶部105と、分析処理部333とを備える。
実施の形態3に係る分析装置330の冗長性判定部104及び判定データ記憶部105は、実施の形態1に係るスイッチ100の冗長性判定部104及び判定データ記憶部105と同様である。
【0071】
但し、実施の形態3に係る冗長性判定部104は、受信処理部332から判定対象となるイーサネットフレームに含まれている送信元MACアドレス及びFCSを受け取り、冗長フレームの判定結果である戻り値を受信処理部332に返す。ここで、受信処理部332から与えられる送信元MACアドレス及びFCSを、対象送信元MACアドレス及び対象FCSともいう。
【0072】
ポート331は、イーサネットフレームを送受信する通信インターフェースである。受信されたイーサネットフレームは、受信処理部332に与えられる。
ここでは、ポート331には、スイッチ300が接続されている。
【0073】
受信処理部332は、ポート331から与えられるイーサネットフレームの送信元MACアドレス及びFCS値を取得して、その送信元MACアドレス及びFCS値を冗長性判定部104に与えて、冗長性判定部104から冗長性の判定結果を受け取る。
言い換えると、受信処理部332は、複数のイーサネットフレームに含まれる最後のイーサネットフレームである判定対象から、送信元MACアドレス及びフレームチェックシーケンスを取得する取得部として機能する。なお、ここで取得される送信元MACアドレス及びFCSを、対象送信元MACアドレス及び対象FCSともいう。
【0074】
そして、受信処理部332は、冗長性判定部104からの判定結果として、冗長フレームであることを示す「真」を受け取ると、そのイーサネットフレームを分析処理部333には与えずに、廃棄する。一方、受信処理部332は、冗長性判定部104からの判定結果として、冗長フレームではないことを示す「偽」を受け取ると、そのイーサネットフレームを分析処理部333に与える。
【0075】
分析処理部333は、冗長フレームではないと判定された判定対象であるイーサネットフレームに対して、予め定められた分析を行う分析部として機能する。ここでは、例えば、ネットワーク利用状況の把握、又は、ネットワーク異常の検出等の分析が行われる。
【0076】
以上に記載された受信処理部332、冗長性判定部104及び分析処理部333の一部又は全部も、例えば、
図4(A)に示されているように、メモリ10と、メモリ10に格納されているプログラムを実行するCPU等のプロセッサ11とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
言い換えると、分析装置330は、コンピュータにより実現することができる。
【0077】
また、受信処理部332、冗長性判定部104及び分析処理部333の一部又は全部は、例えば、
図4(B)に示されているように、処理回路12で構成することもできる。
以上のように、受信処理部332、冗長性判定部104及び分析処理部333は、処理回路網により実現することができる。
なお、判定データ記憶部105は、上述のように、揮発性又は不揮発性のメモリで実現することができる。
【0078】
以上のように、分析装置330は、冗長フレームを廃棄した上で分析処理を行うことができ、分析処理に不要な冗長フレームに対する分析処理を削減できる。また、この分析装置330は、通常のミラー機能付きレイヤ2スイッチ300と組み合わせて使えるため、適用範囲が広いという利点も持つ。
【0079】
なお、実施の形態3においては、分析装置330は、実施の形態1と同様の冗長性判定部104及び判定データ記憶部105を備えるが、実施の形態3は、このような例に限定されない。例えば、分析装置330は、実施の形態2と同様の冗長性判定部204及び判定データ記憶部205を備えてもよい。
【0080】
以上のように、実施の形態1~3によれば、冗長性判定部104、204の判定結果に基づいて冗長フレームを廃棄する例を示したが、実施の形態1~3は、このような例に限定されない。
例えば、ミラー取得部103又は受信処理部332は、冗長性判定部104、204の判定結果に基づいて、判定対象となるイーサネットフレームにその判定結果を識別することのできる情報を付加するマーキング処理を行ってもよい。このような場合、マーキングされたイーサネットフレームに対する処理は、後段のQoS(Quality of Service)制御機能を有する分析装置130又は分析処理部333に委ねられる。
【0081】
また、実施の形態1~3では、冗長フレームを判別することで、冗長フレームを廃棄するといった処理を可能とするが、冗長フレームを廃棄してもなお後段の分析処理の負荷が許容範囲を超えているといった場合には、全体の流量を一定以下に抑えることが可能なポリシング機能が組み合わされてもよい。
【符号の説明】
【0082】
100,200 スイッチ、 101A,101B,101C,101D ポート、 102 フレーム転送部、 103 ミラー取得部、 104,204 冗長性判定部、 105,205 判定データ記憶部、 130,330 分析装置、 331 ポート、 332 受信処理部、 333 分析処理部。