このページの本文へ

前へ 1 2 次へ

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

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

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

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

文● 遠藤 哲

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

IPネットワークの「ループ防止」

 IPネットワークはルータというIPパケットの中継装置で構成されたネットワークである。ルータはIPアドレスに対応したルーティングテーブルという経路情報を持ち、受信したIPパケットの宛先とルーティングテーブルを参照し、転送先経路を決定する。このルーティングテーブルは、管理者によって手動で設定されるか、ルーティングプロトコルを使ってルータ間の情報交換で自動的に作られる情報である。

 しかし、ルーティングテーブル情報の登録を管理者がミスしたり、ルーティングプロトコルがリンク障害などでうまく機能しなかったりした場合に図2のようにお互いにパケットを転送しあう論理的な経路のループが発生する。これにより、宛先にいつまでも届かない「はぐれパケット」が生まれる可能性がある。

図2 はぐれパケットを破棄する仕組み

 論理的な経路のループが発生しても、IPパケットの生成ポイントであるPCやサーバはその異常に気が付くことはない。またルータ自身も物理的な障害ではないためその異常に気がつかない。すると誰も論理的な経路のループが発生していることに気づかない中で、PCからは宛先に届かないIPパケットが次から次へとネットワークに送られ、はぐれパケットが徐々に増えていくことになる。このような状況にいたるとIPネットワークは時限爆弾を抱えたようなもので、やがてネットワークははぐれパケットでいっぱいになり、通信障害に陥るのである。

 このような事態に備えた仕組みが、IPパケットのヘッダにある「TTL」(Time to Live)というフィールドである。ここには送信する際に数値が設定され(OSに依存)、ルータを経由するたびに「-1」にされる。ルータはTTLが0になると、そのパケットを破棄する。そのため、たとえ「はぐれパケット」が発生したとしても、多少時間はかかるが、最終的にネットワークからなくなるというわけである。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事