VLSMと経路集約

 インターネットの普及により、世界中のネットワークのルート数が、飛躍的に増加しています。そのため、ルータは、膨大な数のルート情報を学習しなけれならず、ルーティングテーブル上のエントリー数は膨大なものとなっています。

 ルーティングテーブルのサイズが大きくなると、ルータのCPUやメモリに負担がかかりオーバヘッドが大きくなってしまいます。受信するパケットの一つ一つに対して、この膨大なエントリーの中から探し出すのは大変、負荷の高い作業となります。

 そこで、複数のネットワーク(サブネット)を1つにまとめることで、ルーティングテーブルサイズを小さくしてCPUやメモリへの負担を軽減させる仕組みが考えられています。この仕組みを経路集約といい、VLSMによる階層型アドレッシングにより、実現しています。

 経路集約により、ルーティングアップデートの経路情報が少なくなり、帯域幅の使用率が軽減されます。また、ルーティングテー部のエントリー数も少なくなるため、テーブル検索速度が速くなります。

それでは、経路集約がどのように行われるかを下図を使って解説していきます。

Router_Aにおいて

 192.168.0.0/24
 192.168.1.0/24
 192.168.2.0/24
 192.168.3.0/24

の経路情報を持っています。上位2オクテットは、共通ですから、第3オクテットに注目します。

 0(10進数) =  000000|00 (2進数)
 1(10進数) =  000000|01 (2進数)
 2(10進数) =  000000|10 (2進数)
 3(10進数) =  000000|11 (2進数)

上位6ビットが共通しています。

つまり、上位2クテット分の16ビットと第3オクテットの上位6ビットの

16+6=22

22ビットが共通しています。

集約ルートは、共通している部分のビットと、残りのビットが全て0になるものが集約ルートとなります。

 192.168.0.0/24
 192.168.1.0/24
 192.168.2.0/24
 192.168.3.0/24

の集約ルートは、「192.168.0.0/22」となります。

Router_Bにおいて

Router_Bにおいても同様に考えます。

 192.168.4.0/24
 192.168.5.0/24
 192.168.6.0/24
 192.168.7.0/24

の経路情報を持っています。上位2オクテットは、共通ですから、第3オクテットに注目します。

 4(10進数) =  000001|00 (2進数)
 5(10進数) =  000001|01 (2進数)
 6(10進数) =  000001|10 (2進数)
 7(10進数) =  000001|11 (2進数)

上位6ビットが共通しています。

つまり、上位2クテット分の16ビットと第3オクテットの上位6ビットの

16+6=22

22ビットが共通しています。

集約ルートは、共通している部分のビットと、残りのビットが全て0になるものが集約ルートとなります。

 192.168.4.0/24
 192.168.5.0/24
 192.168.6.0/24
 192.168.7.0/24

の集約ルートは、「192.168.4.0/22」となります。

Router_Cにおいて

Router_Cにおいても同様に考えます。

 192.168. 8.0/24
 192.168. 9.0/24
 192.168.10.0/24
 192.168.11.0/24
     ・・・・・・・・
 192.168.15.0/24

の経路情報を持っています。上位2オクテットは、共通ですから、第3オクテットに注目します。

  8(10進数) =  00001|000 (2進数)
  9(10進数) =  00001|001 (2進数)
 10(10進数) =  00001|010 (2進数)
 11(10進数) =  00001|011 (2進数)
        ・・・・・・・・
 15(10進数) =  00001|111 (2進数)

上位6ビットが共通しています。

つまり、上位2クテット分の16ビットと第3オクテットの上位5ビットの

16+5=21

21ビットが共通しています。

集約ルートは、共通している部分のビットと、残りのビットが全て0になるものが集約ルートとなります。

 192.168. 8.0/24
 192.168. 9.0/24
 192.168.10.0/24
 192.168.11.0/24
     ・・・・・・・・
 192.168.15.0/24

の集約ルートは、「192.168.8.0/21」となります。

Router_A及びRouter_B、Router_Cは、Router_Dに対して、

Router_Aは、「192.168.0.0/22」の経路情報を

Router_Bは、「192.168.4.0/22」の経路情報を

Router_Cは、「192.168.8.0/21」の経路情報を

ルーティングアップデートで送っています。

Router_Dは、どのような経路上ををISPに送るのかについて説明していきます。

Router_Dにおいて

 192.168.0.0/22
 192.168.4.0/22
 192.168.8.0/21

の経路情報を持っています。上位2オクテットは、共通ですから、第3オクテットに注目します。

 0(10進数) =  0000|0000 (2進数)
 4(10進数) =  0000|0101 (2進数)
 8(10進数) =  0000|1000 (2進数)

上位4ビットが共通しています。

つまり、上位2クテット分の16ビットと第3オクテットの上位4ビットの

16+4=20

20ビットが共通しています。

集約ルートは、共通している部分のビットと、残りのビットが全て0になるものが集約ルートとなります。

「192.168.0.0/24」~「192.168.15.0/24」の16あった、各サブネットの経路情報は、

「192.168.0.0/20」に集約されて、ISPへアップデートされることになります。

このように経路情報が集約されることで、各ルータが扱う経路情報を削減することができます。

 ただし、不連続サブネットとならないように、階層的にIPアドレスを割り当てておく必要があります。階層型にIPアドレスが割り当てられていないと不連続サブネットとなり、集約による不整合が発生する場合があります。