回答:
CIDR(クラスレスドメイン間ルーティング、「キッド」または「サイダー」と発音-コメントに独自のローカルバリアントを追加!)は、IPアドレスのネットワーク部分を定義するシステムです(通常、これはサブネットマスクと考えられます) 。「クラスレス」である理由は、基本クラスよりも柔軟にIPネットワークを破壊する方法を可能にするためです。
IPネットワークが最初に定義されたとき、IPにはバイナリプレフィックスに基づいたクラスがありました。
Class Binary Prefix Range Network Bits
A 0* 0.0.0.0-127.255.255.255 8
B 10* 128.0.0.0-191.255.255.255 16
C 110* 192.0.0.0-223.255.255.255 24
D 1110* 224.0.0.0-239.255.255.255
E 1111* 240.0.0.0-255.255.255.255
(これは、/ 24を「クラスC」と呼ぶ人々のソースであることに注意してください。ただし、クラスCには特定のプレフィックスが必要なため、厳密な比較ではありません)
これらのバイナリプレフィックスは、IPスペースの大きなチャンクをルーティングするために使用されました。これは、必ずしも必要ではない組織に大きなブロックが割り当てられるため、またクラスCは24ビット単位でしか割り当てられないため、複数のクラスCがルーティングされるとルーティングテーブルが不必要に大きくなるため、非効率的でした。同じ場所。
CIDRは、可変長サブネットマスク(VLSM)をネットワークに適用できるように定義されました。名前が適用されると、アドレスグループまたはネットワークは、所属する自然の「クラス」と直接関係のないグループに分類できます。
VLSMの基本的な前提は、ネットワーク内のネットワークビット数のカウントを提供することです。IPv4アドレスは32ビット整数であるため、VLSMは常に0〜32になります(ただし、長さ0のマスクがあるかどうかはわかりません)。
頭の中でVLSM / CIDRの計算を開始する最も簡単な方法は、「自然な」8ビット境界を理解することです。
CIDR Dotted Quad
/8 255.0.0.0
/16 255.255.0.0
/24 255.255.255.0
/32 255.255.255.255
(ちなみに、/ 32マスクを使用することは完全に合法であり、ACLではかなり一般的です。これは、単に単一のIPを参照していることを意味します)
それらを把握したら、ホストの数を取得するために上下に移動するのは単純なバイナリ演算です。たとえば、/ 24に256個のIPがある場合(ここではネットワークアドレスとブロードキャストアドレスを省略します。これは別のネットワーク理論の質問です)、サブネットを1ビット(/ 25に)増やすと、ホストスペースが1ビット( 7)、128個のIPがあることを意味します。
これが最後のオクテットの表です。このテーブルを任意のオクテットにシフトして、同等のドット付きクワッドを取得できます。
CIDR Dotted Quad
/24 255.255.255.0
/25 255.255.255.128
/26 255.255.255.192
/27 255.255.255.224
/28 255.255.255.240
/29 255.255.255.248
/30 255.255.255.252
/31 255.255.255.254
/32 255.255.255.255
これらを別のオクテットにシフトする例として、/ 18(/ 26マイナス8ビットなので、オクテットをシフト)は255.255.192.0になります。
各オクテットは8の価値があります。
そのため、サブネットをすばやく絞り込めば、最後の8ビットが心配になります。
128, 192, 224, 240, 248, 252, 254, 255
+1 , +2 , +3 , +4 , +5 , +6 , +7 , +8
それが十分に明確であることを願っています
1日遅れで、できれば1ドルも足りません。CIDRは、最上位ビットから始まるIPv4マスク内の連続する1ビットの数(32ビット)です。
10000000 00000000 00000000 00000000 1 =最上位ビット
共通のマスクは/ 8、/ 16、/ 24で、すべて8ビット(オクテット)境界にあります。
11111111 00000000 00000000 00000000 = / 8 = 255.0.0.0
11111111 11111111 00000000 00000000 = / 16 = 255.255.0.0
11111111 11111111 11111111 00000000 = / 24 = 255.255.255.0
オクテットに揃えられていない場合はそれほど難しくありませんが、オクテットが何であるかについての簡単な数学と理解が必要です。
11111111 11111111 11100000 00000000 = / 19
マスクの最初の2オクテットは255.255(/ 16は/ 19未満)です。最後のオクテットは0です(/ 19は/ 24未満です)。これまでのところ
11111111 11111111 11100000 00000000 = / 19 = 255.255.?.0
各オクテットを見るとき、8ビット値、0〜255であることを思い出してください。
0 0 0 0 0 0 0 0
1
2 6 3 1
8 4 2 6 8 4 2 1
したがって、3番目のオクテット(?)11100000は128 + 64 + 32 = 224です。
11111111 11111111 11100000 00000000 = / 19 = 255.255.224.0
自明でないネットワークを手作業で計算することは非常に誤りがちです。代わりにCIDR Calculatorを試してください。
ipcalc
と思いますsipcalc
が、とにかく+1
それどころか、CIDRを完全に理解し、脳内で計算を行えるのは良いことだと思いますが、計算を再確認したい場合もあります。PHP Subnet Calculatorを使用したい:http : //share-foo.com/SubnetCalc.php
デスクへの参照だけが必要な場合は、RFC 1878- IPv4の可変長サブネットテーブルを使用してください。