産業用イーサネット(1)産業用イーサネットと課題

産業用イーサネットは、制御ネットワーク分野で急速に勢力を拡大している。新規設置端末数ベースで、2018年にシェア50%を超え、2021年には65%になった。従来のフィールドバスにかつての勢いはない。(図1,図2参照)

制御ネットワークの市場動向01
図1 制御ネットワークの市場動向
制御ネットワークの市場動向02
図2 制御ネットワークの市場動向
産業用イーサネットが急速に市場を奪い、従来型のRS485ベースのフィールドバスは劣勢だ。WiFi等の無線は、常に6%~7% の市場を確保し堅調だ。

制御ネットワーク分野、特にFA(Factory Automation)やモーション制御などの分野では、ハード・リアルタイム性が求められる。ハード・リアルタイム性を実現するためには、伝送帯域幅と遅延時間を保証しなければならない。しかし、従来型イーサネットはリアルタイム処理が得意ではない。イーサネットは、遅延時間や伝送帯域幅を保証していないだけではなく、フレームの確実な到着すら保証していない。

産業用イーサネットは、FAなどの制御ネットワーク市場に参入するため、リアルタイム性の要件に適合するよう機能を拡張してきた。同時にCIP(Common Industrial Protocol)などの産業用イーサネット用プロトコルも開発された。リアルタイム性を追求し機能を拡張することで、制御ネットワークの要件を満たすようになったが、反面、従来型イーサネットとの互換性をなくし、ファイル転送やメールなどのデータとの共存が難しくなった。新たな問題の発生だ。

解決策として、IEEE802委員会は Ethernet TSN(Time Sensitive Network)という標準規定を策定した。Ethernet TSN は、産業用イーサネットの機能を取り込み、制御ネットワークで必須なハード・リアルタイム性を獲得し、ファイル転送やメールなどのデータとも混在し共存できる規格だ。産業用イーサネットは、ハード・リアルタイム領域では従来型イーサネットとの互換性が難しい。ソフト・リアルタイム領域では、規格ごとまたは運用により動作が異なる。注意が必要だ。Ethernet TSN と産業用イーサネットとの互換/非互換との関係は、図3 を参照。

Ethernet TSN と産業用イーサネットの位置付け
図2 Ethernet TSN と産業用イーサネットの位置付け

イーサネットの課題

イーサネットは伝送帯域幅、遅延時間やフレームの確実な到達を保証していない。この状況は、初期の10BASE-5/2 の媒体共有型(1本のケーブルを共有)で使用する通信方式CSMA/CDに始まり、現在のスイッチ・ネットワークでも解消されていない。

初期の媒体共有型イーサネットは、1つの通信媒体(ケーブル等)を全ての端末で共有するため、フレームの衝突が起きる。フレームの衝突が起きると再送するが、遅延が発生する。連続して再送に失敗すると、送信を断念するためフレームは宛先に到達しない。一つの通信媒体を全てのノードで共有する考え方は、無線ネットワーク(ALOHAネットワーク)の仕組みを流用したことが起源だ(図4 参照)。

イーサネットの起源
図4 イーサネットの起源

現在のイーサネットはスイッチ・ネットワークだ。送信と受信を分離した全二重通信が主流のため、ケーブル等の伝送媒体での衝突は発生しない。しかし、フレームを一旦受信し、宛先に送信するスイッチのバッファは有限で、バッファに入りきらず溢れると廃棄する。送信ノードはスイッチでのフレーム廃棄を知る手段がなく、TCP等上位プロトコルのタイムアウトでの検出を待つしかない。一般的なTCPのタイムアウトは1~3秒だ。フレーム廃棄が発生すると、フレーム衝突より遅延時間は大きくなる。この問題は伝送速度を早くしても解消しない。

媒体共有型の初期イーサネットに出会うことはまずないが、現在普及しているイーサネットでも互換性を維持しているため簡単に解説する。初期イーサネットのアクセス制御方式は、CSMA/CD(Carrier Sense Multiple Access with Collision Detection)と呼ばれる。動作を的確に表している名称で、次のような意味だ。

  • 誰も使用中ではない(送信していない)ことを確認: Carrier Sense
  • 未使用と判断した複数ノードは送信開始: Multiple Access
  • 空き回線のはずが衝突した(衝突を検出した): Collision Detection

