問題 二つのIPv4ネットワーク192.168.0.0/23と192.168.2.0/23を集約したネットワークはどれか。
慣れてないと意外と戸惑うこの問題。
今日はこの問題をできる限りわかりやすく解説してみたいと思います。
この問題のポイントは
- CIDR表記
- ルート集約
の2点です。
それでは行きましょう。分かっている部分は適宜読み飛ばしてくださいね。
CIDR表記
192.168.0.0/23 という表記を見てください。
/23の部分を見て「なんじゃそりゃ」と思われた方もいるかもしれません。
これはCIDR表記と呼ばれる方法で、サブネットマスクを表す1つの方法です。
サブネットマスクというのは「どこまでがネットワークアドレスでどこからがホストアドレスか」を表すものですね。例を見てみましょう。
IPv4だとIPアドレスは32桁です。
11111111.11111111.11111111.00000000
こういうサブネットマスクを用意すると、前半の1の部分(24桁)のところがネットワークアドレス、残りの0の部分(8桁)の部分がホストアドレスを表します。
このとき、CIDR表記では/24と表します。
つまり、CIDR表記ではネットワークアドレスの桁数を表します。
最初の192.168.0.0/23 を見ると、/23なので2進数での最初の23桁がネットワークアドレスと言っています。
2進数に直すと11000000.10101000.00000000.00000000 です。
黒字がネットワークアドレス、赤字がホストアドレスということですね。
ルート集約
ルート集約というのはざっくりいうと、「だいたい一緒の宛先はまとめちゃった方が楽じゃね?」という話です。
郵便物を考えてみましょう。
例えば、東京都千代田区のアニメショップから京都府京都市の白川さんと京都府宇治市に住んでいる黄前さん宛てに荷物が届けられるとします。
このとき、千代田区から直接一人一人に届けられるのではなく、まずどちらともとりあえず京都府方面に送られます。
東京都の段階で一人一人の宛先をしっかり確認していると、めんどくさいですね。
これはネットワークの世界でも同じです。
最初から細かい宛先を確認していたらめんどくさいので、
「だいたい同じアドレスの人には、とりあえずそっち方面に送っとけばよくね??」
という考え方があります。これがルート集約という考え方です。
例えば、192.168.1.0/24、192.168.2.0/24という2つのネットワークがあったとします。
これは最初の24桁がネットワークアドレスです。
192.168の部分は一緒なので、下2桁だけ考えてみます。
1.0の部分は00000001.00000000ですし、2.0の部分は00000010.00000000
です。(赤字の部分がホストアドレス部です)
00000001.00000000と00000010.00000000を比較したとき、6桁目の青い部分までは一緒ですよね。
なので、この一緒の部分はセットにしてしまいます。
6桁目の部分は192.168の部分も含めると22桁目なので、22桁目までがネットワークアドレスである、192.168.0.0/22というネットワークとして考えます。
先ほどの郵便の例で考えると、とりあえず宛先を「京都府」としてまとめてしまう、ということになります。
もちろん、目的地が近づいた場合は、詳しく宛先を見ていくことになります。
問題を解説
問題となっているネットワークは192.168.0.0/23と192.168.2.0/23です。
まず、192.168を除いた下二桁を考えてみましょう。
0.0の部分は 00000000.00000000ですし、2.0の部分は00000010.00000000です。
(赤字はホストアドレス)
共通部分は青い字の最初の6桁、すなわち192.168を含めると22桁の部分です。
よって、192.168.0.0/22というネットワークとして集約できるというわけです。
まとめ
CIDRとルート集約を知っていれば比較的すぐ解ける問題ではありますが、初めて見た方は「なんじゃこりゃ」と思う問題だと思います。
出来てしまえばなんてことはない問題なので、マスターして試験に臨んでくださいね!