前のシナリオで「自動集約」の話が出てきましたが、「自動集約」って何だろう?
「自動で集約する」ということで、「自動集約」は英語に直すと「Auto Summarization」です。
「自動」がわからない人はいないと思うので、では、「集約」とは何だろう?
簡単に言えば「まとめる」ということです。
※ ただし、ルーティングに関する話ですので、単なる集約ではなく「経路集約 (ルート集約)」です。つまり「経路をまとめる」ということ。
ルーティングはよく道路に例えられますので、ここでも道路で説明します。
半沢直樹さんは、大阪西支店から東京本部に転勤になったため、車で大阪から東京本部のある中央区に向かいます。
名古屋に着いた時に、次のような標識があったらどうしますか?
目的の行先を探すのが大変ですよね。
東京に着くまでは「東京こっち」で十分なんです。
(本当は静岡など、東京以外も必要ですが、今回は無視)
そして東京に着いた時に「中央区」に行くための標識があればいいんです。
「新宿区」「大田区」「中央区」などを、名古屋では「東京」という1つの行先にまとめています。
言ってみれば、これが経路集約です。
では、上記をルータのネットワークで考えてみましょう。
RT-C の先に 192.168.0.0/24、192.168.1.0/24、192.168.2.0/24、192.168.3.0/24 の4つのネットワークがあります。
RT-B で、これらのネットワークへの経路をサポートするためには、RT-B のルーティングテーブルにこれらの宛先へのルートエントリが必要です。RT-B は RT-A から 192.168.3.10 宛てのパケットを受け取ると、自身 (RT-B) のルーティングテーブルの 192.168.3.0/24 のルートエントリを見て、RT-C 宛てにパケットを送り出します。
RT-B のルーティングテーブルには4つのルートエントリがありますので、RT-A からパケットを受け取った後、この4つのルートエントリのうちどれに該当するかチェックしなくてはいけません。しかしもしこれが1つのルートエントリしかなかったらどうでしょう。チェックする回数が減ると同時に、ルートエントリの数が減るため、RT-B のルーティングテーブルのサイズも小さくなります。
RT-B は RT-A から 192.168.3.10 宛てのパケットを受け取ると、自身 (RT-B) のルーティングテーブルの 192.168.0.0/16 のルートエントリを見て、RT-C 宛てにパケットを送り出します。 (192.168.3.10 は 192.168.0.0/16 の中に含まれたIPアドレスです。)
これが「経路集約」です。
しかし、もし RT-B が RT-A から 192.168.4.10 宛てのパケットを受け取ったらどうでしょう?
192.168.4.10 も 192.168.0.0/16 の中に含まれたIPアドレスなので、当然 RT-B はこのパケットを RT-C 宛てに送り出します。
しかし、192.168.4.0/24 等、192.168.4.10 のIPアドレスが含まれるネットワークは RT-C の先にはありませんので、RT-C はこのパケットを受け取っても破棄します。これでは RT-B から RT-C に不要なパケットが流れることになりますし、もし仮に192.168.4.0/24 というネットワークが、このネットワーク内のどこか別の場所にあったとしたら、本来はそちらの方に 192.168.4.10 宛てのパケットを送らなければならないにもかかわらず、RT-B からそちらには送られず RT-C に送られてしまう可能性があります。
なのでこれは「正確でない経路集約」です。
経路を集約する場合は、その先にあるネットワークのみを含むように集約するのがベストです。
それぞれのネットワークを第3オクテット目だけを2進数で書くと以下のようになります。
192.168.0.0 = 192.168.
00000000.0
192.168.1.0 = 192.168.
00000001.0
192.168.2.0 = 192.168.
00000010.0
192.168.3.0 = 192.168.
00000011.0
第3オクテット目の上位6ビットは全て「0」で、第1オクテット目と第2オクテット目の 192.168 も4つとも共通ですので、IPアドレスの上位22ビット (8ビット+8ビット+6ビット) が共通だということです。また、第3オクテット目の下位2ビットは「00」「01」「10」「11」と、2ビットを2進数で表せる全てのビット表現を使っていますので、これらを第4オクテット目と合わせて10ビット (2ビット+8ビット) をホストビットとみなせば、これら4つのネットワークは 192.168.0.0/22 という1つのネットワークと見ることができます。
これが「正確な経路集約」です。
「正確でない経路集約」も経路集約と言う意味では間違いではありません。
実際に自動集約は、その先にないネットワークも含めて集約します。
ただし、CCNA の試験では正確な経路集約の計算が求められます。