ちょっと知りたいARCNET物理層基礎講座

 弊社[ArcScan]のご購入前の予備知識としてARCNET物理層基礎講座を開設しております。弊社アナライザーは、あらゆる局面を解析するために時系列データを精密な時間情報と共に長時間PCのハードディスクに保存しています。

そのデータをどのように使うかはある程度ARCNETの基礎知識が必要です。ご購入を検討されているお客様は、是非このページでARCNETの基本を習得して頂いてアークネットアナライザー[ArcScan]を有効活用して頂きたいと思います。

説明の中でメディア・トランシーバー、伝送線路ケーブル、トークン・パッシングを含めて物理層として説明しております。またパケットデータプロトコルを論理層と定義して説明しております。

1. ARCNET物理層基礎講座

ARCNET物理層基礎講座案内画面-1
ARCNET物理層基礎講座案内画面-1

ARCNET物理層基礎講座は、弊社製 ARCNET アナライザーをご購入予定のお客様が特にARCNETに特長的なトークン(ITT)の役割とリンク確立 通信プロトコルの仕組み基本中の基本を理解して頂くために開設しております。

1-1. ARCNETとは?

1-2. トークンとは?

 ARCNETとは、1977年に米国 Datapoint社によって提唱された改良型トークンパッシング・プロトコルのローカルエリアネットワークです。リアルタイム性と簡便さで主に工業用ネットワークとして現在でも世界中で数多く使用されています。

ネットワークシステムの場合、たくさんのノードがどういう規則のもとでネットワークを使用していくのか、どこにネットワークの使用権があるのかが大事です。ARCNETは、ネットワークの使用権を循環させることで実現しています。この方式をトークンパッシング方式と言います。皆さんが日頃からお使いのイーサーネットは、衝突しながら調停していくコリジョン方式と呼ばれます。

ARCNETは、トークンパッシングをチップ自体がハードウェアシーケンサーのマイクロコードで実行するのでリンク確立のプロトコルの実装をほぼ必要としません。他の通信方式に比べてリンク確立のソフトウェアの負担が少ないため低コストで開発が可能ですので現在でも世界中で使用されてます。

 ARCNETプロトコルでは、トークンとは実はARCNETプロトコルで定義されているメッセージのITTがその役割を果たしています。このITTをネットワーク中に循環させることによって、ノードに使用権が渡されます。そして、このトークンを渡されたノードが唯一送信を行うことができ、送信するものがなければ直ちに次へトークン(使用権)を渡さなければなりません。

このプロトコルでは、基本的に衝突がなく、使用権を平等に各ノードへ渡され、ひとつのノードが優先的にネットワークをコントロールすることがなく、あるノードだけが大きな負荷を受けることもない。大事なことは、比較的高速なリアルタイム性を要求される工業用ネットワークとして最適なネットワークシステムと言えます。現在でも世界中で数多くのシステムで使用されている事を考えれば納得がいきます。

このネットワーク使用権を各ノードが平等に恒久的に得るために、トークンが循環し続ける必要が有ります。

ここで何らかの要因でトークン循環プロトコルが崩れると上位プロトコルで有るパケット転送プロトコルは二次的に致命的な不具合が発生します。バケットデータの消失、ACKプロトコルの消失等によりシステム上は致命的不具合の発生となり、システム異常の報告となりますがほとんどのシステムでは詳細なレポートは出ません。

弊社の[ArcScan]のようにトークンを含めて全メッセージを時間情報を含めて長時間記録出来るような計測器レベルで無ければ詳細な解析は不可能だからです。

通信用語では、お互いのノードの認識を一般的にリンク確立とも言い物理層レベルでの扱いになりますので、論理層レベル(パケットモニター)では、トークンの観測はできません。

1-3. 実際のトークンを見る!

トークンの表示例
トークンの表示例

 弊社製ARCNETアナライザー [ArcScan] で捉えたトークンの実態です。
実はプロトコル・メッセージのITTを使用しています。ITTがプロトコル上のルールに則って順番に各々のノードから規則正しく送信しています。

