(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-28
(45)【発行日】2022-04-05
(54)【発明の名称】スイッチ装置、監視方法および監視プログラム
(51)【国際特許分類】
H04L 43/0823 20220101AFI20220329BHJP
H04L 12/28 20060101ALI20220329BHJP
H04L 43/18 20220101ALI20220329BHJP
H04L 69/18 20220101ALI20220329BHJP
【FI】
H04L43/0823
H04L12/28 100A
H04L43/18
H04L69/18
(21)【出願番号】P 2020502810
(86)(22)【出願日】2018-11-30
(86)【国際出願番号】 JP2018044105
(87)【国際公開番号】W WO2019167370
(87)【国際公開日】2019-09-06
【審査請求日】2021-05-21
(31)【優先権主張番号】P 2018037429
(32)【優先日】2018-03-02
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(74)【代理人】
【識別番号】110000682
【氏名又は名称】特許業務法人ワンディーIPパートナーズ
(72)【発明者】
【氏名】岩田 章人
(72)【発明者】
【氏名】萩原 剛志
(72)【発明者】
【氏名】藪内 靖弘
【審査官】佐々木 洋
(56)【参考文献】
【文献】特開2002-318735(JP,A)
【文献】特開2009-246453(JP,A)
【文献】特開2012-080378(JP,A)
【文献】特開2007-310780(JP,A)
【文献】特開2017-005617(JP,A)
【文献】米国特許出願公開第2004/0148417(US,A1)
【文献】特開平11-127215(JP,A)
【文献】木谷 光博 他,自動運転向け車内ネットワークシステムにおけるデータ伝送方式の開発,情報処理学会研究報告,2016年01月14日,Vol.2016-GN-97, 2016-CDS-15, 2016-DCC-12,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/0823
H04L 12/28
H04L 43/18
H04L 69/18
(57)【特許請求の範囲】
【請求項1】
スイッチ装置であって、
車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ部と、
前記イーサネットフレームにおける所定データを監視する監視部と、
前記監視部の監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定する特定部とを備え、
前記監視部は、前記特定部によって特定された前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行
い、
前記スイッチ装置は、さらに、
前記動作監視処理において前記対象機能部の異常が検知された場合、使用するプロトコルを前記対象機能部に変更させる変更処理を行う変更部と、
前記機能部ごとの前記対象プロトコルを示すテーブル情報を作成する作成部とを備え、
前記作成部は、前記機能部と複数の前記対象プロトコルとの対応関係を示す前記テーブル情報を作成可能であり、
前記変更部は、前記変更処理において、前記対象機能部が使用するプロトコルを、異常が検知された前記対象プロトコルから、前記作成部によって作成された前記テーブル情報における、前記対象機能部に対応する別の前記対象プロトコルに変更させる、スイッチ装置。
【請求項2】
前記監視部は、前記動作監視処理において、前記対象プロトコルに従う所定のイーサネットフレームを前記対象機能部へ送信する、請求項1に記載のスイッチ装置。
【請求項3】
前記監視部は、前記動作監視処理において、送信した前記所定のイーサネットフレームに対する前記対象機能部からの応答フレームを監視する、請求項2に記載のスイッチ装置
。
【請求項4】
前記スイッチ装置は、さらに、
前記作成部によって作成された前記テーブル情報を保存する記憶部を備え、
前記作成部は、前記記憶部に保存されている前記テーブル情報を更新し、
前記変更部は、前記記憶部に保存されている前記テーブル情報を用いて前記変更処理を行う、請求項
1から請求項3のいずれか1項に記載のスイッチ装置。
【請求項5】
前記車両は、自動運転を行う車両である、請求項1から請求項
4のいずれか1項に記載のスイッチ装置。
【請求項6】
車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ装置における監視方法であって、
前記イーサネットフレームにおける所定データを監視するステップと、
前記所定データの監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定するステップと、
特定した前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行うステップと
、
前記動作監視処理において前記対象機能部の異常が検知された場合、使用するプロトコルを前記対象機能部に変更させる変更処理を行うステップと、
前記機能部ごとの前記対象プロトコルを示すテーブル情報を作成するステップとを含み、
前記テーブル情報を作成するステップにおいては、前記機能部と複数の前記対象プロトコルとの対応関係を示す前記テーブル情報を作成可能であり、
前記変更処理を行うステップにおいては、前記対象機能部が使用するプロトコルを、異常が検知された前記対象プロトコルから、作成した前記テーブル情報における、前記対象機能部に対応する別の前記対象プロトコルに変更させる、監視方法。
【請求項7】
車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ装置において用いられる監視プログラムであって、
コンピュータを、
前記イーサネットフレームにおける所定データを監視する監視部と、
前記監視部による監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定する特定部、
として機能させるためのプログラムであり、
前記監視部は、前記特定部によって特定された前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行
い、
前記監視プログラムは、さらに、コンピュータを、
前記動作監視処理において前記対象機能部の異常が検知された場合、使用するプロトコルを前記対象機能部に変更させる変更処理を行う変更部と、
前記機能部ごとの前記対象プロトコルを示すテーブル情報を作成する作成部、
として機能させるためのプログラムであり、
前記作成部は、前記機能部と複数の前記対象プロトコルとの対応関係を示す前記テーブル情報を作成可能であり、
前記変更部は、前記変更処理において、前記対象機能部が使用するプロトコルを、異常が検知された前記対象プロトコルから、前記作成部によって作成された前記テーブル情報における、前記対象機能部に対応する別の前記対象プロトコルに変更させる、監視プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スイッチ装置、監視方法および監視プログラムに関する。
この出願は、2018年3月2日に出願された日本出願特願2018-37429号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【背景技術】
【0002】
特許文献1(特開2013-168865号公報)には、以下のような車載ネットワークシステムが開示されている。すなわち、車載ネットワークシステムは、車載ネットワーク上で用いられる通信規約のうち前記車載ネットワーク上における実装に依拠する部分を定義する定義データを格納するメモリを備えた車載制御装置と、前記車載制御装置に対して前記定義データを発行する通信規約発行装置とを備える。前記通信規約発行装置は、前記車載制御装置を前記車載ネットワークに参加させる登録装置から、前記車載制御装置を前記車載ネットワークに参加させるよう要求する登録要求を受け取ると、前記登録装置に対する認証を実施した上で、前記車載ネットワークに上における実装に準拠した前記定義データを作成して前記登録装置に返信する。前記登録装置は、前記通信規約発行装置が送信した前記定義データを受け取り、受け取った前記定義データを前記メモリ上に格納するよう前記車載制御装置に対して要求する。そして、前記車載制御装置は、前記登録装置から定義データを受け取って前記メモリ上に格納し、前記定義データが定義する前記部分にしたがって、前記通信規約に準拠して前記車載ネットワークを用いて通信する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
(1)本開示のスイッチ装置は、車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ部と、前記イーサネットフレームにおける所定データを監視する監視部と、前記監視部の監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定する特定部とを備え、前記監視部は、前記特定部によって特定された前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行う。
【0005】
(8)本開示の監視方法は、車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ装置における監視方法であって、前記イーサネットフレームにおける所定データを監視するステップと、前記所定データの監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定するステップと、特定した前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行うステップとを含む。
【0006】
(9)本開示の監視プログラムは、車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ装置において用いられる監視プログラムであって、コンピュータを、前記イーサネットフレームにおける所定データを監視する監視部と、前記監視部による監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定する特定部、として機能させるためのプログラムであり、前記監視部は、前記特定部によって特定された前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行う。
【0007】
本開示の一態様は、このような特徴的な処理部を備えるスイッチ装置として実現され得るだけでなく、スイッチ装置の一部または全部を実現する半導体集積回路として実現され得たり、スイッチ装置を含むシステムとして実現され得る。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本発明の実施の形態に係る車載通信システムの構成を示す図である。
【
図2】
図2は、本発明の実施の形態に係るスイッチ装置の構成を示す図である。
【
図3】
図3は、本発明の実施の形態に係るスイッチ装置が監視するイーサネットフレームの一部を示す図である。
【
図4】
図4は、本発明の実施の形態に係るスイッチ装置が作成するテーブル情報の一例を示す図である。
【
図5】
図5は、本発明の実施の形態に係るスイッチ装置が、複数の機能部間の通信を監視する際の動作手順を定めたフローチャートである。
【発明を実施するための形態】
【0009】
従来、車載ネットワークにおけるセキュリティを向上させるための車載ネットワークシステムが開発されている。
【0010】
[本開示が解決しようとする課題]
特許文献1に記載の車載ネットワークでは、車載ECU(Electronic Control Unit)間で送受信される通信データを中継する通信ゲートウェイが設けられる。
【0011】
車載ECUの異常を検知するために、通信ゲートウェイから各種フレームを車載ECUへ送信し、当該車載ECUからの応答内容を確認する方法が考えられる。
【0012】
しかしながら、この方法では、通信ゲートウェイから送信されるフレームによって通信ゲートウェイおよび車載ECU間におけるトラフィックが増大し、また、通信ゲートウェイが車載ECUの応答内容の確認を完了するまでに時間を要する場合がある。
【0013】
本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける異常を効率よく検知することが可能なスイッチ装置、監視方法および監視プログラムを提供することである。
【0014】
[本開示の効果]
本開示によれば、車載ネットワークにおける異常を効率よく検知することができる。
【0015】
[本願発明の実施形態の説明]
最初に、本発明の実施形態の内容を列記して説明する。
【0016】
(1)本発明の実施の形態に係るスイッチ装置は、車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ部と、前記イーサネットフレームにおける所定データを監視する監視部と、前記監視部の監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定する特定部とを備え、前記監視部は、前記特定部によって特定された前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行う。
【0017】
このような構成により、スイッチ装置は、各機能部が使用するプロトコルを認識することができるため、未使用のプロトコルの監視が不要となる。これにより、異常の監視処理をより短時間で行うことが可能となる。したがって、車載ネットワークにおける異常を効率よく検知することができる。
【0018】
(2)好ましくは、前記監視部は、前記動作監視処理において、前記対象プロトコルに従う所定のイーサネットフレームを前記対象機能部へ送信する。
【0019】
このような構成により、未使用のプロトコルを監視するための所定のイーサネットフレームの送信が不要となり、動作確認処理に用いるイーサネットフレームの種類を削減することができるため、トラフィックおよび処理時間の増大を抑制することができる。
【0020】
(3)より好ましくは、前記監視部は、前記動作監視処理において、送信した前記所定のイーサネットフレームに対する前記対象機能部からの応答フレームを監視する。
【0021】
このような構成により、スイッチ装置が、たとえば、使用中のプロトコルを用いた対象機能部との通信が不調または不能であることを検知することができる。
【0022】
(4)好ましくは、前記スイッチ装置は、さらに、前記動作監視処理において前記対象機能部の異常が検知された場合、使用するプロトコルを前記対象機能部に変更させる変更処理を行う変更部を備える。
【0023】
このような構成により、たとえば機能部において、特定のプロトコルの通信が不調または不能である場合、異なるプロトコルを使用して通信を継続させることができる。
【0024】
(5)より好ましくは、前記スイッチ装置は、さらに、前記機能部ごとの前記対象プロトコルを示すテーブル情報を作成する作成部を備え、前記変更部は、前記作成部によって作成された前記テーブル情報を用いて前記変更処理を行う。
【0025】
このような構成により、機能部において使用した実績があるプロトコルを特定することができるため、当該機能部において使用可能なプロトコルを容易に特定することができ、プロトコルの変更を効率よく行うことができる。
【0026】
(6)より好ましくは、前記スイッチ装置は、さらに、前記作成部によって作成された前記テーブル情報を保存する記憶部を備え、前記作成部は、前記記憶部に保存されている前記テーブル情報を更新し、前記変更部は、前記記憶部に保存されている前記テーブル情報を用いて前記変更処理を行う。
【0027】
このような構成により、スイッチ装置が、たとえば、機能部による新たなプロトコルの使用に応じて当該プロトコルを特定することができるため、機能部の異常を検知する精度を向上させることができる。
【0028】
(7)好ましくは、前記車両は、自動運転を行う車両である。
【0029】
このような構成により、車両において、より短時間で監視処理を行うことができるため、自動運転を安定して継続することができる。
【0030】
(8)本発明の実施の形態に係る監視方法は、車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ装置における監視方法であって、前記イーサネットフレームにおける所定データを監視するステップと、前記所定データの監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定するステップと、特定した前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行うステップとを含む。
【0031】
このような構成により、スイッチ装置は、各機能部が使用するプロトコルを認識することができるため、未使用のプロトコルの監視が不要となる。これにより、異常の監視処理をより短時間で行うことが可能となる。したがって、車載ネットワークにおける異常を効率よく検知することができる。
【0032】
(9)本発明の実施の形態に係る監視プログラムは、車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ装置において用いられる監視プログラムであって、コンピュータを、前記イーサネットフレームにおける所定データを監視する監視部と、前記監視部による監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定する特定部、として機能させるためのプログラムであり、前記監視部は、前記特定部によって特定された前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行う。
【0033】
このような構成により、スイッチ装置は、各機能部が使用するプロトコルを認識することができるため、未使用のプロトコルの監視が不要となる。これにより、異常の監視処理をより短時間で行うことが可能となる。したがって、車載ネットワークにおける異常を効率よく検知することができる。
【0034】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0035】
[構成および基本動作]
図1は、本発明の実施の形態に係る車載通信システムの構成を示す図である。
【0036】
図1を参照して、車載通信システム301は、スイッチ装置101と、機能部111A,111B,111Cとを備える。車載通信システム301は、車両1に搭載される。
【0037】
以下、機能部111A,111B,111Cの各々を、機能部111とも称する。
【0038】
なお、車載通信システム301は、1つのスイッチ装置101を備える構成に限らず、複数のスイッチ装置101を備える構成であってもよい。
【0039】
なお、車載通信システム301は、3つの機能部111を備える構成に限らず、2つ、4つ、または5つ以上の機能部111を備える構成であってもよい。
【0040】
機能部111は、たとえば、自動運転ECU(Electronic Control Unit)、運転支援装置およびセンサ等であり、スイッチ装置101と通信を行うことが可能である。これにより、車両1は、たとえば自動運転を行うことができる。
【0041】
車両1の車載ネットワークにおける各スイッチ装置101および各機能部111の接続関係は、たとえば固定されている。
【0042】
スイッチ装置101および機能部111は、たとえば、車載のイーサネット(登録商標)通信用のケーブル(以下、イーサネットケーブルとも称する。)10により互いに接続されている。
【0043】
スイッチ装置101および機能部111は、イーサネットケーブル10を用いて互いに通信する。スイッチ装置101および機能部111間では、たとえば、IEEE802.3に従うイーサネットフレームを用いて通信データのやり取りが行われる。
【0044】
[課題]
イーサネットフレームを用いて通信データのやり取りを行う機能部についての異常の監視方法として、予め決められた管理フレームを定期的にスイッチ装置から機能部へ送信し、機能部からの応答を確認する方法がある。
【0045】
しかしながら、当該方法では、たとえばftp(File Transfer Protocol)、http(Hypertext Transfer Protocol)、TCP(Transmission Control Protocol)またはICMP(Internet Control Message Protocol)等、各プロトコルまたは各ソフトウェアに対応した各種管理フレームを送信することから、通信データの輻輳が生じやすく、また、すべての管理フレームに対する応答内容を確認するまでに時間を要してしまう。
【0046】
また、スイッチ装置に複数の機能部が接続されている場合、複数の機能部について同様の処理を行う必要があるため、時間を要してしまう。
【0047】
これに対して、本発明の実施の形態に係るスイッチ装置では、以下のような構成および動作により、上記課題を解決する。
【0048】
[スイッチ装置の構成]
図2は、本発明の実施の形態に係るスイッチ装置の構成を示す図である。
【0049】
図2を参照して、スイッチ装置101は、スイッチ部51と、監視部52と、記憶部53と、複数の通信ポート54と、特定部55と、変更部56と、作成部57とを備える。
【0050】
スイッチ部51は、車両に搭載される複数の機能部間のイーサネットフレームを中継する
【0051】
より詳細には、スイッチ装置101は、たとえば、レイヤ2、およびレイヤ2よりも上位のレイヤ3に従って複数の機能部間のイーサネットフレームを中継することが可能である。
【0052】
具体的には、スイッチ部51は、たとえば、通信ポート54のポート番号とVLANのIDおよび接続先装置のMACアドレスとの対応関係を示すアドレステーブルを保持する。
【0053】
スイッチ部51は、たとえば、機能部111からイーサネットフレームを受信すると、受信したイーサネットフレームを記憶部53に保存するとともにイーサネットフレームの宛先MACアドレスを確認する。
【0054】
スイッチ部51は、アドレステーブルを参照することにより、確認した宛先MACアドレスに対応する通信ポート54を特定する。
【0055】
そして、スイッチ部51は、当該イーサネットフレームを記憶部53から取得し、取得したイーサネットフレームを、特定した通信ポート54経由で宛先の機能部111へ送信する。
【0056】
監視部52は、上記イーサネットフレームにおける所定データを監視する。
【0057】
図3は、本発明の実施の形態に係るスイッチ装置が監視するイーサネットフレームの一部を示す図である。
【0058】
図3は、イーサネットフレームにおけるIP(Internet Protcol)ヘッダおよびTCP/UDP(User Datagram Protocol)ヘッダ部分を示す。
【0059】
図3を参照して、IPヘッダの最初の1Byteは、Version/IHL(INTERNET Header Length)である。Versionは、IPのバージョン情報であり、IHLは、IPヘッダの長さを示す情報である。
【0060】
IPヘッダの次の1Byteは、TOS(Type of Service)であり、データの優先度を示す情報である。
【0061】
IPヘッダの次の2Byteは、Total Lengthであり、データの長さを示す情報である。
【0062】
IPヘッダの次の2Byteは、Identificationであり、識別子である。
【0063】
IPヘッダの次の2Byteは、Flag/Flag Offsetである。
【0064】
IPヘッダの次の1Byteは、TTL(Time To Live)であり、ネットワーク中にデータが存在できる時間を示す情報である。
【0065】
IPヘッダの次の1Byteは、Protcolであり、使用するプロトコルを示す情報である。
【0066】
IPヘッダの次の2Byteは、Header Checksumであり、IPヘッダの誤り検出に使用される。
【0067】
IPヘッダの次の4Byteは、Source Addressであり、データの送信元のIPアドレスを示す情報である。
【0068】
IPヘッダの次の4Byteは、Destination Addressであり、データの送信先のIPアドレスを示す情報である。
【0069】
IPヘッダの次のデータは、TCP/UDPヘッダである。TCP/UDPヘッダの最初の2Byteは、Source Portである。Source Portは、データの送信元で使用するポート番号を示す情報である。
【0070】
TCP/UDPヘッダの次の2Byteは、Destination Portであり、データの送信先で使用するポート番号を示す情報である。
【0071】
監視部52は、IPヘッダのProtcolおよびTCP/UDPヘッダのDestination Portを監視する。
【0072】
具体的には、監視部52は、記憶部53に保存されたイーサネットフレームを確認し、イーサネットフレームに含まれる送信元MACアドレス、IPヘッダのProtcolの値およびTCP/UDPヘッダのDestination Portの値を取得する。
【0073】
以下、IPヘッダのProtcolの値をプロトコル値とも称し、TCP/UDPヘッダのDestination Portの値をアプリケーション情報とも称する。
【0074】
監視部52は、取得した、送信元MACアドレス、プロトコル値およびアプリケーション情報を監視結果として特定部55へ出力する。
【0075】
なお、監視部52は、プロトコル値およびアプリケーション情報のうちの少なくともいずれか一方を取得する構成であってもよい。
【0076】
特定部55は、監視部52から受けた監視結果に基づいて、イーサネットフレームの送信元の機能部である対象機能部が使用するプロトコルを特定する。
【0077】
より詳細には、特定部55は、監視部52から受けた送信元MACアドレスおよびプロトコル値に基づいて、対象機能部が使用するL4(レイヤ4)プロトコルを特定する。
【0078】
具体的には、特定部55は、たとえば、監視部52から受けた監視結果において、送信元MACアドレスが機能部111AのMACアドレスであり、プロトコル値が6すなわち16進数では0x06である場合、機能部111Aが使用するL4プロトコルをTCPと特定する。ここで、「0x」で始まる数字は、「0x」以降の数字が16進数で表されていることを意味する。
【0079】
特定部55は、たとえば、監視部52から受けた監視結果において、送信元MACアドレスが機能部111AのMACアドレスであり、プロトコル値が17すなわち16進数では0x11である場合、機能部111Aが使用するL4プロトコルをUDPと特定する。
【0080】
また、特定部55は、監視部52から受けた送信元MACアドレスおよびアプリケーション情報に基づいて、対象機能部が使用するL7(レイヤ7)プロトコルを特定する。
【0081】
具体的には、特定部55は、たとえば、監視部52から受けた監視結果において、送信元MACアドレスが機能部111AのMACアドレスであり、アプリケーション情報が20すなわち16進数では0x14である場合、機能部111Aが使用するL7プロトコルをftpと特定する。
【0082】
特定部55は、たとえば、監視部52から受けた監視結果において、送信元MACアドレスが機能部111AのMACアドレスであり、アプリケーション情報が80すなわち16進数では0x50である場合、機能部111Aが使用するL7プロトコルをhttpと特定する。
【0083】
特定部55は、特定した、対象機能部とL4プロトコルおよびL7プロトコルとの組み合わせを示すプロトコル情報を作成部57へ出力する。
【0084】
作成部57は、特定部55から受けたプロトコル情報に基づいて、機能部111ごとの対象プロトコルを示すテーブル情報を作成する。
【0085】
図4は、本発明の実施の形態に係るスイッチ装置が作成するテーブル情報の一例を示す図である。
【0086】
図4を参照して、機能部111Aが使用する対象プロトコルは、L4プロトコルがTCPであり、L7プロトコルがftpまたはhttpである。
【0087】
機能部111Bが使用する対象プロトコルは、L4プロトコルがUDPであり、L7プロトコルが所定のプロトコルである。
【0088】
機能部111Cが使用する対象プロトコルは、L4プロトコルがTCPであり、L7プロトコルがftpまたはhttpである。
【0089】
作成部57は、作成済のテーブル情報における組み合わせと異なる内容のプロトコル情報を特定部55から受けた場合、新たなプロトコル情報に基づいてテーブル情報を更新する。
【0090】
作成部57は、作成または更新したテーブル情報を記憶部53に保存する。
【0091】
監視部52は、記憶部53に保存されたテーブル情報を取得し、取得したテーブル情報を用いて、特定部55が特定したプロトコルである対象プロトコル、すなわちテーブル情報の示すプロトコルに従う対象機能部の動作を選択的に監視する動作監視処理を行う。
【0092】
たとえば、監視部52は、動作監視処理において、対象プロトコルに従う所定のイーサネットフレームを対象機能部へ送信する。
【0093】
より詳細には、監視部52は、たとえば管理用フレームを対象機能部へ送信し、対象機能部からの応答を確認する。具体的には、監視部52は、対象機能部からの応答フレームを監視する。
【0094】
具体的には、監視部52は、たとえば、機能部111AがTCPを使用している場合、3wayハンドシェイクによる動作監視を行う。
【0095】
監視部52は、SYNパケットを含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して機能部111Aへ送信する。
【0096】
機能部111Aは、スイッチ装置101から送信されたSYNパケットを含むイーサネットフレームを受信すると、応答フレームとして、SYN ACKパケットを含むイーサネットフレームを生成してスイッチ装置101へ送信する。
【0097】
スイッチ装置101におけるスイッチ部51は、スイッチ装置101から送信されたSYN ACKパケットを含むイーサネットフレームを受信して、受信したイーサネットフレームを記憶部53に保存する。
【0098】
監視部52は、記憶部53に保存されたイーサネットフレームに含まれるSYN ACKパケットを取得すると、ACKパケットを含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して機能部111Aへ送信する。
【0099】
監視部52は、たとえばSYN ACKパケットを取得できない場合等、3wayハンドシェイクに失敗した場合、対象機能部以外の機能部111である機能部111Bおよび機能部111Cへ異常を通知する。
【0100】
より詳細には、監視部52は、対象機能部の異常を示す異常通知を含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して機能部111Bおよび機能部111Cへ送信する。また、監視部52は、異常通知を変更部56へ出力する。
【0101】
また、監視部52は、たとえば、機能部111AがUDPを使用している場合、Pingによる接続確認を行う。
【0102】
より詳細には、監視部52は、ICMPのecho requestを含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して機能部111Aへ送信する。
【0103】
機能部111Aは、スイッチ装置101から送信されたイーサネットフレームに含まれるecho requestを受信すると、応答フレームとして、echo replyを含むイーサネットフレームを生成してスイッチ装置101へ送信する。
【0104】
スイッチ装置101は、機能部111Aから送信されたecho replyを含むイーサネットフレームを受信して、受信したイーサネットフレームを記憶部53に保存する。
【0105】
監視部52は、記憶部53に保存されたイーサネットフレームに含まれるecho replyを取得する。
【0106】
監視部52は、echo replyを取得できない場合、対象機能部以外の機能部111である機能部111Bおよび機能部111Cへ異常を通知する。
【0107】
より詳細には、監視部52は、対象機能部の異常を示す異常通知を含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して機能部111Bおよび機能部111Cへ送信する。また、監視部52は、異常通知を変更部56へ出力する。
【0108】
また、監視部52は、たとえば、機能部111Aがftpを使用している場合、たとえば、TCPの場合と同様に3wayハンドシェイクによるセッション接続の確認を行う。
【0109】
また、監視部52は、たとえば、機能部111Aがhttpを使用している場合、ステータス確認を行う。
【0110】
より詳細には、監視部52は、機能部111Aの状態を示すHTTPステータスコードを要求する旨のステータス要求を含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して機能部111Aへ送信する。
【0111】
機能部111Aは、スイッチ装置101から送信されたイーサネットフレームに含まれるステータス要求を受信すると、応答フレームとして、HTTPステータスコードを含むイーサネットフレームを生成してスイッチ装置101へ送信する。
【0112】
スイッチ装置101は、機能部111Aから送信されたHTTPステータスコードを含むイーサネットフレームを受信して、受信したイーサネットフレームを記憶部53に保存する。
【0113】
監視部52は、記憶部53に保存されたイーサネットフレームに含まれるHTTPステータスコードを取得する。
【0114】
監視部52は、HTTPステータスコードを取得できない場合、対象機能部以外の機能部111である機能部111Bおよび機能部111Cへ異常を通知する。
【0115】
より詳細には、監視部52は、対象機能部の異常を示す異常通知を含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して機能部111Bおよび機能部111Cへ送信する。また、監視部52は、異常通知を変更部56へ出力する。
【0116】
たとえば、変更部56は、動作監視処理において、対象機能部の異常が検知された場合、使用するプロトコルを対象機能部に変更させる変更処理を行う。
【0117】
より詳細には、変更部56は、監視部52から異常通知を受けて、各機能部111が使用するプロトコルを変更させる。
【0118】
たとえば、変更部56は、作成されたテーブル情報を用いて変更処理を行う。
【0119】
より詳細には、変更部56は、監視部52から異常通知を受けると、記憶部53に保存されているテーブル情報を参照して、対象機能部の対象プロトコルを確認する。
【0120】
そして、変更部56は、対象機能部が新たに使用すべき別のL4プロトコルまたはL7プロトコル(以下、変更プロトコルとも称する。)を選択し、対象機能部へ変更プロトコルの使用を要求する旨の変更通知T1を送信する。
【0121】
より詳細には、変更部56は、変更通知T1を含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して対象機能部へ送信する。
【0122】
具体的には、変更部56は、機能部111Cとのftpによる通信が異常である場合、記憶部53に保存されているテーブル情報を参照して、機能部111Cにおいてftp以外に使用可能なプロトコルがhttpであることを確認する。
【0123】
そして、変更部56は、変更プロトコルとしてhttpの使用を要求する旨の変更通知T1を含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して機能部111Cへ送信する。
【0124】
また、変更部56は、異常である対象機能部の通信相手の機能部111に、使用するプロトコルを変更させる。
【0125】
より詳細には、変更部56は、記憶部53に保存された、対象機能部のMACアドレスが送信元MACアドレスであるイーサネットフレームを確認し、当該イーサネットフレームに含まれる宛先MACアドレスを取得する。
【0126】
そして、変更部56は、宛先MACアドレスの機能部111(以下、相手機能部とも称する。)へ変更プロトコルの使用を要求する旨の変更通知T2を含むイーサネットフレームを生成し、生成したイーサネットフレームをスイッチ部51を介して相手機能部へ送信する。
【0127】
[動作の流れ]
車載通信システム301における各装置は、コンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリからそれぞれ読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
【0128】
図5は、本発明の実施の形態に係るスイッチ装置が、複数の機能部間の通信を監視する際の動作手順を定めたフローチャートである。
【0129】
図5を参照して、まず、スイッチ装置101は、機能部111から送信されたイーサネットフレームを受信する(ステップS101)。
【0130】
次に、スイッチ装置101は、受信したイーサネットフレームに含まれる送信元MACアドレス、プロトコル値およびアプリケーション情報を取得する(ステップS102)。
【0131】
次に、スイッチ装置101は、取得した送信元MACアドレス、プロトコル値およびアプリケーション情報に基づいて、対象機能部および対象プロトコルを特定する(ステップS103)。
【0132】
次に、スイッチ装置101は、特定した対象機能部および対象プロトコルを示すテーブル情報を作成または更新する(ステップS104)。
【0133】
次に、スイッチ装置101は、作成または更新したテーブル情報に従い、対象機能部へ対象プロトコルに基づいて管理用フレームを送信し(ステップS105)、対象機能部からの応答を待つ(ステップS106)。
【0134】
次に、スイッチ装置101は、対象機能部からの応答を確認できた場合(ステップS106でYES)、定期的に対象機能部へ対象プロトコルに基づいて管理用フレームを送信し(ステップS105)、対象機能部からの応答を待つ(ステップS106)。
【0135】
一方、スイッチ装置101は、対象機能部からの応答を確認できない場合(ステップS106でNO)、対象機能部以外の機能部111へ異常を通知する(ステップS107)。
【0136】
次に、スイッチ装置101は、テーブル情報を用いて、対象機能部が使用すべき新たなプロトコルを選択する(ステップS108)。
【0137】
次に、スイッチ装置101は、選択した新たなプロトコルの使用を要求する旨の変更通知T1を対象機能部へ送信する(ステップS109)。
【0138】
次に、スイッチ装置101は、対象機能部の通信相手の機能部111を検索する(ステップS110)。
【0139】
次に、スイッチ装置101は、対象機能部が使用する新たなプロトコルの使用を要求する旨の変更通知T2を対象機能部の通信相手の機能部111へ送信する(ステップS111)。
【0140】
次に、スイッチ装置101は、対象機能部へ変更後のプロトコルに従う管理用フレームを送信し(ステップS105)、対象機能部からの応答を待つ(ステップS106)。
【0141】
なお、本発明の実施の形態に係るスイッチ装置では、監視部52は、動作監視処理において、対象プロトコルに従う所定のイーサネットフレームを対象機能部へ送信する構成であるとしたが、これに限定するものではない。監視部52は、動作監視処理において、プロトコルの別とは無関係の特定のフレームを対象機能部へ送信する構成であってもよい。
【0142】
また、本発明の実施の形態に係るスイッチ装置では、変更部56は、対象機能部の異常が検知された場合、変更処理を行う構成であるとしたが、これに限定するものではない。変更部56は、対象機能部の異常が検知されても変更処理を行わない構成であってもよい。
【0143】
また、本発明の実施の形態に係るスイッチ装置では、作成部57は、対象機能部ごとの対象プロトコルを示すテーブル情報を作成する構成であるとしたが、これに限定するものではない。作成部57は、テーブル情報を作成しない構成であってもよい。この場合、変更部56は、たとえば、動作監視処理において対象機能部の異常が検知された場合、対象機能部が使用するプロトコルを所定のプロトコルに変更する。
【0144】
また、本発明の実施の形態に係るスイッチ装置では、変更部56は、変更プロトコルを選択し、対象機能部へ変更プロトコルの使用を要求する旨の変更通知を対象機能部へ送信する構成であるとしたが、これに限定するものではない。変更部56は、単に使用プロトコルを変更する旨の変更通知を送信する構成であってもよい。この場合、変更部56からの変更通知を受信した対象機能部は、たとえば、使用するプロトコルを他のプロトコルに変更する。
【0145】
また、本発明の実施の形態に係るスイッチ装置では、車両1は、自動運転を行う構成であるとしたが、これに限定するものではない。車両1は、自動運転を行わない構成であってもよい。
【0146】
また、本発明の実施の形態に係るスイッチ装置では、監視部52は、動作監視処理において、対象機能部からの応答を確認し、当該応答を確認できない場合、対象機能部の異常を検知する構成であるとしたが、これに限定するものではない。監視部52は、たとえば、機能部111からの応答フレームに含まれる、対象機能部の状態を示すHTTPステータスコードを確認し、当該HTTPステータスコードが車載通信システム301において割り当てられていないコードである場合、対象機能部の異常を検知する構成であってもよい。
【0147】
また、本発明の実施の形態に係るスイッチ装置101は、記憶部53を備える構成であるとしたが、これに限定するものではない。記憶部53は、たとえば、スイッチ装置101の外部に設けられる構成であってもよい。
【0148】
ところで、車載ECUの異常を検知するために、通信ゲートウェイから各種フレームを車載ECUへ送信し、当該車載ECUからの応答内容を確認する方法が考えられる。
【0149】
しかしながら、この方法では、通信ゲートウェイから送信されるフレームによって通信ゲートウェイおよび車載ECU間におけるトラフィックが増大し、また、通信ゲートウェイが車載ECUの応答内容の確認を完了するまでに時間を要する場合がある。
【0150】
これに対して、本発明の実施の形態に係るスイッチ装置では、スイッチ部51は、車両1に搭載される複数の機能部111間のイーサネットフレームを中継する。監視部52は、イーサネットフレームにおける所定データを監視する。特定部55は、監視部52の監視結果に基づいて、イーサネットフレームの送信元の機能部111である対象機能部が使用するプロトコルを特定する。監視部52は、特定部55によって特定されたプロトコルである対象プロトコルに従う対象機能部の動作を選択的に監視する動作監視処理を行う。
【0151】
このような構成により、スイッチ装置101は、各機能部111が使用するプロトコルを認識することができるため、未使用のプロトコルの監視が不要となる。これにより、異常の監視処理をより短時間で行うことが可能となる。
【0152】
したがって、本発明の実施の形態に係るスイッチ装置では、車載ネットワークにおける異常を効率よく検知することができる。
【0153】
また、本発明の実施の形態に係るスイッチ装置では、監視部52は、動作監視処理において、対象プロトコルに従う所定のイーサネットフレームを対象機能部へ送信する。
【0154】
このような構成により、未使用のプロトコルを監視するための所定のイーサネットフレームの送信が不要となり、動作確認処理に用いるイーサネットフレームの種類を削減することができるため、トラフィックおよび処理時間の増大を抑制することができる。
【0155】
また、本発明の実施の形態に係るスイッチ装置では、監視部52は、動作監視処理において、送信した所定のイーサネットフレームに対する対象機能部からの応答フレームを監視する。
【0156】
このような構成により、スイッチ装置101が、たとえば、使用中のプロトコルを用いた対象機能部との通信が不調または不能であることを検知することができる。
【0157】
また、本発明の実施の形態に係るスイッチ装置では、変更部56は、動作監視処理において対象機能部の異常が検知された場合、使用するプロトコルを対象機能部に変更させる変更処理を行う。
【0158】
このような構成により、たとえば機能部111において、特定のプロトコルの通信が不調または不能である場合、異なるプロトコルを使用して通信を継続させることができる。
【0159】
また、本発明の実施の形態に係るスイッチ装置では、作成部57は、機能部111ごとの対象プロトコルを示すテーブル情報を作成する。変更部56は、作成部57によって作成されたテーブル情報を用いて変更処理を行う。
【0160】
このような構成により、機能部111において使用した実績があるプロトコルを特定することができるため、当該機能部111において使用可能なプロトコルを容易に特定することができ、プロトコルの変更を効率よく行うことができる。
【0161】
また、本発明の実施の形態に係るスイッチ装置では、記憶部53は、作成部57によって作成されたテーブル情報を保存する。作成部57は、記憶部53に保存されているテーブル情報を更新する。変更部56は、記憶部53に保存されているテーブル情報を用いて変更処理を行う。
【0162】
このような構成により、スイッチ装置101が、たとえば、機能部111による新たなプロトコルの使用に応じて当該プロトコルを特定することができるため、機能部111の異常を検知する精度を向上させることができる。
【0163】
また、本発明の実施の形態に係るスイッチ装置では、車両1は、自動運転を行う。
【0164】
このような構成により、車両1において、より短時間で監視処理を行うことができるため、自動運転を安定して継続することができる。
【0165】
また、本発明の実施の形態に係るスイッチ装置における監視方法では、まず、イーサネットフレームにおける所定データを監視する。次に、所定データの監視結果に基づいて、イーサネットフレームの送信元の機能部111である対象機能部が使用するプロトコルを特定する。次に、特定したプロトコルである対象プロトコルに従う対象機能部の動作を選択的に監視する動作監視処理を行う。
【0166】
このような構成により、スイッチ装置101は、各機能部111が使用するプロトコルを認識することができるため、未使用のプロトコルの監視が不要となる。これにより、異常の監視処理をより短時間で行うことが可能となる。
【0167】
したがって、本発明の実施の形態に係るスイッチ装置における監視方法では、車載ネットワークにおける異常を効率よく検知することができる。
【0168】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0169】
以上の説明は、以下に付記する特徴を含む。
[付記1]
車両に搭載される複数の機能部間のイーサネットフレームを中継するスイッチ部と、
前記イーサネットフレームにおける所定データを監視する監視部と、
前記監視部の監視結果に基づいて、前記イーサネットフレームの送信元の前記機能部である対象機能部が使用するプロトコルを特定する特定部とを備え、
前記監視部は、前記特定部によって特定された前記プロトコルである対象プロトコルに従う前記対象機能部の動作を選択的に監視する動作監視処理を行い
前記イーサネットフレームにおける所定データは、IPヘッダのProtcolフィールドの値およびTCP/UDPヘッダのDestination Portフィールドの値のうちの少なくともいずれか一方であり、
前記プロトコルは、TCP、UDP、ftpおよびhttpである、スイッチ装置。
【符号の説明】
【0170】
1 車両
10 イーサネットケーブル
51 スイッチ部
52 監視部
53 記憶部
54 通信ポート
55 特定部
56 変更部
57 作成部
101 スイッチ装置
111 機能部
301 車載通信システム