発端
いつもなんとなく使っていたVPCですが、IPアドレスの設定やCIDRがよく分からなかったので調べました。
IPアドレス
今回はVPC内の話なのでプライベートIPについての話となります。ちなみにIPv4
32bit2進数で割り当てられるので$2^{32}$個あることになります。人間には分かりにくいので8桁ずつで分けてそれを10進数に割り振っています。
CIDR
サイダーと呼びます。使えるIPアドレスの範囲を示します。例えばVPCのCIDRを
10.0.0.0/16
と指定してあげるとVPC内で使えるIPアドレスの範囲は
10.0.0.0 \approx 10.0.255.255
となります。
/より後でIPアドレスの範囲(サブネットマスク)を指定してあげてどのネットワークに所属しているのかを表しています。このようなサブネットマスクの表記法をCIDR表記と呼びます。
またCIDRではどこまでをネットワーク部分、どこまでをホスト部分にするかを自由に選ぶことができます。この数字は32bitの桁数に対応しており10.0.0.0/16では
\underline{00001010}.\underline{00000000}.00000000.00000000
までをネットワーク部分として使うということを宣言しています。
VPCの中でサブネットを構築しようとなると基本的に
10.0.10.0/24
このようにすると思います。この場合ネットワーク部分の宣言は左から24桁となるので
\underline{00001010}.\underline{00000000}.\underline{00001010}.00000000
ここまでとなります。つまり残り8桁がホストとして使用可能となります。
ここで筆者が作成したEC2のプライベートIPアドレスを見てみましょう。設定は上記のCIDRです。
確かにサブネット内(10.0.10.0/24)に指定したマスクの範囲内でIPアドレスが割り当てられていました。
所感
ネットワークの分野はちょっと地味ですが面白い。アカデミックさがあってなんだか学生に戻った感じでした。