ノードID=01,ノードID=02,ノードID=03,ノードID=04,ノードID=05 これを繰り返しています。そして・・・

もし送信したいメッセージが有れば、自分宛てのトークンを受信したら、次のノードへトークンを送信する代わりにメッセージを送信することができます。

2. 接続方法を教えて!

2-1. ARCNET物理層とは?

ARCNET物理層基礎講座案内画面-2
ARCNET物理層基礎講座案内画面-2

 ARCNETは、通信手段ですからある装置とある装置は何らかの方法で通信を行う必要があります。通信も有線通信方式、無線通信方式、光通信方式他、色々な通信方式がありますがARCNETは、有線通信方式、一般的ではありませんが一部光通信方式を採用しています。この通信方式によって通信ケーブルと通信デバイスが決定されます。これらを含めて説明します。

ARCNET物理層と論理層の説明
ARCNET物理層と論理層の説明

 弊社では、ARCNETアナライザーの説明を行う上でARCNET物理層ARCNET論理層とに分けて説明しています。

ARCNET物理層は、リンク確立のためのトークンの循環、通信ケーブルとそれをドライブする通信デバイスまでを物理層としています。パケット送受信に関わるプロトコルはアークネット論理層として説明しています。

2-2. 通信ケーブルとは?

2-3. 通信デバイスとは?

 通信ケーブルとは、ARCNETシステムのノード間の伝送線路を形成するケーブルの総称です同軸ケーブル、またはツイストペアケーブルが主に用いられますが、重要なシステムでは、光ケーブルも使用されています。

同軸ケーブルには、特性インピーダンスの違いがあり主に75Ω系、93Ω系が使用されています。ノード間が比較的近距離の場合 または筐体内のARCNETによるボード間通信にはツイストペア線が用いられます。その場合の伝送線路特性インピーダンスは100Ωから130Ω近辺の値になります。

光ケーブルは、伝送線路が光ファィバーですので絶対的に電波伝搬による空間ノイズの影響がありませんので信頼性は非常に高くなりますが、光・電気変換が必要な事といもずる式に接続するパーティライン方式が使用できませんのでコスト的に高くなります。同軸ケーブル、ツイストペア線共にケーブルに適合した終端抵抗で整合を取る必要があります。

 通信デバイスとは、各々のノードが接続された伝送線路をドライブするICでARCNETメーカー推奨の通信デバイスとしてHYCシリーズ、または市販のRS-485を使用します。

HYCシリーズの特長は、パルストランスを使用してノード・ノード間は絶縁されます。特に長距離のノード・ノード間の接地電位差の解消、伝送線路ノイズの抑圧等で優れています。

RS-485の特長は、コスト面で有利です。またパーティラインを組む際、システム設計のサージ耐量、ノイズ抑圧回路の付加に左右されますが一般的に多くのノードを接続することが可能です。

3. 通信の仕組みを教えて!

3-1. ARCNETメッセージとは?

ARCNET物理層基礎講座案内画面-3
ARCNET物理層基礎講座案内画面-3

 それでは基本的なARCNET通信の仕組みをご説明します。

ARCNET通信は、5種類のメッセージ3個のシステムタイマーを持っています。基本的にパケットプロトコルは、非常に単純明快な仕組みで動いていますがトークンプロトコルは少し複雑です。

ARCNETメッセージ例
ARCNETメッセージ例

ARCNETは、図で示したメッセージ ITTFBEACKNAKPACKETを使用します。

ITTの役割は、1-2.トークンとは ?で詳しく説明していますがネットワーク接続の要でノードがネットワークに接続しているか?常にトークンを巡回しながらリンク確立状態を監視しています。

例えると体育の授業で点呼されている状態です。つまり先生から[番号!]って言われると先頭の人から順番に自分の番号を叫ぶあの状態です。もし生徒が発言したければ、この点呼された時に発言(メッセージ送出)する事ができます。 この点呼は、ある一定の周期で巡って来て必ず発言権を得る事が出来ます。これがARCNETのリアルタイム性の高いネットワークと言われる所以です。もちろん体育の授業で点呼中の発言はできませんが・・・・怒られます。

