CCNPを勉強していて「なぜアドレス設計を連続させるのか」がようやく腑に落ちました。鍵はルート集約でした。
テーブルが大きいと何が困るのか
ルーターは宛先ネットワークごとにエントリを持ちます。拠点が増えるほどこのテーブルが膨らみ、メモリ消費・検索コスト・経路変動時の再計算が増えます。細かい経路を1本にまとめれば、これらを軽くできます。
集約の考え方
連続した複数のネットワークは、共通の上位ビットでひとまとめにできます。例えば、
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
の4つは、上位22ビットが共通なので 192.168.0.0/22 の1本に集約できます。4エントリが1エントリになります。
OSPFでの集約(ABRで)
OSPFはエリアの境界(ABR)で集約します。
router ospf 1
area 1 range 192.168.0.0 255.255.252.0
これで area 1 内の細かい経路が、他エリアには /22 の1本として広告されます。エリア内のリンクが揺れても、集約された1本は変わらないので、他エリアへの波及も抑えられるのが嬉しい副次効果です。
集約の前提は「アドレス設計」
集約は、アドレスが連続・整理されていて初めて効きます。拠点にバラバラのアドレスを割り当てると、きれいに1本へまとめられません。だから設計段階で「この拠点群は 192.168.0.0/22 の中から配る」と決めておくわけです。ここが「なぜ設計でアドレスブロックを区切るのか」の答えでした。
注意点
集約すると、実在しないアドレス(穴)宛てのパケットも自分に吸い込む形になります。OSPFはABRにNull0への集約経路を自動生成してループを防ぎますが、手動集約するBGP等では、意図しないブラックホールに注意が必要です。「集約は便利だが、穴の扱いを意識する」を教訓にしています。