JP2018032934A - 通信装置及び再送制御方法 - Google Patents

通信装置及び再送制御方法 Download PDF

Info

Publication number
JP2018032934A
JP2018032934A JP2016162755A JP2016162755A JP2018032934A JP 2018032934 A JP2018032934 A JP 2018032934A JP 2016162755 A JP2016162755 A JP 2016162755A JP 2016162755 A JP2016162755 A JP 2016162755A JP 2018032934 A JP2018032934 A JP 2018032934A
Authority
JP
Japan
Prior art keywords
data
transmission
unit
header
received
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.)
Pending
Application number
JP2016162755A
Other languages
English (en)
Inventor
友邦 上野
Tomokuni Ueno
友邦 上野
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2016162755A priority Critical patent/JP2018032934A/ja
Priority to US15/683,220 priority patent/US10270560B2/en
Priority to CN201710723720.4A priority patent/CN107769897B/zh
Publication of JP2018032934A publication Critical patent/JP2018032934A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/14Arrangements for detecting or preventing errors in the information received by using return channel in which the signals are sent back to the transmitter to be checked ; echo systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】再送の高速化を図る。【解決手段】通信装置は、送信部と、受信部と、比較部と、再送制御部とを有する。送信部は、通信相手に向けて第1データを送信する。受信部は、通信相手によって受信された第1データが返送されたデータである、第2データを受信する。比較部は、データリンク層の処理部であり、送信された第1データと受信された第2データとを比較する。再送制御部は、データリンク層の処理部であり、比較部による比較の結果、送信された第1データと受信された第2データとが不一致である場合、第1データの再送を制御する。【選択図】図2

Description