言い換えるとアークネットプロトコルは、通常は通信の大半をトークンで占められると言っても過言ではありません。ノード間のリンク確立を維持するためトークンを常に循環させているためです。ただしパケットデータ量の多い特殊なシステムでは、トークンの数は極端に少なくなって驚くほど転送効率が高いシステムもございます。

3-2. パケット送受信例を見る!

パケット送受信例
パケット送受信例

 では実際にパケットデータを送受信する際のトークンの流れとそれぞれのメッセージの役割について説明します。

ARCNETでパケット送信したい場合、勝手に送信する事はプロトコル上出来ません。

ARCNETは、トークン循環プロトコルで各々のノードに対して平等にトークンと言うメッセージが廻ってきます。例えて説明すると学校の体育の授業で整列して、点呼を行いますが、先生の「番号」と言う合図の元で規則的に整列して先頭から1,2,3と各々返事をします。自分の番号の順番が廻ってきたら番号の代わりにメッセージを送ることが可能になりますので送り先の状態を確かめてからパケットを送ることが可能になります。締めくくりとして相手に確実に伝わったかどうか確認メッセージを受信してパケット送信は終わりましたので、次のノードへトークンが遷移して完了します。

 具体的なプロトコルを左図にて説明します。

弊社アナライザーで捉えたトークンの循環の様子をご覧ください。
図の上の方ではトークン[ITT]が順序よく流れているのが確認出来ます。

その後、①から④で示した(FBE-ACK) (PAC-ACK)のパケット転送のシーケンスをご覧ください。

この図では有りませんが、NAKは通信相手が内部処理中で忙しかったら、このメッセージで応答します。[今 忙しいから データ送らないでよ]という意味です。

PACKETは、送りたい相手を特定してデータを送る動作です。私から○○さんに△△個のデータを送りました]つまりデータの小包です。この小包が相手に届いたら受け取った方はACKで答えます。注意する事は、受け取らなかった場合は、NAKでは無く無応答です。相手はタイムアウトによって受け取って貰えなかった事を知ります。

特殊な例としてブロードキャストと呼ばれるあるノードから他のすべてのノードに、つまりネットワーク全体に一度にパケットを送る事も可能です。ただし その場合は、パケットの受け取りのハンドシェークが省略されますので注意が必要です。

4. ARCNETの重要な概念とは?

ARCNET物理層基礎講座案内画面-4
ARCNET物理層基礎講座案内画面-4

 ARCNET通信システムの設計・開発・保守を行う技術の方ARCNETの重要な概念としてバースト・再構築があります。この状態遷移はARCNETシステムの物理層では重要な概念です。この状態遷移は、電源投入時には必ず実行されるハードウェア初期化ルーチンですが伝送線路の不具合発生の場合にも、必ず発生します。この場合は厄介です。

4-1. バーストとは?

 バーストとは、先ほどの体育の時間の例で説明します。 先生が[整列]と叫んだら 生徒は一斉に現在の動作を停止して何もしない状態になり、先生の次の指示を待ちます。ネットワークでは、多くの場合、共通のリセットラインは存在しませんので何らかの形でリンク確立に不具合が生じた場合、各々のノードを同時にリセットする必要があります。

アークネット・プロトコルでは、そのために通常の動作では絶対に有り得ない 特異な信号パターンを流して通信を妨害してタイムアウト発生させます。これによってネットワークシステムを初期化します。つまりバーストとはネットワークの強制的なリセット状態です。

もちろんこの状態では、通信は不可能です。出来るだけこの状態の発生は抑止すべきですが、止むを得ない場合が多々あります。バーストと再構築は基本的にセットになって実行されます。この振る舞いは簡易的なパケットモニターでは確認することはできません。

4-2. 再構築とは?

再構築とは、バーストによってリセットされたノードIDをハードウェアプロトコルによって各々のノードが次にトークンを渡すノードIDを再設定する仕組みです。

設定された最高位のノードから下位に向かって順次ノードIDを+1しながら一致するノードを探します。一致したら、NIDレジスターに設定してこれを繰り返してネットワーク内の全ノードにIDを振り分けることを再構築と言います。