誰も送信していないと判断したにもかかわらず衝突が発生する原因は、伝送路上の信号遅延だ。一般的に電気信号は通信路を1m 進むためには約5ナノ秒(5*10⁻⁹秒)程度かかる。このわずかな遅れが衝突を発生させる。図5 の例では、ノード間が100mのため、約500ナノ秒の遅れがある。

図3 フレーム衝突の原因
図5 フレーム衝突の原因

図6 はフレーム衝突の詳細だ。初期の媒体共有型イーサネットでは、1本500mの同軸線を4台のリピータ(電気信号増幅器)で最大5本まで接続でき、ノード間の最大長は2500mと決められた。ここに最大1024台のノードが接続できる。図5 は簡略化し2500mの1本の同軸線で表現している。

ノードAの送信信号は最大23.19マイクロ秒遅れ、2500m先にあるノードBに届く。ノードBはこの遅れ時間の間に「回線が空き」と判断し、送信を開始する。ノードAとBの信号は衝突しデータは壊れる。ノードBは即座に衝突を検出できるが、ノードAには最大23.19マイクロ秒後にノードBの送信信号が届き、衝突を検出できる。つまり、ノードAは自分自身が送信を開始してから46.38(23.19×2)マイクロ秒後に衝突を検出することができる。逆の見方をすれば、ノードAは少なくとも46.38マイクロ秒の間送信を続けないと衝突を検出できず、送信に成功したと誤った判断をすることになる。

実は、この衝突検出時間でイーサネット・フレームの最小長が決まった。46.38マイクロ秒以上の長さであれば、衝突を検出できる。10Mbps イーサネットでは、46.38マイクロ秒は464ビットに相当する。464ビットは中途半端な長さだ。少し大きい512ビット(=64バイト)がイーサネット・フレームの最小長になった。これに対し、イーサネット・フレームの最大長は明確な技術的根拠は見つからない。イーサネット・フレームの最大長は、上位層を格納するペイロードが1500バイトで、総長は1518バイト(VLANなし)だ。1000バイトのペイロードでは短すぎ、2000バイトでは長すぎる。妥協の産物として、中間の1500バイトを採用したのではないかと推測している。

10BASE-5 の衝突タイミング
図6 10BASE-5 の衝突タイミング

フレーム衝突が発生すると、衝突を検出した全てのノードは再送を開始する。全てのノードが同時に再送を始めれば、衝突を繰り返し永久に送信できない。これを避けるため、各ノードの再送開始時間をランダムに遅らせ、できるだけ再衝突しないことを狙った方式だ。この方式を、truncated binary exponential backoff と呼ぶ。

最初の衝突では、2つのタイムスロットから1つを選ぶ。再度衝突すると2倍の4つのスロットから選ぶ。衝突を連続して繰り返すと、順次スロット数を2倍に増やし最大1024個のスロットから1つを選んで再送を開始する。15回の再送でも送信できないと、送信をあきらめる(図7 参照)。最大スロット数が1024個に設定されているのは、当時の最大ノード数が1024台であったことに由来する。

現在のスイッチネットワークでも、10BASE-T/100BASE-TX ポートを「半二重通信モード」に設定すると、衝突検出が働く。スイッチネットワークでは送信用と受信用のケーブルが分離され実際の衝突は発生しないが、ポートで送信と受信が同時に行われると、疑似的に衝突が発生したとみなし、再送処理が始まる。初期型との互換性を保つために作られた機能だが、注意が必要だ。

再送方法
図7 再送方法

Store & Forward

初期の同軸ケーブルを使ったイーサネットは市場から姿を消し、今はスイッチ型イーサネットが主流だ。また、半二重通信もなくなり送信と受信が同時にできる全二重通信に変わった。しかし、スイッチ型イーサネットに変わっても本質は変わらない。伝送帯域や遅延時間の保証はなく、フレームの確実な到達も保証できない。

