JP7200803B2 - 中継装置、及び中継方法 - Google Patents

中継装置、及び中継方法 Download PDF

Info

Publication number
JP7200803B2
JP7200803B2 JP2019068009A JP2019068009A JP7200803B2 JP 7200803 B2 JP7200803 B2 JP 7200803B2 JP 2019068009 A JP2019068009 A JP 2019068009A JP 2019068009 A JP2019068009 A JP 2019068009A JP 7200803 B2 JP7200803 B2 JP 7200803B2
Authority
JP
Japan
Prior art keywords
frame
address
communication
switch
connection
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
JP2019068009A
Other languages
English (en)
Other versions
JP2020167588A (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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2019068009A priority Critical patent/JP7200803B2/ja
Priority to US16/802,811 priority patent/US11252104B2/en
Priority to DE102020203946.1A priority patent/DE102020203946A1/de
Publication of JP2020167588A publication Critical patent/JP2020167588A/ja
Application granted granted Critical
Publication of JP7200803B2 publication Critical patent/JP7200803B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本開示は、複数の通信装置間で送受信されるコネクション型通信によるフレームを中継するように構成された中継装置、及び中継方法に関する。
下記特許文献1には、中継装置がコネクション型通信によるフレームを中継する際に、中継装置は、それぞれの通信装置との間でコネクション型通信によるコネクションを確立し、その後、フレームを中継する技術が開示されている。
特開2016-062192号公報
ところで、中継装置では、コネクション型通信で用いられるプロトコルよりも上層のプロトコルによる記述を含むフレームを中継するよう要求される場合がある。しかしながら、発明者の詳細な検討の結果、中継装置は、フレームのうちのヘッダ部分だけでなく、ペイロード部分まで解析しなければフレームの中継先を特定することができないことが一般的であり、中継装置による処理負荷が大きくなるという課題が見出された。
本開示の1つの局面は、コネクション型通信で用いられるプロトコルよりも上層のプロトコルによる記述を含むフレームを中継する際に、中継装置による処理負荷を軽減できるようにすることにある。
本開示の一態様は、複数の通信装置(20、31~34)に接続される複数の通信ポート(P0~P4)を備え、複数の通信装置間で送受信されるコネクション型通信によるフレームを中継するように構成された中継装置(10)である。中継装置は、種別判定部(S115)と、書換部(S140、S170、S220、S250、S320、S350、S355、S380、S385、S420、S450、S480、S520、S620)と、送信部(S150、S180、S230、S260)と、を備える。
種別判定部は、フレーム送信元の通信装置が接続された通信ポートから受信フレームを受信し、受信フレームのヘッダ部分を参照して受信フレームの種別を判定するように構成される。
書換部は、受信フレームの種別が予め設定された種別である場合に、受信フレームのヘッダ部分を予め設定された条件に従って書き換えた送信フレームを生成するように構成される。送信部は、送信フレームを送信先の通信装置が接続された通信ポートから送信するように構成される。
このような構成によれば、コネクション型通信を行う場合に、受信フレームのヘッダ部分を参照することで受信フレームの種別を認識し、ヘッダ部分を書き換えるだけで送信フレームを生成する。したがって、ペイロードから受信フレームの上層のプロトコルによる記述を解析する等の処理を不要とすることができる。よって、コネクション型通信で用いられるプロトコルよりも上層のプロトコルによる記述を含むフレームを中継する際に、中
継装置による処理負荷を軽減することができる。
通信システムの構成を示すブロック図である。 フレーム構成の一例を示す説明図である。 コネクショントンネルテーブルの一例を示す説明図である。 第1実施形態において、スイッチからツールを介してECUにフレーム送信する処理の一例を示すシーケンス図である。 データ管理テーブルの一例を示す説明図である。 ECUからツールを介してスイッチにフレーム送信する処理の一例を示すシーケンス図である。 中継前後のフレーム構成の一例を示す説明図である。 第2実施形態において、スイッチからツールを介してECUにフレーム送信する処理の一例を示すシーケンス図である。 シーケンスリングテーブルの一例を示す説明図である。 第3実施形態において、スイッチからツールを介してECUにフレーム送信する処理の一例を示すシーケンス図である。 フレームの一部がECUにて受信されない場合の処理の一例を示すシーケンス図である。 フレームの一部がECUにて受信されない場合であって、フレーム中継直後におけるシーケンスリングテーブルの一例を示す説明図である。 フレームの一部がECUにて受信されない場合であって、フレーム再送時におけるシーケンスリングテーブルの一例を示す説明図である。 ACKの一部がスイッチにて受信されない場合の処理の一例を示すシーケンス図である。 ACKの一部がスイッチにて受信されない場合におけるシーケンスリングテーブルの一例を示す説明図である。 1つ目のECUについてのシーケンスリングテーブルの一例を示す説明図である。 2つ目のECUについてのシーケンスリングテーブルの一例を示す説明図である。 第4実施形態において、スイッチからツールを介してECUにフレーム送信する処理の一例を示すシーケンス図である。
以下、図面を参照しながら、本開示の実施形態を説明する。
[1.概要]
車両におけるイーサネット(商標登録)スイッチ(以下スイッチ)では、DoIPによる診断が用いられることがある。DoIPはL2ネットワークが前提であるため、車両内ネットワークドメインに中継する場合、車両外L2ネットワークにつながる装置(スイッチ等)がTCPコネクションを終端し、TCPペイロードのデータに従って中継する必要がある。このとき、スイッチはツールとECUそれぞれとTCPコネクションを確立し、さらにペイロードの解析結果を用いて中継処理を行うため、中継処理の処理負荷が非常に大きいという課題がある。
このため、本開示では、スイッチにおけるコネクション管理を不要とする仮想コネクションを行う。つまり、スイッチでは、接続先装置と論理アドレスとが紐づけられたコネクショントンネルテーブルが準備され、ツールからのTCPデータがスイッチにて受信された後、TCP受信処理を行うことなく、コネクショントンネルテーブルに従い中継先ECUに直接転送を行う。
このとき、問題点として、事前通信の有無によりシーケンスナンバやACKナンバにオフセットが生じること、或いは、中継前後に上位レイヤのヘッダサイズが違うことによりシーケンスナンバやACKナンバに累積的なオフセットが生じることが挙げられる。しかし、本開示では、このオフセットを演算し、シーケンスナンバやACKナンバの整合をとる。この構成により、スイッチは単純なフレーム変換及び中継処理だけをするにもかかわらず、ECUやツールからは、スイッチとコネクションを確立しているように見せかける仮想コネクションを実現することができる。よって、スイッチの処理負荷を大幅に低減できる。
以下に、上記構成の詳細について説明する。
[2.第1実施形態]
[2-1.構成]
本開示の一態様の通信システム1は、例えば、主要部が乗用車等の車両に搭載され、車両内外の各通信装置間でフレームの中継を行うためのシステムである。
図1に示す通信システム1は、中継装置であるスイッチ10を備える。また、通信システム1は、ツール20と、ECU(Electronic Control Unit)31と、ECU32と、ECU33と、ECU34と、を備えてもよい。また、スイッチ10は、通信ポートP0、P1、P2、P3、P4を備えてもよい。
ツール20は、通信線40に接続される。また、ECU31は、通信線41に接続され、ECU32は、通信線42に接続される。また、ECU33は、通信線43に接続され、ECU34は、通信線44に接続される。なお、ツール20、ECU31、ECU32、ECU33、ECU34は、通信線40~44及びスイッチ10を介して互いに通信を行う通信装置を構成する。
5本の通信線40~44は、順に、通信ポートP0~P4に接続される。つまり、ツール20は通信線40を介して通信ポートP0に接続される。また、ECU31は通信線41を介して通信ポートP1に接続され、ECU32は通信線42を介して通信ポートP2に接続される。また、ECU33は通信線43を介して通信ポートP3に接続され、ECU34は通信線44を介して通信ポートP4に接続される。なお、通信ポートP0~P4は、フレームの送受信を行うトランシーバとして機能する。
スイッチ10は、ゲートウェイであるイーサネット(登録商標)スイッチとして構成される。スイッチ10は、例えば、DoIP(Diagnostics over Internet Protocol)、イーサネット及びTCP(Transmission Control Protocol)等のプロトコルを利用して通信する。スイッチ10は、通信線40~44間でフレームをフィルタリングしつつ中継する。
スイッチ10は、例えば、半導体デバイス等の回路を備えるハードウェアとして構成される。スイッチ10は、制御部11と、メモリ12と、をさらに備える。
制御部11は、フレームの中継の全般を管理する。制御部11は、例えば集積回路やマイコン等によって構成される。メモリ12は、例えば揮発性のメモリであるが、書き換え可能な不揮発性メモリであってもよい。
制御部11は、例えば、予め準備されたフィルタリングルールに従って、受信したフレームを中継するか破棄するかを選択して実施する。なお、スイッチ10の動作は、制御部11によって実現される動作である。以下では、制御部11が実行する処理をスイッチ10が実行する処理として記述する。
また、フィルタリングルールとは、受信したフレームに含まれるアドレス、フレームの
形式、フレームのデータ長、フレームの種別等のフレームの特性に応じて、該フレームを中継するか破棄するか等の処理を決定するためのルールである。ここで、通信システム1において通信されるフレームは、例えば図2に示すようなフレームである。このフレームは、OSI参照モデルでの第5層以上のプロトコルを取り扱うアプリケーションによって生成され、OSI参照モデルでの第4層のプロトコルであるTCPで通信をするためのTCPヘッダを含む。本実施形態では、第5層以上のプロトコルとして、上述のDoIP、或いは診断用に準備された専用プロトコルを用いる。
また、このフレームは、MACヘッダ、IPヘッダ、TCPヘッダ、上位ヘッダを含むヘッダ部と、実データであるペイロード部とを含む。ヘッダ部を構成する各ヘッダには、それぞれ、プリアンブル、宛先アドレス、送信元アドレス、タイプ等が含まれる。また、TCPヘッダには、これらのアドレス等に加えて、シーケンスナンバ、ACKナンバ、各種フラグを含む。また、上位ヘッダには、アプリケーションに応じたデータが含まれる。例えば、上位ヘッダには、アプリケーションで利用される宛先アドレスである論理アドレスを含む。
メモリ12は、コネクショントンネルテーブル13、シーケンスナンバ管理テーブル14、及び第3実施形態以降で述べるシーケンスリングテーブル15、16を記録するように構成される。
コネクショントンネルテーブル13では、図3に示すように、論理アドレスと、TCPコネクションにて利用される宛先アドレスであるIPアドレス又はMACアドレスとが対応付けられている。図3に示す例では、論理アドレス01に対してECU31のIPアドレス又はMACアドレスが対応付けられている。また、論理アドレス02に対して、ECU32のIPアドレス又はMACアドレスが対応付けられている。
なお、TCPは、本開示での接続プロトコルに、DoIPは、本開示での上層プロトコルに相当する。また、コネクショントンネルテーブル13での論理アドレスは、本開示での第1アドレスに、コネクショントンネルテーブル13でのIPアドレス又はMACアドレスは、本開示での第2アドレスに相当する。
シーケンスナンバ管理テーブル14は、中継するフレームの内容が一時的に記述されるテーブルである。シーケンスナンバ管理テーブル14の詳細については後述する。
ツール20は、通信線40に対して着脱自在に構成され、車両の点検時等、必要に応じて通信線40を介してスイッチ10に接続される。ツール20は、通信線40を介してスイッチ10に接続された際に、予め設定された1又は複数のECU31~34と通信を行うことで、これらのECU31~34のメモリに記録されたダイアグ等の情報を読み出し、読み出した情報に基づいて車両診断を行う装置である。また、ツール20は、ECU31~34にフレームを送信することによって、ECU31~34内に格納されたプログラムを書き換える機能も有する。
ECU31~34は、エンジン、エアコン、オーディオ等の、車両の構成要素を制御する機能を有する電子制御装置であり、加えて、上述のフレームを通信する通信機能を有する。
[2-2.処理]
次に、スイッチ10及びECU31が、ツール20を介してフレームのやり取りする処理の一例を、図4のシーケンス図を用いて説明する。なお、以下では、スイッチ10の制御部11が実行する構成を中心に説明する。
まず、ツール20がECU31に対してフレームを送信しようとすると、ツール20及びスイッチ10は、S110で、フレームをツール20とスイッチ10との間でやり取りするための手続きを実施する。ここでは、まず、ツール20とスイッチ10との間でTCPコネクションを確立するためのハンドシェイクが実施される。
つまり、スイッチ10は、ECU31に代わってハンドシェイクを行う代理ハンドシェイクを実施する。ここでのハンドシェイクは、TCP SYN、TCP ACK SYN、TCP ACKを実施する3wayハンドシェイクが採用される。
次に、ツール20は、スイッチ10との間でTCPコネクションが確立されると、スイッチ10に、コネクショントンネル通信の開始要求を送信する。この開始要求には、上位ヘッダの内容として、上述の論理アドレスが含まれる。なお、コネクショントンネル通信は、フレームのうちの各ヘッダ部分を認識し、ヘッダ部分の一部を書き換えて、ペイロードを変化させることなく、フレームを中継する通信を示す。
次に、スイッチ10は、S115で、コネクショントンネル通信の開始要求を受信し、S120で、コネクショントンネルコンフィグ、すなわち、コネクショントンネル通信のための設定を行う。後に詳述するが、ツール20は、TCPで利用される宛先アドレスと、上位ヘッダに含まれる論理アドレスとが異なるフレームをスイッチ10に送信する。
具体的には、TCPでの宛先アドレスは、スイッチ10であり、論理アドレスは、ECU31等である。このため、スイッチ10は、フレームの中継時に、TCPでの宛先アドレスを、スイッチ10からECU31等に書き換える必要がある。
本実施形態の構成では、コネクショントンネルテーブル13が準備されているので、上位ヘッダに含まれる論理アドレスに対応する宛先アドレスを、コネクショントンネルテーブル13を参照すること特定できる。つまり、コネクショントンネルコンフィグでは、コネクショントンネルテーブル13を参照することで、TCPコネクション確立中に次のフレームを受けたときに、簡素な処理でTCPでの宛先アドレスを、スイッチ10からECU31等に書き換えできるように設定する。
換言すれば、スイッチ10は、フレーム送信元の通信装置が接続されたポートP0~P4からフレームを受信し、このフレームのヘッダ部分である上位ヘッダを参照してフレームの種別を判定する。ここで、フレームの種別の判定は、フレームを受信する都度実施されてもよいが、本実施形態では、TCPコネクションを確立するときだけ実施し、TCPコネクション確立中には、フレームの種別の判定を省略する構成として説明する。
フレームの種別の判定を省略する場合、TCPコネクション確立中のフレームの種別は、TCPコネクションを確立するときに認識したフレームの種別と同じであるとみなして以下の処理を進める。フレームの種別の判定を省略する構成は、スイッチ及びツール20間の通信だけでなく、スイッチ10及びECU31~34間の通信でも同様に適用される。
なお、以下では、受信したフレームの種別がDoIP等の予め設定されたプロトコルによるフレームである場合の作動について説明する。予め設定されたプロトコルでない場合には、TCPによる通常の中継、すなわち、ペイロードを解析した上で中継を行うとよい。
スイッチ10は、コネクショントンネルコンフィグが完了すると、コネクショントンネル通信の開始要求に対する応答をツール20に送信する。すると、ツール20は、宛先となるECU31~34に送信すべき実データを含むフレームの送信を開始する。
スイッチ10は、S120でフレームを受信し、図5に示すシーケンスナンバ管理テーブル14にて、データを管理する。すなわち、スイッチ10は、フレームのヘッダ部に従って、シーケンスナンバ管理テーブル14のうちの、送信元アドレス、宛先アドレス、TCPフラグ、データ長(len)を記述する。また、スイッチ10は、適宜演算等を行うことで、フレームを受信したポートP0~P4(SRCポート)、フレームの送信先が接続されたポートP0~P4(DISTポート)、シーケンスナンバ(SeqNum)、ACKナンバ(AckNum)等を記述する。
ここでは、スイッチ10は、ツール20からフレームを受信し、例えば、図5における「#」欄の「1」で示すように、宛先アドレスはスイッチ10であり、送信元アドレスはツール20であり、データ長(len)は1400バイトである等の記述を行う。
続いて、S125で、スイッチ10は、宛先となるECU31~34との間で上述した代理ハンドシェイクと同様の代理ハンドシェイクを実施する。なお、本実施形態では、宛先がECU31である場合について述べる。この処理により、スイッチ10は、ツール20とECU31との双方の間でTCPコネクションを確立した状態、換言すれば、コネクショントンネルが実行可能な状態になる。
続いて、S130で、スイッチ10は、シーケンスナンバオフセットを演算する。シーケンスナンバオフセットには、初期オフセット及び累積オフセットが含まれる。
ここで、スイッチ10は、実データを中継する前の通信である事前通信によって、送信元に対する通信データ量と、宛先に対する通信データ量とに差が生じる場合がある。ここでは、この差を上述の初期オフセットとして求める。
例えば、送信元に対する事前通信による通信データ量から宛先に対する事前通信による通信データ量を減算したときの差が+20バイトであれば、この差を初期オフセットとする。この場合、スイッチ10は、送信元にフレームを送信する際に、シーケンスナンバ、ACKナンバに20を加算し、宛先にフレームを送信する際に、シーケンスナンバ、ACKナンバから20を減算する。
また、ポートP0~P4によって通信プロトコルが異なる場合等、送信元からのフレームと宛先へのフレームとでデータ長が異なる場合には、データ長の差を上述の累積オフセットとして求める。ここでは、送信元からのフレームのデータ長が1400バイトであるのに対して、宛先へのフレームのデータ長が60バイト少なくなるため、宛先へのフレームのデータ長を1340バイトと記述するよう設定する。なお、初期オフセットは、フレームの送信回数によらず一定であるが、累積オフセットは、フレームの送信回数に比例して増加するため、フレーム送信の度に加減算される。
続いて、S140で、スイッチ10は、宛先変換、及びシーケンスナンバ変換を行う。スイッチ10は、宛先変換として、図5における「#」欄の「2」で示すように、コネクショントンネルコンフィグに従って、宛先アドレスをスイッチ10からECU31に変更し、送信元アドレスをツール20からスイッチ10に変更する。また、データ長を1400バイトから1340バイトに変更する。なお、シーケンスナンバ変換は、シーケンスナンバを補正する必要が生じた場合に実施される。
続いて、S150で、スイッチ10は、宛先変換、及びシーケンスナンバ変換が行われたフレームをECU31に送信する。ECU31は、このフレームを受けると、スイッチ10にACKを返す。すると、S160で、スイッチ10は、このACKを受信する。
このときスイッチ10が受信するフレームは、図5における「#」欄の「3」で示すように、宛先アドレスはスイッチ10であり、送信元アドレスはECU31であり、ACKナンバは1340である。
続いて、S170で、スイッチ10は、宛先変換、及びACKナンバ変換を行う。スイッチ10は、宛先変換として、図5における「#」欄の「4」で示すように、コネクショントンネルコンフィグに従って、宛先アドレスをスイッチ10からツール20に変更し、送信元アドレスをECU31からスイッチ10に変更する。また、ACKナンバを1340から1400に変更する。
つまり、ECU31は、データ長が1340バイトのフレームを受けたため、ACKナンバを1340で送信したが、ツール20はデータ長が1400バイトのフレーム送信したため、受信するACKのACKナンバが1340のままでは齟齬が生じる。この齟齬を解消するために、スイッチ10は、ACKナンバを1340から1400に変更する。なお、ACKナンバの補正量は、S130にて求められたデータ長の差と同様である。
続いて、S180で、スイッチ10は、宛先変換、及びACKナンバ変換が行われたACKをツール20に送信する。このようにして、ツール20からECU31へのフレーム送信が実施される。
次に、ツール20とスイッチ10とのコネクション、及びスイッチ10とECU31とのコネクションが確立された状態で、ECU31からツール20にフレームを送信する際の作動例について、図6のシーケンス図を用いて説明する。
まず、ECU31は、スイッチ10に対してフレームを送信し、S210で、スイッチ10は、このフレームを受信する。このフレームにおいて、宛先アドレスはスイッチ10であり、データ長は1400バイトである。
続いて、S220で、スイッチ10は、宛先変換、及びシーケンスナンバ変換を行う。スイッチ10は、宛先変換として、コネクショントンネルコンフィグに従って、宛先アドレスをスイッチ10からツール20に変更し、送信元アドレスをECU31からスイッチ10に変更する。また、ここでは、データ長を1400バイトから1420バイトに変更する。
続いて、S230で、スイッチ10は、宛先変換、及びシーケンスナンバ変換が行われたフレームをツール20に送信する。ツール20は、このフレームを受けると、スイッチ10にACKを返す。すると、S240で、スイッチ10は、このACKを受信する。
このときスイッチ10が受信するフレームでは、宛先アドレスはスイッチ10であり、ACKナンバは1420である。
続いて、S250で、スイッチ10は、宛先変換、及びACKナンバ変換を行う。スイッチ10は、宛先変換として、コネクショントンネルコンフィグに従って、宛先アドレスをスイッチ10からECU31に変更し、送信元アドレスをツール20からスイッチ10に変更する。また、ACKナンバを1420から1400に変更する。
続いて、S260で、スイッチ10は、宛先変換、及びACKナンバ変換が行われたACKをECU31に送信する。このようにして、ECU31からツール20へのフレーム送信が実施される。
[2-3.効果]
以上詳述した第1実施形態によれば、以下の効果を奏する。
(2a)本開示の一態様は、ツール20及びECU31~34に接続される複数のポー
トP0~P4を備え、ツール20及びECU31~34間で送受信されるコネクション型通信によるフレームを中継するように構成されたスイッチ10である。スイッチ10は、フレーム送信元の通信装置が接続されたポートP0~P4から受信フレームを受信し、受信フレームのヘッダ部分である上位ヘッダを参照して受信フレームの種別を判定するように構成される。また、スイッチ10は、受信フレームの種別が予め設定された種別である場合に、受信フレームのヘッダ部分を予め設定された条件に従って書き換えた送信フレームを生成するように構成される。また、スイッチ10は、送信フレームを送信先の通信装置が接続されたポートP0~P4から送信するように構成される。
このような構成によれば、コネクション型通信を行う場合に、受信フレームのヘッダ部分を参照することで受信フレームの種別を認識し、ヘッダ部分を書き換えるだけで送信フレームを生成する。したがって、ペイロードから受信フレームの上層のプロトコルによる記述を解析する等の処理を不要とすることができる。よって、コネクション型通信で用いられるプロトコルよりも上層のプロトコルによる記述を含むフレームを中継する際に、スイッチ10による処理負荷を軽減することができる。
(2b)本開示の一態様では、コネクション型通信を行うプロトコルを接続プロトコル、接続プロトコルよりも上層のプロトコルを上層プロトコルとする。そして、コネクショントンネルテーブル13を記録するように構成されたメモリ12をさらに備える。
コネクショントンネルテーブル13では、送信先の通信装置のアドレスについて、上層プロトコルでのアドレスを表す論理アドレスと、接続プロトコルでのアドレスを表すMACアドレス又はIPアドレスとが対応付けられている。
また、受信フレームのヘッダ部分には、接続プロトコルで当該スイッチ10を宛先とする宛先アドレス(例えばMACアドレス)と、上層プロトコルで送信先の通信装置を宛先とする上層アドレス(例えば上位ヘッダでの論理アドレス)とを含む。
そして、スイッチ10は、論理アドレスに対応するMACアドレス又はIPアドレスをコネクショントンネルテーブル13から抽出し、受信フレームにおける宛先アドレスを、論理アドレスに対応するMACアドレス又はIPアドレスに変換するように構成される。
このような構成によれば、受信フレームの上層アドレスを参照して宛先アドレスを送信先の通信装置に変更できるので、受信フレームの解析負荷を低減することができる。
(2c)本開示の一態様では、当該スイッチ10は、ツール20及びECU31~34との間で、それぞれシーケンスナンバ及びACKナンバを交換するコネクション型通信でのフレームを通信するように構成される。スイッチ10は、ツール20及びECU31~34との間で通信されるデータ量に差が生じる場合、受信フレームに含まれるシーケンスナンバ及びACKナンバのうちの少なくとも一方を該データ量の差に応じて補正しつつ、送信フレームを生成する。
このような構成によれば、スイッチ10とツール20及びECU31~34のそれぞれとの間で通信されるデータ量が異なり、データ量に差が生じる場合であっても、シーケンスナンバ及びACKナンバを良好に補正しつつ中継を行うことができる。
(2d)本開示の一態様では、スイッチ10は、データ量に差が生じる場合として、コネクション型通信よりも上層の上層プロトコルにおけるヘッダの変更又は削除により、コネクション型通信による接続プロトコルでのフレームサイズに変更がある場合に、シーケンスナンバ及びACKナンバを補正しつつ、送信フレームを生成する。
このような構成によれば、上層プロトコルでシーケンスナンバ及びACKナンバを良好に補正しつつ中継を行うことができる。
(2e)本開示の一態様では、スイッチ10は、ツール20及びECU31~34との間でハンドシェイクによるコネクション確立を代理で行うように構成される。
このような構成によれば、各通信装置は、スイッチ10とのコネクションを確立するだけで、宛先又は送信元との間でコネクション型通信を行うことができる。
[3.第2実施形態]
[3-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。なお、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
上述した第1実施形態では、ツール20とECU31との間での1のフレームのやり取りについて説明した。これに対し、第2実施形態では、複数のフレームのやり取りについて説明する点で、第1実施形態と相違する。
第2実施形態の通信システム2では、ツール20からECU31にフレームを送信する例を説明し、ECU31からツール20にフレームを送信する例については同様であるため説明を省略する。
[3-2.処理]
次に、第2実施形態の通信システム2では、図7に示すように、ツール20からスイッチ10に送られるフレームを中継前データとし、スイッチ10からECU31に送られるフレームを中継後データとする。中継後データは、中継前データと比較して、上位ヘッダに相当する20バイト分が削除され、データ長が20バイト短くなるよう設定される。
スイッチ10からECU31に対して、ツール20を介してフレームを送信する処理の一例を、図8のシーケンス図を用いて説明する。
なお、本実施形態では、シーケンスナンバオフセット、ACKナンバオフセットがそれぞれ100バイトに相当する100に設定される。また、本実施形態では、フレームの送信元は、ACKを待つことなく複数のフレームを連続して送信するよう構成される。具体的には、図8に示すように、ツール20は、3つのフレームを連続して送信する。
スイッチ10は、S310、S340、S370のそれぞれで、ツール20から送信された3つのフレームを順次受信する。そして、スイッチ10は、フレームを受信する度に、S320、S350、S380で、フレーム毎に、宛先変換、及びシーケンスナンバ変換を行う。
スイッチ10は、S310で、シーケンスナンバ100、データ長1020のフレームを受信し、S320で、シーケンスナンバオフセットを考慮して、フレームを、シーケンスナンバ0、データ長1000に書き換える。つまり、シーケンスナンバから初期オフセット100を減算し、データ長からデータ長の差である20を減算する。なお、宛先変換については第1実施形態と同様であるため説明を省略する。
また、スイッチ10が、S340で、シーケンスナンバ1120、データ長1020のフレームを受信すると、S350では、このフレームを、シーケンスナンバ1000、データ長1000に書き換える。つまり、シーケンスナンバから初期オフセット100と累積オフセット20を1回分乗じた値との和である120を減算し、データ長からデータ長の差である20を減算する。
同様に、スイッチ10が、S370で、シーケンスナンバ2140、データ長1020のフレームを受信すると、S380では、このフレームを、シーケンスナンバ2000、データ長1000に書き換える。つまり、シーケンスナンバから初期オフセット100と累積オフセット20を2回分乗じた値との和である140を減算し、データ長からデータ長の差である20を減算する。
そして、S330、S360、S390で、スイッチ10は、宛先変換、及びシーケンスナンバ変換が行われたフレームをECU31に送信する。
ECU31は、これらのフレームをスイッチ10から受信すると、その都度、ACKを返す。スイッチ10は、S410、S440、S470で、これらのACKをそれぞれ受信し、S420、S450、S480で、宛先変換、及びACKナンバ変換を行う。
詳細には、スイッチ10は、S410で、シーケンスナンバ1000のフレームに対する、ACKナンバ1000のACKを受信する。そして、S420で、このACKについて、初期オフセット100及び累積オフセット20を1回分乗じた20を加算した1120に書き換える。
また、スイッチ10は、S440で、シーケンスナンバ2000のフレームに対する、ACKナンバ2000のACKを受信する。そして、S450で、このACKについて、初期オフセット100及び累積オフセット20を2回分乗じた40を加算した2140に書き換える。
また、スイッチ10は、S470で、シーケンスナンバ3000のフレームに対する、ACKナンバ3000のACKを受信する。そして、S480で、このACKについて、初期オフセット100及び累積オフセット20を3回分乗じた60を加算した3160に書き換える。
続いて、S430、S460、S490で、スイッチ10は、宛先変換、及びACKナンバ変換が行われたACKをツール20に送信する。このようにして、ツール20からECU31へのフレーム送信が実施される。
[3-3.効果]
以上詳述した第2実施形態によれば、上述した第1実施形態の効果(2a)を奏し、さらに、以下の効果を奏する。
(3a)本開示の一態様では、スイッチ10は、データ量に差が生じる場合として、中継対象外の事前通信がある場合に、事前通信のデータ量に応じて、シーケンスナンバ及びACKナンバを補正しつつ、送信フレームを生成する。
このような構成によれば、中継対象外の事前通信がある場合であっても、シーケンスナンバ及びACKナンバを良好に補正しつつ中継を行うことができる。
[4.第3実施形態]
[4-1.第2実施形態との相違点]
上記第2実施形態では、送信元がACKを正常に受信できない場合、3つのフレームを全て再送することが想定されるが、第3実施形態では、送信元が一部のACKを正常に受信できれば、正常に受信できなかったフレームのみを再送できるようにする。
[4-2.構成]
第3実施形態の通信システム3では、メモリ12にシーケンスリングテーブル15(図1参照)を備える。シーケンスリングテーブル15は、図9に示すように、中継するフレーム毎に、前回送信インデックス、ACKインデックス、受信シーケンスナンバ、送信シーケンスナンバ、シーケンスナンバオフセット、送信ACKナンバ、受信ACKナンバが
記述されるテーブルである。また、シーケンスリングテーブル15は、リング型のテーブルであり、最も古い記述が順次上書きされる。
前回送信インデックスは、スイッチ10が最後に送信元から受信したフレームの位置を示し、ACKインデックスは、スイッチ10が最後に受信したACKの位置を示す。前回送信インデックス及びACKインデックスは、フレームの中継が正常に行われている場合には、上から下に移動する。前回送信インデックスにACKインデックスが追い付いて、前回送信インデックス及びACKインデックスが同じフレームの位置にある場合、スイッチ10が中継したフレームのACKの全てを受信したことを示す。
また反対に、ACKインデックスに前回送信インデックスが追い付く場合、シーケンスリングテーブル15が満杯の状態であるため、スイッチ10はフレームの中継を中止する。
なお、シーケンスリングテーブル15には、ACKナンバが記述されるが、ACKナンバについては演算によって求めることが可能であるため、シーケンスリングテーブル15に記述されることは必須でない。
[4-3.処理]
[4-3-1.通常の処理]
次に、第3実施形態の通信システム3では、第2実施形態と同様に、図10に示すように、ツール20からスイッチ10を介してECU31にフレームを中継する例について説明する。
スイッチ10は、第2実施形態同様に、S310、S340、S370のそれぞれで、3つのフレームを順次受信する。そして、スイッチ10は、フレームを受信する度に、S320、S350、S380で、フレーム毎に、宛先変換、及びシーケンスナンバ変換を行う。
ここでは、スイッチ10は、S320、S350、S380で、上述のようにフレームを書き換え、加えて、書換前後の情報をシーケンスリングテーブル15に記述する。スイッチ10は、S320で、シーケンスリングテーブル15にて、受信シーケンスナンバに書換前のシーケンスナンバ100を、送信シーケンスナンバにシーケンスナンバ0をそれぞれ記述する。また、シーケンスリングテーブル15にて、シーケンスナンバオフセットに初期オフセット100及び累積オフセット20を加算した120を、送信ACKナンバに送信フレームのシーケンスナンバ1120を、受信ACKナンバに受信フレームのシーケンスナンバ1000をそれぞれ記述する。
このとき、前回送信インデックスは、当該フレームの位置に設定され、ACKインデックスは初期位置に設定される。初期位置は、当該フレームの直前の位置、図9に示す例では、シーケンスリングテーブル15の最下段である。
スイッチ10は、S350、S380で、S320と同様にしてシーケンスリングテーブル15を記述する。このとき、前回送信インデックスは、新たに記述されたフレームの位置に設定され、ACKインデックスは更新されない。その後、S330、S360、S390で、スイッチ10は、宛先変換、シーケンスナンバ変換、及びシーケンスリングテーブル15の記述が行われたフレームをECU31に送信する。
スイッチ10は、第2実施形態と同様に、S410、S440、S470で、これらのACKをそれぞれ受信し、S420、S450、S480で、宛先変換、及びACKナンバ変換を行う。ただし、スイッチ10は、S420、S450、S480で、シーケンス
リングテーブル15の更新をする。
詳細には、スイッチ10は、S420で、シーケンスリングテーブル15における、S410にて受信したACKナンバ1000に対応する記述の位置に、ACKインデックスを移動させる。また、スイッチ10は、S450で、シーケンスリングテーブル15における、S440にて受信したACKナンバ2000に対応する記述の位置に、ACKインデックスを移動させる。また、スイッチ10は、S480で、シーケンスリングテーブル15における、S470にて受信したACKナンバ3000に対応する記述の位置に、ACKインデックスを移動させる。その後、S430、S460、S490で、スイッチ10は、宛先変換、ACKナンバ変換、及びシーケンスリングテーブル15の更新が行われたフレームをツール20に送信する。
[4-3-2.ECU31がフレーム受信できない場合の処理]
次に、スイッチ10からECU31に送信されるフレームの一部がECU31にて受信されない場合の例を、図11のシーケンス図を用いて説明する。この例では、スイッチ10がS360で送信するシーケンスナンバ1000のフレームが、ECU31で受信されない場合を示す。
図11に示すように、ECU31がフレームを受信しない場合でも、スイッチ10がS390で送信するシーケンスナンバ2000のフレームは、ECU31に送信される。このとき、スイッチ10は、シーケンスリングテーブル15において、送信シーケンスナンバ2000に対応する位置、すなわち、図12に示すように、シーケンスリングテーブル15の上から3段目の位置に、前回送信インデックスを移動させる。
この状態で、スイッチ10は、S410で、ECU31からACKナンバ1000のACKを受信し、S420で、ACKインデックスを受信ACKナンバ1000の位置に移動させる。スイッチ10は、S430で、ツール20にACKナンバ1120のACKを送信するが、他のACKを送信できない。このため、ツール20は、ACK受信のタイムアウトになり、ACKを受信できなったフレーム、つまり、シーケンスナンバ1120及び2140のフレームを再送する。
スイッチ10は、これらのフレームをS345及びS375で受信し、S355及びS385で、宛先変換、ACKナンバ変換、及びシーケンスリングテーブル15の更新を行う。スイッチ10は、S355で、直前に受信したフレームのシーケンスナンバと前回送信インデックスが位置するフレームのシーケンスナンバとを比較し、直前に受信したフレームのシーケンスナンバが小さい又は同じ場合に、再送されたフレームと判定する。
再送されたフレームであれば、スイッチ10は、図13に示すように、シーケンスリングテーブル15において、このフレームの記述を上書きし、このフレームよりもシーケンスナンバが大きいフレームに関する記述を削除する。図13に示す例では、図12に示す例と比較して、送信シーケンスナンバ2000に対応するフレーム、つまり、上から3段目のフレームが削除されている。そして、前回送信インデックスを受信したフレームの位置に戻すように移動させる。
なお、S385で、スイッチ10は、S380と同様にシーケンスリングテーブル15の更新をする。また、S365、S395で、スイッチ10は、S360、S390と同様に、フレームの送信を行う。
[4-3-3.スイッチ10がACK受信できない場合の処理]
次に、ECU31にて送信されるACKの一部がスイッチ10にて受信されない場合の
例を、図14のシーケンス図を用いて説明する。この例では、スイッチ10がS410で受信されるべきACKナンバ1000のフレームとスイッチ10がS440で受信されるべきACKナンバ2000のフレームとを受信できない場合を示す。
図14に示すように、スイッチ10は、S310~S390の処理を正常に実施し、ECU31は、スイッチ10からのフレームを正常に受信する。そして、ECU31は、それぞれACKを送信するが、スイッチ10は、S410及びS440で受信されるべきACKである、ACKナンバ1000及び2000のACKを受信できない。
ただし、スイッチ10は、S470で、ACKナンバ3000のACKを受信する。すると、スイッチ10は、S480で、図15に示すように、ACKナンバ3000に対応するフレームの位置にACKインデックスを移動させる。続いて、スイッチ10は、S490で、ACKナンバ3160のACKをツール20に送信する。
上記の説明では、ツール20は、S430及びS460で受信すべきACKナンバ1120及び2140のACKを受信していないが、これらよりも大きいACKナンバ3160のACKを受信できているので、それ以前のフレームは送信できていると判定する。このため、フレームの再送は実施されない。この場合、図15に示すように、前回送信インデックスにACKインデックスが追い付いた状態となり、換言すれば全てのフレームの送信が完了した状態となる。ただし、ツール20は、ACKナンバ2140のACKを受信できていて、それよりも大きなACKナンバ3160のACKを受信できない場合、このフレームを再送すべきと判定し、該当するフレーム(受信シーケンスナンバが2140のフレーム)のみが再送される。
[4-4.効果]
以上詳述した第3実施形態によれば、上述した第1実施形態の効果(2a)を奏し、さらに、以下の効果を奏する。
(4a)本開示の一態様では、過去の送受信シーケンスナンバ、ACKナンバ、前回送信インデックス、ACKインデックスが記述されたリング型のシーケンスリングテーブル15を記録するように構成されたメモリ12をさらに備える。スイッチ10は、シーケンスリングテーブル15を参照することでデータ量の差を認識し、送信フレームを生成する際に、シーケンスリングテーブル15を書き換える。
このような構成によれば、シーケンスリングテーブル15を用いてスイッチ10とツール20及びECU31~34との間のデータ量の差を管理することができる。また、前回送信インデックス及びACKインデックスを移動させることで、どのフレームがECU31~34に送信されたかやどのフレームが再送信必要かを判断することができる。そのため、ツール20とECU31~34間の通信信頼性を向上させることができる。
[5.第4実施形態]
[5-1.第1~第3実施形態との相違点]
上記第1~第3実施形態では、ツール20がスイッチ10を介して1つの宛先であるECU31との間でフレームを中継する例について説明した。しかし、第4実施形態の通信システム4では、ツール20がスイッチ10を介して複数の宛先であるECU31及び32との間でフレームを中継する点で第1~第3実施形態と異なる。
[5-2.構成]
第4実施形態の通信システム4では、メモリ12において、宛先となるECU31及び32用の複数のシーケンスリングテーブル15、16(図1参照)を備える。シーケンスリングテーブル15は、図16に示すように、ECU31専用のテーブルであり、上述の
シーケンスリングテーブル15と同様の構成である。また、シーケンスリングテーブル16は、図17に示すように、ECU32専用のテーブルであり、上述のシーケンスリングテーブル15と同様の構成である。
[5-3.処理]
次に、第4実施形態の通信システム4において、ツール20からスイッチ10を介してECU31及び32にフレームを中継する例について、図18のシーケンス図を用いて説明する。
スイッチ10は、上述のS310及びS340でツール20から宛先がECU31のフレームを受信するとともに、これらのフレームの間のS510で、宛先がECU32のフレームを受信する。つまり、ツール20は、宛先がECU31のフレーム、宛先がECU32のフレーム、宛先がECU31のフレームを、順に連続して送信する。
宛先がECU31のフレームに対して、スイッチ10は、上述の処理と同様に、S320、S330、S350、S360の処理を実施する。なお、ECU31用のシーケンスリングテーブル15が書き換えられるとき、ECU32用のシーケンスリングテーブル16に影響を与えない。
宛先がECU32のフレームに対して、スイッチ10は、S520、S530で、上述のS320、S330と同様の処理を実施する。ただし、スイッチ10は、S520で、ECU32用のシーケンスリングテーブル16に対する記述を行う。なお、ECU32用のシーケンスリングテーブル16が書き換えられるとき、ECU31用のシーケンスリングテーブル15に影響を与えない。
スイッチ10は、S410、S440で、ECU31に送信したフレームに対するACKをECU31から受信し、S420、S450と同様に、宛先変換、ACKナンバ変換、及びECU31用のシーケンスリングテーブル15の更新を行う。その後、S430、S460で、スイッチ10は、宛先変換、ACKナンバ変換、及びシーケンスリングテーブル15の更新が行われたフレームをツール20に送信する。
また、スイッチ10は、S610で、ECU32に送信したフレームに対するACKをECU32から受信し、S620で、S420と同様に、宛先変換、ACKナンバ変換、及びECU32用のシーケンスリングテーブル16の更新を行う。その後、S630で、スイッチ10は、宛先変換、ACKナンバ変換、及びシーケンスリングテーブル16の更新が行われたフレームをツール20に送信する。
[5-4.効果]
以上詳述した第3実施形態によれば、上述した第1実施形態の効果(2a)を奏し、さらに、以下の効果を奏する。
(5a)本開示の一態様では、3以上の転送先ポートを備えるとともに、メモリ12は、転送先ポート毎に、シーケンスリングテーブル15、16を備える。スイッチ10は、転送先ポート毎にシーケンスリングテーブル15、16を書き換える。
このような構成によれば、スイッチ10は、ツール20と、複数のECU31~34に対して同時にコネクション型通信を行うことができる。
[6.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
(6a)上記実施形態では、スイッチ10に接続される通信線の本数が5である場合を例示するが、これに限定されるものではない。例えば、通信線の本数は、2以上であればどのような数でもよい。
(6b)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
(6c)上述したスイッチ10等の中継装置の他、当該中継装置を構成要素とするシステム、当該中継装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、中継方法など、種々の形態で本開示を実現することもできる。
[7.実施形態の構成と本開示の構成との対応関係]
上記実施形態においてスイッチ10は本開示での中継装置に相当し、上記実施形態においてツール20及びECU31~34は本開示での通信装置に相当する。また、上記実施形態においてメモリ12は本開示での転送先記録部及びナンバ記録部に相当し、上記実施形態においてコネクショントンネルテーブル13は本開示での転送先情報に相当する。また、上記実施形態においてシーケンスリングテーブル15、16は本開示でのシーケンステーブルに相当する。
また、上記実施形態においてTCPプロトコルによる通信は本開示でのコネクション型通信に相当し、上記実施形態においてスイッチ10が実行する構成のうちのS115の構成は本開示での種別判定部に相当する。上記実施形態においてS140、S170、S220、S250、S320、S350、S355、S380、S385、S420、S450、S480、S520、S620の構成は本開示での書換部に相当する。
また、上記実施形態においてS150、S180、S230、S260の構成は本開示での送信部に相当し、上記実施形態においてS110、S125の構成は本開示での代理部に相当する。
1~4…通信システム、10…スイッチ、11…制御部、12…メモリ、13…コネクショントンネルテーブル、13…コネクショントンネルテーブル、14…シーケンスナンバ管理テーブル、15~16…シーケンスリングテーブル、20…ツール、31~34…ECU、40~44…通信線。

Claims (10)

  1. 複数の通信装置(20、31~34)に接続される複数の通信ポート(P0~P4)を備え、前記複数の通信装置間で送受信されるコネクション型通信によるフレームを中継するように構成された中継装置(10)であって、
    フレーム送信元の通信装置が接続された通信ポートから受信フレームを受信し、該受信フレームのヘッダ部分を参照して該受信フレームの種別を判定するように構成された種別判定部(S115)と、
    該受信フレームの種別が予め設定された種別である場合に、該受信フレームのヘッダ部分を予め設定された条件に従って書き換えた送信フレームを生成するように構成された書換部(S140、S170、S220、S250、S320、S350、S355、S380、S385、S420、S450、S480、S520、S620)と、
    前記送信フレームを送信先の通信装置が接続された通信ポートから送信する送信部(S150、S180、S230、S260)と、
    を備え
    前記コネクション型通信を行うプロトコルを接続プロトコル、前記接続プロトコルよりも上層のプロトコルを上層プロトコルとして、
    前記送信先の通信装置のアドレスについて、前記上層プロトコルでのアドレスを表す第1アドレスと、前記接続プロトコルでのアドレスを表す第2アドレスとを対応付けた転送先情報(13)を記録するように構成された転送先記録部(12)、をさらに備え、
    前記受信フレームのヘッダ部分には、前記接続プロトコルで当該中継装置を宛先とする宛先アドレスと、前記上層プロトコルで前記送信先の通信装置を宛先とする上層アドレスとを含み、
    前記書換部は、前記転送先情報に従って、前記上層アドレスと一致する前記第1アドレスから該第1アドレスに対応する前記第2アドレスを抽出し、前記受信フレームにおける前記宛先アドレスを、抽出した前記第2アドレスに変換する
    ように構成された中継装置。
  2. 請求項1に記載の中継装置であって、
    前記送信部は、複数のフレームを連続して送信するように構成され、
    当該中継装置は、
    前記複数のフレームに対するそれぞれのACKを前記複数の通信装置から受信するように構成されたACK受信部と、
    前記ACKが受信できない場合に、該受信できないACKについてのフレームを再送するように構成された再送部と、
    をさらに備え、
    前記再送部は、前記複数のフレームのうちの、後から送信したフレームに対するACKを受信した場合、先に送信したフレームに対するACKを受信していない場合であっても、該先に送信したフレームを再送しない、
    ように構成された中継装置。
  3. 請求項1又は請求項2に記載の中継装置であって、
    当該中継装置は、前記複数の通信装置との間で、それぞれシーケンスナンバ及びACKナンバを交換するコネクション型通信でのフレームを通信するように構成され、
    前記書換部は、前記複数の通信装置との間で通信されるデータ量に差が生じる場合、前記受信フレームに含まれるシーケンスナンバ及びACKナンバのうちの少なくとも一方を前記差に応じて補正しつつ、前記送信フレームを生成する
    ように構成された中継装置。
  4. 請求項3に記載の中継装置であって、
    前記書換部は、前記データ量に差が生じる場合として、中継対象外の事前通信がある場合に、前記事前通信のデータ量に応じて、前記補正をしつつ、前記送信フレームを生成する
    ように構成された中継装置。
  5. 請求項3又は請求項4に記載の中継装置であって、
    前記書換部は、前記データ量に差が生じる場合として、前記コネクション型通信よりも上層の上層プロトコルにおけるヘッダの変更又は削除により、前記コネクション型通信による接続プロトコルでのフレームサイズに変更がある場合に、前記受信フレームと前記送信フレームとのデータサイズ差分を演算し、前記補正をしつつ、前記送信フレームを生成する
    ように構成された中継装置。
  6. 請求項3から請求項5の何れか1項に記載の中継装置であって、
    過去の送受信シーケンスナンバ、ACKナンバ、送信インデックス、ACKインデックスが記述されたシーケンステーブル(15、16)を記録するように構成されたナンバ記録部(12)、をさらに備え、
    前記書換部は、前記シーケンステーブルを参照することで前記データ量の差を認識し、前記送信フレームを生成する際に、前記シーケンステーブルを書き換える
    ように構成された中継装置。
  7. 請求項6に記載の中継装置であって、
    3以上の転送先ポートを備えるとともに、
    前記ナンバ記録部は、前記転送先ポート毎に、前記シーケンステーブルを備え、
    前記書換部は、前記転送先ポート毎に前記シーケンステーブルを書き換える
    ように構成された中継装置。
  8. 請求項1から請求項7の何れか1項に記載の中継装置であって、
    前記複数の通信装置との間でハンドシェイクによるコネクション確立を代理で行うように構成された代理部(S110、S125)、
    をさらに備える中継装置。
  9. 請求項1から請求項8の何れか1項に記載の中継装置であって、
    当該中継装置は、TCPコネクションを確立するように構成され、
    前記種別判定部は、前記TCPコネクションを確立するときに、前記受信フレームの種別を判定し、前記TCPコネクション確立中には、フレームの種別の判定を省略して、TCPコネクションを確立するときに認識したフレームの種別と同じであるとみなす
    ように構成された中継装置。
  10. 複数の通信装置(20、31~34)に接続される複数の通信ポート(P0~P4)を備え、前記複数の通信装置間で送受信されるコネクション型通信によるフレームを中継するように構成された中継装置(10)が実行する中継方法であって、
    フレーム送信元の通信装置が接続された通信ポートから受信フレームを受信し、該受信フレームのヘッダ部分を参照して該受信フレームの種別を判定し(S115)、
    該受信フレームの種別が予め設定された種別である場合に、該受信フレームのヘッダ部分を予め設定された条件に従って書き換えた送信フレームを生成し(S140、S170、S220、S250、S320、S350、S355、S380、S385、S420、S450、S480、S520、S620)、
    前記送信フレームを送信先の通信装置が接続された通信ポートから送信し(S150、S180、S230、S260)、
    前記コネクション型通信を行うプロトコルを接続プロトコル、前記接続プロトコルよりも上層のプロトコルを上層プロトコルとして、
    前記送信先の通信装置のアドレスについて、前記上層プロトコルでのアドレスを表す第1アドレスと、前記接続プロトコルでのアドレスを表す第2アドレスとを対応付けた転送先情報(13)を記録し、
    前記受信フレームのヘッダ部分には、前記接続プロトコルで当該中継装置を宛先とする宛先アドレスと、前記上層プロトコルで前記送信先の通信装置を宛先とする上層アドレスとを含み、
    前記書き換えた送信フレームを生成する際に、前記転送先情報に従って、前記上層アドレスと一致する前記第1アドレスから該第1アドレスに対応する前記第2アドレスを抽出し、前記受信フレームにおける前記宛先アドレスを、抽出した前記第2アドレスに変換する
    中継方法。
JP2019068009A 2019-03-29 2019-03-29 中継装置、及び中継方法 Active JP7200803B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019068009A JP7200803B2 (ja) 2019-03-29 2019-03-29 中継装置、及び中継方法
US16/802,811 US11252104B2 (en) 2019-03-29 2020-02-27 Relay apparatus
DE102020203946.1A DE102020203946A1 (de) 2019-03-29 2020-03-26 Weiterleitungsvorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019068009A JP7200803B2 (ja) 2019-03-29 2019-03-29 中継装置、及び中継方法

Publications (2)

Publication Number Publication Date
JP2020167588A JP2020167588A (ja) 2020-10-08
JP7200803B2 true JP7200803B2 (ja) 2023-01-10

Family

ID=72715367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019068009A Active JP7200803B2 (ja) 2019-03-29 2019-03-29 中継装置、及び中継方法

Country Status (1)

Country Link
JP (1) JP7200803B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003318976A (ja) 2002-04-23 2003-11-07 Fujitsu Ltd ストリーミングデータ振り分け装置および振り分け方法
US20170085500A1 (en) 2015-09-18 2017-03-23 Pluribus Networks, Inc. Streamlined processing in a network switch of network packets in a spliced connection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003318976A (ja) 2002-04-23 2003-11-07 Fujitsu Ltd ストリーミングデータ振り分け装置および振り分け方法
US20170085500A1 (en) 2015-09-18 2017-03-23 Pluribus Networks, Inc. Streamlined processing in a network switch of network packets in a spliced connection

Also Published As

Publication number Publication date
JP2020167588A (ja) 2020-10-08

Similar Documents

Publication Publication Date Title
US7519048B2 (en) Communication system and packet switching method thereof
JP6500123B2 (ja) 車載ゲートウェイ装置、及び車載ネットワークシステム
CN109716710B (zh) 用于在机动车中的以太网与总线系统之间传输数据包的方法以及网关设备和机动车
US20150215214A1 (en) Method and system for increasing data flow transmission
US20130229916A1 (en) Communication device and communication system
JP2002290459A (ja) パケット転送装置および方法
US8934489B2 (en) Routing device and method for processing network packet thereof
Han et al. On AUTOSAR TCP/IP performance in in-vehicle network environments
US20130238813A1 (en) Relay server and relay communication system
JP7200803B2 (ja) 中継装置、及び中継方法
KR102585940B1 (ko) 차량용 이더넷 통신을 위한 게이트웨이 및 이를 이용한 메시지 라우팅 방법
EP1901497A1 (en) Apparatus for low latency communications through an alternate path
JP7347182B2 (ja) 中継装置
US11252104B2 (en) Relay apparatus
JP4752722B2 (ja) パケット転送装置及びパケット転送方法
JP6933207B2 (ja) 送信装置、方法およびプログラム
CN113726874A (zh) 一种会话表的备份方法、主机设备及双机热备系统
JP7158826B2 (ja) 通信制御装置、通信制御システム及び通信制御方法
JP2002261792A (ja) 通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体
JP6316089B2 (ja) 通信システム、始端装置、中継装置及び終端装置
JP7247712B2 (ja) 中継装置及び中継方法
JP2003229900A (ja) 中継処理装置及び中継処理方法
JP5681297B2 (ja) 中継バックアップ装置及び中継制御方法
US11977503B2 (en) Control device, onboard system, control method, and non-transitory computer-readable recording medium
JPH1188462A (ja) 無線通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221205

R151 Written notification of patent or utility model registration

Ref document number: 7200803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151