このページの本文へ

前へ 1 2 次へ

ネットワークの常識・非常識 ― 第1回

リング構成の深い意味を知ろう

なぜネットワークはループを作ってはいけないの?

2009年08月24日 06時00分更新

文● 遠藤 哲

  • この記事をはてなブックマークに追加
  • 本文印刷

Q. なぜネットワークはループを作ってはいけないの?

A. 同じ経路をぐるぐる回り、他の通信を邪魔してしまうから。

EthernetとIPネットワークのループ

 ネットワークは情報を伝達するための仕組みであり、通常、ネットワークに障害が発生しても通信が断たれないよう、障害箇所を迂回するために複数の経路を持つのが一般的である。いくつも経路を持っておけば、一方の経路が使えない場合でも迂回経路を使って宛先に向かえばよい。

 実はネットワークのループとなる経路は、一般的に障害対策の意味もあり、通信を維持するための仕組みでもある。しかし、LANにおいて問題となるループが2種類ある。スイッチングハブまたはL2スイッチを単純に接続した「物理的な経路のループ」と、IPネットワークを構成するルータの経路情報の矛盾によって発生する「論理的な経路のループ」である。この2つの現象について、その原因と対策(防衛策)をみてみよう。

嵐を呼ぶEthernetのループ

 企業でも、家庭でもほとんどのLANはスイッチングハブ(L2スイッチ)などを用いてEthernetで構築されている。Ethernetの通信には特定の機器を宛先とした「ユニキャスト」という通信のほかに、接続されているPCやルータすべてを対象にした「ブロードキャスト」という通信方法がある。EthernetとTCP/IPを組み合わせたLANでは、IPアドレスに対応したMACアドレスを見つけるため、このブロードキャストが必ず使われる。

 スイッチングハブには、接続されたPCやルータのMACアドレスを記憶し、宛先MACアドレスと関係のないポートへデータを転送しないという基本機能があるが、ブロードキャストには効果がない。ブロードキャストの宛先はスイッチに接続されているすべてのコンピュータなので、スイッチに接続されているすべてのポートにデータが転送される。当然、スイッチの先にスイッチがつながっていれば、その先にまでデータは送信される。

 このときスイッチ間の接続にループとなる経路があるとブロードキャストしたEthernetフレームがスイッチ間のリンクを渡って一周し、戻ってきたEthernetフレームを再びすべてのポートに配信するという動作を繰り返す。

 この現象を「ブロードキャストストーム」と呼ぶ。物理的にループとなっている経路のポートからEthernetフレームが次から次へとやってくる、まさに「嵐」のような状態になる。スイッチは全員宛のパケットを正常に処理しているに過ぎないが、結果としてつねにブロードキャストのパケットを送信している状態となり、スイッチに接続されているPCやルータにパケットが次から次へと絶えることなく送られる。Ethernetではデータ受信中は、データを送信しないCSMA/CDという通信方式を採っているため、つねに受信中ということは、パケットを送信する機会がなくなり、結果的に通信不能に陥るというわけだ。

 このブロードキャストストームを防ぎ、リンクの障害に備えるのがSTP(スパニングツリープロトコル)である(図1)。STPをサポートしたL2スイッチ間で物理リンクを二重にしたり、ループ接続しても、STPにより論理的にデータを転送しない「ブロックポート」が自動的に決定される。物理的にはループとなる接続であっても、そのループを切るようにポートがブロックされるので、ブロードキャストストームを防ぐことができる。

図1 経路の冗長化を実現するSTPの動作

 冒頭にも述べた通り、STPはブロードキャストストームを防止するだけではなく、リンク障害に対する備えでもある。ブロックされたポートは障害発生時に備えた待機ポートとなる。そのため、稼働中のスイッチ間のリンクに障害が発生すると、障害の発生したリンクのポートはブロックポートになり、それまでブロックされていた待機ポートのブロックが解除され、Ethernetフレームを転送するのである。従来のSTPはこの経路の切り替えに時間がかかるという問題があった。しかし、最新のRapid STPではこの弱点が解消されており、LAN構築に欠かせない技術となっている。

(次ページ、「IPネットワークの「ループ防止」」に続く)


 

前へ 1 2 次へ

この連載の記事
ピックアップ