JP7200803B2 - 中継装置、及び中継方法 - Google Patents
中継装置、及び中継方法 Download PDFInfo
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
継装置による処理負荷を軽減することができる。
[1.概要]
車両におけるイーサネット(商標登録)スイッチ(以下スイッチ)では、DoIPによる診断が用いられることがある。DoIPはL2ネットワークが前提であるため、車両内ネットワークドメインに中継する場合、車両外L2ネットワークにつながる装置(スイッチ等)がTCPコネクションを終端し、TCPペイロードのデータに従って中継する必要がある。このとき、スイッチはツールとECUそれぞれとTCPコネクションを確立し、さらにペイロードの解析結果を用いて中継処理を行うため、中継処理の処理負荷が非常に大きいという課題がある。
[2.第1実施形態]
[2-1.構成]
本開示の一態様の通信システム1は、例えば、主要部が乗用車等の車両に搭載され、車両内外の各通信装置間でフレームの中継を行うためのシステムである。
スイッチ10は、ゲートウェイであるイーサネット(登録商標)スイッチとして構成される。スイッチ10は、例えば、DoIP(Diagnostics over Internet Protocol)、イーサネット及びTCP(Transmission Control Protocol)等のプロトコルを利用して通信する。スイッチ10は、通信線40~44間でフレームをフィルタリングしつつ中継する。
制御部11は、フレームの中継の全般を管理する。制御部11は、例えば集積回路やマイコン等によって構成される。メモリ12は、例えば揮発性のメモリであるが、書き換え可能な不揮発性メモリであってもよい。
形式、フレームのデータ長、フレームの種別等のフレームの特性に応じて、該フレームを中継するか破棄するか等の処理を決定するためのルールである。ここで、通信システム1において通信されるフレームは、例えば図2に示すようなフレームである。このフレームは、OSI参照モデルでの第5層以上のプロトコルを取り扱うアプリケーションによって生成され、OSI参照モデルでの第4層のプロトコルであるTCPで通信をするためのTCPヘッダを含む。本実施形態では、第5層以上のプロトコルとして、上述のDoIP、或いは診断用に準備された専用プロトコルを用いる。
ツール20は、通信線40に対して着脱自在に構成され、車両の点検時等、必要に応じて通信線40を介してスイッチ10に接続される。ツール20は、通信線40を介してスイッチ10に接続された際に、予め設定された1又は複数のECU31~34と通信を行うことで、これらのECU31~34のメモリに記録されたダイアグ等の情報を読み出し、読み出した情報に基づいて車両診断を行う装置である。また、ツール20は、ECU31~34にフレームを送信することによって、ECU31~34内に格納されたプログラムを書き換える機能も有する。
次に、スイッチ10及びECU31が、ツール20を介してフレームのやり取りする処理の一例を、図4のシーケンス図を用いて説明する。なお、以下では、スイッチ10の制御部11が実行する構成を中心に説明する。
ここで、スイッチ10は、実データを中継する前の通信である事前通信によって、送信元に対する通信データ量と、宛先に対する通信データ量とに差が生じる場合がある。ここでは、この差を上述の初期オフセットとして求める。
続いて、S170で、スイッチ10は、宛先変換、及びACKナンバ変換を行う。スイッチ10は、宛先変換として、図5における「#」欄の「4」で示すように、コネクショントンネルコンフィグに従って、宛先アドレスをスイッチ10からツール20に変更し、送信元アドレスをECU31からスイッチ10に変更する。また、ACKナンバを1340から1400に変更する。
続いて、S250で、スイッチ10は、宛先変換、及びACKナンバ変換を行う。スイッチ10は、宛先変換として、コネクショントンネルコンフィグに従って、宛先アドレスをスイッチ10からECU31に変更し、送信元アドレスをツール20からスイッチ10に変更する。また、ACKナンバを1420から1400に変更する。
以上詳述した第1実施形態によれば、以下の効果を奏する。
(2a)本開示の一態様は、ツール20及びECU31~34に接続される複数のポー
トP0~P4を備え、ツール20及びECU31~34間で送受信されるコネクション型通信によるフレームを中継するように構成されたスイッチ10である。スイッチ10は、フレーム送信元の通信装置が接続されたポートP0~P4から受信フレームを受信し、受信フレームのヘッダ部分である上位ヘッダを参照して受信フレームの種別を判定するように構成される。また、スイッチ10は、受信フレームの種別が予め設定された種別である場合に、受信フレームのヘッダ部分を予め設定された条件に従って書き換えた送信フレームを生成するように構成される。また、スイッチ10は、送信フレームを送信先の通信装置が接続されたポートP0~P4から送信するように構成される。
(2c)本開示の一態様では、当該スイッチ10は、ツール20及びECU31~34との間で、それぞれシーケンスナンバ及びACKナンバを交換するコネクション型通信でのフレームを通信するように構成される。スイッチ10は、ツール20及びECU31~34との間で通信されるデータ量に差が生じる場合、受信フレームに含まれるシーケンスナンバ及びACKナンバのうちの少なくとも一方を該データ量の差に応じて補正しつつ、送信フレームを生成する。
(2e)本開示の一態様では、スイッチ10は、ツール20及びECU31~34との間でハンドシェイクによるコネクション確立を代理で行うように構成される。
[3.第2実施形態]
[3-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。なお、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
次に、第2実施形態の通信システム2では、図7に示すように、ツール20からスイッチ10に送られるフレームを中継前データとし、スイッチ10からECU31に送られるフレームを中継後データとする。中継後データは、中継前データと比較して、上位ヘッダに相当する20バイト分が削除され、データ長が20バイト短くなるよう設定される。
なお、本実施形態では、シーケンスナンバオフセット、ACKナンバオフセットがそれぞれ100バイトに相当する100に設定される。また、本実施形態では、フレームの送信元は、ACKを待つことなく複数のフレームを連続して送信するよう構成される。具体的には、図8に示すように、ツール20は、3つのフレームを連続して送信する。
ECU31は、これらのフレームをスイッチ10から受信すると、その都度、ACKを返す。スイッチ10は、S410、S440、S470で、これらのACKをそれぞれ受信し、S420、S450、S480で、宛先変換、及びACKナンバ変換を行う。
以上詳述した第2実施形態によれば、上述した第1実施形態の効果(2a)を奏し、さらに、以下の効果を奏する。
[4.第3実施形態]
[4-1.第2実施形態との相違点]
上記第2実施形態では、送信元がACKを正常に受信できない場合、3つのフレームを全て再送することが想定されるが、第3実施形態では、送信元が一部のACKを正常に受信できれば、正常に受信できなかったフレームのみを再送できるようにする。
第3実施形態の通信システム3では、メモリ12にシーケンスリングテーブル15(図1参照)を備える。シーケンスリングテーブル15は、図9に示すように、中継するフレーム毎に、前回送信インデックス、ACKインデックス、受信シーケンスナンバ、送信シーケンスナンバ、シーケンスナンバオフセット、送信ACKナンバ、受信ACKナンバが
記述されるテーブルである。また、シーケンスリングテーブル15は、リング型のテーブルであり、最も古い記述が順次上書きされる。
なお、シーケンスリングテーブル15には、ACKナンバが記述されるが、ACKナンバについては演算によって求めることが可能であるため、シーケンスリングテーブル15に記述されることは必須でない。
[4-3-1.通常の処理]
次に、第3実施形態の通信システム3では、第2実施形態と同様に、図10に示すように、ツール20からスイッチ10を介してECU31にフレームを中継する例について説明する。
リングテーブル15の更新をする。
次に、スイッチ10からECU31に送信されるフレームの一部がECU31にて受信されない場合の例を、図11のシーケンス図を用いて説明する。この例では、スイッチ10がS360で送信するシーケンスナンバ1000のフレームが、ECU31で受信されない場合を示す。
次に、ECU31にて送信されるACKの一部がスイッチ10にて受信されない場合の
例を、図14のシーケンス図を用いて説明する。この例では、スイッチ10がS410で受信されるべきACKナンバ1000のフレームとスイッチ10がS440で受信されるべきACKナンバ2000のフレームとを受信できない場合を示す。
以上詳述した第3実施形態によれば、上述した第1実施形態の効果(2a)を奏し、さらに、以下の効果を奏する。
[5.第4実施形態]
[5-1.第1~第3実施形態との相違点]
上記第1~第3実施形態では、ツール20がスイッチ10を介して1つの宛先であるECU31との間でフレームを中継する例について説明した。しかし、第4実施形態の通信システム4では、ツール20がスイッチ10を介して複数の宛先であるECU31及び32との間でフレームを中継する点で第1~第3実施形態と異なる。
第4実施形態の通信システム4では、メモリ12において、宛先となるECU31及び32用の複数のシーケンスリングテーブル15、16(図1参照)を備える。シーケンスリングテーブル15は、図16に示すように、ECU31専用のテーブルであり、上述の
シーケンスリングテーブル15と同様の構成である。また、シーケンスリングテーブル16は、図17に示すように、ECU32専用のテーブルであり、上述のシーケンスリングテーブル15と同様の構成である。
次に、第4実施形態の通信システム4において、ツール20からスイッチ10を介してECU31及び32にフレームを中継する例について、図18のシーケンス図を用いて説明する。
以上詳述した第3実施形態によれば、上述した第1実施形態の効果(2a)を奏し、さらに、以下の効果を奏する。
[6.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
上記実施形態においてスイッチ10は本開示での中継装置に相当し、上記実施形態においてツール20及びECU31~34は本開示での通信装置に相当する。また、上記実施形態においてメモリ12は本開示での転送先記録部及びナンバ記録部に相当し、上記実施形態においてコネクショントンネルテーブル13は本開示での転送先情報に相当する。また、上記実施形態においてシーケンスリングテーブル15、16は本開示でのシーケンステーブルに相当する。
Claims (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)を記録するように構成された転送先記録部(12)、をさらに備え、
前記受信フレームのヘッダ部分には、前記接続プロトコルで当該中継装置を宛先とする宛先アドレスと、前記上層プロトコルで前記送信先の通信装置を宛先とする上層アドレスとを含み、
前記書換部は、前記転送先情報に従って、前記上層アドレスと一致する前記第1アドレスから該第1アドレスに対応する前記第2アドレスを抽出し、前記受信フレームにおける前記宛先アドレスを、抽出した前記第2アドレスに変換する
ように構成された中継装置。 - 請求項1に記載の中継装置であって、
前記送信部は、複数のフレームを連続して送信するように構成され、
当該中継装置は、
前記複数のフレームに対するそれぞれのACKを前記複数の通信装置から受信するように構成されたACK受信部と、
前記ACKが受信できない場合に、該受信できないACKについてのフレームを再送するように構成された再送部と、
をさらに備え、
前記再送部は、前記複数のフレームのうちの、後から送信したフレームに対するACKを受信した場合、先に送信したフレームに対するACKを受信していない場合であっても、該先に送信したフレームを再送しない、
ように構成された中継装置。 - 請求項1又は請求項2に記載の中継装置であって、
当該中継装置は、前記複数の通信装置との間で、それぞれシーケンスナンバ及びACKナンバを交換するコネクション型通信でのフレームを通信するように構成され、
前記書換部は、前記複数の通信装置との間で通信されるデータ量に差が生じる場合、前記受信フレームに含まれるシーケンスナンバ及びACKナンバのうちの少なくとも一方を前記差に応じて補正しつつ、前記送信フレームを生成する
ように構成された中継装置。 - 請求項3に記載の中継装置であって、
前記書換部は、前記データ量に差が生じる場合として、中継対象外の事前通信がある場合に、前記事前通信のデータ量に応じて、前記補正をしつつ、前記送信フレームを生成する
ように構成された中継装置。 - 請求項3又は請求項4に記載の中継装置であって、
前記書換部は、前記データ量に差が生じる場合として、前記コネクション型通信よりも上層の上層プロトコルにおけるヘッダの変更又は削除により、前記コネクション型通信による接続プロトコルでのフレームサイズに変更がある場合に、前記受信フレームと前記送信フレームとのデータサイズ差分を演算し、前記補正をしつつ、前記送信フレームを生成する
ように構成された中継装置。 - 請求項3から請求項5の何れか1項に記載の中継装置であって、
過去の送受信シーケンスナンバ、ACKナンバ、送信インデックス、ACKインデックスが記述されたシーケンステーブル(15、16)を記録するように構成されたナンバ記録部(12)、をさらに備え、
前記書換部は、前記シーケンステーブルを参照することで前記データ量の差を認識し、前記送信フレームを生成する際に、前記シーケンステーブルを書き換える
ように構成された中継装置。 - 請求項6に記載の中継装置であって、
3以上の転送先ポートを備えるとともに、
前記ナンバ記録部は、前記転送先ポート毎に、前記シーケンステーブルを備え、
前記書換部は、前記転送先ポート毎に前記シーケンステーブルを書き換える
ように構成された中継装置。 - 請求項1から請求項7の何れか1項に記載の中継装置であって、
前記複数の通信装置との間でハンドシェイクによるコネクション確立を代理で行うように構成された代理部(S110、S125)、
をさらに備える中継装置。 - 請求項1から請求項8の何れか1項に記載の中継装置であって、
当該中継装置は、TCPコネクションを確立するように構成され、
前記種別判定部は、前記TCPコネクションを確立するときに、前記受信フレームの種別を判定し、前記TCPコネクション確立中には、フレームの種別の判定を省略して、TCPコネクションを確立するときに認識したフレームの種別と同じであるとみなす
ように構成された中継装置。 - 複数の通信装置(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アドレスに変換する
中継方法。
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)
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 |
-
2019
- 2019-03-29 JP JP2019068009A patent/JP7200803B2/ja active Active
Patent Citations (2)
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 |