本発明は、通信装置及び再送制御方法に関する。
通信の信頼性を高める技術として、例えば、特許文献1に開示されている、通信エラーを検出する技術がある。
また、通信の信頼性を高める他の技術として、例えば、特許文献2に開示されている、送信側装置から受信側装置へ送信されるデータの再送制御がある。特許文献2では、送信側装置である読取装置が画像データを受信側装置である制御装置へ送信し、受信側装置では、上位層(上位レイヤ)のソフトウェアが受信した画像データにエラーを検出した際に送信側装置へ再送を要求する。
特開平11−284605号公報 特開2016−12761号公報
ところで、車に搭載されるネットワークにおいて通信量が増えてきており、これに伴い、車載ネットワークとしてEthernet(登録商標)等の全二重通信ネットワーク(復信方式の通信ネットワーク)を導入することが検討されている。この車載ネットワークに対しては、特に、通信の高信頼性及び低遅延性に関する要求がある。
本発明者は、通信の高信頼性及び低遅延性に関する要求に鑑みて、以下の問題を見出した。
上記特許文献2に開示されている再送技術を全二重通信ネットワーク(つまり、復信方式の通信ネットワーク)に適用しても、上位層のソフトウェアによる処理速度は遅いので、送信側装置がデータを送信してから受信側装置からの再送信要求を受け取るまでに長い時間を要し、結果として、再送が遅延してしまう可能性がある。
なお、上記特許文献1に開示された技術は、送信側装置が受信側装置へクロックを供給できるような近距離且つ低速の通信を前提としている。また、上記特許文献1に開示された技術は、送信データが伝送される信号線と返送データが伝送される信号線とをそれぞれ独立して設けることを前提としている。このため、上記特許文献1に開示された技術を、全二重通信ネットワーク(つまり、復信方式の通信ネットワーク)にそのまま適用することは難しい。
その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
一実施の形態によれば、通信装置は、通信相手によって受信された通信装置自身の送信データを通信相手が返送した、データを受信し、データリンク層にて、受信データと送信データの不一致が検出された場合、送信データの再送を制御する。
前記一実施の形態によれば、再送の高速化を図ることができる。
第1実施形態の通信システムの概要を示すブロック図である。 第1実施形態の送信ノードの一例を示すブロック図である。 第1実施形態の受信ノードの一例を示すブロック図である。 第1実施形態の送信ノードの動作例を示すフローチャートである。 第1実施形態の受信ノードの動作例を示すフローチャートである。 第2実施形態の送信ノードの具体的構成の一例を示すブロック図である。 第2実施形態のフレーム形式の一例を示す図である。 第2実施形態の受信ノードの具体的構成の一例を示すブロック図である。 第3実施形態の送信ノードの具体的構成の一例を示すブロック図である。 第3実施形態の送信対象フレームの説明に供する図である。 第3実施形態のフレーム形式の一例を示す図である。 第3実施形態の受信ノードの具体的構成の一例を示すブロック図である。 第3実施形態の送信ノードの動作例を示すフローチャートである。 第3実施形態の受信ノードの動作例を示すフローチャートである。 他の実施形態(3)の車載ネットワークの模式図である。 他の実施形態(4)の通信装置のハードウェア構成例を示す図である。
以下、図面を参照しつつ、実施の形態について説明する。なお、同一の要素には、同一の符号を付し、重複する説明は省略される。
<第1実施形態>
<通信システムの概要>
図1は、第1実施形態の通信システムの概要を示すブロック図である。図1において、通信システム1は、通信装置10,20と、送受信インタフェース30,40と、ネットワークラインL1とを有している。
通信装置10は、通信相手である通信装置20に向けて、送信データ(以下では、「第1データ」と呼ぶことがある)を送信する。すなわち、ここでは、通信装置10は、「送信ノード」として動作する。通信装置10から送出された第1データは、送受信インタフェース30、ネットワークラインL1、及び送受信インタフェース40を介して、通信装置20へ到達する。ここで、通信装置10,20と送受信インタフェース30,40とネットワークラインL1とは、全二重通信ネットワーク(つまり、復信方式のネットワーク)を構築していてもよく、以下では、全二重通信ネットワーク(つまり、復信方式のネットワーク)が構築されているものとして説明する。
通信装置20は、通信装置10から送信された第1データ(つまり、送信データ)を受信する。すなわち、ここでは、通信装置20は、「受信ノード」として動作する。そして、通信装置20は、受信した第1データを通信装置10に向けて返送する。例えば、通信装置20は、受信した第1データをそのままの状態で「ミラー返送」する。
ここで、通信装置20における第1データの受信処理及び返送処理は、例えばネットワーク層等の上位のレイヤではなく、データリンク層で行われる。これにより、処理速度が遅い上位レイヤでの処理を回避できる。
そして、通信装置10は、通信装置20から返送された第1データ(つまり、返送データ)を復信方式によって受信する。以下では、この受信した返送データを「第2データ」と呼ぶことがある。そして、通信装置10は、受信した第2データと送信した第1データとを比較して、両データが一致しなかった場合、第1データの再送を実行する。なお、両データが一致するケースは、通信装置10から送信された第1データが通信装置20で正しく受信されたことを意味するので、通信装置10は一時的に保持しておいた第1データを削除することができる。
ここで、通信装置10による、第2データの受信処理、第1データと第2データとの比較処理、及び、第1データの再送処理は、例えばネットワーク層等の上位のレイヤではなく、データリンク層で行われる。これにより、処理速度が遅い上位レイヤでの処理を回避できる。
以上のように通信システム1において通信装置10は、自身の送信データが通信装置20でデータリンク層の処理によって返送された、返送データを受信し、データリンク層にて、受信した返送データと送信データとの不一致が検出された場合、送信データの再送を制御する。これにより、処理速度が遅い上位レイヤではなく、データリンク層で再送制御を行うことができるので、再送の高速化を実現することができる。さらに、受信ノードである通信装置20においてエラーチェック処理を行うことを回避できるので、受信ノードの処理負荷を軽減することができる。
<送信ノードの構成例>
図2は、第1実施形態の送信ノードの一例を示すブロック図である。上記の通り、ここでは、通信装置10が送信ノードとして動作することを前提としているので、通信装置10の構成として説明する。
図2において通信装置10は、送信部11と、受信部12と、比較部13と、再送制御部14とを有する。送信部11、受信部12、比較部13、及び再送制御部14は、いずれもデータリンク層の処理部である。そして、送信部11、受信部12、比較部13、及び再送制御部14は、ハードウェアで構成されている。
送信部11は、上位レイヤから出力された送信対象データ(つまり、上記の第1データ)を受け取り、受け取った送信対象データを送信データとして送受信インタフェース30及び再送制御部14へ出力する。これにより、送信データは、通信相手である受信ノードに向けて送信されると共に、再送制御部14によって再送に備えて一時的に保持される。
受信部12は、受信ノードで上記第1データが返送されたデータである、返送データ(つまり、上記の第2データ)を受信し、受信した返送データを比較部13へ出力する。
比較部13は、再送制御部14に保持されている送信データ(つまり、上記の第1データ)と、受信部12から受け取った返送データ(つまり、上記の第2データ)とを比較し、比較結果を再送制御部14へ出力する。ここで、送信データ及び返送データがそれぞれ複数ビットからなるビット列である場合、当該ビット列のうちの1つのビットでも一致していなければ、送信データと返送データとは一致していない、としてもよい。
再送制御部14は、送信部11から受け取った送信データを一時的に保持する。また、再送制御部14は、比較部13から受け取った比較結果が送信データと返送データとの不一致を示している場合、保持している送信データを受信ノードに向けて再送する。一方、比較部13から受け取った比較結果が送信データと返送データとの一致を示している場合、再送制御部14は、一時的に保持していた送信データを削除する。
<受信ノードの構成例>
図3は、第1実施形態の受信ノードの一例を示すブロック図である。上記の通り、ここでは、通信装置20が受信ノードとして動作することを前提としているので、通信装置20の構成として説明する。
図3において通信装置20は、受信部21と、送信部22とを有する。受信部21及び送信部22は、いずれも、データリンク層の処理部である。そして、受信部21及び送信部22は、ハードウェアで構成されている。
受信部21は、送信ノードである通信装置10から送信されたデータ(つまり、上記の第1データ)を受信する。そして、受信部21は、この受信した第1データを一時保持すると共に送信部22へ返送データとして出力する。この受信部21による一時保持処理及び返送データの出力処理は、第1データの「受信成功判定条件」が満たされるまで、第1データの再送データを受信部21が受信する度に行われる。第1データの「受信成功判定条件」が満たされると、受信部21は、一時保持している第1データを、データリンク層よりも上位のレイヤへ出力する。ここで、「受信成功判定条件」とは、例えば、通信装置20がデータを返送してから所定期間内に返送データに対応する再送データを受信しない、ことである。すなわち、通信装置20がデータを返送したタイミングを基準として、当該基準タイミングから所定時間以内にその返送データに対応する再送データを通信装置20が受信した場合、「受信成功判定条件」は満たされない。一方、その基準タイミングから所定時間以内にその返送データに対応する再送データを通信装置20が受信しない場合、「受信成功判定条件」は満たされる。
送信部22は、受信部21から受け取った返送データを、送信ノードである通信装置10に向けて送信する。ここで、上記の通り、受信部21及び送信部22は、データリンク層の処理部である。すなわち、受信ノードである通信装置20では、データリンク層で返送データの返送処理が行われており、「受信成功判定条件」が満たされて初めて、データリンク層よりも上位のレイヤに受信データが渡される。
<通信システムの動作例>
以上の構成を有する通信システム1の動作例について説明する。図4は、第1実施形態の送信ノードの動作例を示すフローチャートである。図5は、第1実施形態の受信ノードの動作例を示すフローチャートである。
(送信ノードの動作例)
図4のフローチャートに示す処理は、例えば、送信部11がデータリンク層よりも上位のレイヤから送信対象データを受け取った時点でスタートする。
まず、送信ノードである通信装置10の送信部11は、送信対象データ(つまり、上記の第1データ)を、受信ノードである通信装置20に向けて送信する(ステップS11)。上記の通り、この送信対象データは、通信装置20によって受信された後に、返送データとして返送される。また、この送信対象データは、送信部11から再送制御部14に渡され、再送制御部14によって一時的に保持される。
次に、受信部12は、通信装置20から送信された返送データを受信する(ステップS12)。
次に、比較部13は、再送制御部14に保持されている送信対象データ(つまり、上記の第1データ)と、受信部12で受信された返送データ(つまり、上記の第2データ)とを比較して、両者が一致するか否かを判定する(ステップS13)。
送信対象データと返送データとが一致しない場合(ステップS13NO)、再送制御部14は、保持している送信対象データの再送を制御する(ステップS14)。すなわち、再送制御部14は、保持している送信対象データを、送信部11を介して受信ノードに向けて送信する。このとき、送信対象データは、再送制御部14によって引き続き保持される。これは、仮に送信対象データを今回再送してもこの再送データとこの再送データに対応する返送データとが一致しないときに実行される、次回の再送に備えるためである。
送信対象データと返送データとが一致する場合(ステップS13YES)、再送制御部14は、送信対象データが受信ノードで正しく受信できたと推定できるので、保持している送信対象データをバッファ(図示せず)から削除する(ステップS15)。
(受信ノードの動作例)
図5において、まず、受信ノードである通信装置20の受信部21は、上記の「受信成功判定条件」が満たされたか否かを判定する(ステップS21)。最初は「受信成功判定条件」が満たされることはないので、フローはステップS22へ進む。
次に、受信部21は、データを受信したか否かを判定する(ステップS22)。送信ノードから送信対象データが未だ送信されていない場合には、受信部21が送信ノードから送信されたデータを受信することはないので、フローはステップS21に戻る。結果として、ステップS21及びステップS22が繰り返される。
一方、データを受信した場合(ステップS22YES)、受信部21が受信データを返送データとして送信部22へ渡して、送信部22が返送データを送信ノードに向けて返送する(ステップS23)。このとき、受信部21は、返送データを一時的に保持しておく。そして、フローは、ステップS21に戻る。
そして、受信部21は、例えば、送信部22が返送データを返送したタイミングを基準として、当該基準タイミングから所定時間以内にその返送データに対応する再送データを受信部21が受信しないときには「受信成功判定条件」が満たされた、と判定する(ステップS21YES)。そして、受信部21は、受信部21が保持している返送データを、データリンク層よりも上位のレイヤへ渡す(ステップS24)。
これに対して、未だ「受信成功判定条件」が満たされていないと判定された場合(ステップS21NO)、受信部21は、送信ノードから再送された再送データを受信したか否かを判定する(ステップS22)。
以上のように第1実施形態によれば、送信ノードである通信装置10において、比較部13は、送信部11から送信された第1データと、受信ノードによって受信された該第1データを受信ノードが返送したデータであり且つ受信部12で受信された第2データとを比較する。そして、再送制御部14は、比較部13による比較の結果、送信部11から送信された第1データと受信部12で受信された第2データとが一致しない場合、第1データの再送を制御する。比較部13及び再送制御部14は、データリンク層の処理部である。
この通信装置10の構成により、処理速度が遅い上位レイヤではなく、データリンク層で再送制御を行うことができるので、再送の高速化を実現することができる。また、受信ノードにおいてエラーチェック処理を行うことを回避できるので、受信ノードの処理負荷を軽減することができる。
また、受信ノードである通信装置20において、受信部21は、送信ノードから送信されたデータを受信する。そして、送信部22は、受信部21で受信されたデータを送信ノードに向けて返送する。受信部21及び送信部22は、データリンク層の処理部である。
この通信装置20の構成により、処理速度が遅い上位レイヤではなく、データリンク層で返送処理を実行するので、高速に返送することができ、結果として、再送の高速化に寄与することができる。
また、通信装置20において受信部21は、「受信成功判定条件」が満たされて初めて、データリンク層よりも上位のレイヤに受信データを渡す。「受信成功判定条件」は、上記の通り、例えば、通信装置20がデータを返送してから所定期間内に返送データに対応する再送データを受信しない、ことである。
この通信装置20の構成により、「受信成功判定条件」が満たされていない状態で、上位レイヤが無駄に処理することを回避できるので、結果として、受信ノードの処理負荷を軽減することができる。
なお、以上の説明では、通信装置20の構成として、受信部21が「受信成功判定条件」が満たされて初めて、データリンク層よりも上位のレイヤに受信データを渡す、通信装置20の構成を説明したが、通信装置20の構成はこれに限定されるものではない。例えば、通信装置20の構成は、受信部21が「受信成功判定条件」が満たされていない状態であっても受信データを取りあえず上位レイヤに渡し、上位レイヤが「受信成功判定条件」が満たされて初めて受信データの処理を開始する、構成であってもよい。この構成によっても、「受信成功判定条件」が満たされていない状態で、上位レイヤが無駄に処理することを回避できるので、結果として、受信ノードの処理負荷を軽減することができる。
<第2実施形態>
第2実施形態は、第1実施形態で説明した送信ノード及び受信ノードの具体的構成の一例に関する。なお、第2実施形態の送信ノード及び受信ノードの基本構成は、第1実施形態の通信装置10及び通信装置20と同じなので、第2実施形態の通信システムの構成、並びに、第2実施形態の送信ノード及び受信ノードの基本構成については、図1〜図3を参照することができる。
<送信ノードの構成例>
図6は、第2実施形態の送信ノードの具体的構成の一例を示すブロック図である。図6において、第2実施形態の通信装置10の送信部11は、ヘッダ調整部11Aと、送信バッファ11Bと、送信処理部11Cとを有する。そして、送信処理部11Cは、シフトレジスタ11Dを有する。
ヘッダ調整部11Aは、上位レイヤから出力された送信対象データ(つまり、上記の第1データ)を受け取る。そして、ヘッダ調整部11Aは、受け取った送信対象データに付加されるヘッダに「ミラー返送要求」を含める。そして、ヘッダ調整部11Aは、「ミラー返送要求」を含むヘッダが付加された送信対象データを、送信バッファ11Bへ出力する。
より具体的には、ヘッダ及び送信対象データは、例えば、図7に示すようなフレームの形式で送信される。図7は、フレーム形式の一例を示す図である。図7の上段には、通信装置10から送信されるフレームの形式が示されている。以下では、送信ノードである通信装置10から送信されるフレームを「ミラー要求フレーム」と呼ぶことがある。当該ミラー要求フレームは、データリンク層のヘッダ部分P1と、データ部分P2とを含んでいる。ヘッダ部分P1は、宛先アドレスフィールドF1と、送信元アドレスフィールドF2と、タイプフィールドF3とを含んでいる。通信装置10から送信されるフレームにおいては、宛先アドレスフィールドF1には受信ノードである通信装置20のアドレスが格納され、送信元アドレスフィールドF2には送信ノードである通信装置10のアドレスが格納され、タイプフィールドF3には「ミラー要求識別子(つまり、ミラー返送要求)」が格納される。ここで、「ミラー要求識別子」とは、受信したデータを受信した状態のまま返送することを受信ノードに対して要求するための情報である。また、通信装置10及び通信装置20のアドレスとしては、それぞれ、通信装置10及び通信装置20のMAC(Media Access Control)アドレスが用いられてもよい。
図6の説明に戻り、送信バッファ11Bは、「ミラー返送要求」を含むヘッダが付加された送信対象データを受け取り、受け取った送信対象データを送信処理部11C及び再送制御部14へ出力する。送信バッファ11Bは、例えば、複数の送信対象データを受け取る場合、先入先出で送信対象データを出力する。
送信処理部11Cにおいてシフトレジスタ11Dは、送信バッファ11Bから送信対象データを受け取り、受け取った送信対象データを送受信インタフェース30へ順次出力する。また、シフトレジスタ11Dは、再送制御部14から再送データを受け取り、受け取った再送データを送受信インタフェース30へ順次出力する。
受信部12は、受信処理部12Aと、受信制御処理部12Bと、受信バッファ12Cとを有する。受信処理部12Aは、シフトレジスタ12Dを有する。受信制御処理部12Bは、デコーダ12Eを有する。
受信処理部12Aにおいてシフトレジスタ12Dは、返送データを送受信インタフェース30経由で受け取り、受け取った返送データを受信制御処理部12B及び受信バッファ12Cへ順次出力する。これにより、返送データは受信バッファ12Cに一時的に保持される。ここで、この返送データには、ヘッダが付加されており、受信バッファ12Cには、このヘッダが付加されている状態の返送データが一時的に保持されてもよい。
受信制御処理部12Bにおいてデコーダ12Eは、返送データをデコードせずに、この返送データに付加されているヘッダをデコードする。そして、デコードしたヘッダが通信装置10自身の送信データに対応する返送データに付加されて返送されてきたことを示す場合、受信制御処理部12Bは、受信バッファ12Cに対して保持している返送データを比較部13へ出力させるための出力命令を、受信バッファ12Cへ出力する。
ここで、第2実施形態の受信ノードである通信装置20は、後述するように、受信したデータ(つまり、受信した第1データ)だけでなくヘッダも受信した状態のまま返送する。例えば、通信装置20から送信されるヘッダ及び返送データは、図7の下段に示すようなフレームの形式で送信される。以下では、受信ノードである通信装置20から返送されるフレームを「ミラー返送フレーム」と呼ぶことがある。すなわち、図7の下段に示すように、ミラー返送フレームのヘッダ部分P1の宛先アドレスフィールドF1、送信元アドレスフィールドF2、及びタイプフィールドF3には、ミラー要求フレームと同じ内容、つまり、通信装置20のアドレス、通信装置10のアドレス、及びミラー要求識別子がそれぞれ格納されている。
そして、受信制御処理部12Bは、受信したフレームの宛先アドレスフィールドF1、送信元アドレスフィールドF2、及びタイプフィールドF3に、通信装置20のアドレス、通信装置10のアドレス、及びミラー要求識別子がそれぞれ格納されている場合に、そのフレームが通信装置10自身宛のミラー返送フレームであると判定する。言い換えれば、受信制御処理部12Bは、送信部11から送信されたミラー要求フレームのヘッダと同じ内容のヘッダを含むフレームを受信した場合、その受信フレームを通信装置10自身宛のミラー返送フレームであると判定する。すなわち、受信したフレームのヘッダの宛先アドレスフィールドF1、送信元アドレスフィールドF2、及びタイプフィールドF3のそれぞれに、通信装置20のアドレス、通信装置10のアドレス、及びミラー要求識別子がそれぞれ格納されている場合、そのヘッダは、通信装置10自身の送信データに対応する返送データに付加されて返送されてきたことを示している。
図6の説明に戻り、再送制御部14は、再送制御処理部14Aと、再送バッファ14Bとを有する。
再送制御処理部14Aは、再送バッファ14Bに一時的に保持されている送信データを比較部13に渡して、比較部13による送信データと返送データとの比較の結果を受け取る。そして、再送制御処理部14Aは、比較部13から受け取った比較結果が送信データと返送データとの不一致を示す場合、再送バッファ14Bに対して「再送命令」を出力する。一方、比較結果が送信データと返送データとの一致を示す場合、再送制御処理部14Aは、再送バッファ14Bに対して「削除命令」を出力する。
再送バッファ14Bは、送信バッファ11Bから受け取った、「ミラー返送要求」を含むヘッダが付加された送信データを一時的に保持する。すなわち、例えば、再送バッファ14Bは、図7の上段に示すようなミラー要求フレームを一時的に保持する。そして、再送バッファ14Bは、再送制御処理部14Aから「再送命令」を受け取ると、保持しているヘッダ付きの送信データを再送データとして送信処理部11Cへ出力する。また、再送バッファ14Bは、再送制御処理部14Aから「削除命令」を受け取ると、保持しているヘッダ付きの送信データを削除する。
<受信ノードの構成例>
図8は、第2実施形態の受信ノードの具体的構成の一例を示すブロック図である。図8において、第2実施形態の通信装置20は、データリンク層よりも上位のレイヤに対応する処理部として、データ復号部23を有している。また、第2実施形態の通信装置20の受信部21は、受信処理部21Aと、受信制御処理部21Bと、受信バッファ21Cとを有する。受信処理部21Aは、シフトレジスタ21Dを有する。受信制御処理部21Bは、デコーダ21Eを有する。
受信処理部21Aにおいてシフトレジスタ21Dは、送信ノードである通信装置10から送信された、「ミラー返送要求」を含むヘッダ付きのデータを送受信インタフェース40経由で受信して、受信制御処理部21B及び受信バッファ21Cへ順次出力する。これにより、「ミラー返送要求」を含むヘッダ付きの受信データが受信バッファ21Cに一時的に保持される。
受信制御処理部21Bにおいてデコーダ21Eは、受信処理部21Aから受け取った、データ部分をデコードせずに、このデータ部分に付加されているヘッダをデコードする。そして、デコードしたヘッダに上記の「ミラー返送要求」が含まれている場合、受信制御処理部21Bは、受信バッファ21Cに対して保持しているヘッダ付きのデータを送信部22へ出力させるための出力命令を、受信バッファ21Cへ出力する。これにより、受信バッファ21Cに保持されていたヘッダ付きのデータが返送データとして送信ノードに向けて返送される。
また、受信制御処理部21Bは、上記の「受信成功判定条件」が満たされたか否かを所定周期で判定する。そして、受信制御処理部21Bは、「受信成功判定条件」が満たされた場合、受信バッファ21Cに対して保持しているヘッダ付きのデータを、データリンク層よりも上位のレイヤへ出力させると共に、その保持しているヘッダ付きデータを削除させる。ここでは、データ復号部23が上位のレイヤに対応する。
データ復号部23は、受信バッファ21Cからヘッダ付きのデータを受け取ると、そのデータを復号し、復号後のデータをこれを用いる後段の機能部(図示せず)へ出力する。
送信部22は、送信バッファ22Aと、送信処理部22Bとを有する。送信処理部22Bは、シフトレジスタ22Cを有する。
送信バッファ22Aは、入力されたヘッダ付きの返送データを送信処理部22Bへ出力する。ここでは、送信バッファ22Aに入力されるヘッダ付きの返送データは、受信バッファ21Cから出力されたものである。言い換えれば、このヘッダ付きの返送データは、受信処理部21Aで受信されたデータだけでなくヘッダも受信した状態のままである。すなわち、送信バッファ22Aは、例えば、図7の下段に示すようなミラー返送フレームを受信バッファ21Cから受け取って、送信処理部22Bへ出力する。
送信処理部22Bにおいてシフトレジスタ22Cは、送信バッファ11Bから受け取ったヘッダ付きの返送データ(例えば、上記のミラー返送フレーム)を受け取って、送受信インタフェース40へ順次出力する。
<通信システムの動作例>
以上の構成を有する第2実施形態の通信システム1の動作例について説明する。
(送信ノードの動作例)
第2実施形態の送信ノードである通信装置10の動作フローの主要な流れは、第1実施形態の送信ノードと変わらないので、主に異なる点を図4を用いて説明する。
ステップS11において、第2実施形態の通信装置10の送信部11は、「ミラー返送要求」を含むヘッダ付きの送信データを受信ノードに向けて送信する。すなわち、送信部11は、例えば、上記のミラー要求フレームを受信ノードに向けて送信する。
ステップ12において、受信部12は、送信部11が送信した送信データに付加されたヘッダと同じ内容のヘッダが付加されているデータを送受信インタフェース30経由で受け取った場合、このデータが返送データであると判断する。すなわち、受信部12は、例えば、送信部11から送信されたミラー要求フレームのヘッダと同じ内容のヘッダを含むフレームを受信した場合、その受信フレームを通信装置10自身宛のミラー返送要求フレームであると判定する。
(受信ノードの動作例)
第2実施形態の受信ノードである通信装置20の動作フローの主要な流れは、第1実施形態の受信ノードと変わらないので、主に異なる点を図5を用いて説明する。
ステップS22において、第2実施形態の通信装置20の受信部21は、「ミラー返送要求」を含むヘッダが付加されたデータを受信したか否かを判定する。そして、ステップS23において、送信部22は、「ミラー返送要求」を含むヘッダが付加された状態で受信されたデータを送信ノードに向けて送信する。
以上のように第2実施形態によれば、送信ノードである通信装置10において、送信部11は、「ミラー要求識別子(つまり、ミラー返送要求)」を含むヘッダが付加された送信対象データを受信ノードに向けて送信する。「ミラー要求識別子」とは、上記の通り、受信したデータを受信した状態のまま返送することを受信ノードに対して要求するための情報である。
この通信装置10の構成により、データリンク層の処理で簡単に、受信ノードに対してミラー返送を要求することができる。また、この通信装置10の構成により、受信ノードはヘッダだけをデコードすればミラー返送すべきデータであるか否かを判断できるので、データリンク層の処理でミラー返送することができ、この結果として、再送の高速化に寄与することができる。
また、送信部11から送信される送信データに付加されたヘッダは、宛先アドレスフィールドと送信元アドレスフィールドとタイプフィールドとを含む。そして、送信部11は、ミラー要求識別子をタイプフィールドにマッピングする。
この通信装置10の構成により、Ethernet(登録商標)等の全二重通信ネットワークで用いられるフレーム構成を利用することができるので、全二重通信ネットワークに広く適用可能な通信装置を実現することができる。
また、受信部12は、受信データに付加されたヘッダの宛先アドレスフィールド、送信元アドレスフィールド、及びタイプフィールドに、受信ノードのアドレス、通信装置10自身のアドレス、及びミラー要求識別子がそれぞれ格納されている場合、通信装置10自身宛の返送データであると判断する。
この通信装置10の構成により、受信ノードでは受信データだけでなくヘッダもそのまま返送することができるので、受信ノードの処理負荷を低減することができる。
また、受信ノードである通信装置20において、送信部11は、受信部12で受信されたデータに付加されたヘッダにミラー要求識別子が含まれている場合、そのデータを送信ノードに向けて返送する。
この通信装置20の構成により、ヘッダだけをデコードすればミラー返送すべきデータであるか否かを判断できるので、データリンク層の処理で簡単に、ミラー返送することができ、この結果として、再送の高速化に寄与することができる。
また、受信部21は、受信データを保持する受信バッファ21Cと、受信データに付加されたヘッダを復号(デコード)して、このヘッダにミラー要求識別子が含まれているか否かを判定する受信制御処理部21Bとを含んでいる。この受信制御処理部21Bは、そのヘッダにミラー要求識別子が含まれている場合、受信バッファ21Cに対して保持データを送信部11へ出力させることにより、送信部11に対してその保持データを送信ノードに向けて返送させる。また、受信制御処理部21Bは、送信部11による保持データの返送後に、「受信成功判定条件」が満たされた場合、受信バッファ21Cに対して保持データをデータ復号部23へ出力させる。
この通信装置20の構成により、「受信成功判定条件」が満たされるまではヘッダだけ復号してデータを復号せず、「受信成功判定条件」が満たされて初めてデータを復号することができるので、都度データを復号するのに比べて、処理負荷を軽減することができる。
(変形例)
なお、以上の説明では、送信ノードである通信装置10が送信データに付加されるヘッダに「ミラー要求識別子(つまり、ミラー返送要求)」を含めることを前提に説明を行った。しかしながら、通信装置10の構成はこれに限定されるものではなく、送信データに付加されるヘッダに「ミラー要求識別子(つまり、ミラー返送要求)」を含めなくてもよい。この場合には、通信装置10にヘッダ調整部11Aを設けなくてもよく、送信対象データが送信バッファ11Bに入力されてもよい。この場合には、受信ノードである通信装置20において受信制御処理部21Bは、ヘッダのデコードを行うが、宛先アドレスフィールドに通信装置20のアドレスが格納されていれば、受信バッファ21Cに対して保持データを送信部11へ出力させる。
<第3実施形態>
第3実施形態は、第1実施形態で説明した送信ノード及び受信ノードの具体的構成の他の一例に関する。なお、第3実施形態の送信ノード及び受信ノードの基本構成は、第1実施形態の通信装置10及び通信装置20と同じなので、第3実施形態の通信システムの構成、並びに、第3実施形態の送信ノード及び受信ノードの基本構成については、図1〜図3を参照することができる。
<送信ノードの構成例>
図9は、第3実施形態の送信ノードの具体的構成の一例を示すブロック図である。なお、第2実施形態の送信ノードの構成要素と、これと同等の第3実施形態の送信ノードの構成要素とには、同一の符号を付しており、重複する説明は省略される。
図9において、第3実施形態の通信装置10の送信部11は、送信制御処理部111Aと、ヘッダ調整部111Bとを有する。
送信制御処理部111Aは、上位レイヤから出力された送信対象データを受け取る。この受け取った送信対象データには、「送信コマンド」及びヘッダが付加されている。例えば、送信制御処理部111Aは、図10に示すように、「送信対象フレーム」の前に送信コマンドが付加された状態で「送信対象フレーム」を受け取る。「送信対象フレーム」は、例えば図7に示したフレーム形式と同様に、ヘッダ部分P1とデータ部分P2とを含んでいる。そして、ヘッダ部分P1は、宛先アドレスフィールドF1と、送信元アドレスフィールドF2と、タイプフィールドF3とを含んでいる。データ部分P2には、送信対象データが格納されている。
ここで、「送信コマンド」は、送信対象データがミラー返送要求対象のデータであるか否かを示す情報である。例えば、送信対象データがミラー返送要求対象データである場合、送信コマンドとしてビット値「1」が付加され、送信対象データがミラー返送要求対象データでない場合、送信コマンドとしてビット値「0」が付加されてもよい。さらに、制御データをミラー返送要求対象データとし、制御データ以外のデータ(例えば、音声データ、画像データ等)をミラー返送要求の対象でないデータとしてもよい。
また、送信制御処理部111Aは、受け取った送信コマンドの内容に応じて、ヘッダ調整部111Bによるヘッダ調整の実行不実行を制御する。例えば、送信制御処理部111Aは、受け取った送信対象データに付加された送信コマンドがミラー返送要求対象データを示す場合、「ヘッダをミラー返送要求ヘッダへ調整するためのヘッダ調整実行命令」をヘッダ調整部111Bへ出力する。一方、受け取った送信対象データに付加された送信コマンドがミラー返送要求対象データ以外のデータを示す場合、送信制御処理部111Aは、「ヘッダ調整不実行命令」をヘッダ調整部111Bへ出力する。
ヘッダ調整部111Bは、送信制御処理部111Aと同様に、送信コマンド及びヘッダが付加された送信対象データを、つまり、送信コマンドが付加された送信対象フレームを受け取る。そして、ヘッダ調整部111Bは、送信制御処理部111Aから「ヘッダをミラー返送要求ヘッダへ調整するためのヘッダ調整実行命令」を受け取った場合、送信対象フレームから送信コマンドを除去すると共に、送信対象フレームのヘッダ部分P1のタイプフィールドF3に「ミラー要求識別子(つまり、ミラー返送要求)」を格納する。これにより、図11の上段に示す「ミラー要求フレーム」が形成される。ヘッダ調整部111Bは、この「ミラー要求フレーム」を送信バッファ11Bへ出力する。
一方、ヘッダ調整部111Bは、送信制御処理部111Aから「ヘッダ調整不実行命令」を受け取った場合、ヘッダ調整を行わず、送信対象フレームから送信コマンドを除去だけする。これにより、「ミラー返送非要求フレーム」が形成される。このとき、ヘッダ部分P1のタイプフィールドF3に「ミラー要求識別子」以外の情報が格納されている。ヘッダ調整部111Bは、この「ミラー返送非要求フレーム」を送信バッファ11Bへ出力する。
受信部12は、受信制御処理部112Aを有する。受信制御処理部112Aは、第2実施形態の受信制御処理部12Bと同様に、返送データをデコードせずに、この返送データに付加されているヘッダをデコードする。そして、デコードしたヘッダが通信装置10自身の送信データに対応する返送データに付加されて返送されてきたことを示す場合、受信制御処理部112Aは、受信バッファ12Cに対して保持している返送データを比較部13へ出力させる。
ここで、第3実施形態の受信ノードである通信装置20は、後述するように、受信したデータを受信した状態のまま返送する一方、ヘッダに関しては、受信したヘッダの宛先アドレスフィールドの内容と送信元アドレスフィールドの内容とを入れ替えると共に、タイプフィールドに「ミラー返送識別子」を格納する。例えば、図11の下段に示すように、ミラー返送フレームのヘッダ部分P1の宛先アドレスフィールドF1、送信元アドレスフィールドF2、及びタイプフィールドF3には、ミラー要求フレームと異なり、通信装置10のアドレス、通信装置20のアドレス、及びミラー返送識別子がそれぞれ格納されている。
そして、受信制御処理部112Aは、受信したフレームの宛先アドレスフィールドF1、送信元アドレスフィールドF2、及びタイプフィールドF3に、通信装置10のアドレス、通信装置20のアドレス、及び「ミラー返送識別子」がそれぞれ格納されている場合に、そのフレームが通信装置10自身宛のミラー返送フレームであると判定する。ここで、「ミラー返送識別子」は、このミラー返送識別子と共に送られてくるデータが返送データであることを示す情報である。すなわち、タイプフィールドF3に「ミラー返送識別子」が格納されたフレームのデータ部分P2には、返送データが格納されている。
<受信ノードの構成例>
図12は、第3実施形態の受信ノードの具体的構成の一例を示すブロック図である。なお、第3実施形態の受信ノードの構成要素と、これと同等の第3実施形態の受信ノードの構成要素とには、同一の符号を付しており、重複する説明は省略される。
図12において、第3実施形態の通信装置20の受信部21は、受信制御処理部121Aを有する。受信制御処理部121Aは、受信処理部21Aから、ヘッダが付加された受信データを受け取る。例えば、受信制御処理部121Aは、ヘッダ及び受信データをフレーム形式で受け取る。受信制御処理部121Aは、受信処理部21Aから受け取った受信フレームのデータ部分をデコードせずにヘッダをデコードする。そして、受信制御処理部121Aは、受信フレームに含まれるデータが返送対象のデータであるか否かを判定する。そして、受信制御処理部121Aは、デコードしたヘッダのタイプフィールドに上記の「ミラー要求識別子」が含まれている場合、受信フレームに含まれるデータが返送対象のデータであると判定して、第2実施形態の受信制御処理部21Bと同じように動作する。すなわち、受信制御処理部121Aは、受信バッファ21Cに対して保持している受信フレームを送信部22へ出力させるための出力命令を受信バッファ21Cへ出力すると共に、上記の「受信成功判定条件」が満たされたか否かを所定周期で判定する。「受信成功判定条件」が満たされた場合の受信制御処理部121Aの動きも「受信成功判定条件」が満たされていない場合の受信制御処理部121Aの動きも、第2実施形態の受信制御処理部21Bと同じである。
これに対して、受信制御処理部121Aは、デコードしたヘッダのタイプフィールドに「ミラー要求識別子」以外の情報が含まれる場合、受信バッファ21Cに対して保持している受信フレームをデータリンク層よりも上位のレイヤへ出力させるための出力命令を受信バッファ21Cへ出力すると共に、その保持している受信フレームを削除させる。これは、その受信フレームのデータは、ミラー返送対象のデータではないからである。
ここで、受信バッファ21Cは、例えば、図11の上段に示すような受信フレーム(つまり、ヘッダ及びデータ)を保持している。そして、受信バッファ21Cは、受信制御処理部121Aによる制御によって、所定の場合に、保持しているフレームを送信部22へ出力する。
送信部22は、ヘッダ調整部122Aを有する。ヘッダ調整部122Aは、受信バッファ21Cから保持フレーム(つまり、受信フレーム)を受け取り、その保持フレームのヘッダの宛先アドレスフィールドF1の内容と送信元アドレスフィールドF2の内容とを入れ替えると共に、タイプフィールドF3に「ミラー返送識別子」を格納する。これにより、例えば、図11の下段に示すようなミラー返送フレームが形成される。例えば、ミラー返送フレームは、宛先アドレスフィールドF1、送信元アドレスフィールドF2、及びタイプフィールドF3に、通信装置10のアドレス、通信装置20のアドレス、及び「ミラー返送識別子」がそれぞれ格納されている。
<通信システムの動作例>
以上の構成を有する第3実施形態の通信システム1の動作例について説明する。
(送信ノードの動作例)
図13は、第3実施形態の送信ノードの動作例を示すフローチャートである。図13のフローチャートに示す処理は、例えば、送信部11がデータリンク層よりも上位のレイヤから送信対象フレームを受け取った時点でスタートする。
まず、送信ノードである通信装置10における送信部11の送信制御処理部111Aは、上位レイヤから受け取った送信対象フレーム内の送信対象データが返送要求対象のデータであるか否かを判定する(ステップS31)。この判定には、上記の通り、送信対象フレームの前に付加されている送信コマンドが用いられる。
送信対象データが返送要求対象のデータでない場合(ステップS31NO)、送信制御処理部111Aは、送信対象フレームがそのまま送信されるように、送信対象フレームの送信を制御する(ステップS32)。例えば、送信制御処理部111Aは、「ヘッダ調整不実行命令」をヘッダ調整部111Bへ出力し、ヘッダ調整部111Bは、送信コマンドだけ除去して、送信対象フレームを送信バッファ11Bに出力する。これにより、上記の「ミラー返送非要求フレーム」が送信されることになる。
一方、送信対象データが返送要求対象のデータである場合(ステップS31YES)、送信部11のヘッダ調整部111Bは、送信対象フレームのヘッダをミラー返送要求ヘッダへ調整する(ステップS33)。具体的には、ヘッダ調整部111Bは、送信対象フレームから送信コマンドを除去すると共に、送信対象フレームのヘッダ部分P1のタイプフィールドF3にミラー要求識別子を格納する。これにより、ミラー要求フレームが形成される。
次に、ヘッダ調整部111Bは、ミラー要求フレームを送信バッファ11Bに出力することで受信ノードに向けて送信する(ステップS34)。
次に、受信部12は、ミラー返送フレームを受信する。ステップS36において、比較部13は、再送バッファ14Bに保持されている送信対象データと、ミラー返送フレームに含まれる返送データとを比較して、両者が一致するか否かを判定する(ステップS35)。
送信対象データと返送データとが一致しない場合(ステップS36NO)、再送制御処理部14Aは、再送バッファ14Bが保持している送信対象データの再送を制御する(ステップS37)。
送信対象データと返送データとが一致する場合(ステップS36YES)、再送制御処理部14Aは、送信対象データが受信ノードで正しく受信できたと推定できるので、再送バッファ14Bに対して保持している送信対象フレームを削除するように制御する(ステップS38)。
(受信ノードの動作例)
図14は、第3実施形態の受信ノードの動作例を示すフローチャートである。
まず、受信ノードである通信装置20における受信部21の受信制御処理部121Aは、図5のステップS21と同様に、「受信成功判定条件」が満たされたか否かを判定する(ステップS41)。
次に、受信制御処理部121Aは、図5のステップS22と同様に、フレームを受信したか否かを判定する(ステップS42)。
フレームを受信した場合(ステップS42YES)、受信制御処理部121Aは、受信フレームのデータ部分をデコードせずにヘッダをデコードする(ステップS43)。
次に、受信制御処理部121Aは、受信フレームに含まれるデータが返送対象のデータであるか否かを判定する(ステップS44)。この判定では、受信フレームのヘッダのタイプフィールドにミラー要求識別子が格納されていれば、その受信フレームに含まれるデータは返送対象であると判定される一方、ミラー要求識別子以外の情報が格納されていれば、返送対象でないと判定される。
受信フレームに含まれるデータが返送対象のデータでない場合(ステップS44NO)、受信制御処理部121Aは、受信バッファ21Cに対して保持している受信フレームを、データリンク層よりも上位のレイヤ(ここでは、データ復号部23)へ出力させる(ステップS47)。
一方、受信フレームに含まれるデータが返送対象のデータである場合(ステップS44YES)、受信制御処理部121Aは、受信バッファ21Cに対して保持しているフレームを、送信部22のヘッダ調整部122Aへ出力させる。そして、ヘッダ調整部122Aは、受信バッファ21Cから受け取ったフレームのヘッダを調整する(ステップS45)。具体的には、ヘッダ調整部122Aは、フレームのヘッダの宛先アドレスフィールドF1の内容と送信元アドレスフィールドF2の内容とを入れ替えると共に、タイプフィールドF3に「ミラー返送識別子」を格納する。これにより、ミラー返送フレームが形成される。
次に、ヘッダ調整部122Aは、ミラー返送フレームを送信バッファ22Aに出力することで送信ノードに向けて返送する(ステップS46)。そして、フローは、ステップS41に戻る。
そして、受信制御処理部121Aは、図5のステップS22と同様に、例えば、送信部22が返送データを返送したタイミングを基準として、当該基準タイミングから所定時間以内にその返送データに対応する再送データを受信部21が受信しないときには「受信成功判定条件」が満たされた、と判定する(ステップS41YES)。そして、受信制御処理部121Aは、受信バッファ21Cに対して保持している受信フレームを、データリンク層よりも上位のレイヤへ出力させる(ステップS47)。
以上のように第3実施形態によれば、送信ノードである通信装置10において、送信部11の送信制御処理部111Aは、上位レイヤから、送信コマンドが付加された状態で「送信対象フレーム」を受け取り、当該送信コマンドの内容に基づいて、ヘッダ調整部111Bによるヘッダ調整の実行不実行を制御する。当該送信コマンドは、送信対象データがミラー返送要求対象のデータであるか否かを示す。
この通信装置10の構成により、送信制御処理部111Aは送信コマンドの内容を確認するだけで、簡単にヘッダ調整部111Bによるヘッダ調整を制御することができる。
そして、制御データをミラー返送要求対象データとし、制御データよりも重要度の低い、制御データ以外のデータ(例えば、音声データ、画像データ等)をミラー返送要求の対象でないデータとしてもよい。これにより、重要度の低いデータを含むフレームに対してはヘッダ調整部111Bによるヘッダ調整を不実行とすることができるので、送信ノードである通信装置10の処理負荷を低減することができる。
また、受信ノードである通信装置20において、送信部22のヘッダ調整部122Aは、受信バッファ21Cに保持されている受信フレーム(つまり、保持フレーム)のヘッダの宛先アドレスフィールドの内容と送信元アドレスフィールドの内容とを入れ替えて、ミラー返送フレームを形成する。
この通信装置20の構成により、Ethernet(登録商標)等の全二重通信ネットワークで用いられる宛先アドレス及び送信元アドレスの仕様でミラー返送フレームを形成することができる。また、この通信装置20の構成により、送信ノードである通信装置10と受信ノードである通信装置20との間のネットワークラインにルータ等の中継ノードが存在している場合でも、ミラー返送フレームを高い確率で送信ノードである通信装置10へ到達させることができる。
さらに、送信部22のヘッダ調整部122Aは、受信バッファ21Cに保持されている受信フレーム(つまり、保持フレーム)のヘッダのタイプフィールドにミラー返送識別子を格納して、ミラー返送フレームを形成する。
この通信装置20の構成により、Ethernet(登録商標)等の全二重通信ネットワークで用いられるフレーム構成を利用できるので、全二重通信ネットワークに広く適用可能なミラー返送フレームを形成することができる。
(変形例1)なお、以上の説明では、通信装置20が受信フレームのヘッダの宛先アドレスフィールドF1の内容と送信元アドレスフィールドF2の内容とを入れ替えると共にタイプフィールドF3にミラー返送識別子を格納することによって、ミラー返送フレームを形成することを前提に説明を行ったが、これに限定されるものではない。例えば、第2実施形態の通信装置20と同様に、受信フレームをそのままミラー返送フレームとしてもよい。
(変形例2)また、以上の説明では、送信ノードである通信装置10は、例えば、図13のフローチャートに示すように、ステップS31で送信対象フレーム内の送信対象データが返送要求対象データであるか否かを判定し、この判定結果に応じて、ステップS32を含む「非ミラー要求処理フロー」と、ステップS33を含む「ミラー要求処理フロー」とを切り替えるものとして説明を行った。例えば、送信ノードである通信装置10は、データリンク層のモードとして、次の様な「処理フロー切り替えモード(第1のモード)」、「非ミラー要求モード(第2モード)」、及び「ミラー要求モード(第3モード)」の中からいずれか1つのモードを設定可能に構成されてもよい。「処理フロー切り替えモード(第1のモード)」は、送信対象フレーム内の送信対象データが返送要求対象データであるか否かを判定し、この判定結果に応じて「非ミラー要求処理フロー」及び「ミラー要求処理フロー」のいずれか一方を実行するモードである。また、「非ミラー要求モード(第2モード)」は、送信対象フレーム内の送信対象データが返送要求対象データであるか否かを判定すること無しに、つまり、データの種別等に関わりなく、「非ミラー要求処理フロー」を実行するモードである。また、「ミラー要求モード(第3モード)」は、送信対象フレーム内の送信対象データが返送要求対象データであるか否かを判定すること無しに、「ミラー要求処理フロー」を実行するモードである。例えば、「ミラー要求モード(第3モード)」の処理フローとして、第1実施形態及び第2実施形態で説明した送信ノードの処理フローが用いられてもよい。
また、以上の説明では、受信ノードである通信装置20は、例えば、図14のフローチャートに示すように、ステップS44で受信フレームに含まれるデータが返送対象のデータであるか否かを判定し、この判定結果に応じて、ステップS47を含む「非返送処理フロー」と、ステップS45を含む「ミラー返送処理フロー」とを切り替えるものとして説明を行った。例えば、受信ノードである通信装置20は、データリンク層のモードとして、次の様な「処理フロー切り替えモード(第4のモード)」、「非返送モード(第5のモード)」、及び「返送モード(第6のモード)」の中からいずれか1つのモードを設定可能に構成されてもよい。「処理フロー切り替えモード(第4のモード)」は、受信フレームに含まれるデータが返送対象のデータであるか否かを判定し、この判定結果に応じて、「非返送処理フロー」及び「ミラー返送処理フロー」のいずれか一方を実行するモードである。また、「非返送モード(第5のモード)」は、受信フレームに含まれるデータが返送対象のデータであるか否かを判定すること無しに、つまり、受信フレームに含まれるデータの種別等に関わりなく、「非返送処理フロー」を実行するモードである。また、「返送モード(第6のモード)」は、受信フレームに含まれるデータが返送対象のデータであるか否かを判定すること無しに、「ミラー返送処理フロー」を実行するモードである。
<他の実施形態>
(1)第2実施形態及び第3実施形態では、通信装置10において送信バッファ11B及び再送バッファ14Bがそれぞれ独立に設けられているものとして説明を行ったが、通信装置10の構成はこれに限定されるものではなく、送信バッファ11B及び再送バッファ14Bが1つのバッファで実現されてもよい。
(2)第1実施形態から第3実施形態では、通信装置10の構成として送信ノードの構成を示し、通信装置20の構成として受信ノードの構成を示したが、当然のことながら、通信装置10及び通信装置20のいずれもが送信ノードの構成及び受信ノードの構成の両方を有していてもよい。
(3)第1実施形態から第3実施形態で説明した通信システム1は、種々の通信ネットワークで実現可能である。すなわち、第1実施形態から第3実施形態で説明した通信装置10及び通信装置20は、種々の通信ネットワークに適用可能である。例えば、適用可能な通信ネットワークの一例として、車載ネットワークを挙げることができる。図15は、車載ネットワークの模式図である。図15に示すように、車載ネットワークに含まれるノードは、大きく分けて、制御系、安全系、ボディ系、及び情報系に分けることができる。例えば、制御系には、エンジン、ブレーキ、及びステアリングが含まれ、安全系には、ABS、センサ、エアバック、及びレーダが含まれる。また、ボディ系には、例えば、ドア、ウィンドウ、シート、及びライトが含まれ、情報系には、カメラ、オーディオ、ナビ、及びビデオが含まれる。図15において黒丸は通信装置を表し、実線は通信線を表している。図15に示すように、多数の通信装置が車載ネットワーク上に分散している。これら車載ネットワーク上に分散する多数の通信装置のうち、互いにデータを遣り取りする任意の2つの通信装置に、第1実施形態から第3実施形態で説明した通信装置10及び通信装置20をそれぞれ適用することができる。
そして、第3実施形態で説明した通信装置10及び通信装置20が通信ネットワーク上のどの2つのノードに適用されるかに応じて、通信装置10及び通信装置20に対して第3実施形態の(変形例2)で説明したいずれかのモードを設定してもよい。この場合、通信ネットワーク(つまり、通信システム1)には、互いに異なるモードに設定された複数の通信装置が混在することになる。例えば、通信ネットワーク(つまり、通信システム1)には、「処理フロー切り替えモード(第1のモード)」、「非ミラー要求モード(第2モード)」、及び「ミラー要求モード(第3モード)」のうちの1つのみが設定された通信装置(つまり、送信ノードとしてしか動作しない通信装置)が含まれてもよい。また、通信ネットワークには、「処理フロー切り替えモード(第4のモード)」、「非返送モード(第5のモード)」、及び「返送モード(第6のモード)」のうちの1つのみが設定された通信装置(つまり、送信ノードとしてしか動作しない通信装置)が含まれてもよい。また、第1のモード、第2モード、及び第3モードのうちの1つ、及び、第4のモード、第5モード、及び第6モードのうちの1つの両方が設定された通信装置が含まれてもよい。このように通信ネットワークの複数の通信装置の中に、「ミラー要求モード(第3モード)」以外のモードが設定された通信装置を含ませることにより、ネットワークのトラヒックを低減することができる。
(4)図16は、通信装置のハードウェア構成例を示す図である。第1実施形態から第3実施形態で説明した通信装置10及び通信装置20のそれぞれが図16に示したハードウェア構成を有することができる。
図16において、通信装置200は、通信回路201と、メッセージバッファ202と、プロセッサ203と、メモリ204とを有する。通信回路201は、送信回路211と、受信回路212と、制御回路213とを有する。
第1実施形態から第3実施形態で説明した通信装置10の送信部11及び受信部12は、送信回路211及び受信回路212によってそれぞれ実現される。また、通信装置10の比較部13及び再送制御部14は、制御回路213によって実現される。通信装置10における上位レイヤの処理部は、例えば、プロセッサ203がメモリ204に記憶されたプログラムを読み込んで実行することにより実現される。
また、第1実施形態から第3実施形態で説明した通信装置20の受信部21及び送信部22は、受信回路212及び送信回路211によってそれぞれ実現される。また、通信装置20における上位レイヤの処理部(例えば、データ復号部23)は、例えば、プロセッサ203がメモリ204に記憶されたプログラムを読み込んで実行することにより実現される。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 通信システム
10,20 通信装置
11 送信部
11A ヘッダ調整部
11B 送信バッファ
11C 送信処理部
11D シフトレジスタ
12 受信部
12A 受信処理部
12B 受信制御処理部
12C 受信バッファ
12D シフトレジスタ
12E デコーダ
13 比較部
14 再送制御部
14A 再送制御処理部
14B 再送バッファ
21 受信部
21A 受信処理部
21B 受信制御処理部
21C 受信バッファ
21D シフトレジスタ
21E デコーダ
22 送信部
22A 送信バッファ
22B 送信処理部
22C シフトレジスタ
23 データ復号部
30,40 送受信インタフェース
111A 送信制御処理部
111B ヘッダ調整部
112A 受信制御処理部
121A 受信制御処理部
122A ヘッダ調整部
200 通信装置
201 通信回路
202 メッセージバッファ
203 プロセッサ
204 メモリ
211 送信回路
212 受信回路
213 制御回路
F1 宛先アドレスフィールド
F2 送信元アドレスフィールド
F3 タイプフィールド
L1 ネットワークライン
P1 ヘッダ部分
P2 データ部分

