産業用イーサネット(5)EtherNet/IP Ⅳ 最適なトポロジ

最適なトポロジ

EtherNet/IP は OSI の第2層と第1層に従来型のイーサネットを使用し、ほぼ全てのトポロジに対応できる。ただし、バス型トポロジは、初期の 10BASE-5/2 では対応していたが、 10BASE-T 以降のツイストペア線のイーサネットでは対応していない。

配線トポロジには、Ring/Bus/Tree/Line/Star/Mesh がある(図1表1参照)

工場や物流現場でのトポロジは次のような要件が必要だ。

  • 配線コスト:配線及び配線工事を極力抑える
  • 配線集中:配線の集中を避ける
  • 冗長性:切断などの配線トラブルの高速検出・復旧ができる

このような要件を満たすEtherNet/IP に最適なトポロジは「Ring 構造」だ。

トポロジ
図1 トポロジ
トポロジ配線コスト配線集中冗長性
Ring〇:単一障害に対応可能
Bus×:1カ所の障害が全体に及ぶ
Tree×:総配線長が大×:ハブに集中×:障害箇所から先が切断
Line×:障害箇所から先が切断
Star×:総配線長が大×:ハブに集中×:障害箇所から先が切断
Mesh×:総配線数/総配線長ともに大×:全体の配線数大◎:複数障害に対応可能
表1 トポロジ比較

Ring 構造は、配線コストや冗長性で優れた方式だが、問題もある。第2層で動作するスイッチの Ring では、フレームは永久に巡回し消滅しない。巡回するフレームは増え続け、いずれネットワークは巡回するフレームであふれ、使えなくなる。ネットワークメルトダウンの発生だ。

冗長性を残し、永久巡回を防止する方法は、フレームを通さない論理的なブロッキング・ポイント(遮断点)を作ることだ。しかし、ブロッキング・ポイント以外で障害が発生した場合は、ブロッキング・ポイントを開放しネットワークを再構築する必要がある。これを実現するためには、ネットワークを監視するフレームを常に循環させ、障害を検出した場合は、ネットワークを再構築するフレームを確実・迅速に届けなければならない。理想的な再構築時間は、コネクション・タイムアウト時間の半分以下だ。

EtherNet/IP では、1重リングトポロジに対応した高速障害回復機能(DLR: Device Level Ring )がある。

フレームの永久巡回はなぜ起きる?

Ring 構造では、フレームが永久巡回する。解決策としてブロッキング・ポイントの生成と開放が必要だ。第2層でのフレームの永久巡回の要因は、無線のアロハネットから始まるイーサネットが持つ特性に由来する。

図2(A)は無線通信のアロハネット、図2(B)は同軸線を使った 10BASE-5/2 の初期のイーサネット、図2(C)は現在主流のスイッチ(ブリッジ)ネットワークだ。何れのネットワークもノードAがノードB宛てに送信したフレームは全てのノードに届く。フレームを受け取ったノードは、宛先を調べ「自分宛て」であれば上位層のIPなどのソフトウェアに引き渡す。「自分宛て」でなければ、廃棄する。イーサネットは、第2層で接続された全てのノードに全てのフレームが届くように作られている。これは、初期型から一貫して互換性を持つために作られた仕様だ。しかし、スイッチは一旦フレームを受信するため、宛先ノードが誰だか分っている。分かっていないのは、ノードが接続されているポートだ。宛先ノードの接続ポートが分からないため、とりあえず全てのポートにフレームを送信する。この動作をフラッディング(フレームの洪水)と呼ぶ。

フラッディングを止め、宛先ノードが接続されたポートにのみフレームを送信することは簡単だ。予め全てのポートに接続されたノードを登録すれば問題は解決する。しかし、オペレータが1台ずつ登録するのは現実的ではない。手間がかかりすぎる。解決策として、学習型ブリッジ(Learning Bridge)が登場した。

学習型ブリッジでは、Ring 構造でのフレーム永久巡回を防ぐとこはできない。しかし、ブロッキング・ポイントの生成と解除を行うプロトコルを理解するためには、学習型ブリッジの動作を理解していることが前提となる。まず、学習型ブリッジの説明をしたい。

フレーム同報
図2 フレーム同報

学習型ブリッジとは?

学習型ブリッジは、図2(C)のフラッディングを防ぎ、無駄なフレームを送信しないための仕組みだ。図3 の様に、ノードでの無駄なフレーム廃棄を防ぐことができる。

学習型ブリッジ
図3 学習型ブリッジ

学習型ブリッジの仕組みはシンプルだ。スイッチ内部に、各ポートに接続されたノードの MAC アドレス表を持ち、フレームを受信するたびにテーブルを更新することで実現できる。もちろん初期状態(電源投入、リセット、テーブル初期化等)では、テーブルには何も書かれていない。学習型ブリッジの初期状態は、非学習型ブリッジと同じだ(4(A))。この状態でフレームを受信すると、受信ポート以外の全てのポートからフレームを送信する。

学習の手順
図4 学習の手順

4(B)では、P1 に接続されたノードAからB 宛てのフレームを受信した。フレーム受信で、 P1 にはノードAが接続していることが分かり、テーブルに追記する。つまり、イーサネットフレームの送信元アドレス(Source Address)を学習する。この段階では、ノードBの接続ポートが分からないため、P2とP3からフレームを送信する。

4(C)では、更に P2 でノードBからノードA へのフレームを受信した。P2 にはノードBが接続されていることが分かり、テーブルの P2 に B を追加する。宛先のノードAはP1に接続されていることが分かっているため、フラッディングは起きない。

