web-dev-qa-db-ja.com

ネットマスク:ネットワークの数を計算する方法は?

ホストのネットマスク数を計算する私の方法、たとえば:ネットマスク255.255.255.192(プレフィックス26)のホスト数を知りたい

255.255.255.192 11111111.11111111.11111111.11000000             26                      128+64=192

192は最新のオクテットの2つの「1」ビットの128+ 64であり、ホストの数は最新のオクテットの0ビット(ホスト部分)の数であるため、000000は6であり、2 ^ 6-2は62です。 、およびipcalcの確認は問題ありません

ipcalc 10.2.0.1/26
Address:   10.2.0.1             00001010.00000010.00000000.00 000001
Netmask:   255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard:  0.0.0.63             00000000.00000000.00000000.00 111111
=>
Network:   10.2.0.0/26          00001010.00000010.00000000.00 000000
HostMin:   10.2.0.1             00001010.00000010.00000000.00 000001
HostMax:   10.2.0.62            00001010.00000010.00000000.00 111110
Broadcast: 10.2.0.63            00001010.00000010.00000000.00 111111
Hosts/Net: 62                    Class A, Private Internet

私の質問は、プレフィックスが付いたサブネットの数を知る/計算する方法です。たとえば、26または27ですか。ネット部分(26 "1"ビット^ 2 =)をしなければなりませんか?

1
elbarna

サブネットを計算するための解決策を見つけました。たとえば、プレフィックス29のネットマスクの場合です。

255.255.255.248 11111111.11111111.11111111.11111000             29                      128+64+32+16+8=248

最新のオクテットにあります

11111000

したがって、ホストの数は6です。

000=3=2^3-2=6

サブネットの数は32です

11111=2^5=32

この方法は、ipのクラスCでは問題ありません。クラスAとBは少し難しいですが、良いヘルプは ここ

1
elbarna

ホストの計算からすでに知っているように、nビットがある場合は、それらのビットの2nのさまざまな組み合わせを持つことができます。 まったく同じサブネットの計算も使用できます-少なくともすべてのサブネットのサイズが同じ場合。

たとえば、 / 24 ネットワーク(別名「クラスC」)で、同じサイズに分割したい / 29 サブネット、使用する 29-24 = 5 サブネットビット、したがってあなたは持っています 2(29-24) = 25 = 32 サブネット。

これは、ネットワークのサイズに関係なく機能します。 'クラス'の違いは関係ありません。別の例として、 / 16 ネットワークとそれを分割したい / 27の、それはなります 2(27-16) = 211 = 2048 サブネット。

(そして、ネットワークを/ 32に分割すると、同じ方法でホストの数を取得できます!)

1
user1686