Claims (10)

  1. 通信相手に向けて第1データを送信する送信部と、
    前記通信相手によって受信された前記第1データを前記通信相手が返送したデータである、第2データを受信する受信部と、
    データリンク層の処理部であって、前記送信された第1データと前記受信された第2データとを比較する比較部と、
    データリンク層の処理部であって、前記比較部による比較の結果、前記送信された第1データと前記受信された第2データとが不一致である場合、前記第1データの再送を制御する再送制御部と、
    を具備する通信装置。
  2. 前記第1データは、ヘッダが付加されており、
    前記ヘッダは、前記第1データを受信した状態のまま返送することを前記通信相手に対して要求するミラー返送要求を含む、
    請求項1記載の通信装置。
  3. 前記ヘッダは、宛先アドレスフィールドと送信元アドレスフィールドとタイプフィールドとを含み、
    前記送信部は、前記ミラー返送要求を、前記第1データに付加された前記ヘッダのタイプフィールドにマッピングするヘッダ調整部を有する、
    請求項2記載の通信装置。
  4. 前記送信部、前記受信部、前記比較部、及び前記再送制御部は、データリンク層の処理部である、
    請求項3記載の通信装置。
  5. 前記ヘッダ調整部は、前記データリンク層より上位層の処理部から前記第1データが前記ミラー返送要求の対象データであることを示す情報を受け取った場合、前記ミラー返送要求を、前記第1データに付加された前記ヘッダのタイプフィールドにマッピングする、
    請求項4記載の通信装置。
  6. データリンク層の処理部であって、通信相手から送信されたデータを受信する受信部と、
    データリンク層の処理部であって、前記受信されたデータを前記通信相手に向けて返送する送信部と、
    を具備する通信装置。
  7. 前記受信されたデータは、ヘッダが付加されており、
    前記送信部は、前記ヘッダに、前記受信されたデータを受信した状態のまま返送することを要求するミラー返送要求が含まれる場合、前記受信されたデータを送信する、
    請求項6記載の通信装置。
  8. 前記受信部は、
    前記受信されたデータを保持する受信バッファと、
    前記受信されたデータに付加された前記ヘッダを復号して、前記ヘッダに前記ミラー返送要求が含まれているか否かを判定する受信制御処理部と、
    を有し、
    前記受信制御処理部は、
    前記ヘッダに前記ミラー返送要求が含まれている場合、前記受信バッファに対して保持データを前記送信部へ出力させることにより、前記送信部に対して前記保持データを返送させ、
    前記保持データの返送の後に、前記受信されたデータが前記通信相手から送信されたデータと一致しているための判定条件を満たした場合、前記受信バッファに対して前記保持データをデータ復号部へ出力させる、
    請求項7記載の通信装置。
  9. 前記ヘッダは、宛先アドレスフィールドと送信元アドレスフィールドとタイプフィールドとを含み、
    前記送信部は、前記受信バッファから受け取った前記保持データに付加されているヘッダの宛先アドレスフィールドの内容と送信元アドレスフィールドの内容とを入れ替えると共に前記タイプフィールドにミラー返送識別子を格納するヘッダ調整部を有する、
    請求項8記載の通信装置。
  10. 通信相手に向けて第1データを送信し、
    前記通信相手によって受信された前記第1データを前記通信相手が返送したデータである、第2データを受信し、
    データリンク層において、前記送信された第1データと前記受信された第2データとを比較し、
    前記比較の結果、前記送信された第1データと前記受信された第2データとが不一致である場合、データリンク層において、前記第1データの再送を制御する、
    再送制御方法。
