JP2015198414A - 通信システム、通信装置、およびプログラム - Google Patents
通信システム、通信装置、およびプログラム Download PDFInfo
- Publication number
- JP2015198414A JP2015198414A JP2014076673A JP2014076673A JP2015198414A JP 2015198414 A JP2015198414 A JP 2015198414A JP 2014076673 A JP2014076673 A JP 2014076673A JP 2014076673 A JP2014076673 A JP 2014076673A JP 2015198414 A JP2015198414 A JP 2015198414A
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication
- data block
- packet
- communication device
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】複数の通信装置をリング状に接続して構成される通信システムにおいて、伝送路の1箇所が切断されても通信データの欠落は発生せず、また、データストーム状態となることも無い通信システムを低コストで構築することを可能にする。【解決手段】各通信装置に、各々が隣の通信装置に接続される2つの通信ポートと、2つの通信ポートの各々からデータブロックをブロードキャストする送信手段と、2つの通信ポートの各々を介して同じデータブロックを受信した場合に何れか一方を取得するデータ取得手段と、2つの通信ポートの一方を介して受信したデータブロックを他方から送出する中継手段と、2つの通信ポートの各々を介して受信したデータブロックが自装置の送信手段により送信されたものである場合に当該データブロックを破棄して中継手段による中継対象から除外するデータ刈り取り手段と、を設ける。【選択図】図3
Description
本発明は、複数の通信装置をリング状に接続して構成された通信システムに関する。
工場や各種プラント等の産業施設において、その施設内に設置された電動機等の駆動制御や各種センサからのデータ収集を実現するための通信システムが構築されることがある。この種の通信システムは、電子メールサービスやインターネット接続サービス等を提供するための一般的な通信システムと区別され、制御系ネットワークシステムと呼ばれる。制御系ネットワークシステムでは一般的な通信システムにおけるものとは異なる通信プロトコルが採用され、機器間のデータ通信を中継するための通信装置についても一般的なものとは異なるものが採用されることが従来一般的であった。
昨今では、制御系ネットワークシステムの分野でもEthernet(登録商標)の利用が進み、スイッチングハブなどの汎用機器を利用することが一般的になってきている。その一方で、制御系ネットワークシステムでは、操業の安全を担保するための二重化など、冗長化が必須である。この冗長化を実現する技術の一例としては、STP(Spanning Tree Protocol)が挙げられる。STPとは、リング型トポロジのデータ伝送路の1箇所に故障が発生したとしてもデータ通信に支障が生じないようにする技術である。以下、図面を参照しつつSTPの概略を説明する。
図10はSTPを説明するための模式図である。図10(a)に示すように、STPでは1台のマスタスイッチングハブと複数のスイッチングハブとをLAN(Local Area Network)ケーブルなどの通信線でリング状に接続することでデータ伝送路が形成される。なお、図10ではスイッチングハブは「SW−HUB」と表記されている。マスタスイッチングハブは、リング型のデータ伝送路の健全性を常にチェックし、健全な場合には自装置内において論理的にデータ伝送路を「OPEN状態」(図10(a)参照)とする。このような状況でデータ伝送路の一箇所に断線などの障害が発生したとする(図10(b)参照)。マスタスイッチングハブは、データ伝送路の異常を検出した場合には論理的にデータ伝送路を「CLOSE状態」(図10(c)参照)に切り替える。つまり、STPによれば、伝送路に異常のある状態と異常のない状態のいずれにおいても、物理的にはリング型トポロジのネットワークは論理的にバス型トポロジのネットワークとして使用される。
しかし、STPを利用した通信システムでは以下の問題が生じ得る。第1に、データ伝送路に障害が発生してから数秒の期間に亙って通信データが到達しない通信装置が発生する点である。データ伝送路における障害発生からマスタスイッチングハブによる障害検知までに数秒程度の時間を要するからである。これは、通信データの欠落を意味する。通信データの欠落が発生すると電動機などの制御対象機器が誤動作する虞があるため、このような通信データの欠落は制御系ネットワークシステムにおいては極力避けなければならない事態である。
第2に、障害復旧時(断線していた通信線の再接続時など)にデータ伝送路がデータストーム状態となってしまう虞がある、という点である。データストーム状態とは、データ伝送帯域全てがデータ通信に使用されてしまっている状態である。これは、ブロードキャストでデータ送信を行うことが一般的な制御系ネットワークシステムにおいてはその発生が特に懸念される問題であり、障害復旧からマスタスイッチングハブによる「CLOSE」状態から「OPEN状態」への切り換えまでの間、伝送路が閉ループ状態となってしまうことに起因する。データ伝送路がデータストーム状態になると、通信システムに含まれる各通信装置に極端に高い通信負荷がかかり、通信装置の故障要因にも成りえる。なお、コストダウンを目的としてスイッチングハブなどの中継装置を使用せず、ノード装置のみでループ構成を可能とする形態もあるが、この場合でも上記各問題は発生し得る。
本発明は上記課題に鑑みて為されたものであり、複数の通信装置をリング状に接続して通信システムを構築する際に、リング型トポロジのデータ伝送路の1箇所に障害が発生しても通信データの欠落は発生せず、また、障害復旧時にデータストーム状態となることも無い通信システムを低コストで構築することを可能にする技術を提供することを目的とする。
上記課題を解決するために本発明は以下の構成の通信システムを提供する。この通信システムは複数の通信装置をリング状に接続して構成されている。つまり、この通信システムではリング型トポロジのデータ伝送路が形成される。複数の通信装置の各々は、2つの通信ポートと、以下のデータ送信手段、データ取得手段およびデータ中継手段を有している。データ送信手段は、2つの通信ポートの各々からデータブロックをブロードキャストする。データ取得手段は、2つの通信ポートの各々を介して同じデータブロックを受信した場合に何れか一方を取得する。そしてデータ中継手段は、2つの通信ポートの一方を介して受信したデータブロックを他方から送出する。このように、各通信装置は、リング型トポロジのデータ伝送路に沿って互いに逆回りとなる方向(例えば時計回りと反時計回りの各方向)にデータをブロードキャストするため、そのデータ伝送路の1箇所に断線などの障害が発生したとしても、データブロックの送信元を除く他の全ての通信装置にそのデータブロックを確実に送り届けることができる。つまり、本発明の通信システムでは通信データの欠落は発生しない。なお、リング型トポロジのデータ伝送路に断線などの障害が発生していなければ、データブロックの送信元を除く他の全ての通信装置は同じデータブロックを複数回受信することになるが、データ取得手段は何れか一方のみを取得するため、特段の問題が生じることはない。
そして、複数の通信装置のうちの少なくとも1つは、自装置の2つの通信ポートの各々を介して受信したデータブロックについて当該通信システム内を一巡して戻ってきたものであるか否かを判定し、一巡して戻ってきたものであると判定されたデータブロックを破棄して前記データ中継手段およびデータ取得手段による処理対象から除外するデータ刈り取り手段をさらに有しており、この点に本発明の特徴がある。本発明では、リング型トポロジのデータ伝送路を一巡したデータブロックはデータ刈り取り手段によって破棄されるため、前述したデータストーム状態の発生を回避することができる。また、本発明の通信システムはスイッチングハブを構成要素として含んでいないため、スイッチングハブを用いる従来技術に比較してシステム構築コストを低く抑えることができる。なお、特許文献1には、複数の通信装置をリング状に接続して構成されている通信システムにおいて、各通信装置に両隣の通信装置へデータを送信させることが記載されているが、上記データ刈り取り手段を少なくとも1つの通信装置に設けることは記載も示唆もされていない。よって、本願発明と引用文献1に記載の発明とは全く異なる技術である。
データ取得手段およびデータ刈り取り手段の具体的な構成としては種々の態様が考えられる。例えば、データ伝送路に送出されるデータブロックとしてヘッダと送受信対象のデータを格納するペイロードとを有し、ペイロードに格納されているデータの送信元を示すアドレスと当該データを一意に示す識別子とがヘッダに書き込まれるデータブロック(例えば、IPパケット)を採用する場合には、データ取得手段として、取得済のデータブロックのヘッダに書き込まれている送信元のアドレスと識別子を対応付けて格納する管理テーブルを備え、当該管理テーブルの格納を参照して同じデータブロックを受信済であるか否かを判定する手段を用いるようにすれば良い。また、データ刈り取り手段としては、受信したデータブロックのヘッダに書き込まれている送信元のアドレスが自装置のアドレスであった場合にリング型トポロジのデータ伝送路を一巡したと判定する手段を用いるようにすれば良い。
また、通信装置によって中継される毎に値を更新されるホップ数がヘッダに書き込まれるデータブロックを採用する場合には、ホップ数の初期値を1にしておき、データ中継手段には、データブロックの中継を行う毎に当該データブロックのヘッダのホップ数に1を加算する処理を実行させ、データ刈り取り手段として、受信したデータブロックのヘッダのホップ数が通信システムに含まれる通信装置の数以上であった場合に、当該データブロックはデータ伝送路を一巡したと判定する手段を用いるようにすれば良い。
上記課題を解決するための本発明の別の態様としては、2つの通信ポートと、上記データ送信手段と、上記データ取得手段と、上記データ中継手段と、上記データ刈り取り手段とを有する通信装置を提供する態様や、CPU(Central Processing Unit)などのコンピュータを上記各手段として機能させるプログラムを提供する態様が考えられる。これらの態様によっても、リング状のデータ伝送路の1箇所が切断されても通信データの欠落は発生せず、また、データストーム状態も発生しない通信システムを低コストで構築することが可能になる。
本発明によれば、複数の通信装置をリング状に接続して通信システムを構築する際に、リング型トポロジのデータ伝送路の1箇所に障害が発生しても通信データの欠落が発生することはなく、データストーム状態となることも無い。さらに、本発明によればスイッチングハブを用いることなく上記通信システムを構築することができるため、スイッチングハブを用いる態様に比較してシステム構築コストを低く抑えることができる。
以下、図面を参照しつつ本発明の実施形態について説明する。
(A:構成)
図1は、本発明の一実施形態の通信システム1の構成例を示す図である。
この通信システム1は、制御系ネットワークシステムである。図1に示すように、通信システム1は、通信装置10A,10B,10Cおよび10DをLANケーブルなどの通信線によりリング状に接続して構成されている。つまり、通信システム1は、リンク型のネットワークトポロジを有している。本実施形態では通信システム1に4台の通信装置が含まれている場合について説明するが、通信システム1に含まれる通信装置の数は5台以上であっても良く、また、2或いは3台であっても良い。要は、複数の通信装置をリング状に接続してなる通信システムであれば良い。また、本実施形態における上記データ伝送路はEthernet(登録商標)である。上記データ伝送路における通信プロトコルとしては、トランスポート層についてはTCP或いはUDPがネットワーク層についてはIPが採用されている。
(A:構成)
図1は、本発明の一実施形態の通信システム1の構成例を示す図である。
この通信システム1は、制御系ネットワークシステムである。図1に示すように、通信システム1は、通信装置10A,10B,10Cおよび10DをLANケーブルなどの通信線によりリング状に接続して構成されている。つまり、通信システム1は、リンク型のネットワークトポロジを有している。本実施形態では通信システム1に4台の通信装置が含まれている場合について説明するが、通信システム1に含まれる通信装置の数は5台以上であっても良く、また、2或いは3台であっても良い。要は、複数の通信装置をリング状に接続してなる通信システムであれば良い。また、本実施形態における上記データ伝送路はEthernet(登録商標)である。上記データ伝送路における通信プロトコルとしては、トランスポート層についてはTCP或いはUDPがネットワーク層についてはIPが採用されている。
通信装置10B,10Cおよび10Dの各々は例えばPLCである。通信装置10B,10Cおよび10Dの各々は産業施設内に敷設された電動機の駆動制御や各種センサからのデータ収集を行うコントローラなどのノード装置である。通信装置10Aはこれらコントローラに対して各種制御指令を与えたり、これらコントローラからデータを収集したりするノード装置である。なお、通信装置10A,10B,10Cおよび10Dの構成は基本的には同一であるため、以下、これら4台の通信装置の各々を区別する必要がない場合には「通信装置10」と表記する。
通信装置10は、ネットワーク層におけるデータの送受信単位であるIPパケット単位でデータの送受信を行う通信装置である。このため、通信装置10A,10B,10Cおよび10Dの各々は、それぞれ固有の通信アドレス(IPアドレス)が予め割り振られている。本実施形態では、通信装置10A,10B,10Cおよび10Dの各々に本実施形態の特徴を顕著に示す処理を実行させることで、リング状のデータ伝送路の1箇所が切断されても通信データの欠落を発生させないこと、およびデータストーム状態とならないことが実現される。よって、以下では、通信装置10A,10B,10Cおよび10Dを中心に説明する。
図2は、通信装置10の構成例を示すブロック図である。
図2に示すように、通信装置10は、制御部110、通信インターフェース(図2では「I/F」と略記、以下、本明細書でも同様)部120、記憶部130、外部機器I/F部140およびこれら各構成要素間のデータ授受を仲介するバス150を有している。
図2に示すように、通信装置10は、制御部110、通信インターフェース(図2では「I/F」と略記、以下、本明細書でも同様)部120、記憶部130、外部機器I/F部140およびこれら各構成要素間のデータ授受を仲介するバス150を有している。
制御部110は、例えばCPUである。制御部110は記憶部130(より正確には不揮発性記憶部134)に記憶されている各種プログラムを実行することで通信装置10の制御中枢として機能する。不揮発性記憶部134に記憶されているプログラムにしたがって制御部110が実行する処理の詳細については後に明らかにする。
通信I/F部120は例えばNIC(Network Interface Card)である。図2に示すように、通信I/F部120は通信ポート122と通信ポート124の2つの通信ポートを有している。これら2つの通信ポートはLANケーブルなどの信号線を介して夫々異なる通信装置に接続されている。例えば、通信装置10Aの通信ポート122は通信装置10Bの通信ポート124に接続されており、通信装置10Aの通信ポート124は通信装置10Dの通信ポート122に接続されている。そして、通信装置10Bの通信ポート122は通信装置10Cの通信ポート124に接続されており、通信装置10Cの通信ポート122は通信装置10Dの通信ポート124に接続されている。通信I/F部120は、通信ポート122或いは通信ポート124により受信したデータを制御部110に引き渡すとともに、制御部110から与えられたデータを通信ポート122と通信ポート124のうち制御部110によって指示された方から送出する。
外部機器I/F部140は、例えばシリアルインタフェースやパラレルインタフェースなどのI/Oマスタである。通信装置10Aの外部機器I/F部140には、通信システム1のネットワーク管理者等に各種指示を入力させるための入力装置(例えば、キーボードやマウス)や各種ユーザインタフェース画面を表示するための表示装置が接続される。通信装置10B〜10Dの各々の外部機器I/F部140には、電動機や各種センサなど、駆動制御やデータ収集の対象となる機器が接続される。外部機器I/F部140はその接続先の機器から出力されるデータを受け取って制御部110に与える一方、制御部110から与えられたデータを接続先の機器へと出力する。
記憶部130は、図2に示すように、揮発性記憶部132と不揮発性記憶部134を含んでいる。記憶部132は例えばRAM(Random Access Memory)であり、不揮発性記憶部134に記憶されている各種プログラムを実行する際のワークエリアとして制御部110によって利用される。また、揮発性記憶部132には、各種プログラムの実行過程で参照/更新されるデータが格納される。この種のデータの一例としては、図2における受信履歴テーブル1322が挙げられる。受信履歴テーブル1322の詳細については重複を避けるため、後に明らかにする。
不揮発性記憶部134は例えばフラッシュROM(Read Only Memory)である。図2に示すように不揮発性記憶部134には、アプリケーションプログラム1342と通信制御プログラム1344とが記憶されている。アプリケーションプログラム1342は、制御対象機器(前述した電動機や各種センサ)の作動制御のための上位プロトコル階層(OSI参照モデルにおけるアプリケーション層やトランスポート層)の処理を制御部110に実行させるプログラムである。一方、通信制御プログラム1344は、より下位のプロトコル階層の通信プロトコル(本実施形態では、IP)にしたがったデータ通信を制御部110に実行させるプログラムである。
本実施形態では、制御部110は、通信装置10の電源(図示略)投入或いはリセットを契機として、アプリケーションプログラム1342と通信制御プログラム1344の夫々を不揮発性記憶部134から揮発性記憶部132に読み出しその実行を開始する。図3は、アプリケーションプログラム1342にしたがって制御部110が実行する処理および通信制御プログラム1344にしたがって制御部110が実行する処理を説明するための機能ブロック図である。図3に示すように、アプリケーションプログラム1342にしたがって作動している制御部110は上位プロトコル階層の処理(図3では、「上位層処理」と略記)を実行する。一方、通信制御プログラム1344にしたがって作動している制御部110は、図3に示すように、データ送信処理SA100、データ取得処理SB100、データ中継処理SC100およびデータ刈り取り処理SD100を実行する。制御部110が実行する処理のうち上位プロトコル階層の処理については従来の通信装置におけるものと特に変わるところは無いため、以下では通信制御プログラム1344にしたがって制御部110が実行する処理を中心に説明する。
データ送信処理SA100は、アプリケーションプログラム1342の実行過程におけるデータ送信の発生(例えば、データ送信の為のシステムコールの呼び出し等)を契機として実行される処理である。データ送信処理SA100は、送信対象のデータ(例えば上記システムコールの引数として引き渡されたデータ)を通信ポート122および124の各々からブロードキャストする処理である。より詳細に説明すると、このデータ送信処理SA100では、制御部110は、まず、送信対象のデータをペイロードとし、ヘッダ(図4参照)のソースアドレス(すなわち、送信元アドレス)に自装置のIPアドレスを書き込むとともに同ディスティネーションアドレス(すなわち、送信先アドレス)にブロードキャストアドレスを書き込み、さらに識別子に当該データを一意に示すデータを書き込んだIPパケットを2つ生成する。なお、図4における識別子とは、同一の送信元から送信されるデータの一意性を実現する識別子であり、一般的にはデータの再送処理、二重受信防止などに利用される。図4の識別子には、IPパケットを送信するたびにその送信元の通信装置において異なる値がセットされる。
次いで、制御部110は、上記の要領で生成した各パケットを通信I/F部120に引き渡し、それぞれ通信ポート122と通信ポート124の各々から送出することを通信I/F部120に指示する。なお、通信ポート122と通信ポート124の各々について、リンクアップ状態をチェックし、未リンク(ケーブル故障中)だった通信ポートからの送出を抑制する処理を制御部110に実行させるようにしても良い。
データ刈り取り処理SD100は、通信ポート122または通信ポート124によりIPパケットを受信したことを契機として実行される処理である。詳細については後述するが、データ刈り取り処理SD100は、通信ポート122または通信ポート124により受信したIPパケットが通信システム1内を一巡して戻ってきたものであるか否かを判定し、一巡して戻ってきたものであると判定されたIPパケットを破棄する処理である。データ刈り取り処理SD100にて破棄されなかったIPパケットはデータ取得処理SB100およびデータ中継処理SC100の処理対象となる。
データ取得処理SB100は、通信ポート122または通信ポート124によりIPパケットを受信し、かつ当該受信したIPパケットがデータ刈り取り処理SD100にて破棄されなった場合に実行される。このデータ取得処理SB100は、通信ポート122および124の各々を介して同じパケットを受信した場合に、それらのうちの何れか一方(本実施形態では先に受信した方)を取得して上位プロトコル階層の処理に引き渡す処理である。ここで、「同じパケット」とは、同一の送信元から送信され、かつペイロードに同一のデータが書き込まれたパケット(すなわち、ヘッダの識別子が同一のパケット)のことを言う。以下、図5および図6を参照しつつ、データ取得処理SB100について詳細に説明する。
図5は、制御部110が通信制御プログラム1344にしたがって実行するデータ取得処理SB100の流れを示すフローチャートである。図5に示すように、制御部110は、まず、通信I/F部120を介して受信され、データ刈り取り処理SD100を経たIPパケット(以下、処理対象のIPパケット)について、健全であるか否かをチェックする(ステップSB1010)。より詳細に説明すると、制御部110は、処理対象のIPパケットのヘッダおよびペイロードを対象としてチェックサムを算出する。このチェックサムの算出には、図4におけるヘッダチェックサムの算出と同じアルゴリズムが使用される。次いで、制御部110は、このようにして算出されたチェックサムが同IPヘッダに書き込まれているヘッダチェックサムと一致するか否かを判定する。制御部110は、両チェックサムが一致すれば処理対象のパケットは健全(すなわち、ビット化け等は発生していない)と判定し、逆に両チェックサムが一致しなければ処理対象のパケットは健全ではないと判定する。このように受信パケットの健全性をチェックするのは、本実施形態では、IPヘッダ内の各要素(具体的には、送信元アドレスおよび識別子)をキーとして新規受信パケットであるか否かの判定が行われるため、これらの情報の健全性は特に重要だからである。
制御部110は、ステップSB1010のチェック結果が“Yes”の場合には、ステップSB1020以降の処理を実行し、逆にステップSB1010のチェック結果が“No”の場合には、処理対象のパケットを破棄(ステップSB1050)して本データ取得処理SB100を終了する。ステップSB1010の判定結果が“Yes”である場合に後続して実行されるステップSB1020では、制御部110は、受信履歴テーブル1322の格納内容を参照し、処理対象のIPパケットが新規に受信したものであるか否かを判定する。
詳細については後述するが受信履歴テーブル1322には、IPパケットを新規受信する毎にそのIPパケットを一意に示す情報(本実施形態では、送信元アドレスと識別子)が登録される。したがって、制御部110は、処理対象のIPパケットのヘッダに書き込まれている送信元アドレスと識別子の対と一致する送信元アドレスと識別子の対が受信履歴テーブル1322に格納されていれば当該IPパケットは新規受信パケットではないと判定し、格納されていなければ新規受信パケットであると判定する。ステップSB1020の判定結果が“Yes”である場合には、制御部110は、ステップSB1030以降の処理を実行する。これに対して、ステップSB1020の判定結果が“No”であれば、制御部110は、前述したステップSB1050の処理を実行して本データ取得処理SB100を終了する。
ステップSB1020の判定結果が“Yes”である場合に後続して実行されるステップSB1030では、制御部110は、処理対象のパケットを一意に示す情報(送信元アドレスおよび識別子)を受信履歴テーブル1322に登録する。図6は、受信履歴テーブル1322の構成例を示す図である。図6に示すように、受信履歴テーブル1322は、送信元管理テーブル1322aと、送信元管理テーブルの各レコード(送信元アドレスおよび識別子履歴ポインタよりなるレコード)に一つずつ対応付けられた識別子履歴テーブル1322bとにより構成されている。
図6に示すように、送信元管理テーブル1322aは、複数(本実施形態では、最大M個)のレコードと当該レコードの数を表すエントリ数データとにより構成されている。ここで、送信元管理テーブル1322aを構成するレコードの最大数Mについては通信システム1に含まれる通信装置の数に応じて定めるようにすれば良い。例えば、本実施形態の通信システム1であれば、M=3(すなわち、自装置を除いた通信装置の数)と定めておけば良い。送信元管理テーブル1322aを構成する各レコードには、送信元管理テーブル1322aの格納元の通信装置10が新規に受信したIPパケットの送信元アドレスと識別子履歴ポインタとが格納される。識別子履歴ポインタには、当該識別子履歴ポインタに対応付けられた送信元アドレスの示す通信装置から受信したIPパケットの識別子をその受信順に格納する識別子履歴テーブル1322bの先頭アドレスがセットされる。
識別子履歴テーブル1322bは、最大N個の識別子(当該テーブルに対応付けられた送信元管理テーブル1322aのレコードに格納されている送信元アドレスの示す通信装置10から送信されたIPパケットのヘッダに書き込まれていた識別子)と、それら識別子の数を示すエントリ数データと、それら識別子のうちの最古のものの格納アドレスを示す最古ポインタと、新たに識別子の追加を行う際にその格納先のアドレスを示す次登録ポインタとから構成されている。なお、識別子履歴テーブル1322bに格納可能な識別子の最大数Nについては、通信システム1における各通信装置10のIPパケットの送信頻度等に応じて適宜好適な値に定めておけば良い。本実施形態ではN=32と定められている。
図5のステップSB1020では、制御部110は、まず、処理対象のIPパケットの送信元アドレスが送信元管理テーブル1322aに格納されているか否かを判定する。当該送信元アドレスが登録されていなければ、制御部110は、新規受信パケットであると判定する。また、処理対象のIPパケットの送信元アドレスが送信元管理テーブル1322aに格納されていた場合であっても、その送信元アドレスに対応する識別子履歴テーブル1322bに当該処理対象のIPパケットの識別子が登録されていない場合には、制御部110は新規受信パケットであると判定する。
図5のステップSB1030においては、制御部110は、処理対象のIPパケットの送信元アドレスが送信元管理テーブル1322aに登録されていなければ、制御部110は送信元管理テーブル1322aに新たなレコードを生成するとともに当該レコードに対応付ける新たな識別子履歴テーブル1322bを生成し、当該レコードに上記処理対象のIPパケットの送信元アドレスと上記新たな識別子履歴テーブル1322bの先頭アドレスを格納する。そして、制御部110は、当該IPパケットの識別子を当該新たな識別子履歴テーブル1322bに格納する。これに対して、処理対象のIPパケットの送信元アドレスが送信元管理テーブル1322aに格納済である場合には、その送信元アドレスに対応する識別子履歴テーブル1322bへの当該処理対象のIPパケットの識別子の登録のみを行う。なお、識別子の登録の際に、既に最大数分の識別子が識別子履歴テーブル1322bに登録済である場合には、制御部110は最古ポインタの示す識別子を当該処理対象のIPパケットの識別子で書き換える。識別子履歴テーブル1322bをリングバッファ構造としたのは、登録済の識別子を高速に検索できるようにするためであるが、これは必ずしも必須ではない。
以上が受信履歴テーブル1322の構成である。
以上が受信履歴テーブル1322の構成である。
図5に戻って、ステップSB1030に後続して実行されるステップSB1040では、制御部110は、処理対象のIPパケットのペイロードに書き込まれているデータを読み出し、当該データを上位層処理に与える。なお、該当受信データの送信先アドレスより、自ノードでの受信が必要ではないと判断可能な場合には上位層への通知を行なわないことも可能である。
以上がデータ取得処理SB100の詳細である。
以上がデータ取得処理SB100の詳細である。
データ中継処理SC100は、データ取得処理SB100と同様に、通信ポート122または通信ポート124によりIPパケットを受信し、かつ当該受信したIPパケットがデータ刈り取り処理SD100にて破棄されなった場合に実行される。中継処理SC100は、通信ポート122と通信ポート124の一方を介して受信したパケットを他方から送出する処理である。図3に示すようにデータ中継処理SC100は第1中継処理SC102と第2中継処理SC104を含んでいる。第1中継処理SC102では、制御部110は、通信ポート124により受信され、データ刈り取り処理SD100を経たIPパケットを通信I/F部120に与え、通信ポート122を指定して当該IPパケットの送出を指示する。一方、第2中継処理SC104では、制御部110は、通信ポート122により受信され、データ刈り取り処理SD100を経たIPパケットを通信I/F部120に与え、通信ポート124を指定して当該IPパケットの送出を指示する。なお、データ送信処理SA100における場合と同様に、通信ポート122と通信ポート124の各々について、リンクアップ状態をチェックし、未リンク(ケーブル故障中)だった通信ポートからの送出を抑制する処理を制御部110に実行させるようにしても良い。
データ刈り取り処理SD100は、通信ポート122および通信ポート124の何れかによりIPパケットを受信したことを契機として実行される処理である。前述したように、データ刈り取り処理SD100は、受信したパケットがリング型トポロジのデータ伝送路を一巡して戻ってきたものであるか否かを判定し、一巡して戻ってきたものであると判定されたパケットを破棄してデータ取得処理SB100およびデータ中継処理SC100による処理対象から除外する処理である。図7は、制御部110が通信制御プログラム1344にしたがって実行するデータ刈り取り処理SD100の流れを示すフローチャートである。図7に示すように、制御部110は、受信したパケットのヘッダに書き込まれている送信元アドレスが自装置のIPアドレスと一致するか否かを判定し(ステップSD1010)、その判定結果が“No”であれば、後段の処理へ当該IPパケットを引き渡す(ステップSD1020)一方、その判定結果が“Yes”であれば当該IPパケットを破棄する(ステップSD1030)。つまり、本実施形態では、通信ポート122および通信ポート124の何れかにより受信したIPパケットが自装置のデータ送信処理SA100により送信されたIPパケットであった場合に、リング型トポロジのデータ伝送路を一巡して戻ってきたものであると判定されるのである。なお、ステップSD1010の判定に先立って前述した健全性チェックを行い、健全である場合にステップSD1010以降の処理を実行するようにしても勿論良い。
以上が通信装置10の構成である。
以上が通信装置10の構成である。
(B:動作)
以下、通信装置10Aの制御部110がデータ送信処理SA100を実行してIPパケットをブロードキャストする場合を例に取って、本実施形態の動作を説明する。なお、以下に説明する動作の開始時点までは通信装置10AからのIPパケットのブロードキャストは行われておらず、通信装置10B、10Cおよび10Dの各々の受信履歴テーブル1322には、通信装置10AのIPアドレスは登録されていないものとする。また、IPパケットの伝送過程でデータ化け等は発生せず、データ伝送過程においてIPパケットの健全性は保たれているとする。
以下、通信装置10Aの制御部110がデータ送信処理SA100を実行してIPパケットをブロードキャストする場合を例に取って、本実施形態の動作を説明する。なお、以下に説明する動作の開始時点までは通信装置10AからのIPパケットのブロードキャストは行われておらず、通信装置10B、10Cおよび10Dの各々の受信履歴テーブル1322には、通信装置10AのIPアドレスは登録されていないものとする。また、IPパケットの伝送過程でデータ化け等は発生せず、データ伝送過程においてIPパケットの健全性は保たれているとする。
まず、リング型トポロジのデータ伝送路に障害が発生していない場合の動作について説明する。図8(a)に示すように、通信装置10Aの通信ポート122からブロードキャストされたIPパケットは、通信装置10Bの通信ポート124を介して当該通信装置10Bによって受信される。同様に、通信装置10Aの通信ポート124からブロードキャストされたIPパケットは、通信装置10Dの通信ポート122を介して当該通信装置10Dによって受信される。これら2つのIPパケットの送信元アドレスが同一であり、かつ識別子も同一であることは前述した通りである。
通信装置10B(通信装置10D)の制御部110は、IPパケットの受信を契機として、前述したデータ刈り取り処理SD100を実行する。ここで、当該IPパケットの送信元は通信装置10Aであり、当該IPパケットのヘッダの送信元アドレスには通信装置10AのIPアドレスが書き込まれている。このため、通信装置10B(通信装置10D)の制御部110が実行するデータ刈り取り処理SD100のステップSD1010の判定結果はNoとなり、ステップSD1020の処理が実行される。すなわち、通信装置10Bでは、通信ポート124を介して受信したIPパケットを処理対象としてデータ取得処理SB100およびデータ中継処理SC100が実行され、通信装置10Dでは、通信ポート122を介して受信したIPパケットを処理対象としてデータ取得処理SB100およびデータ中継処理SC100が実行される。
前述したように本動作例では、IPパケットの健全性は保たれているため、通信装置10B(通信装置10D)の制御部110が実行するデータ取得処理SB100では、ステップSB1010の判定結果は“Yes”となり、ステップSB1020以降の処理が実行される。本動作例の開始時点では通信装置10Bおよび10Dの受信履歴テーブル1322には、通信装置10AのIPアドレスは登録されていない。このため、通信装置10B(通信装置10D)の制御部110が実行するデータ取得処理SB100のステップSB1020の判定結果は“Yes”となり、ステップSB1030およびステップSB1040の処理が実行される。つまり、通信装置10Bでは、通信装置10Aの通信ポート122からブロードキャストされたIPパケットを通信ポート124を介して受信したことを契機として、通信装置10AのIPアドレスおよび当該IPパケットの識別子が受信履歴テーブル1322に登録される。同様に、通信装置10Dでは、通信装置10Aの通信ポート124からブロードキャストされたIPパケットを通信ポート122を介して受信したことを契機として、通信装置10AのIPアドレスおよび当該IPパケットの識別子が受信履歴テーブル1322に登録される。
通信装置10Bの制御部110が実行するデータ中継処理SC100では、通信ポート124を介して受信したIPパケットが通信ポート122から送出される。一方、通信装置10Dの制御部110が実行するデータ中継処理SC100では、通信ポート122を介して受信したIPパケットが通信ポート124から送出される。本実施形態では、通信装置10Bの通信ポート122は通信線を介して通信装置10Cの通信ポート124に接続されており、通信装置10Dの通信ポート124は通信線を介して通信装置10Cの通信ポート122に接続されている。このため、図8(b)に示すように、通信装置10Cは、通信装置10Aから送信され、通信装置10Bにより中継されたIPパケットを通信ポート124を介して受信し、通信装置10Aから送信され、通信装置10Dにより中継されたIPパケットを通信ポート122を介して受信する。以下、本動作例では、通信装置10Aから送信され通信装置10Bにより中継されたIPパケットのほうが先に通信装置10Cに到達した場合について説明する。
通信装置10Cの制御部110も、IPパケットの受信を契機として、前述したデータ刈り取り処理SD100を実行する。通信装置10Cの制御部110が実行するデータ刈り取り処理SD100においても、ステップSD1010の判定結果はNoとなり、ステップSD1020の処理が実行される。すなわち、通信装置10Cにおいても、データ取得処理SB100とデータ中継処理SC100が実行される。通信装置10Bにより中継されたIPパケットの受信を契機として通信装置10Cの制御部110が実行するデータ取得処理SB100では、ステップSB1030およびステップSB1040の処理が実行される。前述したように、IPパケットの健全性は保たれているためステップSB1010の判定結果はYesとなり、上記IPパケットの受信時点では通信装置10AのIPアドレスは通信装置10Cの受信履歴テーブル1322には登録されていないからである。
これに対して、通信装置10Dにより中継されたIPパケットの受信を契機として通信装置10Cの制御部110が実行するデータ取得処理SB100では、ステップSB1030およびステップSB1040の処理が実行されることはない。通信装置10Bにより中継されたIPパケットの受信を契機として実行されたデータ取得処理SB100において当該IPパケットの送信元アドレス(すなわち、通信装置10AのIPアドレス)および当該IPパケットの識別子は通信装置10Cの受信履歴テーブル1322に登録済であり、ステップSB1020の判定結果はNoとなるからである。
通信装置10Bにより中継されたIPパケットの受信を契機として実行されるデータ中継処理SC100では、通信装置10Cの制御部110は当該IPパケットを通信ポート122から送出する。同様に、通信装置10Dにより中継されたIPパケットの受信を契機として実行されるデータ中継処理SC100では、制御部110は当該IPパケットを通信ポート124から送出する。このため、図8(c)に示すように、通信装置10Bは、通信装置10Aから送信され通信装置10Dおよび通信装置10Cにより中継されたIPパケットを通信ポート122を介して受信し、通信装置10Dは通信装置10Aから送信され通信装置10Bおよび通信装置10Cにより中継されたIPパケットを通信ポート124を介して受信する。
通信装置10Cにより中継されたIPパケットの受信を契機として通信装置10Bの制御部110が実行するデータ取得処理SB100では、ステップSB1030およびステップSB1040の処理が実行されることはない。通信装置10Aから送信されたIPパケットの受信を契機として実行されたデータ取得処理SB100において当該IPパケットの送信元アドレス(すなわち、通信装置10AのIPアドレス)および当該IPパケットの識別子は通信装置10Bの受信履歴テーブル1322に登録済であり、ステップSB1020の判定結果はNoとなるからである。同様に、通信装置10Cにより中継されたIPパケットの受信を契機として通信装置10Dの制御部110が実行するデータ取得処理SB100においても、ステップSB1030およびステップSB1040の処理が実行されることはない。
通信装置10Cにより中継されたIPパケットの受信を契機として通信装置10Bの制御部110が実行するデータ中継処理SC100では、制御部110は当該IPパケットを通信ポート124から送出する。同様に、通信装置10Cにより中継されたIPパケットの受信を契機として通信装置10Dの制御部110が実行するデータ中継処理SC100では、制御部110は当該IPパケットを通信ポート122から送出する。このため、図8(d)に示すように、通信装置10Aは、自装置から送信され通信装置10D、通信装置10Cおよび通信装置10Bにより中継されたIPパケット(以下、時計回りのIPパケット)を通信ポート122を介して受信し、自装置から送信され通信装置10B、通信装置10Cおよび通信装置10Dにより中継されたIPパケット(以下、反時計回りのIPパケット)を通信ポート124を介して受信する。
通信装置10Aの制御部110は、時計回りのIPパケットの受信を契機として前述したデータ刈り取り処理SD100を実行する。このIPパケットは元々通信装置10Aによって送信されたものであり、当該IPパケットのヘッダには送信元アドレスとして通信装置10AのIPアドレスが書き込まれている。このため、当該IPパケットの受信を契機として実行されるデータ刈り取り処理SD100におけるステップSD1010の判定結果は“Yes”となり、通信装置10Aにおいて当該IPパケットは破棄される。したがって、当該IPパケットのペイロードに書き込まれているデータが通信装置10Aの制御部110の実行する上位階層の処理に引き渡されることはなく、通信装置10Aから通信装置10Dへ中継されることもない。通信装置10Aの制御部110が、反時計回りのIPパケットを受信した場合も同様に、当該IPパケットのペイロードに書き込まれているデータが通信装置10Aの制御部110の実行する上位階層の処理に引き渡されることはなく、通信装置10Aから通信装置10Bへ中継されることもない。
以上がリング型トポロジのデータ伝送路に障害が発生していない場合の各通信装置10の動作である。このように本実施形態によれば、リング型トポロジのデータ伝送路に障害が発生していない状況下では、通信装置10Aから送信され、リング型トポロジのデータ伝送路に沿って時計回りおよび反時計回りに伝送された各IPパケットが一周を超えて伝送されることはなく、既に役目を終わったデータによって該データ伝送路におけるデータ伝送帯域が無駄使いされることはない。
これに対して、図9に示すように、通信装置10Bと通信装置10Cとを接続する通信線が断線していた場合には、反時計回りのIPパケットが通信装置10Bから通信装置10Cへ中継されることはなく、時計回りのIPパケットが通信装置10Cから通信装置10Bへ中継されることはない。この場合、通信装置10Bは反時計回りのIPパケットのみを受信し、通信装置10Cおよび通信装置10Dは時計回りのIPパケットのみを受信する。時計回りのIPパケットの内容と反時計回りのIPパケットの内容は同一であるため、送信元以外の通信装置(すなわち、通信装置10B、10Cおよび10D)ではそれらのうちの何れか一方のみを受信できれば特段の問題は発生しない。このように本実施形態によれば、リング型トポロジのデータ伝送路の一箇所に断線などの障害が発生したとしても、IPパケットの送信元以外の全ての通信装置にIPパケットが到達し、データの欠落は発生しない。そして、図9に示す状態から図8に示す状態に復旧した直後に通信装置10A〜10Dのうちの何れかによりIPパケットの送信が行われたとしても、当該IPパケットは当該送信元の通信装置10におけるデータ刈り取り処理SD100において破棄されるため、データストーム状態となることも無い。
また、本実施形態の通信システム1では通信装置10の他に、スイッチングハブなどのネットワーク機器は用いられていないため、本実施形態によれば、複数の通信装置10をリング状に接続して構成されたデータ伝送路の1箇所が切断されても通信データの欠落を発生させず、故障個所の復旧時にデータストーム状態となることも無い通信システムをスイッチングハブなどの他のネットワーク機器を用いることなく低コストで構築することが可能になる。
(C:変形)
以上、本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では、通信装置10の制御部110を通信制御プログラム1344にしたがって作動させることで、当該制御部110を、データ送信処理SA100を実行するデータ送信処理手段、データ取得処理SB100を実行するデータ取得手段、データ中継処理SC100を実行するデータ中継手段、およびデータ刈り取り処理SD100を実行するデータ刈り取り手段として機能させた。しかし、これら各手段を電子回路などのハードウェアで実現しても良い。また、上記実施形態では、通信装置10間で送受信されるデータブロックがIPパケットであったが、より下位のプロトコル階層のデータブロック(例えば、データリンク層の送受信単位であるフレーム)であっても良く、また、より上位のプロトコル階層のデータブロック(例えば、トランスポート層の送受信単位であるセグメント)であっても良い。要は、送信元アドレスとデータ識別子の書き込まれるヘッダと送受信対象のデータが書き込まれるペイロードとからなるデータブロックであれば良く、データ送信手段、データ取得手段、データ中継手段およびデータ刈り取り手段の各手段が動作するプロトコル階層はネットワーク層に限定される訳ではない。また、上記実施形態ではノード装置への本発明の適用例を説明したが、中継装置に本発明を適用しても良い。
以上、本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では、通信装置10の制御部110を通信制御プログラム1344にしたがって作動させることで、当該制御部110を、データ送信処理SA100を実行するデータ送信処理手段、データ取得処理SB100を実行するデータ取得手段、データ中継処理SC100を実行するデータ中継手段、およびデータ刈り取り処理SD100を実行するデータ刈り取り手段として機能させた。しかし、これら各手段を電子回路などのハードウェアで実現しても良い。また、上記実施形態では、通信装置10間で送受信されるデータブロックがIPパケットであったが、より下位のプロトコル階層のデータブロック(例えば、データリンク層の送受信単位であるフレーム)であっても良く、また、より上位のプロトコル階層のデータブロック(例えば、トランスポート層の送受信単位であるセグメント)であっても良い。要は、送信元アドレスとデータ識別子の書き込まれるヘッダと送受信対象のデータが書き込まれるペイロードとからなるデータブロックであれば良く、データ送信手段、データ取得手段、データ中継手段およびデータ刈り取り手段の各手段が動作するプロトコル階層はネットワーク層に限定される訳ではない。また、上記実施形態ではノード装置への本発明の適用例を説明したが、中継装置に本発明を適用しても良い。
(2)上記実施形態では、リング型トポロジのデータ伝送路を一巡して送信元へ戻ってきたデータブロックを当該送信元において刈り取る(破棄する)ことで、当該データ伝送路におけるデータ伝送帯域の無駄使いを回避し、障害復旧時のデータストーム状態の発生を回避する場合について説明した。これに加えて、データブロックのブロードキャスト時点を起算点として予め定められた所定時間が経過してもその送信元へ当該データブロックが戻ってこない場合には、ネットワーク管理者等に何らかの障害の発生を報知する処理を各通信装置10の制御部110に実行させ、当該データ伝送路における障害発生の検知に役立てるようにしても良い。リング型トポロジのデータ伝送路に何ら障害が発生していないのであれば、そのデータ伝送路へブロードキャストされたデータブロックは必ずその送信元へ戻って来るはずだからである。なお、上記所定時間の具体的な値については、リング型トポロジのデータ伝送路におけるデータ伝送帯域の帯域幅、当該データ伝送路に含まれる通信装置の数、および各通信装置のデータ処理能力に応じて定めるようにすれば良い。例えば、帯域幅が狭いほど、通信装置の数が多いほど、各通信装置のデータ処理能力が低いほど上記所定時間を長く定めておくといった具合である。
(3)上記実施形態のデータ刈り取り処理SD100では、通信I/F部120を介して受信したデータブロックの送信元が自装置である場合(すなわち、データブロックの送信元へ当該データブロックが戻ってきた場合)に、当該データブロックはリング型トポロジのデータ伝送路を一巡したと判定した。しかし、リング型トポロジのデータ伝送路へブロードキャストされたデータブロックが当該データ伝送路を一巡したか否かを判定する具体的な方法はこれに限定されるものではない。例えば、データブロックのヘッダにおいて、通信装置によって中継される毎に値を更新されるホップ数を定義し、データ送信処理SA100では上記ホップ数の初期値を1としてデータブロックを送信するとともに、データ中継処理SC100により中継する毎にホップ数を1ずつカウントアップする。そして、データ刈り取り処理SD100のステップSD1010では、受信したデータブロックのヘッダのホップ数を参照し、当該ホップ数が予め定められた閾値(例えば、通信システムに含まれる通信装置の数に等しい値)以上である場合に当該データブロックは一巡したと判定するといった具合である。このような態様によれば、データブロックがリング型トポロジのデータ伝送路を一巡したか否かの判定を行う通信装置とそのデータブロックの送信元の通信装置とが一致している必要はなく、通信システムに含まれる複数の通信装置のうちの少なくとも1つが当該データ刈り取り処理SD100を実行する態様であれば良い。また、上記実施形態の態様と本変形例の態様とを併用しても勿論良い。
(4)上記実施形態では、通信装置10の制御部110をデータ送信手段、データ取得手段、データ中継手段およびデータ刈り取り手段の各手段として機能させる通信制御プログラム1344が通信装置10の不揮発性記憶部134に予め記憶されていた。しかし、CD−ROMやフラッシュROMなどのコンピュータ読み取り可能な記録媒体に通信制御プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記通信制御プログラムを配布しても良い。このようにして配布される通信制御プログラムにしたがって一般的なコンピュータを作動させることで、当該コンピュータを上記実施形態の通信装置10として機能させることが可能になるからである。例えば、上記の要領で配布される通信制御プログラムによって従来の通信装置の通信制御プログラムを更新し、当該通信装置の制御部を上記の要領で更新した通信制御プログラムにしたがって作動させることで、従来の通信装置を上記実施形態の通信装置10として機能させることが可能になる。
(5)上記実施形態では、通信装置10B〜10Dの各々は機器の作動制御を行うPLCであり、各々の外部機器I/F部140に制御対象機器が接続される一方、通信装置10AはこれらPLCに対して各種制御指令を与えたり、これらPLCからデータを収集したりするノード装置であり、その外部機器I/F部140には各種指示を入力するための入力装置や表示装置等が接続される場合について説明した。しかし、アプリケーションプログラム1342にしたがって実行される処理が記憶部130へのデータの書き込みのように通信装置10のみで完結する処理である場合には、通信装置10に制御対象機器や入力装置、表示装置を接続する必要はなく、外部機器I/F部140を省略しても良い。
1…通信システム、10,10A,10B,10C,10D…通信装置、110…制御部、120…通信I/F部、122,124…通信ポート、130…記憶部、132…揮発性記憶部、1322…受信履歴テーブル、134…不揮発性記憶部、1342…アプリケーションプログラム、1344…通信制御プログラム、140…外部機器I/F部、150…バス。
Claims (7)
- 複数の通信装置をリング状に接続してなる通信システムにおいて、
前記複数の通信装置は、
各々が隣の通信装置に接続される2つの通信ポートと、
前記2つの通信ポートの各々からデータブロックをブロードキャストするデータ送信手段と、
前記2つの通信ポートの各々を介して同じデータブロックを受信した場合に何れか一方を取得するデータ取得手段と、
前記2つの通信ポートの一方を介して受信したデータブロックを他方から送出するデータ中継手段と、を備え、
前記複数の通信装置のうちの少なくとも1つは、
自装置の2つの通信ポートの各々を介して受信したデータブロックについて当該通信システム内を一巡して戻ってきたものであるか否かを判定し、一巡して戻ってきたものであると判定されたデータブロックを破棄して前記データ中継手段および前記データ取得手段による処理対象から除外するデータ刈り取り手段、をさらに有する
ことを特徴とする通信システム。 - 前記複数の通信装置の全てが前記データ刈り取り手段を有することを特徴とする請求項1に記載の通信システム。
- 前記2つの通信ポートの各々を介して送受信されるデータブロックは、ヘッダと、送受信対象のデータの書き込まれるペイロードと、からなり、
前記ヘッダには、前記ペイロードに格納されているデータの送信元を示す送信元アドレスと当該データを一意に示す識別子とが書き込まれており、
前記データ取得手段は、新規に受信したデータブロックのヘッダに書き込まれている送信元のアドレスと識別子を対応付けて格納する受信履歴テーブルを備え、当該受信履歴テーブルの格納を参照して同じデータブロックを受信済であるか否かを判定することを特徴とする請求項1または請求項2に記載の通信システム。 - 前記データ刈り取り手段は、受信したデータブロックのヘッダに書き込まれている送信元アドレスが自装置のアドレスであった場合に一巡したと判定する
ことを特徴とする請求項3に記載の通信システム。 - 前記データブロックのヘッダには、通信装置によって中継される毎に値を更新されるホップ数がさらに書き込まれており、
前記データ中継手段はデータブロックの中継を行う毎に当該データブロックのヘッダのホップ数を更新し、
前記データ刈り取り手段は、受信したデータブロックのヘッダのホップ数を参照して当該データブロックが一巡したか否かを判定する
ことを特徴とする請求項3または4に記載の通信システム。 - 2つの通信ポートと、
前記2つの通信ポートの各々からデータブロックをブロードキャストするデータ送信手段と、
前記2つの通信ポートの各々を介して同じデータブロックを受信した場合に何れか一方を取得するデータ取得手段と、
前記2つの通信ポートの一方を介して受信したデータブロックを他方から送出するデータ中継手段と、
前記2つの通信ポートの各々を介して受信したデータブロックについて本装置を含むリング状トポロジのデータ伝送路を一巡して戻ってきたものであるか否かを判定し、一巡して戻ってきたデータブロックを破棄して前記データ中継手段および前記データ取得手段による処理対象から除外するデータ刈り取り手段と、
を有することを特徴とする通信装置。 - コンピュータを、
2つの通信ポートの各々からデータブロックをブロードキャストするデータ送信手段と、
前記2つの通信ポートの各々を介して同じデータを受信した場合に何れか一方を取得するデータ取得手段と、
前記2つの通信ポートの一方を介して受信したデータブロックを他方から送出するデータ中継手段と、
前記2つの通信ポートの各々を介して受信したデータブロックについて当該コンピュータを含むリング状トポロジのデータ伝送路を一巡して戻ってきたものであるか否かを判定し、一巡して戻ってきたデータブロックを破棄して前記データ中継手段および前記データ取得手段による処理対象から除外するデータ刈り取り手段と、
して機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014076673A JP2015198414A (ja) | 2014-04-03 | 2014-04-03 | 通信システム、通信装置、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014076673A JP2015198414A (ja) | 2014-04-03 | 2014-04-03 | 通信システム、通信装置、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015198414A true JP2015198414A (ja) | 2015-11-09 |
Family
ID=54547860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014076673A Pending JP2015198414A (ja) | 2014-04-03 | 2014-04-03 | 通信システム、通信装置、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015198414A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933549A (zh) * | 2015-12-29 | 2017-07-07 | 中移(苏州)软件技术有限公司 | 基于流计算引擎的可定制化模块开发系统及方法 |
-
2014
- 2014-04-03 JP JP2014076673A patent/JP2015198414A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933549A (zh) * | 2015-12-29 | 2017-07-07 | 中移(苏州)软件技术有限公司 | 基于流计算引擎的可定制化模块开发系统及方法 |
CN106933549B (zh) * | 2015-12-29 | 2020-04-21 | 中移(苏州)软件技术有限公司 | 基于流计算引擎的可定制化模块开发系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10498635B2 (en) | On-board network system | |
JP4128974B2 (ja) | レイヤ2ループ検知システム | |
EP2962429B1 (en) | Traffic recovery in openflow networks | |
WO2011155510A1 (ja) | 通信システム、制御装置、パケットキャプチャ方法およびプログラム | |
US8699380B2 (en) | Port table flushing in ethernet networks | |
US20140067983A1 (en) | Bi-directional synchronization enabling active-active redundancy for load-balancing switches | |
US20060133287A1 (en) | Frame forwarding device and method for staying loop of frame | |
WO2009090723A1 (ja) | パケット伝送装置およびその制御回路 | |
US20170214609A1 (en) | Forwarding method and forwarding device | |
KR20150051107A (ko) | 신속한 경로 설정 및 장애 복구 방법 | |
US10313182B2 (en) | Apparatus and method to detect a fault in a communication path by using a detection packet | |
US10567195B2 (en) | Network nodes in a ring network | |
JPWO2019187613A1 (ja) | 車載通信システム、スイッチ装置、通信制御方法および通信制御プログラム | |
US20120127853A1 (en) | Network relay system and method of controlling a network relay system | |
CN110959272A (zh) | Ip/mpls网络隧道中的缺陷检测 | |
WO2014175423A1 (ja) | 通信ノード、通信システム、パケット処理方法及びプログラム | |
JP6494471B2 (ja) | ネットワークシステム、通信品質の判定方法、及び分析装置 | |
JP2015198414A (ja) | 通信システム、通信装置、およびプログラム | |
JP2008072521A (ja) | 通信装置、通信方法及び通信プログラム | |
CN112653610B (zh) | 多层虚拟交换机升级方法、装置、电子设备及存储介质 | |
US8295164B2 (en) | Network-connection redundant system for devices with cascade networking capability and method applied on the system | |
JP3914072B2 (ja) | ネットワーク障害監視方法、通信システムおよび回線切替装置 | |
EP2898636B1 (en) | Method for running a computer network | |
WO2016061943A1 (zh) | 实现生成树协议保护倒换的方法、装置及计算机存储介质 | |
JP5862336B2 (ja) | 通信制御装置、通信制御方法、及び通信制御プログラム |