産業用イーサネット(3)EtherNet/IP Ⅱ

EtherNet/IP は標準イーサネットとの互換性を保ちつつ、リアルタイム性を実現する様々な工夫をしている。まず、第2層でのスイッチング動作での工夫を紹介する。

第2層のスイッチには、Store & ForwardCut Through があり、Store & Forward のほうが遅延時間の揺らぎ(jitter)が大きい。(図1 参照)

Store &Forward とCut Through
図1 Store &Forward とCut Through

Store &Forward スイッチで、より少ない揺らぎ(jitter)で通信相手に届ける方法を用意している。サービス品質(QoS)制御だ。EtherNet/IPは、データリンク層(第2層)の802.1D/Q優先順位タグとネットワーク層(第3層)のDSCPマーキングの2種類の優先制御機能をサポートしている。

一般的なイーサネットスイッチは802.1D/Q優先順位タグをサポートしている。適切な優先度を設定すれば、 EtherNet/IPフレームを優先し、揺らぎ(jitter)を抑えることができる。しかし、イーサネットスイッチは第2層で動作するため、第3層のDSCP(DiffServ Code Point)を反映することができない。第3層のDSCPでは期待した動作をする保証はなく、注意が必要だ。QoS 制御の動作イメージを図2 に示す。複数のポートでほぼ同時に受信完了したフレームの中で、最高優先度に設定したImplicit メッセージを優先的に送信することができる。しかし、既に送信を開始しているフレームがあれば、このフレーム送信完了後に最高優先度のフレームが送信される(図3)。この現象は遅延時間の揺らぎを生むが、防ぐ方法がない。

Implicit メッセージ優先制御イメージ
図2 Implicit メッセージ優先制御イメージ
Implicit メッセージ優先制御イメージ
図3 Implicit メッセージ優先制御イメージ

Store & Forward スイッチ QoS 制御

図4 は、OSI の第2層でフレームを送受信するStore & Forward スイッチの内部構造だ。この例では、P1で受信したイーサネット・フレームの送信ポート判定後、各送信ポートのバッファに格納している。送信バッファに格納されたイーサネット・フレームは格納順に送信される。優先制御のないスイッチでは、受信順にイーサネット・フレームを送信するため、Implicit メッセージを優先することはできない。

優先処理できる内部構造が必要だ。図4    を抜き出し、優先制御の仕組みを説明する。

図3 Store & Forward スイッチ内部構造
図4 Store & Forward スイッチ内部構造

優先制御には様々な方式がある。Implicit メッセージの処理の最適な方法は「絶対優先(PQ:プライオリティ・キューイング)だ。図5(A)は優先制御のないスイッチで、受信順にフレームを格納し送信する。優先度の高い赤色のフレームは優先されない。図5(B)はラウンド・ロビン優先制御で、高優先と低優先の2つのキューに交互に送信権を与える方法だ。ラウンドロビンは優先度間の公平性は保てるが、優先度の高いフレームを先行させることはできない。図5(C) は、重み付きラウンド・ロビン優先制御で、優先度ごとに重みを付け、送信チャンスに差をつける方法だ。この方式も、優先度の高いフレームに多くの送信チャンスを与えることはできるが、高優先フレームを先行させることはできない。

優先制御のないスイッチや、ラウンド・ロビン方式の優先制御は、Implicit メッセージには使えない。

Implicit メッセージを他のフレームより優先し送信するためには、絶対優先(PQ:プライオリティ・キューイング)が必要だ。絶対優先は、優先度の高いキューに格納されたフレームを全て送信してから、次の優先度のキューに格納されたフレームを送信する。図5(D)では、最高優先度のフレームが全て送信された後に、2番目の優先度フレームが送信される。この段階では3番目と最低優先度のフレームは送信されない。

2番目、3番目、最低優先度のフレーム送信中に、最高優先度のフレームを受信すると、送信中のフレーム送信完了後、最高優先度のフレーム送信を開始する。優先度の高いフレームは待たされることなく送信できるが、優先度の低いフレームは常に後回しにされる。運用には十分注意が必要だ。

図5 では、1段階から4段階の優先度で説明したが、実際の 802.1D/Q 優先順位タグは、3ビットで8段階の優先制御ができる。ネットワーク層(第3層)のDSCPマーキングも8段階の優先制御が可能だ。

優先制御
図5優先制御

Cut Through スイッチ

図6 は、Cut Through スイッチの内部構造だ。この例では、PA とPB で受信したイーサネット・フレームの送信ポート判定後、いずれのフレームも P1 から送信され、競合が起きる。Cut Through スイッチは基本的にバッファを持たないため、遅く受信したフレームは廃棄される。Cut Through スイッチでは、フレームの競合は致命的だ。Cut Through 方式の低遅延・低jitter は捨てがたいが、データリンク層(第2層)の802.1D/Q優先順位タグとネットワーク層(第3層)のDSCPマーキングの2種類の優先制御機能をサポートする EtherNet/IP では使えない。

競合時のフレーム廃棄を避けるためには、廃棄されるフレームを格納するしかない。結局Store &Forward 方式になり、Cut Through の良さを確実に発揮することはできない。

Cut Through のもう一つの問題は、FCS を受信する前にフレーム送信を開始するため、フレームを中継するスイッチではフレームのエラーチェックができないことだ。フレームの長さにもよるが、エラーが発生した場合は、宛先ノードでエラーを検出し廃棄されることになる。

図6 Cut Through スイッチ内部構造
図6 Cut Through スイッチ内部構造

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

この記事を書いた人

岩崎 有平

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