JP2016162755A 2016-08-23 2016-08-23 通信装置及び再送制御方法 Pending JP2018032934A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016162755A JP2018032934A (ja) 2016-08-23 2016-08-23 通信装置及び再送制御方法
US15/683,220 US10270560B2 (en) 2016-08-23 2017-08-22 Communication device and retransmission control method
CN201710723720.4A CN107769897B (zh) 2016-08-23 2017-08-22 通信设备和重传控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016162755A JP2018032934A (ja) 2016-08-23 2016-08-23 通信装置及び再送制御方法

Publications (1)

Publication Number Publication Date
JP2018032934A true JP2018032934A (ja) 2018-03-01

Family

ID=61243818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016162755A Pending JP2018032934A (ja) 2016-08-23 2016-08-23 通信装置及び再送制御方法

Country Status (3)

Country Link
US (1) US10270560B2 (ja)
JP (1) JP2018032934A (ja)
CN (1) CN107769897B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10938516B1 (en) * 2018-01-05 2021-03-02 Marvell Asia Pte, Ltd. Systems and methods for ethernet packet error detection and correction in automotive environments
CN115315913A (zh) * 2020-03-26 2022-11-08 索尼半导体解决方案公司 通信装置和通信系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2783190B2 (ja) * 1995-06-14 1998-08-06 日本電気株式会社 赤外線空間通信システム
JPH10257078A (ja) * 1997-03-12 1998-09-25 Yazaki Corp 車両多重通信装置
JPH11284605A (ja) 1998-03-30 1999-10-15 Canon Inc 情報処理システムおよびそのシリアル通信方法
AU2002349794A1 (en) * 2001-06-26 2003-01-08 Medius, Inc. Method and apparatus for detecting possible collisions and transferring information between vehicles
DE102005025169B4 (de) * 2005-06-01 2007-08-02 Infineon Technologies Ag Kommunikationsvorrichtung und Verfahren zur Übermittlung von Daten
CN103905169A (zh) * 2005-08-24 2014-07-02 无线星球有限责任公司 数据单元传送方法
US7424667B2 (en) * 2005-08-30 2008-09-09 Inventec Corporation Digital data transmission error checking method and system
CN1992608A (zh) * 2005-12-31 2007-07-04 华为技术有限公司 一种mac层的数据处理方法和采用该方法的基站和用户终端
CN101094165B (zh) * 2006-06-19 2010-12-08 大唐移动通信设备有限公司 一种控制局域网中实现数据传输的方法、系统和设备
EP2702818A4 (en) * 2011-04-29 2015-06-17 Broadcom Corp METHOD AND DEVICE FOR REBALANCE OF SIZES OF DOWNLINK ASSOCIATION SETS FOR COMPONENT CARRIER WITH DIFFERENT TIME DUPLEX SUBFRAME CONFIGURATIONS
CN102567276B (zh) * 2011-12-19 2014-03-12 华为技术有限公司 基于多通道的数据传输方法、接收节点及跨节点互联系统
JP2016012761A (ja) 2014-06-27 2016-01-21 セイコーエプソン株式会社 読取システム、読取制御装置、及び、読取制御装置の制御方法
CN105323035A (zh) * 2014-07-28 2016-02-10 中兴通讯股份有限公司 一种业务处理方法及装置