図8 の様に、スイッチを介してフレームを送信する場合、ノードが送信したフレームは一度スイッチでフレーム全体を受信した後、受信ノードに向けて再送信される。このような仕組みのスイッチを「Store & Forward」と呼ぶ。Store &Forward スイッチではフレーム受信時間の遅延が発生し、短いフレームでは遅延時間が小さく、長いフレームほど大きくなる。つまり、フレームの長さで遅延時間が変わり、遅延時間の揺らぎ(jitter)が発生する。

図6 Store &Forward 型スイッチ
図8 Store &Forward 型スイッチ

図9 は、スイッチ内部でフレームが廃棄される例だ。青の送信ノードは青の受信ノードに、赤の送信ノードは赤の受信ノードにフレームを送信する。全ての伝送路は同じ伝送速度(100Mbps)とする。

スイッチAでは、2つのポートで受信し1つのポートから送信している。全てのポートは同じ伝送速度のため、送信ポートの2倍の速度で受信している。送信待ちフレームでバッファメモリは埋め尽くされ、入りきらないフレームはすべて廃棄される。この例では、スイッチAのバッファは4フレーム分しかなく、バッファに入りきらないフレームは受信後廃棄される。

後段のスイッチBでは、1ポートで受信したフレームを2ポートから送信している。受信速度と比べ送信速度が2倍のため、実際はバッファメモリにフレームが滞留することはなく、廃棄も発生しない。

送信ノードはスイッチAでのフレーム廃棄を検出することができない。唯一の検出手段は、TCPなど上位層のタイムアウトだ。一般的なTCPのタイムアウト時間は1~3秒程度のため、このままではリアルタイム処理には使えない。

Store &Forward スイッチのバッファメモリ
図9 Store &Forward スイッチのバッファメモリ

Cut Through

Store &Forward 型スイッチでは、フレームの長さによりスイッチを通過する時間に揺らぎ(jitter)が発生する。リアルタイム処理ではこのわずかな揺らぎが問題になる。解決策として「Cut Through」方式がある。

Store &Forward は、フレームを完全に受信しエラーがないことを確認後、送信を開始する。これに対し、イーサネットフレームの先頭にある「宛先アドレス」を受信し、送信ポートを判断した段階で送信を開始するのが、Cut Through だ。Cut Through は、受信開始から送信開始までの時間が常に一定で、揺らぎ(jitter)がない。しかし、Cut Through にも別な問題がある。フレームのエラーチェックを待たずに送信を開始するため、エラーフレームがネットワークに拡散する可能性がある。もう一つの問題は、複数ポートでほぼ同時に受信したフレームの送信ポートが同一の場合、スイッチ内部でフレームの衝突が起きる。衝突を回避するためには、遅れて受信したフレームを廃棄するか一時格納しなければならない。Cut Through は実現が難しく、商品も少ない。

Store &Forward とCut Through の遅延時間の違いは、図10 のイメージだ。Store &Forward スイッチでは、フレーム受信開始から送信開始までの時間は、フレームの長さに応じて変化するが、Cut Through ではフレームの長さに関わらず遅延時間は一定だ。Cut Through の動作イメージは図11 参照。

図8 Store &Forward とCut Through
図10 Store &Forward とCut Through
Cut Through の遅延時間
図11 Cut Through の遅延時間

工場・物流現場のネットワークの現状

この記事を書いた人

岩崎 有平

早稲田大学 理工学部 電子通信学科にて通信工学を専攻。
安立電気(現 アンリツ)に入社後、コンピュータ周辺機器の開発を経てネットワーク機器の開発やプロモーションに従事する。
おもにEthernetを利用したリアルタイム監視映像配信サービスの実現や、重要データの優先配信、映像ストリームの安定配信に向けた機器の開発行い、Video On Demandや金融機関のネットワークシステム安定化に注力した。
現在は、Ethernetにおけるリアルタイム機能の強化・開発と普及に向けて、Ethernet TSNの普及活動を行っている。