CIDR・・・
“172.10.0.0/16″・・・
AWSでVPCやセキュリティグループを作成するときに”?”が浮かぶこのCIDRという単語と表記方法。
「IPアドレスっぽいんだけど、この”/”(スラッシュ)と、後ろの数字はなんなん!?」
ネットワークに明るい人をのぞき、誰しも最初はよくわからん!!と匙を投げたくなる部分だと思います。
今回はこのCIDR表記についてなるべく簡単に、そしてわかりやすい解説をしたいと思います。
★本記事では以下の目次で進めさせていただきます!!( ^ω^ )
CIDRとは?
CIDR(Classless Inter-Domain Routing)の略で”サイダー”と読みます。
Classlessとのキーワードがある通り、CIDRを語る上でよく出てくるのが、”アドレスクラス”。
なんかまた小難しそうなキーワードとお思いですよね?
今回は極力簡単にわかりやすくするため、あえてこのアドレスクラスのお話は省きます!!
気になる方は”ネットワーク アドレスクラス”でググってみてくださいね。
▽
▽
▽
では話を戻します。
CIDRとは簡単にいうと、IPアドレスの範囲を示したものです。
例えば172.10.0.0〜172.10.255.255までの範囲だよーと示したい場合、
“172.10.0.0〜172.10.255.255″と書くと面倒なので、”172.10.0.0/16″と省略して記述した、そんなイメージです。
CIDRの読み方・計算方法
じゃ、”172.10.0.0/16″がなぜ”172.10.0.0〜172.10.255.255″を表すのか?
ここを説明しますね。
“/16″は範囲を表します。
“172.10.0.0”をまずは2進数にしてみましょう。
↑2進数に変換すると、こうなりますね。
172=”10101100″
10=”00001010″
0=”00000000″
となります。
で、”/16″はというと、この2進数に直したビット列に対して、
左から16個までのビットが固定されてますよ、ということ。
残りは変動できる部分だよ、という意味になります。
例えば、上記の”172.10.0.0/16″の場合、10101100.00001010.10101010.10101010も範囲内ですし、
10101100.00001010.11111111.11111111も範囲内です。
でも、10101101.00001010.00000000.00000000は範囲外です。
赤字の部分(左から8個目のビット)が変わってしまっているからです。
これは別のネットワークとなってしまいます。
特殊な意味をもつCIDR表記「0.0.0.0/0」「::/0」とは?
ここで特殊なCIDR表記をご紹介したいと思います。
まずはこちら↓
[blue-waku]0.0.0.0/0[/blue-waku]
なんだこれ?
と思いますよね?
これ、具体的にいうと0.0.0.0〜255.255.255.255という範囲を表しています。
つまり、すべてのIPアドレス範囲を表していることになります。
任意のアドレス、という意味も表します。
セキュリティグループ設定やルートテーブルの設定の際によく使うもので、
どこから送信してもOKですよー、なんて場合には”0.0.0.0/0″を使います。
次はこちら↓
[blue-waku]::/0[/blue-waku]
セキュリティグループを作成すると、ソース欄に「0.0.0.0/0,::/0」となっている表記、
みたことないですか?
「0.0.0.0/0」は上記説明した通り、すべてのIPアドレス範囲を表しますが、
じゃ、この「::/0」って何なん!?
実はこの「::/0」は「0.0.0.0/0」のIPv6版です。
ネットワークの世界にはIPアドレスが枯渇してしまうというリスクに備えて、
今までのIPv4をあらため、新しいタイプのIPv6を広めていこうぜという動きがあります。
現在は、IPv4も使っているし、IPv6も併用されている、そんな状況です。
で、この「::/0」も「0.0.0.0/0」と同様、すべてのIPアドレス範囲を示すわけですが、対象としているのがIPv6というわけです。
「0.0.0.0/0」はIPv4版であり、「::/0」はIPv6版ということを覚えておきましょう。
最後はこちら↓
[blue-waku]xxx.xxx.xxx.xxx/32
※xxx.xxx.xxx.xxxは任意のアドレスが入ります。[/blue-waku]
注目して欲しいのが、32という数字。
32とすると、上記のお話でいうと変動部分がありませんね。
そうです。すべて固定部分なんです!
例えば”172.10.0.4/32″と書かれていたら、”172.10.0.4″というIPアドレスのみということを意味します。
/32いらねーじゃん!って思いますよね?w
でもコレ、実務では結構使うんですよ。覚えておきましょうね。
AWSにおけるCIDR表記まとめ
このようにCIDR表記はIPアドレスの範囲を表します。
VPCやサブネットでもCIDRブロックというものを登録する必要があります。
でも難しく考えなくて大丈夫です。
要はVPC(またはサブネット)で使えるIPアドレスは「ここから、ここまでだよ」という範囲を示しているにすぎません。
セキュリティグループに登録するCIDRだってそうです。
“172.10.5.0/24″と登録すれば、
“172.10.5.0”から”172.10.5.255″までのIPアドレスの範囲を許可するよ、というだけなんです。
いかがでしたでしょうか?
ネットワークと聞くと、ものすごく難しく考えがちですが、理屈がわかればなんてことはありません。
それではここまでお読みいただきありがとうございました!
hidesanでした!