web-dev-qa-db-ja.com

ダミーのCIDR

CIDRとは何か、その用途は理解していますが、頭の中でそれを計算する方法がわかりません。誰かが例を挙げて「ダミー用」タイプの説明を与えることはできますか?

46
Bob

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

(これは、クラスCが特定のプレフィックスを持つ必要があるため、厳密には真の比較ではありませんが、/ 24を「クラス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になります。

78
jj33

各オクテットは8の価値があります。

  • 255.0.0.0/8
  • 255.255.0.0/16
  • 255.255.255.0/24
  • 255.255.255.255/32

そのため、サブネットをすばやく絞り込むことができ、最後の8ビットが心配になります。

128, 192, 224, 240, 248, 252, 254, 255

+1  , +2 , +3 , +4 , +5 , +6 , +7 , +8
  • 255.128.0.0 =/9
  • 255.192.0.0 =/10
  • 255.224.0.0 =/11
  • 255.240.0.0 =/12
  • 255.248.0.0 =/13
  • 255.252.0.0 =/14
  • 255.254.0.0 =/15

それが十分に明確であることを願っています

8
sclarson

1日(シック)遅く、できれば1ドルも足りない。 CIDRは、最上位ビットから始まるIPv4マスク(32ビット)の連続する1ビットの数です。

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

6
dbasnett

自明ではないネットワークを手作業で計算することは非常にエラーが発生しやすくなります。代わりに CIDR Calculator を試してください。

4
hayalci

それどころか、[〜#〜] cidr [〜#〜]を完全に理解して、脳で計算できるのは良いことだと思います。 ..しかし、計算を再確認したい場合があります。 PHP Subnet Calculatorを使用したい: http://share-foo.com/ SubnetCalc.php

alt text

2
l0c0b0x

デスクリファレンスだけが必要な場合は、RFC 1878- IPv4の可変長サブネットテーブル を使用することもできます。

1
Gavin McTaggart