Also Published As

Publication number Publication date
CN107769897B (zh) 2022-02-08
CN107769897A (zh) 2018-03-06
US20180062793A1 (en) 2018-03-01
US10270560B2 (en) 2019-04-23

Similar Documents

Publication Publication Date Title
JP5308802B2 (ja) Canノード
US9197373B2 (en) Method, apparatus, and system for retransmitting data packet in quick path interconnect system
KR20110066602A (ko) Pci 익스프레스 프로토콜 처리 장치
US9900268B2 (en) System, method and apparatus for multi-lane auto-negotiation over reduced lane media
CN107770085B (zh) 一种网络负载均衡方法、设备及系统
CN103368703B (zh) 数据包重传方法、数据包接收方法及装置
JP2018032934A (ja) 通信装置及び再送制御方法
WO2019047573A1 (zh) 一种下行数据传输的缓存方法、终端及基站
US20070019677A1 (en) Data processing method and system based on a serial transmission interface
JP6668964B2 (ja) 画像形成システム、画像データ送信部および画像データ伝送方法
CN103607311B (zh) 一种无缝重建tcp连接的系统及方法
CN106130746B (zh) 一种数据传输方法及装置
US9992309B2 (en) Communication device and communication method
US9667756B2 (en) Apparatus and method for transmitting/receiving data in communication system
JP2005143076A (ja) パケット通信装置、パケット通信方法、データ受信装置およびデータ受信方法
CN113765626A (zh) 一种移动通信系统的数据传输方法和装置
CN111385069A (zh) 数据传输方法及计算机设备
JP6545508B2 (ja) 通信システム、通信装置、通信方法、及びプログラム
WO2020250778A1 (ja) 通信装置および通信方法、並びにプログラム
CN117242746A (zh) 用于上下文感知实时流量特定网络配置的车载网络
JP2018201162A (ja) 通信装置、通信装置の制御方法、およびプログラム
CN108632898B (zh) 一种通信设备以及封包传送的方法
JP6933207B2 (ja) 送信装置、方法およびプログラム
KR20180038960A (ko) 차량 네트워크에서 데이터의 송수신 방법 및 장치
JP3313563B2 (ja) データ伝送制御方法