この状態でノードAとBの間の通信では、フラッディングは起きない。依然ノードCの接続ポートは不明のため、ノードC宛てのフレームはフラッディングし全ポートから送信される。

学習型ブリッジでは、「送信元アドレス(Source Address)」を学習する。「宛先アドレス(Destination Address)」ではないことに注意が必要だ。

イーサネットフレーム(VLAN なし)
図5 イーサネットフレーム(VLAN なし)

業務が始まるとパソコンの電源を入れ、終わると電源を切る。新しいサーバやパソコンを新たに接続することもある。ネットワークの接続環境は刻々と変わる。スイッチのアドレス学習テーブルは常に書き換えられ、追加や消去が発生する。ネットワークの最新状況に追従するためには、不可欠な機能だ。次のような場合にアドレステーブルの消去が行われる。

  • エージングタイムによる消去:一定以上の時間(一般的に30秒)フレームを送信していないノードのアドレスを消去する。
  • リンク・オフによる消去:ケーブルを抜くなど何らかの理由でリンクが切断されると、切断ポートに登録されたアドレスは全て消去する。
  • 経路変更による消去:Ring 構造などの冗長性のあるトポロジで、経路切断や復旧により経路変更が発生すると、全てのアドレスを消去する。アドレス・フラッシングとも呼ぶ。Ring 構造で障害が発生すると、フレームの巡回方向が逆転することが多い。アドレステーブルがどの程度変化するか予測できないため全て消去し、新しい経路が定まったところで、学習を再開する。

下の 図6-1 ~ 図6-4 は、2台のスイッチと2台のノードで Ring トポロジを構成する例だ。非学習型ブリッジの Ring 構成でも、フレームの永久巡回は起きるが、学習型ブリッジの Ring 構成で、フレームの永久巡回が発生する様子を説明したい。

アドレステーブルに何も登録されていない初期状態で、ノードAがノードB宛てのフレームを1個送信したとき、アドレステーブルは次のように変化する。

学習型ブリッジ Ring 1
図6-1 学習型ブリッジ Ring 1

  ノードAの送信フレームがスイッチ1に届く。スイッチ1のアドレステーブルは初期状態で何も登録されていないためフラッディングが起こり、P2とP3からフレームを送信する。同時にアドレステーブルのP1に「A」を登録する。(図6-1

学習型ブリッジ Ring 2
図6-2 学習型ブリッジ Ring 2

2  スイッチ1が、P2とP3から送信した2個のフレームはスイッチ2に届く。P3から先に受信した場合は、先ずP3に「A」が登録される。 少し遅れて、P2から同じフレームを受信すると、P3の「A」を削除しP2に「A」を登録する。アドレステーブルへの登録は、原則として最新情報を上書きするためだ。スイッチ2は受信した2個のフレームをスイッチ1へ送信する。図6-2

学習型ブリッジ Ring 3
図6-3 学習型ブリッジ Ring 3

3  ノードAには自分が送信したフレームが2個戻ってくる。さらに、P2で受信したフレームはP3から、P3で受信したフレームはP2から送信され、フレームの永久巡回が始まる。スイッチ1のアドレステーブルは、P2から先にフレームを受信すると、P1の「A」は削除され、P2に「A」が登録される。その後、P3から同じフレームを受信すると、P2の「A」を削除し、P3に「A」が登録される。このアドレステーブルの動きはフレームの到着順で変わるため、不安定だ。(図6-3

学習型ブリッジ 4
図6-4 学習型ブリッジ 4

4  この状態で、ノードBがノードA宛てのフレームを送信すると、フレームは Ring を巡回し、ノードAには届かない。奇妙な動きを始める。この一連動作は、フレームの到着順に左右されるため、この例の様にならない場合もあり極めて不安定だ。(図6-4

ブロッキング・ポイントとは何か?

冗長性のあるRing 構造を維持しながら、フレームの永久巡回やアドレステーブルの混乱を防ぐためには、物理的な接続を維持しフレームの巡回を防ぐ方法が必要だ。Ring を構成する1ポートで、フレームを送信せず、受信フレームを廃棄するポイントを作ることで、これが実現できる。このポートを「ブロッキング・ポイント」と呼ぶ。

ブロッキング・ポイントは通常のフレームは通過できないが、Ring 構成監視/Ring 復旧用の制御フレームだけは通過することができる(図7 参照)。

ブロッキング・ポイントを作ることで、通常のフレームでは Ring 構造ではなく、Line 構造に見え、ループが解消されるためフレームの永久巡回は起きない。アドレステーブルも安定する。

ブロッキング・ポイント
図7 ブロッキング・ポイント

リンク切断障害発生時の対応

図8 (A)(B)のように、ブロッキング・ポイントのないRing 構造では、フレームの永久巡回やアドレステーブルの混乱が起きる。解決策は、ネットワークの状態監視と再構築に必要な制御フレームだけを通過させる「ブロッキング・ポイント」を作ることだ。

運用中に、経路切断や装置故障で Ring 構造が途切れることがある。この場合は、図8(C)の様に障害カ所を新たな「ブロッキング・ポイント」に設定し、元の「ブロッキング・ポイント」を開放し通常ポートに設定する。

障害復旧時は、図8(C)の「元のブロッキング・ポイント」をブロッキング・ポイントに設定し、「新しいブロッキング・ポイント」を開放する。図8(B)の状態に戻る。

リング・トポロジ制御
図8 リング・トポロジ制御

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

この記事を書いた人

岩崎 有平

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