JP6497142B2 - 通信監視装置、通信監視プログラム、および通信監視方法 - Google Patents

通信監視装置、通信監視プログラム、および通信監視方法 Download PDF

Info

Publication number
JP6497142B2
JP6497142B2 JP2015050792A JP2015050792A JP6497142B2 JP 6497142 B2 JP6497142 B2 JP 6497142B2 JP 2015050792 A JP2015050792 A JP 2015050792A JP 2015050792 A JP2015050792 A JP 2015050792A JP 6497142 B2 JP6497142 B2 JP 6497142B2
Authority
JP
Japan
Prior art keywords
frame
port
hub
abnormal
search
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.)
Active
Application number
JP2015050792A
Other languages
English (en)
Other versions
JP2016171504A (ja
Inventor
純 矢嶋
純 矢嶋
長谷部 高行
高行 長谷部
武仲 正彦
正彦 武仲
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015050792A priority Critical patent/JP6497142B2/ja
Priority to EP16158680.5A priority patent/EP3068079B1/en
Priority to US15/060,680 priority patent/US9942123B2/en
Publication of JP2016171504A publication Critical patent/JP2016171504A/ja
Application granted granted Critical
Publication of JP6497142B2 publication Critical patent/JP6497142B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Description

本発明は、複数のノードを含むネットワークにおいて通信を監視する通信監視装置、通信監視プログラム、および通信監視方法に係わる。
近年、自動車には多数の電子機器が搭載され、様々な電子制御が行われている。これらの電子機器は、ネットワークを介して互いに接続される。自動車内に構築されるネットワークプロトコルの1つとして、CAN(Controller Area Network)が普及している。
CANで構成されたネットワークにおいては、複数のECU(Electronic Control Unit)がHUBノードを介して通信を行う。HUBノードは、中継ノードとして動作する。また、CANにおいては、あるECUから送信されるデータフレームは、他のすべてのECUにより受信される。すなわち、CANは、ブロードキャスト通信を提供する。そして、各ECUは、受信データフレームに付与されているIDに基づいて、必要なデータフレームを取得し、不要なデータフレームを廃棄する。
上記構成のCANネットワークにおいて、異常フレームを検知する機能が要求されることがある。この場合、CANネットワークには、通信監視装置を備える。通信監視装置は、例えば、ゲートウェイ装置により実現される。ゲートウェイ装置は、CANと他のネットワーク(例えば、インターネット)とを接続する。以下の記載では、ゲートウェイ装置が異常フレームを検知する機能を有しているものとする。
CANは、上述したように、ブロードキャスト通信を提供する。このため、ゲートウェイ装置は、ネットワーク内でブロードキャストされるすべてのフレームを受信することができる。そして、ゲートウェイ装置は、各受信フレームを解析することにより、異常フレームを検知する。ここで、ゲートウェイ装置は、検知した異常フレームの送信元を特定できることが好ましい。
関連技術として、複数の中継装置を含むネットワークにおいて、パケットの発信源を追跡する発信源追跡システムが提案されている。(例えば、特許文献1)
特開2006−148594号公報
CANにおいては、異常フレームが検知されたときに、その異常フレームの送信元のECUを特定する方法が明確には決められていない。また、CANにおいて伝送されるフレームには、送信元を識別する情報(例えば、送信元アドレス)は付与されていない。このため、ゲートウェイ装置は、異常フレームを検知したとき、その異常フレームの送信元のECUを特定することは困難である。
伝送フレームに送信元を識別する情報が付与されていないネットワークであっても、各中継ノードが通過フレームの内容を保持する構成であれば、ゲートウェイ装置は、異常フレームの送信元を特定できるかも知れない。ただし、この構成では、各中継ノードに大きな容量のメモリを設ける必要がある。
なお、上述の問題は、CANにおいてのみ発生するものではなく、伝送フレームに送信元を識別する情報が付与されていないネットワークにおいて発生し得る。
本発明の1つの側面に係わる目的は、伝送フレームに送信元を識別する情報が付与されていないネットワークにおいて、異常フレームの送信元を特定することである。
本発明の1つの態様の通信監視装置は、複数のノードを含むネットワークにおいて使用され、複数のポートと、受信フレームから異常フレームを検知する検知部と、前記検知部により異常フレームが検知されたときに、前記異常フレームが到着した第1の到着ポート、および前記複数のポートのいずれかに到着した受信フレームのなかで前記異常フレームが到着した順序を特定する特定部と、前記特定部により特定された順序を表す順序情報を前記第1の到着ポートに接続するノードへ送信する送信部と、を有する。
上述の態様によれば、伝送フレームに送信元を識別する情報が付与されていないネットワークにおいて、異常フレームの送信元を特定できる。
本発明の実施形態に係わるネットワークの一例を示す図である。 CANで使用されるデータフレームの構造を示す図である。 データフレームのブロードキャストの一例を示す図である。 異常フレームの送信元を特定する方法の一例を示す図である。 異常フレームの送信元を特定する方法の他の例を示す図である。 第1の実施形態に係わる通信管理方法の一例を示す図である。 ゲートウェイ装置のハードウェア構成の一例を示す図である。 ゲートウェイ装置の機能を説明する図である。 ハブ装置の機能を説明する図である。 探索フレームの生成および更新の例を示す図である。 フレームを受信したハブ装置の動作を示すフローチャートである。 フレームを受信したゲートウェイ装置の動作を示すフローチャートである。 探索フレームを受信したハブ装置の動作を示すフローチャートである。 異常フレームの送信元を特定する処理を示すフローチャートである。 第2の実施形態に係わる通信管理方法の一例を示す図である。 第2の実施形態の変形例を示す図である。
図1は、本発明の実施形態に係わるネットワークの一例を示す。実施形態のネットワーク100は、図1に示すように、ゲートウェイ装置10、複数のハブ装置20、複数の端末装置30を含む。
ゲートウェイ装置10は、ネットワーク100と他のネットワーク(例えば、インターネット)とを接続することができる。また、ゲートウェイ装置10は、ネットワーク100において伝送されるデータフレームの中から異常フレームを検知する機能を有する。なお、異常フレームを検知する機能については後で説明する。
端末装置30は、他の所望の端末装置30へデータフレームを送信することができる。また、端末装置30は、他の端末装置30から送信されるデータフレームを受信することができる。なお、ネットワーク100において伝送されるデータフレームには、そのデータフレームの送信元を識別する情報およびそのデータフレームの宛先を識別する情報は付与されていない。端末装置30は、例えば、ECU(Electronic Control Unit)により実現される。なお、図1では、ECU121〜ECU123が示されているが、ネットワーク100は他の端末装置30を含んでいてもよい。
ハブ装置20は、中継ノードとして動作し、端末装置30から送信されるデータフレームをネットワーク100内の端末装置30へ伝送する。すなわち、ネットワーク100において、データフレームはブロードキャストされる。なお、図1では、HUB1〜HUB3、HUB11〜HUB13が示されているが、ネットワーク100は他のハブ装置20を含んでいてもよい。
複数のハブ装置20は、ゲートウェイ装置10に対して階層的に接続されている。図1に示す例では、ゲートウェイ10にHUB1〜HUB3が接続されており、HUB1にHUB11〜HUB13が接続されている。すなわち、HUB1〜HUB3は、ゲートウェイ装置10に対して第1ステージに配置されている。また、HUB11〜HUB13は、ゲートウェイ装置10に対して第2ステージに配置されている。
ゲートウェイ装置10および各ハブ装置20は、それぞれ複数のポートを備えている。図1に示す例では、ゲートウェイ装置10は、ポートP1〜P3を備えている。そして、ゲートウェイ装置10のポートP1〜P3には、それぞれ、HUB1〜HUB3が接続されている。HUB1は、ポートP1〜P4を備えている。HUB1のポートP1にはゲートウェイ装置10が接続され、HUB1のポートP2〜P4には、それぞれ、HUB11〜HUB13が接続されている。HUB12は、ポートP1〜P4を備えている。HUB12のポートP1にはHUB1が接続され、HUB12のポートP2〜P4には、それぞれ、ECU121〜ECU123が接続されている。同様に、他のハブ装置20もそれぞれ複数のポートを備えている。
上記構成のネットワーク100は、例えば、CAN(Controller Area Network)により実現される。CANは、自動車内に構築されるネットワークの1つとして広く普及している。
図2(a)は、CANにおいて使用されるデータフレームの構造を示す。CANにおいて使用されるデータフレームは、SOF(Start of Frame)、アービトレーション、コントロール、データ、CRC、ACK、EOF(End of Frame)を含む。ここで、アービトレーションフィールドには、ID情報が格納される。なお、CANにおいては、図2(a)に示す標準仕様の他に、図2(b)に示す拡張仕様が規定されている。さらに、CANFDと呼ばれる次世代の規格も検討されている。
上記構成のネットワーク100において、端末装置30から送信されるデータフレームは、上述したように、ハブ装置20によりすべての端末装置30へブロードキャストされる。このとき、このデータフレームは、ゲートウェイ装置10にも伝送される。
CANのIDは、データフレームの内容の意味を示すものであり、送信元を表す情報、及び、送信先を表す情報も兼ねている。たとえば、自動車内でCANが使用される場合、ID=0x123は、アクセル開度を示し、「アクセルペダルECUからエンジンコントロールECUへ送信される」と決められている。このデータフレームは、ハブ装置20によりすべての端末装置30へブロードキャストされる。そして、各端末装置30は、受信データフレームのIDに基づいて、必要なデータフレームを取得し、不要なデータフレームを廃棄(或いは、無視)する。なお、各端末装置30が受信すべきデータフレームのIDは、予め決められて各端末装置30に通知、または格納されている。また、CANにおける通信は、必ずしも一対一ではなく、一対多のこともありうる。
ゲートウェイ装置10は、ネットワーク100において伝送されるデータフレームの中から異常フレームを検知することができる。例えば、図3において、ECU121から送信されるデータフレームが異常であったものとする。すなわち、ECU121が異常フレームを送信したものとする。この異常フレームは、ブロードキャストされるので、ゲートウェイ装置10にも到着する。ここで、ゲートウェイ装置10は、例えば、受信フレームのIDが予め指定されていない値であるときに、その受信フレームが異常フレームであると判定する。
ところが、ネットワーク100において伝送されるデータフレームには、送信元を識別する情報は付与されているが、故障や攻撃等によってID部分が誤っていたり、データ部が異常となったりした場合、ゲートウェイ装置10は、異常フレームを検知したときに、そのフレームに格納されている情報に基づいてそのフレームの送信元を特定することはできない。すなわち、図3に示す例では、ゲートウェイ装置10は、受信した異常フレームに格納されている情報に基づいて、ECU121〜ECU123のうちのいずれから異常フレームが送信されたのかを特定することはできない。但し、ゲートウェイ装置10は、その異常フレームが到着したポートを特定することはできる。図3に示す例では、ゲートウェイ装置10は、異常フレームが到着したポートがP1であると判定できる。
上記構成のネットワーク100において、ゲートウェイ装置100は、検知した異常フレームの送信元を特定できることが好ましい。以下、異常フレームの送信元を特定する方法について検討する。
図4に示す例では、各ハブ装置20は、ポート毎に通信ログを記録する。一例として、ハブ装置20の通信ログメモリに、各受信フレームのIDおよびデータが記録される。
ゲートウェイ装置10は、異常フレームを検知し、その異常フレームが到着したポートを特定すると、特定したポートに接続されるノードに問合せメッセージフレームを送信する。問合せメッセージフレームは、検知した異常フレームのIDおよびデータを含み、異常フレームの送信元を問い合わせる。図3に示す例では、ゲートウェイ装置10は、HUB1へ問合せメッセージフレームを送信する。そして、ゲートウェイ装置10からHUB1へ送信された問合せメッセージフレームは、HUB1の配下の各ハブ装置20にブロードキャストされる。
問合せメッセージフレームを受信した各ハブ装置20は、そのフレームに含まれているIDおよびデータの組で自分の通信ログメモリをサーチし、対応するポートを特定する。図3に示す例では、HUB1においてポートP3が特定され、HUB12においてポートP3が特定される。そうすると、HUB1およびHBU12は、それぞれ、特定したポートをゲートウェイ装置10に通知する。そして、ゲートウェイ装置10は、HUB1およびHBU12から受信する通知に基づいて、異常フレームの送信元を特定することができる。この実施例では、HUB12のポートP3に接続されている端末装置30(即ち、ECU122)が異常フレームの送信元であると判定される。
このように、ゲートウェイ装置10は、異常フレームの送信元を特定できる。しかしながら、図4に示す方法で異常フレームの送信元を特定する場合、各ハブ装置20は、ポート毎に通信ログを記録する。このため、ハブ装置20は、大容量のメモリを備える必要がある。例えば、IDが11ビットであり、データが64ビットであるものとする。また、ハブ装置20は、4つのポートを備えるものとする。さらに、通信ログは、ポート毎に1000個の受信フレームを記録するものとする。この場合、ハブ装置20は、通信ログのためのメモリのサイズは、300000ビットである。
図5に示す例では、ハッシュ関数を利用して異常フレームの送信元を特定する。但し、図5に示す方法は、図4に示す方法と類似する。すなわち、図4に示す方法では、各ハブ装置20において受信フレームのIDおよびデータが記録される。これに対して、図5に示す方法では、各ハブ装置20において受信フレームのIDおよびデータの組に対するハッシュ値が記録される。ここで、nビットのハッシュ値が生成されるときは、各ハブ装置20は、ポート毎に、2ビットのメモリを備える。また、図5に示すフラグは、過去に通過したデータフレームに対応するレコードを識別する。
図4に示す方法と比較すると、図5に示す方法によれば、通信ログを記録するためのメモリのサイズを小さくできる。しかし、各ハブ装置20においてハッシュ演算を実行するためのハードウェア回路が必要であり、また、ハッシュ演算のための処理時間が必要である。
<第1の実施形態>
図6は、本発明の第1の実施形態に係わる通信管理方法の一例を示す。第1の実施形態のネットワーク200は、図6に示すように、ゲートウェイ装置40、複数のハブ装置50、複数の端末装置30を含む。
なお、ネットワーク200は、例えば、CAN(Controller Area Network)により実現される。この場合、ネットワーク200において、図2に示すフレームが伝送される。また、端末装置30から送信されるデータフレームは、ネットワーク200内のすべての端末装置30にブロードキャストされる。
ゲートウェイ装置40は、ネットワーク200と他のネットワーク(例えば、インターネット)とを接続することができる。また、ゲートウェイ装置40は、ネットワーク200において伝送されるデータフレームの中から異常フレームを検知する機能を有する。例えば、ゲートウェイ装置40は、受信フレームのIDが予め指定されていない値であるときに、その受信フレームが異常フレームであると判定する。或いは、ゲートウェイ装置40は、CRCを利用して受信フレームが異常フレームであるか否かを判定することもできる。さらに、ゲートウェイ装置40は、他の方法で異常フレームを検知してもよい。
端末装置30は、図1および図6において実質的に同じである。すなわち、端末装置30は、他の端末装置30へデータフレームを送信することができ、また、他の端末装置30からデータフレームを受信することができる。また、ネットワーク200において伝送されるデータフレームには、そのデータフレームの送信元を識別する情報およびそのデータフレームの宛先を識別する情報は直接的には付与されていない。端末装置30は、たとえば、ECU(Electronic Control Unit)により実現される。なお、図6では、ECU131〜ECU133が示されているが、ネットワーク200は他の端末装置30を含んでいてもよい。
ハブ装置50は、中継ノードとして動作し、端末装置30から送信されるデータフレームをネットワーク200内のすべての端末装置30へ伝送する。すなわち、ネットワーク200において、データフレームはブロードキャストされる。なお、図6では、HUB1〜HUB3、HUB11〜HUB13が示されているが、ネットワーク200は他のハブ装置50を含んでいてもよい。
複数のハブ装置50は、ゲートウェイ装置40に対して階層的に接続されている。図6に示す例では、ゲートウェイ40にHUB1〜HUB3が接続されており、HUB1にHUB11〜HUB13が接続されている。すなわち、HUB1〜HUB3は、ゲートウェイ装置40に対して第1ステージに配置されている。また、HUB11〜HUB13は、ゲートウェイ装置40に対して第2ステージに配置されている。
ゲートウェイ装置40および各ハブ装置50は、それぞれ複数のポートを備えている。図6に示す実施例では、ゲートウェイ装置40は、ポートP1〜P3を備えている。ゲートウェイ装置40のポートP1〜P3には、それぞれ、HUB1〜HUB3が接続されている。HUB1は、ポートP1〜P4を備えている。HUB1のポートP1にはゲートウェイ装置40が接続され、HUB1のポートP2〜P4には、それぞれ、HUB11〜HUB13が接続されている。HUB13は、ポートP1〜P4を備えている。HUB13のポートP1にはHUB1が接続され、HUB13のポートP2〜P4には、それぞれ、ECU131〜ECU133が接続されている。同様に、他のハブ装置20もそれぞれ複数のポートを備えている。
ゲートウェイ装置40および各ハブ装置50は、それぞれ、From履歴メモリ61を備える。From履歴メモリ61には、データフレームが到着したポートを表す到着ポート番号が順番に記録される。
図6に示す実施例では、HUB11に収容されている不図示のECUから1番目のデータフレームF1が送信される。データフレームF1は、HUB11からHUB1に伝送され、HUB1のポートP2に到着する。したがって、HUB1のFrom履歴メモリ61の1番目のレコードに「2」が記録される。
HUB1は、HUB11から受信したデータフレームF1をブロードキャストする。このとき、HUB1のポートP1から送信されるデータフレームF1は、ゲートウェイ装置40のポートP1に到着する。よって、ゲートウェイ装置40のFrom履歴メモリ61の1番目のレコードに「1」が記録される。また、HUB1のポートP4から送信されるデータフレームF1は、HUB13のポートP1に到着する。したがって、HUB13のFrom履歴メモリ61の1番目のレコードに「1」が記録される。
続いて、HUB2に収容されている不図示のECUから2番目のデータフレームF2が送信される。データフレームF2は、HUB2からゲートウェイ装置40に伝送され、ゲートウェイ装置40のポートP2に到着する。よって、ゲートウェイ装置40のFrom履歴メモリ61の2番目のレコードに「2」が記録される。
ゲートウェイ装置40は、HUB2から受信したデータフレームF2をブロードキャストする。このとき、ゲートウェイ装置40のポートP1から送信されるデータフレームF2は、HUB1のポートP1に到着する。よって、ゲートウェイ装置40のFrom履歴メモリ61の2番目のレコードに「1」が記録される。また、HUB1は、ゲートウェイ装置40から受信したデータフレームF2をブロードキャストする。このとき、HUB1のポートP4から送信されるデータフレームF2は、HUB13のポートP1に到着する。したがって、HUB13のFrom履歴メモリ61の2番目のレコードに「1」が記録される。
同様に、ネットワーク200内でデータフレームがブロードキャストされると、ゲートウェイ装置40および各ハブ装置50のFrom履歴メモリ61には、それぞれ、データフレームが到着したポートを表す到着ポート番号が順番に記録される。例えば、ゲートウェイ装置40のFrom履歴メモリ61には、5個の到着ポート番号「1」「2」「1」「1」「1」が順番に記録されている。この場合、ゲートウェイ装置40に記録される受信履歴は、以下の動作を表す。
(1)1番目のデータフレームF1がポートP1に到着した
(2)2番目のデータフレームF2がポートP2に到着した
(3)3番目のデータフレームF3がポートP1に到着した
(4)4番目のデータフレームF4がポートP1に到着した
(5)5番目のデータフレームF5がポートP1に到着した
HUB1のFrom履歴メモリ61には、到着ポート番号「2」「1」「3」「4」「2」が順番に記録されている。この場合、HUB1に記録される受信履歴は、以下の動作を表す。
(1)1番目のデータフレームF1がポートP2に到着した
(2)2番目のデータフレームF2がポートP1に到着した
(3)3番目のデータフレームF3がポートP3に到着した
(4)4番目のデータフレームF4がポートP4に到着した
(5)5番目のデータフレームF5がポートP2に到着した
HUB13のFrom履歴メモリ61には、到着ポート番号「1」「1」「1」「2」「1」が順番に記録されている。この場合、HUB1に記録される受信履歴は、以下の動作を表す。
(1)1番目のデータフレームF1がポートP1に到着した
(2)2番目のデータフレームF2がポートP1に到着した
(3)3番目のデータフレームF3がポートP1に到着した
(4)4番目のデータフレームF4がポートP2に到着した
(5)5番目のデータフレームF5がポートP1に到着した
ここで、データフレームは、ネットワーク200においてブロードキャストされる。このため、1つのデータフレームがブロードキャストされると、そのデータフレームに対応する到着ポート番号が、ゲートウェイ装置40および各ハブ装置50のFrom履歴メモリ61にそれぞれ記録される。たとえば、データフレームF1がブロードキャストされると、ゲートウェイ装置40および各ハブ装置50のFrom履歴メモリ61の1番目のレコードにそれぞれデータフレームF1に対応する到着ポート番号が記録され、データフレームF2がブロードキャストされると、ゲートウェイ装置40および各ハブ装置50のFrom履歴メモリ61の2番目のレコードにそれぞれデータフレームF2に対応する到着ポート番号が記録される。換言すれば、各From履歴メモリ61の同じレコードに記録されている到着ポート番号は、同じデータフレームに起因して生成されたものである。
第1の実施形態では、ゲートウェイ装置40および各ハブ装置50のFrom履歴メモリ61を利用して、異常フレームの送信元が特定される。例えば、ゲートウェイ装置40において、4番目のデータフレームが異常フレームであると判定されるものとする。この場合、ゲートウェイ装置40のFrom履歴メモリ61の4番目のレコードには「到着ポート番号:1」が記録されている。よって、異常フレームは、ゲートウェイ装置40のポートP1に接続するノードから送信されたと判定される。即ち、異常フレームは、HUB1から送信されたと判定される。HUB1のFrom履歴メモリ61の4番目のレコードには「到着ポート番号:4」が記録されている。よって、異常フレームは、HUB1のポートP4に接続するノードから送信されたと判定される。即ち、異常フレームは、HUB13から送信されたと判定される。HUB13のFrom履歴メモリ61の4番目のレコードには「到着ポート番号:2」が記録されている。よって、異常フレームは、HUB13のポートP2に接続するノードから送信されたと判定される。即ち、異常フレームは、ECU131から送信されたと判定される。
図7は、ゲートウェイ装置40のハードウェア構成の一例を示す。ゲートウェイ装置40は、図7に示すように、ポートP1〜Pn、複数のトランシーバ41、複数のコントローラ71、プロセッサ42、メモリ43を備える。なお、ゲートウェイ装置40は、図7に示していない他の回路要素を備えていてもよい。
ポートP1〜Pnには、それぞれ、ネットワーク200のハブ装置50が接続される。図6に示す例では、ポートP1〜P3には、それぞれHUB1〜HUB3が接続されている。トランシーバ41は、対応するポート(P1〜Pn)を介してハブ装置50へフレームを送信し、また、対応するポート(P1〜Pn)を介してハブ装置50からフレームを受信する。コントローラ71は、対応するトランシーバ41を制御する。
プロセッサ42は、ネットワーク200と他のネットワークとを接続するゲートウェイ機能を提供する。また、プロセッサ42は、ネットワーク200内で伝送されるデータフレームから異常フレームを検知する機能、及び異常フレームの送信元を特定する機能を提供する。なお、プロセッサ42は、メモリ43に格納されているプログラムを実行することにより上述の機能を提供することができる。ただし、上述の機能の一部は、ハードウェア回路で実現してもよい。メモリ43は、プロセッサ42により実行されるプログラムを格納することができる。また、From履歴メモリ61は、メモリ43を利用して実現される。
ハブ装置50は、図7に示すゲートウェイ装置40と同様に、ポートP1〜Pn、トランシーバ41、プロセッサ42、メモリ43を備える構成であってもよい。ただし、ハブ装置50において実行されるプログラムは、ゲートウェイ装置40において実行されるプログラムと同じではない。
図8は、ゲートウェイ装置40の機能を説明する図である。ゲートウェイ装置40は、図8に示すように、記録部44、検知部45、特定部46、生成部47、送信部48、送信元特定部49を備える。なお、記録部44、検知部45、特定部46、生成部47、送信部48、送信元特定部49の機能は、プロセッサ42が与えられたプログラムを実行することにより提供される。ただし、記録部44、検知部45、特定部46、生成部47、送信部48、送信元特定部49の機能の一部は、ハードウェア回路で実現してもよい。
記録部44は、ゲートウェイ装置40がネットワーク200からデータフレームを受信したときに、そのデータフレームが到着したポートを表す到着ポート番号をFrom履歴メモリ61に記録する。検知部45は、受信フレームから異常フレームを検知する。例えば、受信フレームのIDが予め指定されていない値であるときに、検知部45は、その受信フレームが異常フレームであると判定する。或いは、検知部45は、CRCを利用して受信フレームが異常フレームであるか否かを判定することもできる。さらに、検知部45は、他の方法で異常フレームを検知してもよい。例えば、検知部45は、受信フレームのデータフィールドの値が既定の範囲外であるときは、受信フレームが異常フレームである判定してもよい。
検知部45により異常フレームが検知されると、特定部46は、ゲートウェイ装置40に到着したデータフレームのなかで、その異常フレームがゲートウェイ装置40に到着した順序を特定する。このとき、特定部46は、例えば、ゲートウェイ装置40に到着した最新のデータフレームを基準として、いくつ前に到着したデータフレームが異常フレームであったのかを特定する。この場合、図6に示す例では、「順序:最新のデータフレームに対して1つ手前」が得られる。或いは、特定部46は、異常フレームと最新のデータフレームとの間に到着したデータフレームの個数を特定してもよい。なお、最新のデータフレームが異常フレームであると判定されることもある。
特定部46は、検知した異常の種別に応じて、異常フレームがゲートウェイ装置40に到着した順序を特定できるものとする。例えば、受信フレームのIDに基づいて異常フレームを検知するために要する検知時間、およびCRC演算に基づいて異常フレームを検知するために要する検知時間、データフィールドが既定の範囲外であったことを検知する時間は、まちまちである。したがって、特定部46は、これらの各検知時間に基づいて、異常フレームがゲートウェイ装置40に到着した順序を特定できる。
さらに、特定部46は、From履歴メモリ61を参照して、異常フレームが到着したポートを特定する。このとき、特定部46は、異常フレームがゲートウェイ装置40に到着した順序に基づいて、異常フレームが到着したポートを特定する。図6に示す例では、「最新のデータフレームに対して1つ手前」が得られている。よって、この場合、特定部46は、From履歴メモリ61において、最新の到着ポート番号の1つ前に記録された到着ポート番号「1」を取得する。この結果、特定部46は、ポートP1に異常フレームが到着したと判定する。
生成部47は、特定部46により特定された順序を表す順序情報を含む探索フレームを生成する。探索フレームのデータ構造は、この実施例では、図2に示すフレームと同じである。ただし、探索フレームのID領域には、探索フレームを表すID値が設定される。また、異常フレームがゲートウェイ装置40に到着した順序を表す順序情報は、データ領域内の予め指定された位置(例えば、データ領域内の先頭)に格納される。
なお、ハブ装置50は、探索フレームを表すID値が付与されているフレーム(すなわち、探索フレーム)を受信すると、対応する探索処理を実行する。すなわち、探索フレームを表すID値は、ハブ装置50に探索処理を実行させる探索指示として機能する。このように、生成部47は、特定部46により特定された順序を表す順序情報、および異常フレームの送信元の探索を指示する探索指示を含む探索フレームを生成する。ハブ装置50により実行される探索処理については、後で説明する。
送信部48は、生成部47により生成される探索フレームを、特定部46により特定された到着ポート(すなわち、異常フレームが到着したポート)に接続するノードへ送信する。図6に示す例では、「到着ポート:P1」が特定されている。よって、この場合、ゲートウェイ装置40は、HUB1へ探索フレームを送信する。
なお、図6において、ゲートウェイ装置40から送信される探索フレームに付与されている数字は、順序情報を表す。ここで、この実施例では、順序情報として「最新のデータフレームに対して1つ手前」が得られている。したがって、探索フレームに「−1」が付与されている。
探索フレームは、探索フレームを受信したハブ装置50により更新される。また、ゲートウェイ装置40は、ハブ装置50により更新された探索フレームを受信する。そして、ゲートウェイ装置40の送信元特定部49は、更新された探索フレームに基づいて異常フレームの送信元を特定する。
図9は、ハブ装置50の機能を説明する図である。ハブ装置50は、図9に示すように、記録部51、特定部52、更新部53、送信部54を備える。なお、記録部51、特定部52、更新部53、送信部54の機能は、例えば、プロセッサが与えられたプログラムを実行することにより提供される。ただし、記録部51、特定部52、更新部53、送信部54の機能の一部は、ハードウェア回路で実現してもよい。
記録部51は、ハブ装置50がデータフレームを受信したときに、そのデータフレームが到着したポートを表す到着ポート番号をFrom履歴メモリ61に記録する。特定部52は、ハブ装置50が探索フレームを受信したときに、その探索フレームに格納されている順序情報に従ってFrom履歴メモリ61から対応する到着ポート番号を取得する。例えば、図6に示す例では、HUB1は、「順序情報:−1」が格納されたる探索フレームを受信する。そうすると、HUB1の特定部52は、HUB1のFrom履歴メモリ61において最新の到着ポート番号の1つ前の到着ポート番号を取得する。すなわち、HUB1においては、「到着ポート:P4」が特定される。
更新部53は、受信した探索フレームのデータ領域に、特定部52により特定された到着ポートを表すポート情報を追加する。図6に示す例では、HUB1の更新部53は、探索フレームのデータ領域に「到着ポート:P4」を表すポート情報を追加する。
送信部54は、更新部53により更新された探索フレームを、ゲートウェイ装置40および特定された到着ポートに接続するノードへ送信する。図6に示す例では、HUB1の送信部54は、更新された探索フレームを、ゲートウェイ装置40およびポートP4に接続するノード(すなわち、HUB13)へ送信する。
図10は、探索フレームの生成および更新の例を示す。ここでは、図6に示す実施例で生成および更新される探索フレームについて説明する。なお、図10においては、IDおよびデータのみが描かれている。
図10(a)は、ゲートウェイ装置40により生成される探索フレームを示す。探索フレームのID領域には、探索フレームを表す専用のID値が設定される。また、データ領域の先頭には、順序情報が格納される。この例では、異常フレームがゲートウェイ装置40に到着した順序として「最新のデータフレームに対して1つ手前」が得られている。したがって、順序情報として「−1」が格納される。また、異常フレームが到着したゲートウェイ装置40のポートを表すポート情報「0x001(P1)」がデータ領域に格納される。そして、この探索フレームは、ゲートウェイ装置40からHUB1へ送信される。
図10(b)は、HUB1において更新された探索フレームを示す。HUB1は、「順序情報:−1」でFrom履歴メモリ61を検索することによって「到着ポート:P4」を得る。そうすると、HUB1の更新部53は、探索フレームのデータ領域内の1段目のHUBのための領域に、ポート情報「0x004(P4)」を追加する。そして、この探索フレームは、ゲートウェイ装置40およびHUB13に送信される。
図10(c)は、HUB13において更新された探索フレームを示す。HUB13は、「順序情報:−1」でFrom履歴メモリ61を検索することによって「到着ポート:P2」を得る。そうすると、HUB13の更新部53は、探索フレームのデータ領域内の2段目のHUBのための領域に、ポート情報「0x002(P2)」を追加する。そして、この探索フレームは、ゲートウェイ装置40およびECU131に送信される。なお、ECU131は、探索フレームを処理することなく廃棄または無視する。
HUB13からゲートウェイ装置40へ送信される探索フレームは、いったんHUB1により受信される。ここで、ハブ装置50は、下流側のノードから探索フレームを受信したときは、その探索フレームを上流側のノードへ転送するように構成されているものとする。よって、HUB1は、HUB13から探索フレームを受信すると、その探索フレームを更新することなく、ポートP1を介して送信する。この結果、HUB13により更新された探索フレームもゲートウェイ装置40により受信される。
このように、ゲートウェイ装置40は、HUB1により更新された探索フレーム及びHUB13により更新された探索フレームを受信する。ここで、ゲートウェイ装置40は、ネットワーク200のトポロジを認識しているものとする。そうすると、ゲートウェイ装置40は、図10(c)に示す探索フレームに格納されているポート情報に基づいて、HUB13のポートP2に接続されている端末装置30が異常フレームの送信元であると判定することができる。すなわち、ECU131が異常フレームの送信元であると特定される。
図11は、フレームを受信したハブ装置50の動作を示すフローチャートである。このフローチャートの処理は、ハブ装置50にフレームが到着する毎に実行される。
S1において、ハブ装置50は、受信フレームが到着したポートを特定する。S2において、ハブ装置50は、受信フレームのIDをチェックすることにより、受信フレームがデータフレームであるか否かを判定する。受信フレームがデータフレームであるときは、S3において、記録部51は、そのフレームが到着したポートを表す到着ポート番号をFrom履歴メモリ61に記録する。そして、S4において、ハブ装置50は、受信したデータフレームをブロードキャストする。一方、受信フレームがデータフレームでなかったときは、ハブ装置50は、S5において、受信フレームのIDに基づいてそのフレームを処理する。例えば、ハブ装置50が探索フレームを受信したときは、図9を参照しながら説明したように、特定部52は異常フレームが到着したポートを特定し、更新部53は探索フレームを更新する。
図12は、フレームを受信したゲートウェイ装置40の動作を示すフローチャートである。このフローチャートの処理は、ゲートウェイ装置40にフレームが到着する毎に実行される。
S11〜S13は、図11に示すS1〜S3と実質的に同じである。すなわち、ゲートウェイ装置40において、受信フレームがデータフレームであるときは、記録部44は、そのフレームが到着したポートを表す到着ポート番号をFrom履歴メモリ61に記録する。
S14〜S15において、検知部45は、受信したデータフレームが異常フレームであるか否かを判定する。このとき、検知部45は、例えば、IDチェックおよびCRC演算により、受信したデータフレームが異常フレームであるか否かを判定する。そして、受信したデータフレームが異常フレームでなければ、ゲートウェイ装置40は、S16において、受信フレームのIDに基づいてそのフレームを処理する。たとえば、ゲートウェイ装置40は、受信したデータフレームに格納されているデータを外部ネットワークへ送信する。
受信したデータフレームが異常フレームであるときには、特定部46は、S17において、その異常フレームがゲートウェイ装置40に到着した順序を特定する。例えば、特定部46は、ゲートウェイ装置40に到着した最新のデータフレームを基準として、いくつ前に到着したデータフレームが異常フレームであったのかを特定する。図6に示す例では「最新のデータフレームに対して1つ手前」が得られる。さらに、特定部46は、S18において、異常フレームが到着したポートを特定する。このとき、特定部46は、S17で特定した順序を利用してFrom履歴メモリ61を検索することにより、異常フレームが到着したポートを特定する。
S19において、生成部47は、探索フレームを生成する。この探索フレームのデータ領域には、異常フレームがゲートウェイ装置40に到着した順序を表す順序情報が格納される。また、ゲートウェイ装置40に異常フレームが到着したポートを表すポート情報も探索フレームのデータ領域に格納される。S20において、送信部48は、異常フレームが到着したポートを介して探索フレーム送信する。なお、受信フレームがデータフレームでなかったときには、ゲートウェイ装置40は、S21において、受信フレームのIDに基づいてそのフレームを処理する。例えば、ゲートウェイ装置40がハブ装置50により更新された探索フレームを受信したときは、送信元特定部49は、異常フレームの送信元を特定する処理を実行する。
図13は、探索フレームを受信したハブ装置50の動作を示すフローチャートである。探索フレームは、ゲートウェイ装置40により生成される。そして、ハブ装置50は、ゲートウェイ装置40または他のハブ装置50から探索フレームを受信する。
S31において、特定部52は、受信した探索フレームから順序情報を取得する。S32において、特定部52は、探索フレームから取得した順序情報でFrom履歴メモリ61を検索することにより、異常フレームが到着したポートを特定する。S33において、更新部53は、探索フレームのデータ領域に、異常フレームが到着したポートを表すポート情報を追加する。S34において、送信部54は、更新された探索フレームを、上流側ノードおよび異常フレームが到着したポートに接続されるノードへ送信する。なお、ハブ装置50は、下流側ノードから探索フレームを受信したときは、その探索フレームを更新することなく上流側のノードへ転送する。すなわち、ハブ装置50から上流側ノードへ送信される探索フレームは、最終的に、ゲートウェイ装置40まで転送される。よって、ハブ装置50は、実質的に、更新された探索フレームを、ゲートウェイ装置40および異常フレームが到着したポートに接続されるノードへ送信することになる。
このように、ハブ装置50は、探索フレームを受信すると、下記の処理(1)〜(3)を実行する。
(1)探索フレームに格納されている順序情報に基づいて、自装置の複数のポートの中から異常フレームが到着したポートを特定する処理
(2)異常フレームが到着したポートを表すポート情報を探索フレームに追加する処理
(3)ポート情報が追加された探索フレームを、ゲートウェイ装置40および異常フレームが到着したポートに接続するノードへ送信する処理
ここで、ハブ装置50は、探索フレームを表すID値が付与されたフレームを受信したときに、上記処理(1)〜(3)を実行する。したがって、探索フレームを表すID値は、上記処理(1)〜(3)の実行を要求する探索指示に相当する。
図14は、異常フレームの送信元を特定する処理を示すフローチャートである。この処理は、ゲートウェイ装置40がハブ装置50へ探索フレームを送信した後に、送信元特定部49により実行される。
S41において、送信元特定部49は、ハブ装置50により更新された探索フレームを収集する。S42において、送信元特定部49は、収集した探索フレームの中の1つを選択する。S43において、送信元特定部49は、変数iを初期化する。変数iは、選択した探索フレームのデータ領域に格納されているポート情報を識別する。なお、変数iの初期値は1である。
S44において、送信元特定部49は、選択した探索フレームのデータ領域に格納されているi番目のポート情報を取得する。i番目のポート情報は、ゲートウェイ装置40に対してi段目のHUBにおいて異常フレームが到着したポートを表す。S45において、送信元特定部49は、S44で検出されたポートに接続するi+1段目のノードを特定する。S46において、送信元特定部49は、S45で特定したノードがECUであるか否かを判定する。S45で特定したノードがECUであるときは、送信元特定部49は、そのECUが異常フレームの送信元であると判定する。
S45で特定したノードがECUでないときには、送信元特定部49は、S47において、選択した探索フレームのデータ領域にi+1番目のポート情報が格納されているか否かを判定する。選択した探索フレームのデータ領域にi+1番目のポート情報が格納されていないときは、送信元特定部49の処理はS42に戻る。一方、選択した探索フレームのデータ領域にi+1番目のポート情報が格納されているときは、送信元特定部49は、S48において、変数iを1だけインクリメントする。この後、送信元特定部49の処理はS44に戻る。
図14に示す処理を図6に示す実施例に基づいて説明する。ここでは、ゲートウェイ装置40は、図10(b)に示す探索フレームおよび図10(c)に示す探索フレームを受信するものとする。
送信元特定部49は、収集した2つの探索フレームのうちから、図10(b)に示す探索フレームを選択するものとする。この場合、送信元特定部49は、この探索フレームに格納されている1番目のポート情報(0x004)に基づいて、2段目のノードがHUB13であると判定する。すなわち、S46において「No」と判定されるので、S47が実行される。ただし、この探索フレームには、図10(b)に示すように、2番目のポート情報は格納されていない。したがって、送信元特定部49の処理はS42に戻る。
つづいて、送信元特定部49は、図10(c)に示す探索フレームを選択する。この場合、送信元特定部49は、この探索フレームに格納されている1番目のポート情報(0x004)に基づいて、2段目のノードがHUB13であると判定する。すなわち、S46において「No」を判定されるので、S47が実行される。ただし、この探索フレームには、図10(c)に示すように、2番目のポート情報が格納されている。したがって、変数iが1から2にインクリメントされた後、送信元特定部49の処理はS44に戻る。
送信元特定部49は、上記探索フレームに格納されている2番目のポート情報(0x002)に基づいて、3段目のノードがECU131であると判定する。すなわち、S46において「Yes」が得られる。したがって、送信元特定部49は、異常フレームの送信元がECU131であると判定することができる。
なお、上述の実施例では、探索フレームを受信したハブ装置50は、探索フレームを更新した後、異常フレームが到着したポートを介して更新した探索フレームを送信するが、第1の実施形態はこの方法に限定されるものではない。例えば、ハブ装置50は、更新した探索フレームをブロードキャストしてもよい。ただし、この場合、ハブ装置50は、不要な探索フレームがゲートウェイ40へ到着しないようにするために、例えば、異常フレームが到着したポート以外のポートの信号線を一時的に切断する。
また、下記(1)〜(4)を実行してもよい。
(1)ゲートウェイは、特定したポートに接続するハブに探索フレームを送信する。
(2)探索フレームを受信したハブは、自分のFrom履歴メモリ61を参照して特定したポート番号をその探索フレームに格納し、特定したポートに接続するハブに送信する。
(3)上記(2)は、探索フレームがECUに到達するまで行われる。
(4)探索フレームを受信したECUは、上位側の装置へ探索フレームを送信する。
この手順によれば、各ハブは、中継機能を備えていればよく、送信機能を有している必要はない。
さらに、下記(1)〜(4)を実行してもよい。
(1)ゲートウェイは、特定したポートに接続するハブに探索フレームを送信する。
(2)探索フレームを受信したハブは、自分のFrom履歴メモリ61を参照して特定したポート番号をその探索フレームに格納し、下位側のハブにブロードキャストする。ただし、ポートが特定された時点で、特定されたポート以外にポートに接続するハブへの通信は切断される。なお、探索フレームは、上位側のハブにもブロードキャストされる。
(3)上記(2)は、探索フレームがECUに到達するまで行われる。
(4)ゲートウェイは、上記(2)〜(3)で伝送される探索フレームをモニタする。
この手順においては、各ハブは、中継機能、データ挿入機能、通信切断機能を備えていればよく、送信機能を有している必要はない。
このように、第1の実施形態の通信監視方法によれば、各ハブ装置50は、受信フレームのIDおよびデータの組を格納する必要はなく、From履歴メモリ61を利用して到着ポート番号を記録する。ここで、ハブ装置50は、4個のポートを備え、各ポートについて1000個の到着ポート番号を記録するものとする。また、到着ポート番号は、1バイトで表されるものとする。そうすると、From履歴メモリ61のメモリサイズは、以下の通りである。
1000×4×8=32000ビット
すなわち、受信フレームのIDおよびデータの組を格納する方法と比較して、第1の実施形態の通信監視方法によれば、異常フレームの送信元を特定するために各ハブ装置が備えるメモリのサイズは削減される。また、第1の実施形態の通信監視方法においては、ハッシュ関数は不要である。
<第2の実施形態>
第1の実施形態では、ゲートウェイ装置40とハブ装置50との間でFrom履歴メモリ61の同期がずれるおそれがある。例えば、ゲートウェイ装置40が異常フレームを検知してハブ装置50へ探索フレームを送信したときに、次のデータフレームに起因してハブ装置50のFrom履歴メモリ61が既に更新されていれば、ゲートウェイ装置40とハブ装置50との間でFrom履歴メモリ61の内容は一致しない。この場合、異常フレームの送信元は特定されない。第2の実施形態は、この問題を解決する。
図15は、第2の実施形態に係わる通信管理方法の一例を示す。なお、図15に示す実施例では、ゲートウェイ装置40は、ハブ装置50間でデータフレームを転送しない。すなわち、ゲートウェイ装置40は、HUB1から受信するデータフレームをHUB2、HUB3へ転送しない。同様に、ゲートウェイ装置40は、HUB2から受信するデータフレームをHUB1、HUB3へ転送しない。また、ゲートウェイ装置40は、HUB3から受信するデータフレームをHUB1、HUB2へ転送しない。
但し、HUB1の配下に接続されるサブネットワーク(ECU111〜ECU113、ECU121〜ECU123)においては、データフレームはブロードキャストされる。同様に、HUB2の配下に接続されるサブネットワークおよびHUB3の配下に接続されるサブネットワークにおいても、それぞれデータフレームはブロードキャストされる。なお、ゲートウェイ装置40は、各サブネットワークにおいてブロードキャストされるデータフレームを受信することができる。
ゲートウェイ装置40は、受信フレームカウンタ62−1〜62−3を有する。受信フレームカウンタ62−1は、ゲートウェイ装置40のポートP1を介して受信するデータフレームの個数をカウントする。すなわち、受信フレームカウンタ62−1は、HUB1の配下のサブネットワークにおいてブロードキャストされるデータフレームの個数をカウントする。同様に、受信フレームカウンタ62−2は、ポートP2を介して受信するデータフレームの個数をカウントし、受信フレームカウンタ62−3は、ポートP3を介して受信するデータフレームの個数をカウントする。
ハブ装置50は、受信フレームカウンタ63を有する。受信フレームカウンタ63は、ハブ装置50が受信するデータフレームの個数をカウントする。
図15に示す例では、HUB1の配下のサブネットワークにおいて、7個のデータフレームがブロードキャストされ、ゲートウェイ装置40の受信フレームカウンタ62−1、HUB1およびHUB11の受信フレームカウンタ63のカウンタ値は「7」である。ただし、この後、ECU122から送信されたデータフレームがHUB12に到着し、HUB12の受信フレームカウンタ63のカウンタ値が「7」から「8」に更新されている。すなわち、From履歴メモリ61の同期ずれが発生している。
ゲートウェイ装置40は、異常フレームを検知すると、第1の実施形態と同様に、From履歴メモリ61を参照して異常フレームが到着したポートを特定する。図15に示す例では、「到着ポート:P1」および「順序:最新のデータフレームに対して1つ手前」が得られる。
続いて、特定部46は、From履歴メモリ61において、異常フレームに対応する到着ポート番号よりも後に記録されている到着ポート番号のなかで、異常フレームに対応する到着ポート番号と同じ到着ポート番号の個数をカウントする。図15に示す例では、異常フレームに対応する到着ポート番号は1であり、異常フレームに対応する到着ポート番号よりも後に記録されている「1」の個数は、1つである。以下の記載では、この個数を「後続フレーム数」と呼ぶことがある。
特定部46は、異常フレームが到着したポートに対応する受信フレームカウンタのカウンタ値から後続フレーム数を引算する。図15に示す例では、受信フレームカウンタ62−1のカウンタ値「7」から後続フレーム数「1」を引算することにより「6」が得られる。この引算の結果は、「最初に到着したデータフレームからカウントして6番目のデータフレームが異常フレームである」を表している。よって、ゲートウェイ装置40は、この値を順序情報として探索フレームに格納して対応するハブ装置50(図15では、HUB1)へ送信する。
なお、図15において、ゲートウェイ装置40から送信される探索フレームに付与されている数字は、順序情報を表す。ここで、この実施例では、順序情報として「最初のデータフレームに対して6番目」が得られている。したがって、探索フレームに「6」が付与されている。
探索フレームを受信したハブ装置50は、受信フレームカウンタ63のカウンタ値と順序情報の値との差分に基づいてFrom履歴メモリ61を検索する。図15に示すHUB1においては、受信フレームカウンタ63のカウンタ値「7」と順序情報「6」との差分は「1」である。そうすると、特定部52は、From履歴メモリ61から「最新の到着ポート番号の1つ手前の到着ポート番号」を取得する。この結果、HUB1のポートP3に異常フレームが到着したと判定される。そうすると、HUB1は、ポートP3に接続するHUB12へ探索フレームを送信する。
HUB12において、受信フレームカウンタ63のカウンタ値「8」と順序情報「6」との差分は「2」である。そうすると、特定部52は、From履歴メモリ61から「最新の到着ポート番号の2つ手前の到着ポート番号」を取得する。この結果、HUB12のポートP3に異常フレームが到着したと判定される。
HUB1およびHUB12は、それぞれ、異常フレームが到着したポートを表すポート情報を含む探索フレームをゲートウェイ装置40へ送信する。そして、ゲートウェイ装置40は、第1の実施形態と同様に、各ハブ装置50から収集する更新された探索フレームに基づいて、異常フレームの送信元を特定する。なお、更新された探索フレームから異常フレームの送信元を特定する方法は、第1の実施形態および第2の実施形態において実質的に同じである。
このように、第2の実施形態においては、ゲートウェイ装置40とハブ装置50との間でFrom履歴メモリ61の同期が確立していないときであっても、異常フレームの送信元が特定される。なお、第1の実施形態と比較すると、第2の実施形態においては、ハブ装置50は受信フレームカウンタ63を備える。ただし、受信フレームカウンタ63を実現するためのメモリのサイズは小さい。たとえば、受信フレームカウンタ63に対して32ビットが割り当てられる。この場合、232個の受信フレームをカウントすることができる。
上述の実施例では、「最初に到着したデータフレームからカウントして何番目のデータフレームが異常フレームであるのか」を表す順序情報が探索フレームに格納されるが、第2の実施形態はこの方法に限定されるものではない。たとえば、ゲートウェイ装置40およびハブ装置50のFrom履歴メモリ61が、定期的に、同時に初期化されるものとする。この場合、「From履歴メモリ61が初期化されたときからカウントして何番目のデータフレームが異常フレームであるのか」を表す順序情報が探索フレームに格納されるようにしてもよい。すなわち、第2の実施形態の順序情報は、予め指定された受信フレームに対して異常フレームが到着した順序を表す。
図16は、第2の実施形態の変形例を示す。図16に示す実施例では、ゲートウェイ装置40は、ハブ装置50間でデータフレームを転送する。すなわち、ある端末装置30から送信されるデータフレームは、ネットワーク200に接続されるすべての端末装置30へブロードキャストされる。
この場合、ゲートウェイ装置40およびハブ装置50は、それぞれ受信フレームカウンタ64を備える。ゲートウェイ装置40に設けられる受信フレームカウンタ64は、ゲートウェイ装置40に到着するデータフレームをカウントする。また、ハブ装置50に設けられる受信フレームカウンタ64は、ハブ装置50に到着するデータフレームをカウントする。
図16に示す実施例では、ゲートウェイ装置40は、最新の受信フレームの1つ前の受信フレームが異常フレームであると判定する。よって、ゲートウェイ装置40は、From履歴メモリ61を参照することにより、異常フレームが到着したポートがP1であると判定する。ここで、ゲートウェイ装置40の受信フレームカウンタ64のカウンタ値は7である。よって、ゲートウェイ装置40は、「順序情報:6(先頭から6番目)」を含む探索フレームをHUB1へ送信する。
HUB1において、受信フレームカウンタ64のカウンタ値「7」と順序情報「6」との差分は「1」である。この場合、HUB1は、From履歴メモリ61において最新の到着ポート番号の1つ前の到着ポート番号を取得することにより、異常フレームが到着したポートがP4であると判定する。よって、ゲートウェイ装置40は、探索フレームをHUB13へ送信する。また、HUB13において、受信フレームカウンタ64のカウンタ値「8」と順序情報「6」との差分は「2」である。この場合、HUB13は、From履歴メモリ61において最新の到着ポート番号の2つ前の到着ポート番号を取得することにより、異常フレームが到着したポートがP2であると判定する。なお、ゲートウェイ装置40が各ハブ装置50から更新された探索フレームを収集して異常フレームの送信元を特定する方法は、第1の実施形態および第2の実施形態において実質的に同じである。
<他の実施形態>
上述の実施例では、ハブ装置50は、更新した探索フレームをゲートウェイ装置40へ送信するが、本発明はこの方法に限定されるものではない。例えば、探索フレームを受信したハブ装置50は、ネットワーク200の回線とは別に設けられている専用回線を利用して、異常フレームが到着したポートを表すポート情報をゲートウェイ装置40へ通知してもよい。
30 端末装置(ECU)
40 ゲートウェイ装置
42 プロセッサ
44 記録部
45 検知部
46 特定部
47 生成部
48 送信部
49 送信元特定部
50 ハブ装置(HUB)
51 記録部
52 特定部
53 更新部
54 送信部
61 From履歴メモリ
62−1〜62−3、63、64 受信フレームカウンタ
200 ネットワーク

Claims (8)

  1. 複数の端末装置間でデータフレームを中継する複数のハブ装置を含むネットワークにおいて使用される通信管理装置であって、
    複数のポートと、
    受信フレームから異常フレームを検知する検知部と、
    前記検知部により異常フレームが検知されたときに、前記異常フレームが到着した第1の到着ポート、および前記複数のポートのいずれかに到着した受信フレームのなかで前記異常フレームが到着した順序を特定する特定部と、
    前記特定部により特定された順序を表す順序情報を前記第1の到着ポートに接続するハブ装置へ送信する送信部と、
    を有する通信管理装置。
  2. 前記送信部は、前記順序情報および前記異常フレームの送信元の探索を指示する探索指示を含む探索フレームを、前記第1の到着ポートに接続するハブ装置へ送信する
    ことを特徴とする請求項1に記載の通信管理装置。
  3. 前記探索指示は、前記探索フレームに格納されている順序情報に基づいて前記探索フレームを受信したハブ装置が備える複数のポートの中から前記異常フレームが到着した第2の到着ポートを特定する処理、前記第2の到着ポートを表すポート情報を前記探索フレームに追加する処理、および前記ポート情報が追加された探索フレームを前記通信管理装置および前記第2の到着ポートに接続するハブ装置または端末装置へ送信する処理の実行を、前記探索フレームを受信したハブ装置に要求する
    ことを特徴とする請求項2に記載の通信管理装置。
  4. 前記通信管理装置は、前記ネットワークのトポロジを認識しており、
    前記ポート情報が追加された探索フレームを前記通信管理装置が受信したときに、前記ネットワークのトポロジおよび前記ポート情報に基づいて前記異常フレームが到着したポートに接続する装置を特定することで、前記異常フレームの送信元を特定する送信元特定部、をさらに備える
    ことを特徴とする請求項3に記載の通信管理装置。
  5. 前記順序情報は、最新の受信フレームに対して前記異常フレームが到着した順序を表す
    ことを特徴とする請求項1に記載の通信管理装置。
  6. 前記順序情報は、予め指定された受信フレームに対して前記異常フレームが到着した順序を表す
    ことを特徴とする請求項1に記載の通信管理装置。
  7. 複数のノードを含むネットワークにおいて使用される、複数のポートを備える通信管理装置のプロセッサにより実行される通信管理プログラムであって、
    受信フレームから異常フレームを検知し、
    前記異常フレームが到着したポート、および前記複数のポートのいずれかに到着した受信フレームのなかで前記異常フレームが到着した順序を特定し、
    特定された順序を表す順序情報を特定されたポートに接続するノードへ送信する、
    処理を前記プロセッサに実行させる通信管理プログラム。
  8. 複数の端末装置、前記複数の端末装置間でデータフレームを中継する複数のハブ装置、および前記複数の端末装置の通信を管理する通信管理装置を含むネットワークにおいて使用される通信管理方法であって、
    前記通信管理装置および前記複数のハブ装置は、それぞれ、データフレームが到着したポートを表すポート番号をデータフレームの到着順に記録する履歴メモリを備え、
    前記通信管理装置は、前記通信管理装置に到着したデータフレームから異常フレームを検知し、
    前記通信管理装置は、前記異常フレームが到着した順序を特定し、前記順序で前記通信管理装置の履歴メモリを参照することにより前記異常フレームが到着した第1の到着ポートを特定し、
    前記通信管理装置は、特定した順序を表す順序情報および探索指示を含む探索フレームを前記第1の到着ポートに接続するハブ装置へ送信し、
    前記探索指示は、前記探索フレームに格納されている順序情報に基づいて前記探索フレームを受信したハブ装置が備える複数のポートの中から前記異常フレームが到着した異常フレーム到着ポートを特定する処理、前記異常フレーム到着ポートを表すポート情報を前記探索フレームに追加する処理、および前記ポート情報が追加された探索フレームを前記通信管理装置および前記異常フレーム到着ポートに接続するハブ装置または端末装置へ送信する処理の実行を、前記探索フレームを受信したハブ装置に要求するものであり、
    前記探索フレームを受信したハブ装置は、前記順序情報に基づいて自装置の履歴メモリを参照し、前記異常フレームが到着した第2の到着ポートを特定し、
    前記探索フレームを受信したハブ装置は、前記第2の到着ポートを表すポート情報を前記探索フレームに追加して前記通信管理装置および前記第2の到着ポートに接続するハブ装置または端末装置へ送信し、
    前記通信管理装置は、前記ポート情報が追加された探索フレームを受信したときに、前記ネットワークのトポロジおよび前記ポート情報に基づいて前記異常フレームが到着したポートに接続する装置を特定することで、前記異常フレームの送信元を特定する
    ことを特徴とする通信管理方法。
JP2015050792A 2015-03-13 2015-03-13 通信監視装置、通信監視プログラム、および通信監視方法 Active JP6497142B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015050792A JP6497142B2 (ja) 2015-03-13 2015-03-13 通信監視装置、通信監視プログラム、および通信監視方法
EP16158680.5A EP3068079B1 (en) 2015-03-13 2016-03-04 Monitoring communication in a network comprising a plurality of nodes
US15/060,680 US9942123B2 (en) 2015-03-13 2016-03-04 Device and method for monitoring communication in network including a plurality of nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015050792A JP6497142B2 (ja) 2015-03-13 2015-03-13 通信監視装置、通信監視プログラム、および通信監視方法

Publications (2)

Publication Number Publication Date
JP2016171504A JP2016171504A (ja) 2016-09-23
JP6497142B2 true JP6497142B2 (ja) 2019-04-10

Family

ID=55527789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015050792A Active JP6497142B2 (ja) 2015-03-13 2015-03-13 通信監視装置、通信監視プログラム、および通信監視方法

Country Status (3)

Country Link
US (1) US9942123B2 (ja)
EP (1) EP3068079B1 (ja)
JP (1) JP6497142B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110380925B (zh) * 2019-06-28 2021-02-02 中国科学院信息工程研究所 一种网络设备探测中端口选择方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353136A (ja) * 1999-06-11 2000-12-19 Canon Inc ネットワークデバイス探索装置およびその方法、記憶媒体
US7328349B2 (en) * 2001-12-14 2008-02-05 Bbn Technologies Corp. Hash-based systems and methods for detecting, preventing, and tracing network worms and viruses
JP2006148594A (ja) 2004-11-19 2006-06-08 Matsushita Electric Works Ltd 発信源追跡システム及びそのシステムで用いられる中継装置
US8179787B2 (en) 2009-01-27 2012-05-15 Smsc Holding S.A.R.L. Fault tolerant network utilizing bi-directional point-to-point communications links between nodes
JP5298796B2 (ja) * 2008-11-18 2013-09-25 ヤマハ株式会社 オーディオネットワークシステム及び方法
JP5387349B2 (ja) * 2009-11-11 2014-01-15 富士通株式会社 中継装置
KR101292887B1 (ko) * 2009-12-21 2013-08-02 한국전자통신연구원 패킷 동일성 검사를 이용한 라우터의 패킷 스트림 모니터링 장치 및 방법
JP5717240B2 (ja) * 2010-08-09 2015-05-13 国立大学法人名古屋大学 通信システム及び通信装置

Also Published As

Publication number Publication date
JP2016171504A (ja) 2016-09-23
EP3068079B1 (en) 2019-10-16
US9942123B2 (en) 2018-04-10
EP3068079A1 (en) 2016-09-14
US20160269265A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
JP4704120B2 (ja) ネットワーク障害検出装置及びネットワーク障害検出方法
JP4619940B2 (ja) ネットワーク障害箇所検出装置及びネットワーク障害箇所検出方法
JP5458752B2 (ja) 監視装置、監視方法
US7623472B2 (en) Dynamic peer application discovery
JP5884892B2 (ja) ネットワークシステム、コントローラ、及び負荷分散方法
JP2016116029A (ja) ネットワーク監視方法、中継装置、および、ネットワーク監視システム
US8243736B2 (en) Packet capturing device
WO2011076129A1 (en) Failure detection method and device for fcoe virtual link
US11881983B2 (en) Diagnosing intermediary network nodes
JP6497142B2 (ja) 通信監視装置、通信監視プログラム、および通信監視方法
WO2012070274A1 (ja) 通信システムおよびネットワーク障害検出方法
CN116781574A (zh) 带内网络遥测方法以及装置、设备及存储介质
US20220417718A1 (en) Detection device, vehicle, detection method, and detection program
JP2008199302A (ja) 映像監視システム
EP4094421A2 (en) Pce controlled network reliability
CN112422428A (zh) 链路状态获取方法、装置、电子设备及可读存储介质
EP1780942A1 (en) Method for automatically discovering a bus system in a multipoint transport network, multipoint transport network and network node
CN111404827A (zh) 一种数据包处理方法、装置及电子设备和存储介质
EP2673923B1 (en) Enhanced device discovery technology
CN115643202A (zh) 一种链路选择控制协议切换方法、装置、设备及介质
JP2019220870A (ja) ネットワーク装置
JP2009194677A (ja) 監視システム、中継装置およびパケット中継方法
JP2016165092A (ja) 情報収集方法、通信装置、および、通信システム
JP2016220138A (ja) 通信装置、中継方法、および有効性確認応答方法、並びにコンピュータ・プログラム
JP2007235540A (ja) バス型lanの終端装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181206

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: 20190212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190225

R150 Certificate of patent or registration of utility model

Ref document number: 6497142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150