もちろんこの状態では、通信は不可能です。出来るだけこの状態の発生は抑止すべきですが、止むを得ない場合が多々あります。この振る舞いは簡易的なパケットモニターでは確認することはできません。

4-3. 再構築中の画面例を見る!

再構築発生中の例
再構築発生中の例

 左記の図は、弊社アナライザー [ArcScan] で捉えバースト・再構築発生の瞬間の様子をご覧ください。弊社アナライザー [ArcScan] は、物理層の状態遷移であるバースト・再構築を見逃すことはありません。

再構築状態とは、先ほどの体育の時間の例で説明しました。先生が[整列!][番号!]と叫ぶと点呼が始ります。 体育の授業での整列は、例えば身長順、五十音順等の規則で並ぶ順番は決められていますので毎回順番が変わる事はありません。

これがバーストによってリセットされたネットワークを論理的に規則正しく並べる再構築またはリコン[リコンフィグレーション]と呼ばれる状態です。これを通信用語では[リンク確立]といいます。

再構築は、バーストの後に必ず実行される必須の処理でアークネットの最大の特徴でもあります。 これによってネットワークは本来の秩序を取り戻して新たに正常なネットワークシステムに復帰することが出来るのです。

バースト状態と再構築状態は、アークネットの特長的な動作ですがこれが頻繁に発生するようなシステムは、何らかの問題を抱えているシステムとなり早急に原因を突き止めなければシステムの信頼性を大きく左右することになります。

4-4. バースト・再構築を捉えたオシロスコープ機能を見る!

バースト・再構築を検出したオシロスコープ表示例
バースト・再構築を検出したオシロスコープ表示例

 弊社アナライザーの最大の特長は、計測中にバースト・再構築を検出した場合、オシロスコープ機能でその瞬間を自動的にストローブして表示・保存することが可能です。

この画面の最上段の赤い文字は、原因となったノードIDを特定して表示しています。このイベントを検出した原因は、トークンが中断したためです。この画面の最上段の波形が最後の方で欠落しているのが確認できます。

このように通常プロトコルアナライザー単体では検出しても、原因を特定することは非常に難しいのですが、[ArcScan] のオシロスコープ機能はトークンの中断をはっきりと捉えてオペレーターに何が起きているのかを知らせることが可能です。

4-5. バースト・再構築発生は、どのようなクレームとして報告されるか?

  • 何の前触れも無くシステムが停止するが。
  • 時々訳の分からない動きをして異常停止するが。
  • システムの動作が遅くなった気がするが。
  • システムで収集したデータの欠落が有るようだが。
  • システム監視のアラートランプが時々点くが。
  • 上位システムより異常報告が有るが。
  • 稀に通信の瞬断、復帰を繰り返してお客様より異常報告が有るが原因が分からず苦慮しているが。
  • システムアラートログが正しく報告されないが
  • システムを設置してかなりの年月が経って、システムが不安定になったので保守・管理の必要性に迫られているが
  • 最近システムを納入したが、原因不明の不具合に悩まされているが。

まず原因を追究することから始めてみませんか ?

5. ArcScan で捉えた物理層不具合 (リコン・バースト発生) 解析例を御覧ください。

動画が自動的に再生されない場合、左下の再生ボタンを押してください。

上記の様な不具合は、システム管理者からただ何となくアークネットシステムの調子が悪いと報告されます。

これはハードウェアの不具合かソフトウェアの不具合かを、明確に切り分けないと不具合解決には至りません。

ソフトウェアの不具合(つまりバグ)は、簡易的なモニター装置とデバッガーと根性で対応が可能ですが、

ハードウェアの不具合は、専用の計測器が必要になる場合がほとんどです。なぜならば通常トークンを直接観測出来ません。

[ArcScan] は物理層のトークンを含めた伝送線路波形から論理層パケット制御メッセージまですべて観測可能です。

まず原因を追究することから始めてみませんか ?

一抹の不安が有るシステムならば [ArcScan] を導入して観測される事をお勧めします。