(58)【調査した分野】(Int.Cl.,DB名)
前記対応情報は、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と通信プロトコルと送信先MACアドレスとの対応関係を示す、請求項1に記載のスイッチ装置。
前記値は、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と通信プロトコルとを一意に決定する値である、請求項2に記載のスイッチ装置。
【発明を実施するための形態】
【0018】
最初に、本発明の実施形態の内容を列記して説明する。
【0019】
(1)本発明の実施の形態に係るスイッチ装置は、車載ネットワークにおけるフローデータを中継するスイッチ装置であって、少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と送信先MACアドレスとの対応関係を示す対応情報を取得する取得部と、自己の前記スイッチ装置が受信したフレームであって前記フローデータを構成するフレームに含まれる送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報に基づいて、前記対応情報から前記送信先MACアドレスを取得し、取得した前記送信先MACアドレスを前記フレームに含めて送信する送信処理を行う中継部とを備える。
【0020】
このような構成により、たとえば、IPパケットの送信先のサブネットを特定し、特定したサブネットにおけるIPアドレスとMACアドレスとの対応テーブルからフレームに含めるべき送信先MACアドレスを取得する場合と比べて、送信先MACアドレスを対応情報から迅速に取得することができるので、レイヤ3の中継処理を高速に行うことができる。したがって、車載ネットワークにおけるIPパケットの中継処理を効率よく行うことができる。これにより、外部装置と車載機器との間におけるIP通信を高速化することができる。
【0021】
(2)本発明の実施の形態に係るスイッチ装置は、車載ネットワークにおけるフローデータを中継するスイッチ装置であって、少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスとの対応関係を示す対応情報を取得する取得部と、自己の前記スイッチ装置が受信したフレームであって前記フローデータを構成するフレーム、に含まれる値であって前記フレームの送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報を一意に決定する値に対応する前記送信先MACアドレスを前記対応情報から取得し、取得した前記送信先MACアドレスを前記フレームに含めて送信する送信処理を行う中継部とを備える。
【0022】
このように、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値を用いる構成により、対応情報を簡素化することができる。また、たとえば、IPパケットの送信先のサブネットを特定し、特定したサブネットにおけるIPアドレスとMACアドレスとの対応テーブルからフレームに含めるべき送信先MACアドレスを取得する場合と比べて、送信先MACアドレスを対応情報から迅速に取得することができるので、レイヤ3の中継処理を高速に行うことができる。したがって、車載ネットワークにおけるIPパケットの中継処理を効率よく行うことができる。これにより、外部装置と車載機器との間におけるIP通信を高速化することができる。
【0023】
(3)好ましくは、前記スイッチ装置は、さらに、前記対応情報を固定的に記憶する記憶部を備える。
【0024】
このように、たとえばスイッチ装置および車載機器のネットワーク構成が固定された環境において、予め決まっている対応関係を示す対応情報を固定的に記憶する構成により、フレームを受信するごとに対応関係を動的に作成して記憶する構成と比べて、フレームに含めるべき送信先MACアドレスを効率よく取得することができる。また、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値の重複を予めチェックすることができるので、当該値の重複のない適切な対応情報を準備することができる。
【0025】
(4)好ましくは、前記スイッチ装置は、さらに、自己の前記スイッチ装置が受信する前記フレームの検査処理を行う検査部を備え、前記検査部は、前記フローデータを構成する最初の前記フレームが前記検査処理に合格した場合、2番目以降の前記フレームの前記検査処理を行わず、前記中継部は、少なくとも前記2番目以降の前記フレームに対して前記送信処理を行う。
【0026】
このような構成により、最初のフレームでセキュリティを確保し、セキュリティを確保できた2番目以降のフレームについては、検査処理を省略して送信処理を行うことで、レイヤ3の中継処理を高速化することができる。
【0027】
(5)より好ましくは、前記スイッチ装置は、さらに、自己の前記スイッチ装置が受信した前記フレームを前記検査部へ出力するか、前記中継部へ出力するかを切り替える切替部を備え、前記切替部は、前記最初のフレームを前記検査部へ出力し、前記最初のフレームが前記検査処理に合格した場合、前記2番目以降のフレームを前記中継部へ出力する。
【0028】
このような構成により、受信したフレームを、フローデータにおけるフレームの順番、およびフレームの検査結果に応じて検査部および中継部のいずれか一方へ適切に送り込むことができる。
【0029】
(6)より好ましくは、前記スイッチ装置は、第1の半導体集積回路および第2の半導体集積回路を備え、前記第1の半導体集積回路は、前記検査部を含み、前記第2の半導体集積回路は、前記中継部および前記切替部を含み、外部からの前記フレームの受信および外部への前記フレームの送信を行う。
【0030】
このような構成により、たとえばMPUである第1の半導体集積回路に処理負荷が集中することを防ぐことができる。また、第1の半導体集積回路を高速化せずに、たとえばL2スイッチである第2の半導体集積回路を高速化した場合においても、L3レベルの処理の大部分を第2の半導体集積回路において行うことができるので、MPUを高速化するためのコスト上昇を抑制しながら外部装置と車載機器との間におけるIP通信を高速化することができる。
【0031】
(7)より好ましくは、前記スイッチ装置は、第1の半導体集積回路および第2の半導体集積回路を備え、前記第1の半導体集積回路は、前記検査部、前記中継部および前記切替部を含み、前記第2の半導体集積回路は、外部からの前記フレームの受信および外部への前記フレームの送信を行う。
【0032】
このような構成により、L3レベルの処理をたとえばMPUである第1の半導体集積回路に集中させて第2の半導体集積回路における処理をL2レベルに限定することができるので、市販のL2スイッチの集積回路を第2の半導体集積回路としてそのまま用いることができる。これにより、L2スイッチのコスト上昇を抑制しながら外部装置と車載機器との間におけるIP通信を高速化することができる。
【0033】
(8)好ましくは、前記対応情報は、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と通信プロトコルと送信先MACアドレスとの対応関係を示す。
【0034】
このような構成により、送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報が同じであるが通信プロトコルの異なるフローデータを区別することができるので、フローデータの中継処理をきめ細かく管理することができる。
【0035】
(9)より好ましくは、前記値は、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と通信プロトコルとを一意に決定する値である。
【0036】
このような構成により、送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報が同じであるが通信プロトコルの異なるフローデータを区別することができるので、フローデータの中継処理をきめ細かく管理することができる。
【0037】
(10)本発明の実施の形態に係る通信制御方法は、車載ネットワークにおけるフローデータを中継するスイッチ装置における通信制御方法であって、少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と送信先MACアドレスとの対応関係を示す対応情報を取得するステップと、自己の前記スイッチ装置が受信したフレームであって前記フローデータを構成するフレームに含まれる送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報に基づいて、前記対応情報から前記送信先MACアドレスを取得し、取得した前記送信先MACアドレスを前記フレームに含めて送信する送信処理を行うステップとを含む。
【0038】
このような構成により、たとえば、IPパケットの送信先のサブネットを特定し、特定したサブネットにおけるIPアドレスとMACアドレスとの対応テーブルからフレームに含めるべき送信先MACアドレスを取得する場合と比べて、送信先MACアドレスを対応情報から迅速に取得することができるので、レイヤ3の中継処理を高速に行うことができる。したがって、車載ネットワークにおけるIPパケットの中継処理を効率よく行うことができる。これにより、外部装置と車載機器との間におけるIP通信を高速化することができる。
【0039】
(11)本発明の実施の形態に係る通信制御方法は、車載ネットワークにおけるフローデータを中継するスイッチ装置における通信制御方法であって、少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスとの対応関係を示す対応情報を取得するステップと、自己の前記スイッチ装置が受信したフレームであって前記フローデータを構成するフレーム、に含まれる値であって前記フレームの送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報を一意に決定する値に対応する前記送信先MACアドレスを前記対応情報から取得し、取得した前記送信先MACアドレスを前記フレームに含めて送信する送信処理を行うステップとを含む。
【0040】
このように、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値を用いる構成により、対応情報を簡素化することができる。また、たとえば、IPパケットの送信先のサブネットを特定し、特定したサブネットにおけるIPアドレスとMACアドレスとの対応テーブルからフレームに含めるべき送信先MACアドレスを取得する場合と比べて、送信先MACアドレスを対応情報から迅速に取得することができるので、レイヤ3の中継処理を高速に行うことができる。したがって、車載ネットワークにおけるIPパケットの中継処理を効率よく行うことができる。これにより、外部装置と車載機器との間におけるIP通信を高速化することができる。
【0041】
(12)本発明の実施の形態に係る通信制御プログラムは、車載ネットワークにおけるフローデータを中継するスイッチ装置において用いられる通信制御プログラムであって、コンピュータを、少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と送信先MACアドレスとの対応関係を示す対応情報を取得する取得部と、自己の前記スイッチ装置が受信したフレームであって前記フローデータを構成するフレームに含まれる送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報に基づいて、前記対応情報から前記送信先MACアドレスを取得し、取得した前記送信先MACアドレスを前記フレームに含めて送信する送信処理を行う中継部、として機能させるためのプログラムである。
【0042】
このような構成により、たとえば、IPパケットの送信先のサブネットを特定し、特定したサブネットにおけるIPアドレスとMACアドレスとの対応テーブルからフレームに含めるべき送信先MACアドレスを取得する場合と比べて、送信先MACアドレスを対応情報から迅速に取得することができるので、レイヤ3の中継処理を高速に行うことができる。したがって、車載ネットワークにおけるIPパケットの中継処理を効率よく行うことができる。これにより、外部装置と車載機器との間におけるIP通信を高速化することができる。
【0043】
(13)本発明の実施の形態に係る通信制御プログラムは、車載ネットワークにおけるフローデータを中継するスイッチ装置において用いられる通信制御プログラムであって、コンピュータを、少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスとの対応関係を示す対応情報を取得する取得部と、自己の前記スイッチ装置が受信したフレームであって前記フローデータを構成するフレーム、に含まれる値であって前記フレームの送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報を一意に決定する値に対応する前記送信先MACアドレスを前記対応情報から取得し、取得した前記送信先MACアドレスを前記フレームに含めて送信する送信処理を行う中継部、として機能させるためのプログラムである。
【0044】
このように、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値を用いる構成により、対応情報を簡素化することができる。また、たとえば、IPパケットの送信先のサブネットを特定し、特定したサブネットにおけるIPアドレスとMACアドレスとの対応テーブルからフレームに含めるべき送信先MACアドレスを取得する場合と比べて、送信先MACアドレスを対応情報から迅速に取得することができるので、レイヤ3の中継処理を高速に行うことができる。したがって、車載ネットワークにおけるIPパケットの中継処理を効率よく行うことができる。これにより、外部装置と車載機器との間におけるIP通信を高速化することができる。
【0045】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0046】
<第1の実施の形態>
[構成および基本動作]
図1は、本発明の第1の実施の形態に係る車載通信システムの構成を示す図である。
【0047】
図1を参照して、対象車両1は、車載通信システム301を搭載する。車載通信システム301は、スイッチ装置101と、3つの車載機器111Aと、2つの車載機器111Bとを備える。以下、車載機器111Aおよび111Bの各々を、車載機器111とも称する。
【0048】
スイッチ装置101が、3つの車載機器111Aおよび2つの車載機器111Bとそれぞれ接続されることにより車載ネットワーク12が形成される。
【0049】
車載機器111は、たとえば、TCU(Telematics Communication Unit)、自動運転ECU(Electronic Control Unit)、カメラ、レーダ装置およびナビゲーション装置等である。
【0050】
TCUは、LTE(Long Term Evolution)または3G等の通信規格に従って無線基地局装置と無線通信を行うことにより、対象車両1の外部におけるサーバ等と通信を行うことが可能である。
【0051】
自動運転ECUは、対象車両1の自動運転制御を行う。カメラは、対象車両1の周囲の画像または映像を撮影する。レーダ装置は、たとえばミリ波レーダであり、対象車両1の周囲における物体を検知する。ナビゲーション装置は、たとえば、TCU経由で対象車両1の外部におけるマップサーバからマップ情報を受信し、受信したマップ情報の示すマップを表示する。
【0052】
車載機器111間において、たとえば、IP/TCP(Transmission Control Protocol)およびIP/UDP(User Datagram Protocol)の通信プロトコルに従って、IPパケットの送受信が行われる。
【0053】
また、スイッチ装置101および車載機器111間において、たとえば、イーサネット(登録商標)の通信プロトコルに従って、IPパケットを含むイーサネットフレームの送受信が行われる。
【0054】
より詳細には、スイッチ装置101は、2つの車載機器111間で送受信されるIPパケットを中継する。
【0055】
たとえば、車載機器111Aおよび111Bは、互いに異なるサブネットに属している。スイッチ装置101は、車載機器111Aと111Bとの間で送受信されるIPパケットに対してL3スイッチとして機能し、当該IPパケットを中継する。
【0056】
また、スイッチ装置101は、車載機器111Aと他の車載機器111Aとの間で送受信されるIPパケット、および車載機器111Bと他の車載機器111Bとの間で送受信されるIPパケットに対してL2スイッチとして機能し、当該IPパケットを中継する。
【0057】
[イーサネットフレームの構成]
図2は、本発明の第1の実施の形態に係る車載ネットワークにおいて送受信されるイーサネットフレームの構成の一例を示す図である。
【0058】
図2を参照して、イーサネットフレームは、イーサネットヘッダと1つのIPパケットとを含む。イーサネットフレームにおいてIPパケットが含まれる領域が、イーサネットフレームのペイロードである。
【0059】
IPパケットは、IPヘッダと1つのTCPパケットまたは1つのUDPパケットとを含む。IPパケットにおいてTCPパケットまたはUDPパケットが含まれる領域が、IPパケットのペイロードである。
【0060】
TCPパケットまたはUDPパケットは、TCPヘッダまたはUDPヘッダとデータ領域とを含む。TCPパケットまたはUDPパケットにおけるデータ領域が、TCPパケットまたはUDPパケットのペイロードである。
【0061】
イーサネットヘッダには、送信先MAC(Media Access Control)アドレスおよび送信元MACアドレスが含まれる。
【0062】
IPヘッダには、送信先IPアドレスおよび送信元IPアドレスが含まれる。また、IPヘッダには、通信プロトコルの種類を示すプロトコル番号が含まれる。たとえば、TCPの場合、通信プロトコル番号は6である。UDPの場合、通信プロトコル番号は17である。また、IPヘッダには、フラグフィールドおよびフラグオフセットフィールドが含まれる。フラグフィールドおよびフラグオフセットフィールドの詳細は後述する。
【0063】
TCPヘッダまたはUDPヘッダには、送信先ポート番号および送信元ポート番号が含まれる。
【0064】
[フローデータ]
再び
図1を参照して、スイッチ装置101は、車載ネットワーク12におけるフローデータを中継する。
【0065】
詳細には、車載機器111は、たとえば、サイズの大きいデータを他の車載機器111へ送信する場合、当該データを複数に分割する。車載機器111によって分割されたデータをそれぞれ含む複数のIPパケットによりフローデータが構成される。車載機器111は、フローデータを他の車載機器111へ送信する。
【0066】
より詳細には、IPヘッダにおけるフラグフィールドには、フローデータを構成するIPパケットのうちの、途中のIPパケットであることを示すフラグ(以下、途中フラグとも称する。)が含まれる。
【0067】
途中フラグがゼロの場合、当該IPパケットは、フローデータのうちの最後のIPパケット(以下、最終IPパケットとも称する。)であるか、または分割されたデータを含まないIPパケットである。
【0068】
途中フラグが1の場合、当該IPパケットは、フローデータのうちの最終IPパケット以外のIPパケット、具体的には1番目のIPパケット(以下、先頭IPパケットとも称する。)および2番目のIPパケット等である。
【0069】
フラグオフセットフィールドは、当該IPパケットに格納されるデータの位置を示す値を含む。たとえば、先頭IPパケットでは、フラグオフセットフィールドの値はゼロである。
【0070】
したがって、途中フラグが1であり、かつフラグオフセットフィールドの値がゼロの場合、当該IPパケットは先頭IPパケットである。また、途中フラグが1であり、かつフラグオフセットフィールドの値がゼロ以外の場合、当該IPパケットは、フローデータから最終IPパケットを除いたうちの2番目以降のIPパケット(以下、中間IPパケットとも称する。)である。また、途中フラグがゼロであり、かつフラグオフセットフィールドの値がゼロ以外の場合、当該IPパケットは、最終IPパケットである。
【0071】
図3は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置の構成を示す図である。
【0072】
図3を参照して、スイッチ装置101は、第1の半導体集積回路51と、第2の半導体集積回路52と、複数の通信ポート54とを備える。
【0073】
スイッチ装置101における通信ポート54は、たとえばイーサネットケーブルを接続可能な端子である。なお、通信ポート54は、集積回路の端子であってもよい。
【0074】
複数の通信ポート54の各々は、たとえば、イーサネットケーブルを介して複数の車載機器111のうちのいずれか1つに接続されている。
【0075】
図4は、本発明の第1の実施の形態に係るスイッチ装置における第2の半導体集積回路の構成を示す図である。
【0076】
図4を参照して、第2の半導体集積回路52は、通信部21と、中継部22と、記憶部23と、切替部24と、複数のポート部25とを含む。
【0077】
図5は、本発明の第1の実施の形態に係る第2の半導体集積回路におけるポート部の構成を示す図である。
【0078】
図5を参照して、ポート部25は、受信部31と、フィルタ部32と、送信部33とを含む。
【0079】
図6は、本発明の第1の実施の形態に係るスイッチ装置における第1の半導体集積回路の構成を示す図である。
【0080】
図6を参照して、第1の半導体集積回路51は、通信部41と、経路検索部42と、指示部43と、検査部44とを含む。
【0081】
図4および
図5を参照して、第2の半導体集積回路52は、たとえば、L2スイッチであり、外部からのイーサネットフレームの受信および外部へのイーサネットフレームの送信を行う。
【0082】
より詳細には、第2の半導体集積回路52におけるポート部25は、通信ポート54に対応して設けられる。
【0083】
ポート部25における送信部33は、切替部24からイーサネットフレームを受けると、受けたイーサネットフレームを対応の通信ポート54経由で宛先の車載機器111へ送信する。
【0084】
受信部31は、たとえば、バッファを有し、車載機器111から対応の通信ポート54経由でイーサネットフレームを受信すると、受信したイーサネットフレームを当該バッファに保存し、保存したイーサネットフレームをフィルタ部32へ出力する。
【0085】
また、受信部31は、たとえば、受信データの伝送速度が所定の制限値より大きい場合、伝送速度の低下要求を送信部33経由で接続先の車載機器111へ送信することにより、受信データの伝送速度を制限する。
【0086】
フィルタ部32は、受信部31からイーサネットフレームを受けると、所定条件に基づいて、受けたイーサネットフレームを切替部24へ出力するか、または破棄するかを判断する。
【0087】
より詳細には、フィルタ部32は、たとえば、ユーザによって設定されたACL(Access Control List)に従って、イーサネットフレームを切替部24へ出力するか、または破棄するかを判断する。
【0088】
図7は、本発明の第1の実施の形態に係る切替部において用いられるARLテーブルの一例を示す図である。
【0089】
図7を参照して、ARL(Address Resolution Logic)テーブルTablは、送信先MACアドレスと出力先との対応関係を示す。なお、車載ネットワーク12においてVLAN(Virtual Local Area Network)を設定する場合、ARLテーブルTab1は、送信先MACアドレスとVLANのIDと出力先との対応関係を示してもよい。
【0090】
出力先は、たとえば論理ポート番号である。この論理ポート番号は、たとえば、通信ポート54の物理番号、第1の半導体集積回路51および中継部22のいずれか1つを示す。
【0091】
具体的には、ゼロ〜6の論理ポート番号は、出力先が通信ポート54であることを示す。7の論理ポート番号は、出力先が中継部22であることを示す。8の論理ポート番号は、出力先が第1の半導体集積回路51であることを示す。「MAC−DA8」は、たとえばスイッチ装置101のMACアドレス(以下、スイッチアドレスとも称する。)である。
【0092】
なお、
図7では、「MAC−DA8」に対応する論理ポート番号は8であるが、7に書き換えられることがある。当該論理ポート番号の書き換えについては後述する。
【0093】
切替部24は、たとえば、自己のスイッチ装置101が受信したイーサネットフレームを検査部44(
図6参照)へ出力するか、中継部22へ出力するかを切り替える。また、切替部24は、たとえば、最初のイーサネットフレームを検査部44へ出力し、最初のイーサネットフレームが検査処理に合格した場合、2番目以降のフレームを中継部22へ出力する。
【0094】
(L2レベルで中継可能なイーサネットフレームの処理)
切替部24は、たとえば、ARLテーブルTab1を保持しており、ポート部25からイーサネットフレームを受けると、受けたイーサネットフレームにおけるMACヘッダに含まれる送信先MACアドレスを確認する。
【0095】
切替部24は、ARLテーブルTab1を参照し、確認した送信先MACアドレスに対応する出力先をARLテーブルTab1から取得する。
【0096】
具体的には、切替部24は、たとえば、L2レベルで中継可能なイーサネットフレームについては、出力先としてゼロ〜6のうちのいずれかの論理ポート番号をARLテーブルTab1から取得する。
【0097】
そして、切替部24は、当該イーサネットフレームにおけるMACヘッダに含まれる送信元MACアドレスをスイッチアドレスに書き換えた後、取得した論理ポート番号に対応するポート部25へ当該イーサネットフレームを出力する。
【0098】
(最初のイーサネットフレームの処理)
切替部24は、たとえば、ポート部25からイーサネットフレームを受けて、受けたイーサネットフレームにおけるMACヘッダに含まれる送信先MACアドレスがスイッチアドレスすなわち「MAC−DA8」である場合、当該イーサネットフレームがL3レベルでの中継処理を要するイーサネットフレームであることを認識する。
【0099】
そして、切替部24は、イーサネットフレームに含まれるIPパケットにおける途中フラグの値およびフラグオフセットの値を確認する。
【0100】
切替部24は、確認した各値に基づいて、イーサネットフレームが先頭IPパケットを含むか否かを判定する。
【0101】
切替部24は、イーサネットフレームが先頭IPパケットを含むと判定した場合、当該イーサネットフレームが最初のイーサネットフレームであると認識する。
【0102】
そして、切替部24、ARLテーブルTab1における「MAC−DA8」に対応する出力先が7である場合、8に書き換える。
【0103】
切替部24は、出力先として8の論理ポート番号をARLテーブルTab1から取得し、取得した論理ポート番号に対応する通信部21へ当該イーサネットフレームを出力する。
【0104】
通信部21は、第1の半導体集積回路51とデータの送受信を行うことが可能である。より詳細には、通信部21は、切替部24からイーサネットフレームを受けると、受けたイーサネットフレームを第1の半導体集積回路51へ送信する。
【0105】
再び
図6を参照して、第1の半導体集積回路51における通信部41は、第2の半導体集積回路52とデータの送受信を行うことが可能である。より詳細には、通信部41は、第2の半導体集積回路52からイーサネットフレームを受信すると、受信したイーサネットフレームを検査部44へ出力する。
【0106】
検査部44は、たとえば、自己のスイッチ装置101が受信するイーサネットフレームの検査処理を行う。また、検査部44は、たとえば、フローデータを構成する最初のイーサネットフレームが検査処理に合格した場合、2番目以降のイーサネットフレームの検査処理を行わない。
【0107】
より詳細には、検査部44は、ファイアウォールとして機能し、通信部41からイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットの検査処理を行う。
【0108】
具体的には、検査部44は、IPパケットについてSPI(Stateful Packet Inspection)を行い、異常を発見した場合、当該IPパケットを含むイーサネットフレームを破棄する。
【0109】
一方、検査部44は、異常を発見しない場合、当該IPパケットを含むイーサネットフレームを経路検索部42へ出力する。
【0110】
経路検索部42は、たとえば、IPパケットの送信経路を検索するとともに、当該IPパケットのヘッダに格納されたTTL(Time To Live)値を1つ減算する。
【0111】
より詳細には、経路検索部42は、たとえば、宛先ネットワークと送出インタフェースとの対応関係を示すルーティングテーブルを保持している。また、経路検索部42は、たとえば、IPアドレスとMACアドレスとの対応関係を示すARP(Address Resolution Protocol)テーブルを送出インタフェースごとに保持している。
【0112】
経路検索部42は、検査部44からイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットから送信先IPアドレスを取得し、たとえば、取得した送信先IPアドレスに対してサブネットマスク計算を行うことにより宛先ネットワークを特定する。
【0113】
経路検索部42は、ルーティングテーブルを参照し、特定した宛先ネットワークに対応する送出インタフェースを特定する。
【0114】
そして、経路検索部42は、特定した送出インタフェースに対応するARPテーブルを参照し、送信先IPアドレスに対応するMACアドレス(以下、検索アドレスとも称する。)を当該ARPテーブルから取得する。
【0115】
経路検索部42は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、それぞれ検索アドレスおよびスイッチアドレスに書き換え、当該イーサネットフレームを指示部43へ出力する。
【0116】
指示部43は、切替部24においてL3レベルでの中継処理を要するイーサネットフレームの出力先を、自己の第1の半導体集積回路51から中継部22に切り替えるための指示情報を作成し、作成した指示情報を通信部41経由で第2の半導体集積回路52へ送信する。
【0117】
より詳細には、指示部43は、経路検索部42からイーサネットフレームを受けると、ARLテーブルTab1における「MAC−DA8」に対応する出力先を8から7に書き換えることを含む指示情報を作成する。
【0118】
指示部43は、作成した指示情報をイーサネットフレームに付して、通信部41経由で第2の半導体集積回路52へ送信する。
【0119】
再び
図4を参照して、第2の半導体集積回路52における切替部24は、通信部21経由で第1の半導体集積回路51から指示情報の付されたイーサネットフレームを受信すると、受信したイーサネットフレームにおけるMACヘッダに含まれる送信先MACアドレスを確認する。
【0120】
切替部24は、ARLテーブルTab1を参照し、確認した送信先MACアドレスすなわち検索アドレスに対応する出力先をARLテーブルTab1から取得する。
【0121】
この場合、切替部24は、たとえば、出力先としてゼロ〜6のうちのいずれかの論理ポート番号をARLテーブルTab1から取得し、取得した論理ポート番号に対応するポート部25へ当該イーサネットフレームを出力する。
【0122】
また、切替部24は、第1の半導体集積回路51から受信した指示情報に従って、ARLテーブルTab1における「MAC−DA8」に対応する出力先を8から7に書き換える。
【0123】
(2番目以降のイーサネットフレームの処理)
切替部24は、たとえば、ポート部25からイーサネットフレームを受けて、受けたイーサネットフレームがL3レベルでの中継処理を要するイーサネットフレームであることを認識すると、当該イーサネットフレームに含まれるIPパケットにおける途中フラグの値およびフラグオフセットの値を確認する。
【0124】
切替部24は、確認した各値に基づいて、イーサネットフレームが中間IPパケットまたは最終IPパケットを含むと判定すると、出力先として7の論理ポート番号をARLテーブルTab1から取得し、取得した論理ポート番号に対応する中継部22へ当該イーサネットフレームを出力する。
【0125】
図8は、本発明の第1の実施の形態に係るスイッチ装置における記憶部が保持する変換用テーブルの一例を示す図である。
【0126】
図8を参照して、記憶部23は、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報と送信先MACアドレスと送信元MACアドレスとの対応関係を示す対応情報を保持する。また、記憶部23は、たとえば対応情報を固定的に記憶する。
【0127】
具体的には、記憶部23は、対応情報の一例である変換用テーブルTab2を記憶する。送信先ポート番号および送信元ポート番号は、それぞれ送信先ポート情報および送信元ポート情報の一例である。
【0128】
たとえば、車載ネットワーク12では接続トポロジおよびIPアドレスが固定的に運用されるので、L3中継のすべての組み合わせを予め決定することが可能である。変換用テーブルTab2は、たとえば、車載ネットワーク12におけるL3中継の可能な、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号のすべての組み合わせを含む。
【0129】
再び
図4を参照して、中継部22は、自己のスイッチ装置101が受信したイーサネットフレームであってフローデータを構成するイーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート情報および送信元ポート情報に基づいて、対応情報から送信先MACアドレスを取得する。
【0130】
そして、中継部22は、取得した送信先MACアドレスをイーサネットフレームに含めて送信する送信処理を行う。詳細には、中継部22は、たとえば、2番目以降のイーサネットフレームに対して送信処理を行う。
【0131】
より詳細には、中継部22は、切替部24から2番目以降のイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットの内容を確認する。具体的には、中継部22は、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を確認する。
【0132】
そして、中継部22は、変換用テーブルTab2を参照し、確認した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号に対応する送信先MACアドレスおよび送信元MACアドレスを変換用テーブルTab2から取得する。
【0133】
ここでは、送信先MACアドレスおよび送信元MACアドレスは、それぞれ検索アドレスおよびスイッチアドレスである。
【0134】
中継部22は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、取得した検索アドレスおよびスイッチアドレスにそれぞれ書き換え、イーサネットフレームを切替部24へ出力する。
【0135】
切替部24は、イーサネットフレームを中継部22から受けると、受けたイーサネットフレームにおけるMACヘッダに含まれる送信先MACアドレスを確認する。
【0136】
切替部24は、ARLテーブルTab1を参照し、確認した送信先MACアドレスすなわち検索アドレスに対応する出力先をARLテーブルTab1から取得する。
【0137】
この場合、切替部24は、上述の最初のイーサネットフレームの場合と同じ論理ポート番号を出力先としてARLテーブルTab1から取得し、取得した論理ポート番号に対応するポート部25経由で宛先の車載機器111へイーサネットフレームを送信する。
【0138】
[スイッチ装置101の変形例]
図9は、本発明の第1の実施の形態に係るスイッチ装置の変形例における記憶部が保持する変換用テーブルの一例を示す図である。
【0139】
図9を参照して、記憶部23は、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスと送信元MACアドレスとの対応関係を示す対応情報を保持する。また、記憶部23は、たとえば対応情報を固定的に記憶する。
【0140】
具体的には、記憶部23は、対応情報の一例である変換用テーブルTab3を記憶する。ハッシュ値は、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報とを一意に決定する値の一例である。
【0141】
より詳細には、ハッシュ値は、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を検索キーとして、所定の計算手順P1を用いて生成される値である。
【0142】
変換用テーブルTab3は、たとえば、車載ネットワーク12におけるL3中継の可能な、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号のすべての組み合わせについてのハッシュ値を含む。
【0143】
また、変換用テーブルTab3におけるハッシュ値は、値が重複しないように予めチェックされる。たとえば、重複するハッシュ値が存在する場合、他の計算手順を用いて新たなハッシュ値を生成し、変換用テーブルTab3におけるハッシュ値が重複しないようにする。
【0144】
再び
図4を参照して、中継部22は、自己のスイッチ装置101が受信したイーサネットフレームであってフローデータを構成するイーサネットフレーム、に含まれる値であってイーサネットフレームの送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート情報および送信元ポート情報を一意に決定する値に対応する送信先MACアドレスを対応情報から取得する。
【0145】
そして、中継部22は、取得した送信先MACアドレスをイーサネットフレームに含めて送信する送信処理を行う。詳細には、中継部22は、たとえば、少なくとも2番目以降のイーサネットフレームに対して送信処理を行う。
【0146】
(2番目以降のイーサネットフレームの処理)
より詳細には、中継部22は、切替部24から2番目以降のイーサネットフレームを受けると、受けたイーサネットフレームから送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を取得する。
【0147】
中継部22は、取得した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を検索キーとして、計算手順P1を用いてハッシュ値を生成する。
【0148】
そして、中継部22は、変換用テーブルTab3を参照し、生成したハッシュ値に対応する送信先MACアドレスおよび送信元MACアドレスを変換用テーブルTab3から取得する。
【0149】
ここでは、送信先MACアドレスおよび送信元MACアドレスは、それぞれ検索アドレスおよびスイッチアドレスである。
【0150】
中継部22は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、取得した検索アドレスおよびスイッチアドレスにそれぞれ書き換え、イーサネットフレームを切替部24へ出力する。
【0151】
[動作の流れ]
車載通信システム301における各装置は、コンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のシーケンス図またはフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリからそれぞれ読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
【0152】
図10は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置がイーサネットフレームの中継処理を行う際の動作手順を定めたフローチャートである。
【0153】
図10を参照して、まず、スイッチ装置101は、車載機器111からイーサネットフレームを受信するまで待機する(ステップS102でNO)。
【0154】
そして、スイッチ装置101は、車載機器111からイーサネットフレームを受信すると(ステップS102でYES)、受信したイーサネットフレームがL2レベルで中継することが可能な場合(ステップS104でYES)、以下の処理を行う。
【0155】
すなわち、スイッチ装置101は、イーサネットフレームの送信元MCAアドレスをスイッチアドレスに書き換えた後、当該イーサネットフレームを宛先の車載機器111へ送信する(ステップS116)。
【0156】
一方、スイッチ装置101は、受信したイーサネットフレームがL3レベルでの中継処理を要するイーサネットフレームである場合(ステップS104でNO)、イーサネットフレームが最初のイーサネットフレームであるか否かを判定する(ステップS106)。
【0157】
スイッチ装置101は、イーサネットフレームが2番目以降のイーサネットフレームであると判定すると(ステップS106でNO)、後述する高速中継処理を行う(ステップS118)。
【0158】
一方、スイッチ装置101は、イーサネットフレームが最初のイーサネットフレームであると判定すると(ステップS106でYES)、イーサネットフレームの検査処理を行う(ステップS108)。
【0159】
次に、スイッチ装置101は、イーサネットフレームが検査処理に合格しなかった場合(ステップS110でNO)、当該イーサネットフレームを破棄する(ステップS120)。
【0160】
一方、スイッチ装置101は、イーサネットフレームが検査処理に合格した場合(ステップS110でYES)、イーサネットフレームに含まれるIPパケットの経路を検索するとともに、当該IPパケットのヘッダに格納されたTTL値を1つ減算する(ステップS112)。
【0161】
次に、スイッチ装置101は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、検索結果に基づく検索アドレス、およびスイッチアドレスにそれぞれ書き換えた後、当該イーサネットフレームを宛先の車載機器111へ送信する(ステップS114)。
【0162】
次に、スイッチ装置101は、イーサネットフレームを宛先の車載機器111へ送信するか(ステップS114およびS116)、高速中継処理を行うか(ステップS118)、またはイーサネットフレームを破棄すると(ステップS120)、車載機器111から新たなイーサネットフレームを受信するまで待機する(ステップS102でNO)。
【0163】
図11は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置が高速中継処理を行う際の動作手順を定めたフローチャートである。
図11は、
図10のステップS118における動作の詳細を示している。
【0164】
図11を参照して、まず、スイッチ装置101は、2番目以降のイーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を確認する(ステップS202)。
【0165】
次に、スイッチ装置101は、変換用テーブルTab2を参照し、確認した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号に対応する送信先MACアドレスおよび送信元MACアドレスを変換用テーブルTab2から取得する(ステップS204)。
【0166】
具体的には、スイッチ装置101は、たとえば、送信先MACアドレスおよび送信元MACアドレスとして、それぞれ検索アドレスおよびスイッチアドレスを取得する。
【0167】
次に、スイッチ装置101は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、取得した検索アドレスおよびスイッチアドレスにそれぞれ書き換える(ステップS206)。
【0168】
次に、スイッチ装置101は、送信先MACアドレスおよび送信元MACアドレスを書き換えたイーサネットフレームを宛先の車載機器111へ送信する(ステップS208)。
【0169】
なお、スイッチ装置101は、変換用テーブルTab2を用いる高速中継処理を行う構成に限らず、変換用テーブルTab3を用いる高速中継処理を行う構成であってもよい。
【0170】
図12は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置が高速中継処理を行う際の動作手順を定めたフローチャートである。
図12は、
図10のステップS118における動作の詳細を示している。
【0171】
図12を参照して、まず、スイッチ装置101は、2番目以降のイーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を検索キーとして、計算手順P1を用いてハッシュ値を生成する(ステップS302)。
【0172】
次に、スイッチ装置101は、変換用テーブルTab3を参照し、生成したハッシュ値に対応する送信先MACアドレスおよび送信元MACアドレスを変換用テーブルTab3から取得する(ステップS304)。
【0173】
具体的には、スイッチ装置101は、たとえば、送信先MACアドレスおよび送信元MACアドレスとして、それぞれ検索アドレスおよびスイッチアドレスを取得する。
【0174】
次に、スイッチ装置101は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、取得した検索アドレスおよびスイッチアドレスにそれぞれ書き換える(ステップS306)。
【0175】
次に、スイッチ装置101は、送信先MACアドレスおよび送信元MACアドレスを書き換えたイーサネットフレームを宛先の車載機器111へ送信する(ステップS308)。
【0176】
[比較例]
図13は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置の比較例の構成を示す図である。
【0177】
図13を参照して、比較例であるスイッチ装置901は、第1の半導体集積回路91と、第2の半導体集積回路62と、複数の通信ポート54とを備える。
【0178】
スイッチ装置901における通信ポート54の動作は、
図3に示すスイッチ装置101における通信ポート54とそれぞれ同様である。
【0179】
図14は、本発明の第1の実施の形態に係るスイッチ装置の比較例における第2の半導体集積回路の構成を示す図である。
【0180】
図14を参照して、第2の半導体集積回路62は、通信部21と、複数のポート部25と、転送先決定部26とを含む。
【0181】
第2の半導体集積回路62における通信部21およびポート部25の動作は、
図4に示す第2の半導体集積回路52における通信部21およびポート部25とそれぞれ同様である。
【0182】
図14を参照して、第2の半導体集積回路62は、たとえば、L2スイッチであり、外部からのイーサネットフレームの受信および外部へのイーサネットフレームの送信を行う。
【0183】
より詳細には、第2の半導体集積回路62における転送先決定部26は、ARLテーブルTab1(
図7参照)を保持する。
【0184】
ここでは、出力先は、たとえば、通信ポート54の物理番号および第1の半導体集積回路91のいずれか一方を示す。
【0185】
具体的には、ゼロ〜6の論理ポート番号は、出力先が通信ポート54であることを示す。8の論理ポート番号は、出力先が第1の半導体集積回路91であることを示す。
【0186】
「MAC−DA8」は、たとえばスイッチ装置901のMACアドレスすなわちスイッチアドレスである。この例では、「MAC−DA8」に対応する論理ポート番号はたとえば8に固定されている。
【0187】
(L2レベルで中継可能なイーサネットフレームの処理)
転送先決定部26は、たとえば、ポート部25からイーサネットフレームを受けると、受けたイーサネットフレームにおけるMACヘッダに含まれる送信先MACアドレスを確認する。
【0188】
転送先決定部26は、ARLテーブルTab1を参照し、確認した送信先MACアドレスに対応する出力先をARLテーブルTab1から取得する。
【0189】
具体的には、転送先決定部26は、たとえば、L2レベルで中継可能なイーサネットフレームについては、出力先としてゼロ〜6のうちのいずれかの論理ポート番号をARLテーブルTab1から取得する。
【0190】
そして、転送先決定部26は、当該イーサネットフレームにおけるMACヘッダに含まれる送信元MACアドレスをスイッチアドレスに書き換えた後、取得した論理ポート番号に対応するポート部25へ当該イーサネットフレームを出力する。
【0191】
また、転送先決定部26は、たとえば、L3レベルでの中継処理を要するイーサネットフレームについては、出力先として8の論理ポート番号をARLテーブルTab1から取得する。
【0192】
そして、切替部24は、当該イーサネットフレームを通信部21経由で第1の半導体集積回路91へ送信する。
【0193】
図15は、本発明の第1の実施の形態に係るスイッチ装置の比較例における第1の半導体集積回路の構成を示す図である。
【0194】
図15を参照して、第1の半導体集積回路91は、通信部41と、経路検索部42と、検査部44と、記憶部73と、リスト管理部92とを含む。
【0195】
第1の半導体集積回路91における通信部41、経路検索部42および検査部44の動作は、
図6に示す第1の半導体集積回路51における通信部41、経路検索部42および検査部44とそれぞれ同様である。
【0196】
図16は、本発明の第1の実施の形態に係るスイッチ装置の比較例における記憶部が保持するフローリストの一例を示す図である。
【0197】
図16を参照して、第1の半導体集積回路91における記憶部73は、たとえば、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート番号と送信元ポート番号とタイムスタンプとの対応関係を示すフローリストLst1を記憶する。
【0198】
フローリストLst1は、
図8に示す変換用テーブルTab2等と異なり、車載ネットワーク12におけるL3中継の可能な、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号のすべての組み合わせを常時含まない。フローリストLst1の内容は、たとえばリスト管理部92によって動的に変更される。
【0199】
(最初のイーサネットフレームの処理)
再び
図15を参照して、リスト管理部92は、L3レベルでの中継処理を要する最初のイーサネットフレームを通信部41経由で第2の半導体集積回路62から受信すると、受信したイーサネットフレームに含まれるIPパケットの内容を確認する。具体的には、リスト管理部92は、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を確認する。
【0200】
そして、リスト管理部92は、フローリストLst1を参照し、確認した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号がフローリストLst1に登録されているか否かを確認する。
【0201】
リスト管理部92は、登録されていないことを確認すると、第2の半導体集積回路62から受信したイーサネットフレームが最初のイーサネットフレームであると判断し、当該イーサネットフレームを検査部44へ出力する。
【0202】
検査部44は、切替部74からイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットの検査処理を行い、異常を発見した場合、当該IPパケットを含むイーサネットフレームを破棄する。
【0203】
一方、検査部44は、異常を発見しない場合、当該IPパケットを含むイーサネットフレームを経路検索部42へ出力する。
【0204】
リスト管理部92は、記憶部73が保持するフローリストLst1を管理する。より詳細には、リスト管理部92は、イーサネットフレームを検査部44へ出力した後、検査部44における当該イーサネットフレームの検査処理を監視する。
【0205】
リスト管理部92は、検査部44が当該イーサネットフレームについて異常を発見しない場合、当該イーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号、ならびに現在時刻を示すタイムスタンプ(以下、これらをフロー情報とも称する。)をフローリストLst1に登録する。
【0206】
一方、リスト管理部92は、検査部44が当該イーサネットフレームについて異常を異常を発見した場合、当該イーサネットフレームについてのフロー情報をフローリストLst1に登録しない。
【0207】
経路検索部42は、検査部44からイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットのヘッダに格納されたTTL値を1つ減算するとともに、以下の処理を行う。
【0208】
すなわち、経路検索部42は、ルーティングテーブルおよびARPテーブルに基づいて、送信先IPアドレスに対応するMACアドレスすなわち検索アドレスを取得する。
【0209】
そして、経路検索部42は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、検索アドレスおよびスイッチアドレスにそれぞれ書き換え、イーサネットフレームを通信部41経由で第2の半導体集積回路62へ送信する。
【0210】
再び
図14を参照して、第2の半導体集積回路62における転送先決定部26は、通信部21経由で第1の半導体集積回路91からイーサネットフレームを受信すると、受信したイーサネットフレームにおけるMACヘッダに含まれる送信先MACアドレスを確認する。
【0211】
転送先決定部26は、ARLテーブルTab1を参照し、確認した送信先MACアドレスすなわち検索アドレスに対応する出力先をARLテーブルTab1から取得する。
【0212】
この場合、転送先決定部26は、たとえば、出力先としてゼロ〜6のうちのいずれかの論理ポート番号をARLテーブルTab1から取得し、取得した論理ポート番号に対応するポート部25経由で宛先の車載機器111へイーサネットフレームを送信する。
【0213】
(2番目以降のイーサネットフレームの処理)
再び
図15を参照して、リスト管理部92は、L3レベルでの中継処理を要する2番目以降のイーサネットフレームを通信部41経由で第2の半導体集積回路62から受信すると、受信したイーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を確認する。
【0214】
そして、リスト管理部92は、フローリストLst1を参照し、確認した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号がフローリストLst1に登録されているか否かを確認する。
【0215】
リスト管理部92は、登録されていることを確認すると、第2の半導体集積回路62から受信したイーサネットフレームが2番目以降のイーサネットフレームであると判断し、当該イーサネットフレームを経路検索部42へ出力する。
【0216】
また、リスト管理部92は、たとえば、タイムスタンプの示す時刻から所定時間経過した場合、およびフローデータのうちの最終IPパケットを含むイーサネットフレームを処理した場合において、対応のフロー情報をフローリストLst1から抹消する。
【0217】
なお、本発明の第1の実施の形態に係るスイッチ装置では、対応情報は、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報と送信先MACアドレスと送信元MACアドレスとの対応関係を示す構成であるとしたが、これに限定するものではない。対応情報は、通信プロトコルおよび送信元MACアドレスを含まず、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と送信先MACアドレスとの対応関係を示す構成であってもよい。たとえば、車載ネットワーク12における通信プロトコルがTCPおよびUDPのいずれか一方に固定されている場合、上記構成により、車載ネットワークにおけるIPパケットの中継処理を効率よく行うという本発明の目的を達成することが可能である。また、対応情報は、送信元MACアドレスを含まず、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報と送信先MACアドレスとの対応関係を示す構成であってもよい。
【0218】
また、本発明の第1の実施の形態に係るスイッチ装置では、中継部22は、イーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート情報および送信元ポート情報に基づいて、対応情報から送信先MACアドレスを取得する構成であるとしたが、これに限定するものではない。中継部22は、通信プロトコルを除く、イーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報に基づいて、対応情報から送信先MACアドレスを取得する構成であってもよい。
【0219】
また、本発明の第1の実施の形態に係るスイッチ装置の変形例では、対応情報は、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスと送信元MACアドレスとの対応関係を示す構成であるとしたが、これに限定するものではない。対応情報は、通信プロトコルを除く、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスとの対応関係を示す構成であってもよい。たとえば、車載ネットワーク12における通信プロトコルがTCPおよびUDPのいずれか一方に固定されている場合、上記構成により、車載ネットワークにおけるIPパケットの中継処理を効率よく行うという本発明の目的を達成することが可能である。また、対応情報は、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスとの対応関係を示す構成であってもよい。
【0220】
また、本発明の第1の実施の形態に係るスイッチ装置では、記憶部23が第2の半導体集積回路の内部に設けられる構成であるとしたが、これに限定するものではない。記憶部23が第2の半導体集積回路52の外部に設けられる構成であってもよい。
【0221】
また、本発明の第1の実施の形態に係るスイッチ装置では、対応情報が予め記憶部23に保持される構成であるとしたが、これに限定するものではない。たとえば、スイッチ装置101は、フローデータの処理を行うごとに送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報と送信先MACアドレスと送信元MACアドレスとの対応関係を取得し、取得した対応関係によって記憶部23における対応情報を更新する取得部を備える構成であってもよい。
【0222】
また、本発明の第1の実施の形態に係るスイッチ装置の変形例では、対応情報が予め記憶部23に保持される構成であるとしたが、これに限定するものではない。たとえば、スイッチ装置101の変形例は、フローデータの処理を行うごとに送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスと送信元MACアドレスとの対応関係を取得し、取得した対応関係によって記憶部23における対応情報を更新する取得部を備える構成であってもよい。
【0223】
また、本発明の第1の実施の形態に係るスイッチ装置は、検査部44を備える構成であるとしたが、これに限定するものではない。スイッチ装置101は、たとえば、通信のセキュリティが確保されており、イーサネットフレームに含まれるデータの検査を行う必要がない場合において、切替部24および検査部44を備えない構成であってもよい。この場合、スイッチ装置101は、たとえば、L3レベルでの中継を要するすべてのイーサネットフレームを中継部22へ出力する。
【0224】
また、本発明の第1の実施の形態に係るスイッチ装置は、中継部22は、2番目以降のイーサネットフレームに対して送信処理を行う構成であるとしたが、これに限定するものではない。中継部22は、3番目以降のイーサネットフレームに対して送信処理を行う構成であってもよい。
【0225】
また、本発明の第1の実施の形態に係るスイッチ装置は、第1の半導体集積回路51と第2の半導体集積回路52とを備える構成であるとしたが、これに限定するものではない。スイッチ装置101は、たとえば、第1の半導体集積回路51および第2の半導体集積回路52の各機能をまとめた1つの半導体集積回路を備える構成であってもよいし、第1の半導体集積回路51および第2の半導体集積回路52の各機能を3つ以上の半導体集積回路に分割して備える構成であってもよい。
【0226】
ところで、特許文献1に記載の車載ネットワークでは、車載制御装置からの情報を中継する通信ゲートウェイが設けられる。
【0227】
たとえば、通信ゲートウェイの構成として、レイヤ2の中継処理を行うL2スイッチと、レイヤ3の中継処理を行うMCUとを備える構成が考えられる。
【0228】
このような構成において、たとえばL2スイッチを高速化した場合、L2レベルで中継されるフレームの伝送が高速化される。しかしながら、MPUが高速化していない場合、L3レベルで中継されるIPパケットの伝送は高速化されないので、車両の外部における外部装置と車載機器との間におけるIP通信はL2レベルにおける高速化の恩恵を享受できない。
【0229】
これに対して、本発明の第1の実施の形態に係るスイッチ装置は、車載ネットワーク12におけるフローデータを中継する。取得部は、少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と送信先MACアドレスとの対応関係を示す対応情報を取得する。そして、中継部22は、自己のスイッチ装置101が受信したイーサネットフレームであってフローデータを構成するイーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報に基づいて、対応情報から送信先MACアドレスを取得し、取得した送信先MACアドレスをイーサネットフレームに含めて送信する送信処理を行う。
【0230】
このような構成により、たとえば、IPパケットの送信先のサブネットを特定し、特定したサブネットにおけるIPアドレスとMACアドレスとの対応テーブルからイーサネットフレームに含めるべき送信先MACアドレスを取得する場合と比べて、送信先MACアドレスを対応情報から迅速に取得することができるので、レイヤ3の中継処理を高速に行うことができる。したがって、車載ネットワークにおけるIPパケットの中継処理を効率よく行うことができる。これにより、外部装置と車載機器111との間におけるIP通信を高速化することができる。
【0231】
また、本発明の第1の実施の形態に係るスイッチ装置は、車載ネットワーク12におけるフローデータを中継する。取得部は、少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスとの対応関係を示す対応情報を取得する。そして、中継部22は、自己のスイッチ装置101が受信したイーサネットフレームであってフローデータを構成するイーサネットフレーム、に含まれる値であってイーサネットフレームの送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報を一意に決定する値に対応する送信先MACアドレスを対応情報から取得し、取得した送信先MACアドレスをイーサネットフレームに含めて送信する送信処理を行う。
【0232】
このように、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値を用いる構成により、対応情報を簡素化することができる。また、たとえば、IPパケットの送信先のサブネットを特定し、特定したサブネットにおけるIPアドレスとMACアドレスとの対応テーブルからイーサネットフレームに含めるべき送信先MACアドレスを取得する場合と比べて、送信先MACアドレスを対応情報から迅速に取得することができるので、レイヤ3の中継処理を高速に行うことができる。したがって、車載ネットワークにおけるIPパケットの中継処理を効率よく行うことができる。これにより、外部装置と車載機器111との間におけるIP通信を高速化することができる。
【0233】
また、本発明の第1の実施の形態に係るスイッチ装置では、記憶部23は、対応情報を固定的に記憶する。
【0234】
このように、たとえばスイッチ装置101および車載機器111のネットワーク構成が固定された環境において、予め決まっている対応関係を示す対応情報を固定的に記憶する構成により、イーサネットフレームを受信するごとに対応関係を動的に作成して記憶する構成と比べて、イーサネットフレームに含めるべき送信先MACアドレスを効率よく取得することができる。また、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値の重複を予めチェックすることができるので、当該値の重複のない適切な対応情報を準備することができる。
【0235】
また、本発明の第1の実施の形態に係るスイッチ装置では、検査部44は、自己のスイッチ装置101が受信するイーサネットフレームの検査処理を行う。検査部44は、フローデータを構成する最初のイーサネットフレームが検査処理に合格した場合、2番目以降のイーサネットフレームの検査処理を行わない。そして、中継部22は、少なくとも2番目以降のイーサネットフレームに対して送信処理を行う。
【0236】
このような構成により、最初のフレームでセキュリティを確保し、セキュリティを確保できた2番目以降のフレームについては、検査処理を省略して送信処理を行うことで、レイヤ3の中継処理を高速化することができる。
【0237】
また、本発明の第1の実施の形態に係るスイッチ装置では、切替部24は、自己のスイッチ装置101が受信したイーサネットフレームを検査部44へ出力するか、中継部22へ出力するかを切り替える。そして、切替部24は、最初のフレームを検査部44へ出力し、最初のイーサネットフレームが検査処理に合格した場合、2番目以降のイーサネットフレームを中継部22へ出力する。
【0238】
このような構成により、受信したフレームを、フローデータにおけるフレームの順番、およびフレームの検査結果に応じて検査部44および中継部22のいずれか一方へ適切に送り込むことができる。
【0239】
また、本発明の第1の実施の形態に係るスイッチ装置は、第1の半導体集積回路51および第2の半導体集積回路52を備える。第1の半導体集積回路51は、検査部44を含む。そして、第2の半導体集積回路52は、中継部22および切替部24を含み、外部からのイーサネットフレームの受信および外部へのイーサネットフレームの送信を行う。
【0240】
このような構成により、たとえばMPUである第1の半導体集積回路51に処理負荷が集中することを防ぐことができる。また、第1の半導体集積回路51を高速化せずに、たとえばL2スイッチである第2の半導体集積回路52を高速化した場合においても、L3レベルの処理の大部分を第2の半導体集積回路52において行うことができるので、MPUを高速化するためのコスト上昇を抑制しながら外部装置と車載機器111との間におけるIP通信を高速化することができる。
【0241】
また、本発明の第1の実施の形態に係るスイッチ装置では、対応情報は、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と通信プロトコルと送信先MACアドレスとの対応関係を示す。
【0242】
このような構成により、送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報が同じであるが通信プロトコルの異なるフローデータを区別することができるので、フローデータの中継処理をきめ細かく管理することができる。
【0243】
また、本発明の第1の実施の形態に係るスイッチ装置では、上記値は、送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と通信プロトコルとを一意に決定する値である。
【0244】
このような構成により、送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報が同じであるが通信プロトコルの異なるフローデータを区別することができるので、フローデータの中継処理をきめ細かく管理することができる。
【0245】
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0246】
<第2の実施の形態>
本実施の形態は、第1の実施の形態に係るスイッチ装置と比べて中継部が第1の半導体集積回路に設けられるスイッチ装置に関する。以下で説明する内容以外は第1の実施の形態に係るスイッチ装置と同様である。
【0247】
図17は、本発明の第2の実施の形態に係る車載通信システムにおけるスイッチ装置の構成を示す図である。
【0248】
図17を参照して、スイッチ装置102は、第1の半導体集積回路61と、第2の半導体集積回路62と、複数の通信ポート54とを備える。
【0249】
スイッチ装置102における通信ポート54および第2の半導体集積回路62の動作は、
図13に示すスイッチ装置901における通信ポート54および第2の半導体集積回路62とそれぞれ同様である。
【0250】
図18は、本発明の第2の実施の形態に係るスイッチ装置における第1の半導体集積回路の構成を示す図である。
【0251】
図18を参照して、第1の半導体集積回路61は、通信部41と、経路検索部42と、検査部44と、中継部72と、記憶部73と、切替部74と、有効化部75とを含む。
【0252】
第1の半導体集積回路61における通信部41、経路検索部42および検査部44の動作は、
図6に示す第1の半導体集積回路51における通信部41、経路検索部42および検査部44とそれぞれ同様である。
【0253】
図19は、本発明の第2の実施の形態に係るスイッチ装置における記憶部が保持する変換用テーブルの一例を示す図である。
【0254】
図19を参照して、第1の半導体集積回路61における記憶部73は、対応情報の一例である変換用テーブルTab4を固定的に記憶する。
【0255】
変換用テーブルTab4は、たとえば、送信先IPアドレスと送信元IPアドレスと通信プロトコルと送信先ポート番号と送信元ポート番号と送信先MACアドレスと送信元MACアドレスと状態との対応関係を示す。ここで、状態は、有効および無効のいずれか一方を示し、標準では無効を示す。
【0256】
変換用テーブルTab4は、たとえば、車載ネットワーク12におけるL3中継の可能な、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号のすべての組み合わせを含む。
【0257】
再び
図18を参照して、切替部74は、たとえば、自己のスイッチ装置102が受信したイーサネットフレームを検査部44へ出力するか、中継部72へ出力するかを切り替える。また、切替部74は、たとえば、最初のイーサネットフレームを検査部44へ出力し、最初のイーサネットフレームが検査処理に合格した場合、2番目以降のフレームを中継部72へ出力する。
【0258】
(最初のイーサネットフレームの処理)
切替部74は、L3レベルでの中継処理を要する最初のイーサネットフレームを通信部41経由で第2の半導体集積回路62から受信すると、受信したイーサネットフレームに含まれるIPパケットの内容を確認する。具体的には、切替部74は、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を確認する。
【0259】
そして、切替部74は、変換用テーブルTab4を参照し、確認した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号に対応する状態を確認する。
【0260】
切替部74は、確認した状態が「無効」である場合、第2の半導体集積回路62から受信したイーサネットフレームが最初のイーサネットフレームであると判断し、当該イーサネットフレームを検査部44へ出力する。
【0261】
検査部44は、切替部74からイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットの検査処理を行い、異常を発見した場合、当該IPパケットを含むイーサネットフレームを破棄する。
【0262】
一方、検査部44は、異常を発見しない場合、当該IPパケットを含むイーサネットフレームを経路検索部42へ出力する。
【0263】
経路検索部42は、検査部44からイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットのヘッダに格納されたTTL値を1つ減算するとともに、以下の処理を行う。
【0264】
すなわち、経路検索部42は、当該IPパケットから送信先IPアドレスを取得し、たとえば、取得した送信先IPアドレスに対してサブネットマスク計算を行うことにより宛先ネットワークを特定する。
【0265】
経路検索部42は、ルーティングテーブルを参照し、特定した宛先ネットワークに対応する送出インタフェースを特定する。
【0266】
そして、経路検索部42は、特定した送出インタフェースに対応するARPテーブルを参照し、送信先IPアドレスに対応するMACアドレスすなわち検索アドレスを当該ARPテーブルから取得する。
【0267】
経路検索部42は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、検索アドレスおよびスイッチアドレスにそれぞれ書き換え、イーサネットフレームを有効化部75へ出力する。
【0268】
有効化部75は、たとえば、記憶部73が保持する変換用テーブルTab4における、経路検索部42からのイーサネットフレームに対応する状態を有効化する。
【0269】
より詳細には、有効化部75は、経路検索部42からイーサネットフレームを受けると、受けたイーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を確認する。
【0270】
有効化部75は、記憶部73が保持する変換用テーブルTab4において、確認した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号に対応する状態を「無効」から「有効」に書き換える。
【0271】
そして、有効化部75は、イーサネットフレームを通信部41経由で第2の半導体集積回路62へ送信する。
【0272】
また、有効化部75は、たとえば、通信部41を監視し、変換用テーブルTab4における状態を「有効」に書き換えてから所定時間経過するまでに、対応のイーサネットフレームが通信部41から送信されない場合、当該状態を「有効」から「無効」に書き換える。
【0273】
再び
図14を参照して、第2の半導体集積回路62における転送先決定部26は、通信部21経由で第1の半導体集積回路61からイーサネットフレームを受信すると、受信したイーサネットフレームにおけるMACヘッダに含まれる送信先MACアドレスを確認する。
【0274】
転送先決定部26は、ARLテーブルTab1を参照し、確認した送信先MACアドレスすなわち検索アドレスに対応する出力先をARLテーブルTab1から取得する。
【0275】
この場合、切替部24は、たとえば、出力先としてゼロ〜6のうちのいずれかの論理ポート番号をARLテーブルTab1から取得し、取得した論理ポート番号に対応するポート部25経由で宛先の車載機器111へイーサネットフレームを送信する。
【0276】
(2番目以降のイーサネットフレームの処理)
再び
図18を参照して、切替部74は、L3レベルでの中継処理を要する2番目以降のイーサネットフレームを通信部41経由で第2の半導体集積回路62から受信すると、受信したイーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を確認する。
【0277】
そして、切替部74は、変換用テーブルTab4を参照し、確認した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号に対応する状態を確認する。
【0278】
切替部74は、確認した状態が「有効」である場合、第2の半導体集積回路62から受信したイーサネットフレームが2番目以降のイーサネットフレームであると判断し、当該イーサネットフレームを中継部72へ出力する。
【0279】
中継部72は、自己のスイッチ装置102が受信したイーサネットフレームであってフローデータを構成するイーサネットフレームに含まれる送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート情報および送信元ポート情報に基づいて、対応情報から送信先MACアドレスを取得する。
【0280】
そして、中継部72は、取得した送信先MACアドレスをイーサネットフレームに含めて送信する送信処理を行う。詳細には、中継部72は、たとえば、2番目以降のイーサネットフレームに対して送信処理を行う。
【0281】
より詳細には、中継部72は、切替部74から2番目以降のイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットの内容を確認する。具体的には、中継部72は、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を確認する。
【0282】
そして、中継部72は、変換用テーブルTab4を参照し、確認した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号に対応する送信先MACアドレスおよび送信元MACアドレスを変換用テーブルTab4から取得する。
【0283】
ここでは、送信先MACアドレスおよび送信元MACアドレスは、それぞれ検索アドレスおよびスイッチアドレスである。
【0284】
中継部72は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、取得した検索アドレスおよびスイッチアドレスにそれぞれ書き換え、イーサネットフレームを通信部41経由で第2の半導体集積回路62へ送信する。
【0285】
再び
図14を参照して、第2の半導体集積回路62における転送先決定部26は、通信部21経由で第1の半導体集積回路61からイーサネットフレームを受信すると、受信したイーサネットフレームにおけるMACヘッダに含まれる送信先MACアドレスを確認する。
【0286】
転送先決定部26は、ARLテーブルTab1を参照し、確認した送信先MACアドレスに対応する出力先をARLテーブルTab1から取得する。
【0287】
この場合、切替部24は、上述の最初のイーサネットフレームの場合と同じ論理ポート番号を出力先としてARLテーブルTab1から取得し、取得した論理ポート番号に対応するポート部25経由で宛先の車載機器111へイーサネットフレームを送信する。
【0288】
[スイッチ装置102の変形例]
図20は、本発明の第2の実施の形態に係る第1の半導体集積回路の変形例の構成を示す図である。
【0289】
図20を参照して、第1の半導体集積回路61の変形例は、
図18に示す第1の半導体集積回路61と比べて、経路検索部42を含まない。
【0290】
第1の半導体集積回路61の変形例における通信部41、検査部44、中継部72、記憶部73、切替部74および有効化部75の動作は、
図18に示す第1の半導体集積回路61における通信部41、検査部44、中継部72、記憶部73、切替部74および有効化部75とそれぞれ同様である。
【0291】
図21は、本発明の第2の実施の形態に係るスイッチ装置の変形例における記憶部が保持する変換用テーブルの一例を示す図である。
【0292】
図21を参照して、記憶部73は、対応情報の一例である変換用テーブルTab5を固定的に記憶する。
【0293】
変換用テーブルTab5は、たとえば、ハッシュ値と送信先MACアドレスと送信元MACアドレスと状態との対応関係を示す。ここで、状態は、有効および無効のいずれか一方を示し、標準では無効を示す。
【0294】
ハッシュ値は、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を検索キーとして、計算手順P1を用いて生成される値である。
【0295】
変換用テーブルTab5は、たとえば、車載ネットワーク12におけるL3中継の可能な、送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号のすべての組み合わせについてのハッシュ値を含む。
【0296】
また、変換用テーブルTab5におけるハッシュ値は、値が重複しないように予めチェックされる。たとえば、重複するハッシュ値が存在する場合、他の計算手順を用いて新たなハッシュ値を生成し、変換用テーブルTab5におけるハッシュ値が重複しないようにする。
【0297】
(最初のイーサネットフレームの処理)
再び
図20を参照して、切替部74は、L3レベルでの中継処理を要する最初のイーサネットフレームを通信部41経由で第2の半導体集積回路62から受信すると、受信したイーサネットフレームから送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を取得する。
【0298】
切替部74は、取得した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を検索キーとして、計算手順P1を用いてハッシュ値を生成する。
【0299】
そして、切替部74は、変換用テーブルTab5を参照し、生成したハッシュ値に対応する状態を確認する。
【0300】
切替部74は、確認した状態が「無効」である場合、第2の半導体集積回路62から受信したイーサネットフレームが最初のイーサネットフレームであると判断し、生成したハッシュ値を当該イーサネットフレームに付した後、当該イーサネットフレームを検査部44へ出力する。
【0301】
検査部44は、切替部74からイーサネットフレームを受けると、受けたイーサネットフレームに含まれるIPパケットの検査処理を行い、異常を発見した場合、当該IPパケットを含むイーサネットフレームを破棄する。
【0302】
一方、検査部44は、異常を発見しない場合、当該IPパケットを含むイーサネットフレームを有効化部75へ出力する。
【0303】
有効化部75は、検査部44からイーサネットフレームを受けると、受けたイーサネットフレームに付されたハッシュ値を取得する。
【0304】
有効化部75は、記憶部73が保持する変換用テーブルTab5において、取得したハッシュ値に対応する状態を「無効」から「有効」に書き換える。そして、有効化部75は、イーサネットフレームを中継部22へ出力する。
【0305】
中継部72は、有効化部75からイーサネットフレームを受けると、受けたイーサネットフレームに付されたハッシュ値を取得する。
【0306】
そして、中継部72は、変換用テーブルTab5を参照し、取得したハッシュ値に対応する状態が「有効」であることを確認すると、当該ハッシュ値に対応する送信先MACアドレスおよび送信元MACアドレスを変換用テーブルTab5から取得する。
【0307】
ここでは、送信先MACアドレスおよび送信元MACアドレスは、たとえば、それぞれ上述の検索アドレス、およびスイッチアドレスである。
【0308】
中継部72は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、取得した検索アドレスおよびスイッチアドレスにそれぞれ書き換え、イーサネットフレームに付されたハッシュ値を破棄した後、イーサネットフレームを通信部41経由で第2の半導体集積回路62へ送信する。
【0309】
(2番目以降のイーサネットフレームの処理)
切替部74は、L3レベルでの中継処理を要する2番目以降のイーサネットフレームを通信部41経由で第2の半導体集積回路62から受信すると、受信したイーサネットフレームから送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を取得する。
【0310】
切替部74は、取得した送信先IPアドレス、送信元IPアドレス、通信プロトコル、送信先ポート番号および送信元ポート番号を検索キーとして、計算手順P1を用いてハッシュ値を生成する。
【0311】
そして、切替部74は、変換用テーブルTab5を参照し、生成したハッシュ値に対応する状態を確認する。
【0312】
切替部74は、確認した状態が「有効」である場合、第2の半導体集積回路62から受信したイーサネットフレームが2番目以降のイーサネットフレームであると判断し、生成したハッシュ値を当該イーサネットフレームに付した後、当該イーサネットフレームを中継部72へ出力する。
【0313】
中継部72は、切替部74からイーサネットフレームを受けると、受けたイーサネットフレームに付されたハッシュ値を取得する。
【0314】
そして、中継部72は、変換用テーブルTab5を参照し、取得したハッシュ値に対応する状態が「有効」であることを確認すると、当該ハッシュ値に対応する送信先MACアドレスおよび送信元MACアドレスを変換用テーブルTab5から取得する。
【0315】
ここでは、送信先MACアドレスおよび送信元MACアドレスは、それぞれ検索アドレスおよびスイッチアドレスである。
【0316】
中継部72は、イーサネットフレームの送信先MACアドレスおよび送信元MACアドレスを、取得した検索アドレスおよびスイッチアドレスにそれぞれ書き換え、イーサネットフレームに付されたハッシュ値を破棄した後、イーサネットフレームを通信部41経由で第2の半導体集積回路62へ送信する。
【0317】
なお、本発明の第2の実施の形態に係るスイッチ装置では、記憶部73が第1の半導体集積回路61の内部に設けられる構成であるとしたが、これに限定するものではない。記憶部73が第1の半導体集積回路61の外部に設けられる構成であってもよい。
【0318】
また、本発明の第2の実施の形態に係るスイッチ装置は、第1の半導体集積回路61と第2の半導体集積回路62とを備える構成であるとしたが、これに限定するものではない。スイッチ装置102は、たとえば、第1の半導体集積回路61および第2の半導体集積回路62の各機能をまとめた1つの半導体集積回路を備える構成であってもよいし、第1の半導体集積回路61および第2の半導体集積回路62の各機能を3つ以上の半導体集積回路に分割して備える構成であってもよい。
【0319】
以上のように、本発明の第2の実施の形態に係るスイッチ装置は、第1の半導体集積回路61および第2の半導体集積回路62を備える。第1の半導体集積回路61は、検査部44、中継部72および切替部74を含む。そして、第2の半導体集積回路62は、外部からのイーサネットフレームの受信および外部へのイーサネットフレームの送信を行う。
【0320】
このような構成により、L3レベルの処理をたとえばMPUである第1の半導体集積回路61に集中させて第2の半導体集積回路62における処理をL2レベルに限定することができるので、市販のL2スイッチの集積回路を第2の半導体集積回路62としてそのまま用いることができる。これにより、L2スイッチのコスト上昇を抑制しながら外部装置と車載機器111との間におけるIP通信を高速化することができる。また、スイッチ装置901のようにフローリストLst1を動的に管理しないので、スイッチ装置901と比べてL3レベルの処理を簡素化することができる。
【0321】
その他の構成および動作は第1の実施の形態に係る車載通信システムと同様であるため、ここでは詳細な説明を繰り返さない。
【0322】
なお、本発明の第1の実施の形態および第2の実施の形態に係る各装置の構成要素および動作のうち、一部または全部を適宜組み合わせることも可能である。
【0323】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0324】
以上の説明は、以下に付記する特徴を含む。
【0325】
[付記1]
車載ネットワークにおけるフローデータを中継するスイッチ装置であって、
少なくとも送信先IP(Internet Protocol)アドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報と送信先MAC(Media Access Control)アドレスとの対応関係を示す対応情報を取得する取得部と、
自己の前記スイッチ装置が受信したフレームであって前記フローデータを構成するフレームに含まれる送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報に基づいて、前記対応情報から前記送信先MACアドレスを取得し、取得した前記送信先MACアドレスを前記フレームに含めて送信する送信処理を行う中継部とを備え、
前記フローデータは、分割されたデータをそれぞれ含む複数のIPパケットにより構成され、
前記フレームは、イーサネットフレームであり、前記送信先MACアドレスおよび1つの前記IPパケットを含み、
前記IPパケットは、前記送信先IPアドレス、前記送信元IPアドレス、および1つのTCPパケットまたは1つのUDPパケットを含み、
前記TCPパケットまたは前記UDPパケットは、前記送信先ポート情報、前記送信元ポート情報および前記データの一部を含む、スイッチ装置。
【0326】
[付記2]
車載ネットワークにおけるフローデータを中継するスイッチ装置であって、
少なくとも送信先IPアドレスと送信元IPアドレスと送信先ポート情報と送信元ポート情報とを一意に決定する値と送信先MACアドレスとの対応関係を示す対応情報を取得する取得部と、
自己の前記スイッチ装置が受信したフレームであって前記フローデータを構成するフレーム、に含まれる値であって前記フレームの送信先IPアドレス、送信元IPアドレス、送信先ポート情報および送信元ポート情報を一意に決定する値に対応する前記送信先MACアドレスを前記対応情報から取得し、取得した前記送信先MACアドレスを前記フレームに含めて送信する送信処理を行う中継部とを備え、
前記フローデータは、分割されたデータをそれぞれ含む複数のIPパケットにより構成され、
前記フレームは、イーサネットフレームであり、前記送信先MACアドレスおよび1つの前記IPパケットを含み、
前記IPパケットは、前記送信先IPアドレス、前記送信元IPアドレス、および1つのTCPパケットまたは1つのUDPパケットを含み、
前記TCPパケットまたは前記UDPパケットは、前記送信先ポート情報、前記送信元ポート情報および前記データの一部を含み、
前記値は、前記送信先IPアドレス、前記送信元IPアドレス、前記送信先ポート番号および前記送信元ポート番号を検索キーとして、所定の計算手順を用いて生成されるハッシュ値である、スイッチ装置。