(57)【要約】【課題】イーサネット（登録商標）のフレームを多重化して送受信することで、信頼性を向上させることができる通信装置を提供することである。【解決手段】通信装置は、第１のイーサネット回路と、第２のイーサネット回路と、制御回路とを有する。制御回路は、データをイーサネットのフレームに変換し、フレームを第１のイーサネット回路及び第２のイーサネット回路に出力し、多重化したフレームを送信するように制御する。【選択図】図２
2019161548.tif 000002
【特許請求の範囲】
【請求項１】
第１のイーサネット回路と、
第２のイーサネット回路と、
データをイーサネット（登録商標）のフレームに変換し、前記フレームを前記第１のイーサネット回路及び前記第２のイーサネット回路に出力し、多重化した前記フレームを送信するように制御する制御回路と、
を有することを特徴とする通信装置。
【請求項２】
前記制御回路は、前記フレームに前記第１のイーサネット回路を通過したか、前記第２のイーサネット回路を通過したかを識別するための経路識別情報を付加することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御回路は、前記第１のイーサネット回路を通過した前記フレーム及び前記第２のイーサネット回路を通過した前記フレームを受信すると、前記経路識別情報を比較し、同一のフレーム否かを判定することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記制御回路は、前記経路識別情報を比較した結果、前記同一のフレームと判定した場合、前記フレームを採用し、前記同一のフレームでないと判定した場合、前記フレームを破棄することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記制御回路は、前記フレームに含まれるイーサタイプの前に前記経路識別情報を付加することを特徴とする請求項２に記載の通信装置。
【請求項６】
前記制御回路は、前記フレームにＶＬＡＮ情報が含まれる場合、前記ＶＬＡＮ情報の後に前記経路識別情報を付加することを特徴とする請求項２に記載の通信装置。
【請求項７】
前記制御回路は、前記第１のイーサネット回路を通過した前記フレームを受信した後、前記第２のイーサネット回路を通過した前記フレームを受信するまでのガードタイマを設定することを特徴とする請求項１に記載の通信装置。
【請求項８】
前記制御回路は、前記ガードタイマが満了するまでに前記第２のイーサネット回路を通過した前記フレームを受信しない場合、故障検出を通知することを特徴とする請求項７に記載の通信装置。
【請求項９】
前記制御回路は、前記ガードタイマが満了するまでに前記第２のイーサネット回路を通過した前記フレームを受信しない場合、受信した前記第１のイーサネット回路を通過した前記フレームを破棄することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記制御回路は、前記第２のイーサネット回路を通過した前記フレームを受信した後、前記第１のイーサネット回路を通過した前記フレームを受信するまでのガードタイマを設定することを特徴とする請求項１に記載の通信装置。
【請求項１１】
前記制御回路は、前記ガードタイマが満了するまでに前記第１のイーサネット回路を通過した前記フレームを受信しない場合、故障検出を通知することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
前記制御回路は、前記ガードタイマが満了するまでに前記第１のイーサネット回路を通過した前記フレームを受信しない場合、受信した前記第２のイーサネット回路を通過した前記フレームを破棄することを特徴とする請求項１１に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施の形態は、通信装置に関する。
【背景技術】
【０００２】
従来、イーサネット（登録商標）の通信規格を使用した通信システムが知られている。この通信システムは、通信装置と通信装置とを結ぶ通信経路に複数のスイッチが設けられ、通信経路に障害が発生した場合でも、他の通信経路で迂回できるように、通信経路を物理的に多重化する方法がある。多重化した通信経路の選択方法については、ＳＴＰ（Spanning Tree Protocol、IEEE802.1D）等の方法が存在する。
【０００３】
今後、民生機器で普及しているイーサネット（登録商標）を自動車分野でも広く利用することが考えられる。自動車分野では、ISO 26262で規格化されている機能安全性能を要求される可能性がある。
【０００４】
しかしながら、従来の構成では、スイッチとスイッチとの間は多重化されているが、通信装置とスイッチとの間は多重化されていない。そのため、従来の通信装置は、イーサネット（登録商標）のフレームを多重化して送受信することができず、信頼性を向上させることができなかった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開２０１６／０３８６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実施形態の課題は、イーサネット（登録商標）のフレームを多重化して送受信することで、信頼性を向上させることができる通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の通信装置は、第１のイーサネット回路と、第２のイーサネット回路と、制御回路とを有する。制御回路は、データをイーサネット（登録商標）のフレームに変換し、フレームを第１のイーサネット回路及び第２のイーサネット回路に出力し、多重化したフレームを送信するように制御する。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る通信装置を備えて通信システムの構成を示す図である。
【図２】多重化されたイーサネット回路を有する通信装置の構成を示す図である。
【図３】本実施形態のイーサネット（登録商標）のフレームの構造を説明するための図である。
【図４】多重化されたフレームを受信した際の処理の流れの一例を説明するためのフローチャートである。
【図５】多重化されたフレームを受信した際の処理の流れの一例を説明するためのフローチャートである。
【図６】ＶＬＡＮ情報を持ったフレームの構造を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して実施形態について詳細に説明する。
【００１０】
まず、図１に基づき、一実施形態に係る通信装置を備えた通信システムの構成について説明する。図１は、一実施形態に係る通信装置を備えて通信システムの構成を示す図である。
【００１１】
実施形態の通信システム１００は、通信装置１０Ａ、通信装置１０Ｂ、スイッチ１１Ａ、スイッチ１１Ｂ、及び、スイッチ１１Ｃを有して構成されている。本実施形態では、複数のスイッチ１１Ａ、１１Ｂ及び１１Ｃにより、通信装置１０Ａと通信装置１０Ｂとの間の通信経路が多重化されている。すなわち、スイッチ１１Ａとスイッチ１１Ｂとの通信経路に障害が発生した場合でも、スイッチ１１Ａからスイッチ１１Ｃの通信経路、及び、スイッチ１１Ｃからスイッチ１１Ｂの通信経路で迂回できるようになっている。
【００１２】
さらに、本実施形態では、通信装置１０Ａとスイッチ１１Ａとの間を多重化し、通信装置１０Ｂとスイッチ１１Ｃとの間を多重化している。これにより、通信装置１０Ａと通信装置１０Ｂとの間におけるデータの送受信の信頼性を向上させている。
【００１３】
図２は、多重化されたイーサネット回路を有する通信装置の構成を示す図である。
【００１４】
通信装置１０Ａは、ホスト２０と、多重化したイーサネット回路、ここでは、２つのイーサネット回路２１Ａ及び２１Ｂと、を有している。なお、通信装置１０Ａは、多重化された３つ以上のイーサネット回路を有していてもよい。
【００１５】
イーサネット回路２１Ａは、レイヤ２処理を行うＭＡＣ（Media Access Control）２２Ａと、レイヤ１処理を行うＰＨＹ（Physical）２３Ａと、を備える。同様に、イーサネット回路２１Ｂは、レイヤ２処理を行うＭＡＣ２２Ｂと、レイヤ１処理を行うＰＨＹ２３Ｂと、を備える。ホスト２０は、各種データを保持することができるメモリ２４を備える。
【００１６】
通信装置１０Ｂは、通信装置１０Ａと同様の構成を有しており、ホスト３０と、多重化したイーサネット回路、ここでは、２つのイーサネット回路３１Ａ及び３１Ｂと、を有している。なお、通信装置１０Ｂは、多重化された３つ以上のイーサネット回路を有していてもよい。
【００１７】
イーサネット回路３１Ａは、レイヤ２処理を行うＭＡＣ３２Ａと、レイヤ１処理を行うＰＨＹ３３Ａと、を備える。同様に、イーサネット回路３１Ｂは、レイヤ２処理を行うＭＡＣ３２Ｂと、レイヤ１処理を行うＰＨＹ３３Ｂと、を備える。ホスト３０は、各種データを保持することができるメモリ３４を備える。
【００１８】
なお、通信装置１０Ａと通信装置１０Ｂとの間でデータの送受信を行うことができるが、以下の説明では、通信装置１０Ａから通信装置１０Ｂにデータを送信する場合について説明する。
【００１９】
送信側の通信装置１０Ａのホスト２０は、データをイーサネット（登録商標）のフレームに変換し、イーサネット回路２１Ａ及び２１Ｂに出力する。ホスト２０から出力された同じフレームをイーサネット回路２１Ａの経路Ａと、イーサネット回路２１Ｂの経路Ｂとを経由させてフレームを多重化する。イーサネット回路２１Ａから出力されたフレームは、スイッチ１１ＡのポートＡを介してスイッチ１１Ｂに送信される。また、イーサネット回路２１Ｂから出力されたフレームは、スイッチ１１ＡのポートＢを介してスイッチ１１Ｂに送信される。
【００２０】
スイッチ１１Ｂは、送信側の通信装置１０Ａから受信したフレームを受信側の通信装置１０Ｂに送信する場合、受信側の通信装置１０Ｂのイーサネット回路３１Ａの経路Ａ、または、イーサネット回路３１Ｂの経路Ｂに送信する。
【００２１】
一般的なスイッチ（スイッチングハブ）１１Ａは、通過したフレームのＭＡＣアドレスをＭＡＣアドレステーブルに記憶しており、どのポートにどのＭＡＣアドレスを持った通信装置が接続されているかをＭＡＣアドレステーブルに記憶している。このＭＡＣアドレステーブルにより、スイッチ１１Ａは、受信したフレームを送信先のＭＡＣアドレスから特定のポートのみに送信する。
【００２２】
ただし、送信先ＭＡＣアドレスが、ユニキャストアドレス以外のブロードキャストまたはマルチキャストアドレスの場合、経路Ａと経路Ｂから同時にフレームを受信することになる。この対処については、後述する図４及び図５を用いて説明する。
【００２３】
受信側の通信装置１０Ｂは、送信側の通信装置１０Ａの経路Ａと経路Ｂを経由して受信されたフレームを比較し、同一であればそのフレームを採用する。
【００２４】
イーサネット回路２１Ａの経路Ａと、イーサネット回路２１Ｂの経路Ｂとのいずれかを経由して送信したかについては、イーサネット（登録商標）のフレームのヘッダ情報に経路識別情報を付加することによって行う。ここで、付加される経路識別情報について図３を用いて説明する。
【００２５】
図３は、本実施形態のイーサネット（登録商標）のフレームの構造を説明するための図である。
【００２６】
図３に示すように、通常のイーサネット（登録商標）のフレームでは、フレームの開始を示す８バイトのプリアンブル、６バイトの送信先ＭＡＣアドレス、６バイトの送信元ＭＡＣアドレス、２バイトのEtherタイプ、４５〜１５００バイトのデータ部、及び、フレームの誤りを検出するための４バイトのＦＣＳ（Frame Check Sequence）から構成される。
【００２７】
一例として、ＩＰｖ４（Internet Protocol Version.4）のパケットをフレーム化する場合は、Etherタイプを0x8000とし、データ部にＩＰｖ４のデータを格納する。
【００２８】
本実施形態では、制御回路としてのホスト２０は、このフレームに経路識別情報を付加する。具体的には、本実施形態のフレームでは、Etherタイプの前に４バイトの経路識別情報がホスト２０によって付加される。経路識別情報の前半の２バイトのEtherタイプは、経路情報用のEtherタイプとして、IANAのIEEE 802 Numberで定義されている内の、例えばIEEE 802（Local Experiment Ethertype）の0x88B6等を使用する。
【００２９】
また、後半の２バイトは、１バイトの経路識別子と、１バイトのシーケンス番号として使用する。経路識別子は、例えば、フレームがイーサネット回路２１Ａの経路Ａを通過した場合、0x00とし、フレームがイーサネット回路２１Ｂの経路Ｂを通過した場合、0x01とする。これにより、フレームがイーサネット回路２１Ａの経路Ａを経由したか、イーサネット回路２１Ｂの経路Ｂを経由したかを区別する。
【００３０】
シーケンス番号は、例えば、１番目のフレームを経路Ａと経路Ｂを経由して通信装置１０Ｂに送信後に、２番目のフレームを経路Ａと経路Ｂを経由して通信装置１０Ｂに送信する際に、１番目のフレームのシーケンス番号をインクリメントしたシーケンス番号を、２番目のフレームのシーケンス番号とする。これにより、１番目のフレームと２番目のフレームを区別する。
【００３１】
ホスト２０は、１番目のフレームの経路識別子を「0x00」としてイーサネット回路２１Ａの経路Ａに出力し、１番目のフレームの経路識別子を「0x01」としてイーサネット回路２１Ｂの経路Ｂに出力することで、同一のフレームを多重化して送信側の通信装置１０Ｂに送信する。
【００３２】
その後、ホスト２０は、シーケンス番号をインクリメントし、２番目のフレームの経路識別子を「0x00」としてイーサネット回路２１Ａの経路Ａに出力し、２番目のフレームの経路識別子を「0x01」としてイーサネット回路２１Ｂの経路Ｂに出力する。
【００３３】
受信側の通信装置１０Ｂは、イーサネット回路２１Ａの経路Ａと、イーサネット回路２１Ｂの経路Ｂとを経由して多重化されたフレームを受信し、多重化されたフレームの経路識別情報を比較し、同一のフレームであればそのフレームを採用する。
【００３４】
ここで、多重化されたフレームを受信した際の処理について、図４及び図５を用いて説明する。図４及び図５は、多重化されたフレームを受信した際の処理の流れの一例を説明するためのフローチャートである。なお、図４及び図５の処理は、送信側の通信装置１０Ａから送信されたフレームを受信側の通信装置１０Ｂが受信すると開始される。
【００３５】
まず、受信側の通信装置１０Ｂのホスト３０は、Ｓ１の処理において、受信したフレームの経路識別子を参照し、送信側の通信装置１０Ａのイーサネット回路２１Ａの経路Ａを経由したフレームか否かを判定する（Ｓ１）。通常、送信側の通信装置１０Ａで経路Ａ、経路Ｂの順番でフレームを送信した場合、受信側の通信装置１０Ｂでも経路Ａを経由したフレーム、経路Ｂを経由したフレームの順番でフレームを受信するが、スイッチ１１Ａ及び１１Ｂの処理状況によっては、順序が逆になる可能性がある。そのため、最初にイーサネット回路２１Ａの経路Ａを経由したフレームを受信したか、イーサネット回路２１Ｂの経路Ｂを経由したフレームを受信したかの判断を行う。
【００３６】
次に、ホスト３０は、経路Ａを経由したフレーム（以下、フレームＡという）を受信したと判定した場合（Ｓ１：ＹＥＳ）、Ｓ２の処理において、経路Ｂを経由したフレーム（以下、フレームＢという）を受信済みか否かを判定する。ホスト３０は、フレームＢを受信済みと判定した場合、（Ｓ２：ＹＥＳ）、図５のＳ１４の処理に進む。
【００３７】
一方、ホスト３０は、フレームＢを受信していないと判定した場合（Ｓ２：ＮＯ）、Ｓ３の処理において、フレームＡをメモリ３４に保存済みかつシーケンス番号が同一か否かを判定する。ホスト３０は、フレームＡを保存済みかつシーケンス番号が同一と判定した場合（Ｓ３：ＹＥＳ）、図５のＳ１６の処理に進み、受信済みのフレームを破棄する。すなわち、ホスト３０は、同一のフレームＡを受信した場合、ブロードキャストまたはマルチキャストと判断し、同一のフレームを破棄する。
【００３８】
一方、ホスト３０は、フレームＡを保存済みかつシーケンス番号が同一でないと判定した場合（Ｓ３：ＮＯ）、Ｓ４の処理において、フレームＡをメモリに保存し、Ｓ５の処理において、フレームＢ受信用のガードタイマを設定する。このＳ５の処理では、ホスト３０は、フレームＢを受信するまでに想定される最大時間でガードタイマを設定する。
【００３９】
ホスト３０は、Ｓ６の処理において、フレームＢ受信用のガードタイマが満了するまでにフレームＢを受信したか否かを判定する。ホスト３０は、フレームＢ受信用のガードタイマが満了するまでにフレームＢを受信したと判定した場合（Ｓ６：ＹＥＳ）、図５のＳ１４の処理に進む。
【００４０】
一方、ホスト３０は、フレームＢ受信用のガードタイマが満了するまでにフレームＢを受信していないと判定した場合（Ｓ６：ＮＯ）、Ｓ７の処理において、故障検出を通知する。その後、ホストは、図５のＳ１６の処理に進み、受信済みのフレームを破棄する。
【００４１】
ガードタイマは、同じシーケンス番号のフレームが通信経路の途中で喪失、または、送信側の経路Ａもしくは経路Ｂの故障の可能性考慮して設定するタイマであり、ホスト３０は、ガードタイマが満了した場合、故障検出を通知後、これまで受信したフレームを破棄する。
【００４２】
一方、ホスト３０は、Ｓ１の処理において、フレームＡを受信していないと判定した場合（Ｓ１：ＮＯ）、すなわち、フレームＢを受信していると判定した場合、Ｓ８の処理において、フレームＡを受信済みか否かを判定する。ホスト３０は、フレームＡを受信済みと判定した場合、（Ｓ８：ＹＥＳ）、図５のＳ１４の処理に進む。
【００４３】
一方、ホスト３０は、フレームＡを受信していないと判定した場合（Ｓ８：ＮＯ）、Ｓ９の処理において、フレームＢを保存済みかつシーケンス番号が同一か否かを判定する。ホスト３０は、フレームＢを保存済みかつシーケンス番号が同一と判定した場合（Ｓ９：ＹＥＳ）、図５のＳ１６の処理に進み、受信済みのフレームを破棄する。すなわち、ホスト３０は、同一のフレームＢを受信した場合、ブロードキャストまたはマルチキャストと判断し、同一のフレームを破棄する。
【００４４】
一方、ホスト３０は、フレームＢを保存済みかつシーケンス番号が同一でないと判定した場合（Ｓ９：ＮＯ）、Ｓ１０の処理において、フレームＢをメモリ３４に保存し、Ｓ１１の処理において、フレームＡ受信用のガードタイマを設定する。このＳ１１の処理では、ホスト３０は、フレームＡを受信するまでに想定される最大時間でガードタイマを設定する。
【００４５】
ホスト３０は、Ｓ１２の処理において、フレームＡ受信用のガードタイマが満了するまでにフレームＡを受信したか否かを判定する。ホスト３０は、フレームＡ受信用のガードタイマが満了するまでにフレームＡを受信したと判定した場合（Ｓ１２：ＹＥＳ）、図５のＳ１４の処理に進む。
【００４６】
一方、ホスト３０は、フレームＡ受信用のガードタイマが満了するまでにフレームＡを受信していないと判定した場合（Ｓ１２：ＮＯ）、Ｓ１３の処理において、故障検出を通知する。その後、ホスト３０は、図５のＳ１６の処理に進み、受信済みのフレームを破棄する。
【００４７】
図５に移り、ホスト３０は、フレームＡ及びフレームＢを受信した場合、Ｓ１４の処理において、シーケンス番号が同一か否かを判定する。ホスト３０は、シーケンス番号が同一と判定した場合（Ｓ１４：ＹＥＳ）、Ｓ１５の処理において、受信フレームを採用し、処理を終了する。一方、ホスト３０は、シーケンス番号が同一でないと判定した場合（Ｓ１４：ＮＯ）、Ｓ１６の処理において、受信済みフレームを破棄し、処理を終了する。
【００４８】
なお、ホスト３０は、故障検出を通知した場合、Ｓ１６の処理に進み、受信済みフレームを破棄しているが、Ｓ１５の処理に進み、受信済みのフレームＡ及びフレームＢのうち、受信済みの一方のフレームを採用するようにしてもよい。
【００４９】
また、ホスト３０は、Ｓ１４の処理において、受信したフレームＡ及びフレームＢのシーケンス番号が同一か否かを判定しているが、シーケンス番号に加え、データ部のデータが同一か否かを判定してもよい。データ部のデータを比較する処理には処理能力を要するため、必要に応じてデータ部のデータの比較を行う否かを選択できるようにしてもよい。
【００５０】
以上のように、送信側の通信装置１０Ａは、イーサネット回路２１Ａ及び２１Ｂを備え、イーサネット（登録商標）フレームをイーサネット回路２１Ａ及び２１Ｂによって多重化して受信側の通信装置１０Ｂに送信するようにした。このように、本実施形態の通信装置１０Ａは、イーサネット（登録商標）のフレームを多重化して送受信することで、信頼性を向上させることができる。
【００５１】
なお、例えばスイッチ１１ＡがＶＬＡＮ（Virtual Local Area Network）情報をサポートしたスイッチである場合、図３に示す経路識別情報をフレームに付加したことにより、ＶＬＡＮ情報をサポートしたスイッチ１１Ａをフレームが透過できないことが想定される。それは、スイッチ１１Ａが認識できない経路情報を持ったフレームを、スイッチ１１Ａが破棄する可能性が存在するためである。そこで、ＶＬＡＮ情報を持ったフレームを図６の構造とする。
【００５２】
図６は、ＶＬＡＮ情報を持ったフレームの構造を説明するための図である。
【００５３】
図６に示すように、ＶＬＡＮ情報を持ったイーサネット（登録商標）のフレームは、送信元ＭＡＣアドレスの後に４バイトのＶＬＡＮ情報を備える。４バイトのＶＬＡＮ情報は、２バイトのEtherタイプと、２バイトのＴＣＩ（Tag Control Information）とから構成されている。
【００５４】
ホスト２０は、ＶＬＡＮ情報を持ったイーサネット（登録商標）のフレームについては、ＶＬＡＮ情報の後に、４バイトの経路識別情報を付加する。４バイトの経路識別情報は、図３の経路識別情報と同様であり、２バイトのEtherタイプ、１バイトの経路識別子、及び、１バイトのシーケンス番号により構成されている。
【００５５】
以上の構成により、スイッチ１１ＡがＶＬＡＮ情報をサポートしたスイッチの場合、スイッチ１１Ａは、ＶＬＡＮ情報よりも後の情報をデータ部と認識するため、図６に示すフレームを透過することができる。
【００５６】
なお、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００５７】
発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５８】
１０Ａ，１０Ｂ…通信装置、１１Ａ，１１Ｂ，１１Ｃ…スイッチ、２０，３０…ホスト、２１Ａ，２１Ｂ，３１Ａ，３１Ｂ…イーサネット回路、２２Ａ，２２Ｂ，３２Ａ，３２Ｂ…ＭＡＣ、２３Ａ，２３Ｂ，３３Ａ，３３Ｂ…ＰＨＹ、２４，３４…メモリ、１００…通信システム。
【図１】
2019161548.tif 000003
【図２】
2019161548.tif 000004
【図３】
2019161548.tif 000005
【図４】
2019161548.tif 000006
【図５】
2019161548.tif 000007
【図６】
2019161548.tif 000008