このページの本文へ

前へ 1 2 3 4 5 次へ

TCP/IPまるわかり 第4回

ネットワークをまたぐ通信の仕組み

ルータの向こうに広がるネットワーク

2009年07月06日 09時00分更新

文● Gene

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

クラスフルとクラスレス

 ルータが交換するルート情報の中に、サブネットマスクの情報が含まれるかどうかによって、ルーティングプロトコルは以下の2種類に分類される。

  • クラスフルルーティングプロトコル
  • クラスレスルーティングプロトコル

 クラスフルルーティングプロトコルは、原則としてクラス単位でネットワークアドレスを認識する。クラスがわかれば、どこまでがネットワークアドレスであるかがわかるので、サブネットマスクの情報は不要である。そのため、クラスフルルーティングプロトコルが交換するルート情報には、サブネットマスクを含まない。

 また、クラスフルルーティングプロトコルでは、可変長サブネットマスク(Variable Length Subnet Mask:VLSM)をサポートしない。固定長サブネットマスク(Fixed Length Subnet Mask:FLSM)の環境でのみ利用できる。クラスフルルーティングプロトコルの代表例はRIPv1である。

 一方、クラスレスルーティングプロトコルは、ネットワークアドレスをクラスレスなアドレスとして扱う。ということは、ネットワークアドレスはかならずしも8ビット単位になるわけではない。そのため、ルータ同士が交換するルート情報の中にサブネットマスクを含めて、ネットワークアドレスの区切りを明確にする必要がある。クラスレスルーティングプロトコルの例としては、次のプロトコルが挙げられる。

  • RIPv2
  • OSPF
  • IS-IS
  • EIGRP
  • BGP

 こうしたクラスレスルーティングプロトコルは、VLSMの環境をサポートできる。表2に、クラスフルルーティングプロトコルとクラスレスルーティングプロトコルの特徴についてまとめた。

表2 クラスフルルーティングプロトコルとクラスレスルーティングプロトコルの比較

RIPの動きを見てみよう

 では実際に、RIPによるルーティングテーブルのコンバージェンスは、どのように行なわれるのだろうか。ここでは5台のルータがある環境を想定して、ネットワークAの情報が各ルータに伝播する動きを解説しよう(図3)。

図3 RIPによりネットワークの情報が伝わる仕組み

 まず、ネットワークAがつながっているルータAは、隣接するルータ(ルータBおよびC)に対して、「ネットワークAが直結している」という情報を送信する。次に、この情報を受け取ったルータBは、自身につながっているネットワークの情報(ここでは簡略化のために省いている)に加えて、「ネットワークAにパケットを送るなら、私の隣のルータが使える」という情報を、隣接するルータEに送る(ルータAにも送る)。このとき、「隣」という情報を伝えるために、ルータBがルータEに送るルータAの情報には、「ホップ数(ホップ数は中継するルータの数で、RIPではこのホップ数が小さいと「より近い経路である」と判断する)」が1つ追加される。これで、ネットワークAの情報がルータEまで伝わったわけだ。

 今度は図の下の経路に注目してみよう。ルータCは、ルータBと同様に自身の情報をプラスしつつ、ルータAからの情報にホップ数を1つ加えたものをルータDに送る。ルータDは、ルータAからの情報を含むルータCからきた情報にホップ数を1つ加えてルータEに送る。これで、ルータAにつながったネットワークAに関する情報が、すべてのルータに伝わったことになる。

 ここで、ルータEに注目したい。ネットワークAに関して、ルータBとルータDから2つの情報が届いていることがわかるだろうか。これはインターネットの世界ではよくあることで、いつのまにかネットワークがリング状になっていると、このようなことがいくらでも起こりえるのだ。

 では、ルータEはどのように判断するのだろうか。ここで重要になるのがホップ数だ。RIPでは、ホップ数が小さい経路が最適と判断する。そのため、ルータB経由で届いた「ホップ数が3」という情報とルータD経由の「ホップ数が4」という情報を比較して、「ネットワークAにパケットを送るには、ルータB経由が最適経路である」と判断して、ルーティングテーブルに記録する。

 各ルータにつながったネットワークに関する情報は、このようにしてルータ越しにリレーされて伝わっていくのだ。

前へ 1 2 3 4 5 次へ

カテゴリートップへ

この連載の記事