プレフィックス、ネットワーク、サブネット、ホスト番号をどのように計算しますか?


97

例:

IP:128.42.5.4

バイナリ:10000000 00101010 00000101 00000100

サブネット:255.255.248.0

プレフィックス、ネットワーク、サブネット、およびホスト番号をどのように決定できますか?

回答:


164

ネットマスク長の計算(プレフィックスとも呼ばれます):

ネットマスクのドット付き10進表現をバイナリに変換します。次に、最初のオクテットの最上位ビット(つまり、2進数の左側)から開始して、連続する1ビットの数をカウントします。

255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           -----------------------------------
                           I counted twenty-one 1s             -------> /21

255.255.248.0ネットマスクを持つ128.42.5.4のプレフィックスは/ 21です。

ネットワークアドレスの計算:

ネットワークアドレスは、IPアドレスとネットワークマスクのバイナリ表現の各ビットの論理ANDです。両方のアドレスのビットを揃え、それぞれのビットの各ペアで論理ANDを実行します。次に、結果の個々のオクテットを10進数に変換します。

論理AND真理値表:

論理積

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           ----------------------------------- [Logical AND]
                           10000000 00101010 00000000 00000000 ------> 128.42.0.0

ご覧のとおり、128.42.5.4 / 21のネットワークアドレスは128.42.0.0です。

ブロードキャストアドレスの計算:

ブロードキャストアドレスは、すべてのホストビットを1に変換します...

10進数のIPアドレスは次のとおりです。

128.42.5.4      in binary: 10000000 00101010 00000101 00000100

ネットワークマスクは次のとおりです。

255.255.248.0   in binary: 11111111 11111111 11111000 00000000

これは、ネットワークマスクを反転してホストマスクを見つけるため、ホストビットがIPアドレスの最後の11ビットであることを意味します。

Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh

ブロードキャストアドレスを計算するために、すべてのホストビットを1に強制します。

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh
                           ----------------------------------- [Force host bits]
                           10000000 00101010 00000111 11111111 ----> 128.42.7.255

サブネットの計算:

このネットワークのサブネットを計算するのに十分な情報を提供していません。原則として、ホストビットの一部を各サブネットのネットワークビットとして再割り当てしてサブネットを構築します。多くの場合、ブロックをサブネット化する正しい方法はありません...制約に応じて、アドレスのブロックをサブネット化するいくつかの有効な方法があります。

128.42.0.0/21を4つのサブネットに分割し、それぞれが少なくとも100のホストを保持する必要があると仮定しましょう...

サブネット化

この例では、100個のホストを含​​めるには少なくとも/ 25プレフィックスが必要であることがわかります。/ 24を選択したのは、オクテット境界にあるためです。各サブネットのネットワークアドレスは、親ネットワークブロックからホストビットを借用していることに注意してください。

必要なサブネットマスク長またはネットマスクを見つける:

100個のホストに対して少なくとも/ 25のマスク長が必要であることをどのようにして知りましたか?100個のホストを含​​めるために必要なホストビットの数に戻って、プレフィックスを計算します。100個のホストを含​​めるには、7個のホストビットが必要です。公式には、これは次で計算されます:

ホストビット =ログ2(ホスト数)=ログ2(100)= 6.643

IPv4アドレスは32ビット幅であり、ホストビット(最下位ビット)を使用しているので、32から7を引くだけで各サブネットの最小サブネットプレフィックスを計算します... 32-7 = 25。

128.42.0.0/21を4つの等しいサブネットに分割する怠zyな方法:

128.42.0.0/21ブロック全体から4つのサブネットのみが必要なため、/ 23サブネットを使用できます。4つのサブネットが必要なため、/ 23を選択しました。つまり、ネットマスクに2ビットを追加しました。

これは、128.42.0.0 / 21の/ 23サブネットを使用して、制約に対する同等に有効な回答です...

サブネット化、2番目のオプション

ホスト番号の計算:

これはすでに上記で行ったことです... 128.42.5.4/21のブロードキャストアドレスを計算したときに行った作業のホストマスクを再利用するだけです...今回はh、ネットワークアドレスで論理ANDを再度実行します。

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000111 11111111
                           ----------------------------------- [Logical AND]
                           00000000 00000000 00000101 00000100 -----> 0.0.5.4

サブネット内のホストの最大可能数の計算:

ホストの最大数を見つけるには、上記のホスト番号のバイナリビットの数を調べます。これを行う最も簡単な方法は、ネットマスクの長さを32(IPv4アドレスのビット数)から引くことです。これにより、アドレス内のホストビット数がわかります。その時点で...

ホストの最大数 = 2 **(32-netmask_length)-2

上記の2を引く理由は、すべて1とすべて0のホスト番号が予約されているためです。すべてゼロのホスト番号はネットワーク番号です。すべて1のホスト番号はブロードキャストアドレスです。

上記の128.42.0.0/21のサブネットの例を使用すると、ホストの数は...

ホストの最大数 = 2 **(32-21)-2 = 2048-2 = 2046

2つのIPアドレスを含む最大ネットマスク(最小ホストマスク)を見つける:

誰かが2つのIPアドレスを提供し、それらの両方を含む最長のネットマスクを見つけることを期待しているとします。たとえば、次のような場合:

  • 128.42.5.17
  • 128.42.5.67

最も簡単な方法は、両方をバイナリに変換し、アドレスの左側からネットワークビットの最も長い文字列を探すことです。

128.42.5.17     in binary: 10000000 00101010 00000101 00010001
128.42.5.67     in binary: 10000000 00101010 00000101 01000011
                           ^                           ^     ^
                           |                           |     |
                           +--------- Network ---------+Host-+
                             (All bits are the same)    Bits

この場合、最大ネットマスク(最小ホストマスク)は/ 25になります

注:右側から始めようとする場合、ビットの1つの一致する列が見つかったからといって、だまされないでください。一致するビットを超えて一致しないビットが存在する可能性があります。正直なところ、最も安全なことは左側から始めることです。


15

上記の答えは、頭の爪に完全に当たります。しかし、私が最初に始めたとき、いくつかのソースからいくつかの異なる例を取り上げて、実際にヒットしました。したがって、他の例に興味がある場合は、このテーマに関するブログ投稿をいくつか書きました-http://www.oznetnerd.com/category/subnetting/

管理者、この投稿がスパムと見なされる場合は、お気軽に削除してください。

編集:YLearnの提案に従って、ここにエントリ全体を貼り付けずに、シリーズのパート1から関連する部分を取得しようとします。

例として195.70.16.159/30を使用してみましょう。

/ 30であるため、ホスト部分が4番目のオクテットにあることがわかります。それをバイナリに変換しましょう:

128 64 32 16  8  4 2 1
SN  SN SN SN SN SN H H
 1   0  0  1  1  1 1 1

ここでネットワークアドレスを確認するには、その下に1を持つSNビットを一緒に追加します。(128 + 16 + 8 + 4 = 156)。

この156をアドレスの最初の3オクテットに追加すると、ネットワークアドレス 195.70.16.156が残ります。

ここで、最初の使用可能なアドレスは常にネットワークアドレスに1を加えたものであることがわかっているので、次の計算を実行するだけで済みます:(156 + 1 = 157)。

これにより、195.70.16.157の最初の使用可能アドレスが得られます。

ここで、最後の使用可能なアドレスをしばらくスキップして、ブロードキャストアドレスを見つけましょう。それが何であるかを知るために必要なことは、すべてのHビットを加算して(1か0かに関係なく)、この番号をネットワークアドレスに追加することです。(2 + 1 + 156 = 159)。

これにより、195.70.16.159のブロードキャストアドレスが得られます。

最後に、最後に使用可能なアドレスを見つけましょう。このプロセスは、最初の使用可能なアドレスを見つけることに似ていますが、ネットワークアドレスに1を追加する代わりに、実際にブロードキャストアドレスから1を減算します。(159 – 1 = 158)。

これにより、最終使用可能アドレスは195.70.16.158になります。

そして、それがあります!これでテマプルテが完成しました。簡単に参照できるように、ここに再びあります。

  • ネットワークアドレス: 195.70.16.156
  • 最初の使用可能なアドレス: 195.70.16.157
  • 最終使用可能住所: 195.70.16.158
  • ブロードキャストアドレス: 195.70.16.159

ショートカットとして、この式を使用することもできます。任意のサイズのサブネットで動作します:

  • 最初に使用可能なアドレス =ネットワークアドレス+ 1
  • ブロードキャストアドレス =次のネットワークアドレス-1
  • 最終使用可能アドレス =ブロードキャストアドレス– 1

4
小さな(ほとんど意味のない)警告:一番下のLast Usable Address式は、/ 31を除くすべてのサブネットで機能します... RFC 3021を参照してください。誰かがあなたのアルゴリズムをコードで使用しようとした場合、これは小さなですが関連する例外です。
マイクペニントン

11

私は Penに推進してきたマイク・ペニントンの優れた答えから何も奪いたくありませんが、彼の答えによって直接対処されていない質問を見続け、元々マイクの答えに基づいたものを作成しましたが、私は持っています時間の経過とともに出てきた質問に対処するための詳細情報。残念ながら、大きすぎるため、2つの答えに分割する必要がありました。


パート1/2


IPv4数学

IPv4アドレスとIPv4ネットワークマスク(ネットワークマスクは、ネットワークマスクの長さまたはホストマスクから取得することもできます)を指定すると、IPv4ネットワークに関する多くの情報(ネットワークアドレス、ネットワークブロードキャストアドレス、合計ホストアドレス、合計使用可能数)を決定できますホストアドレス、最初に使用可能なホストアドレス、および最後に使用可能なホストアドレス。

IPv4の計算をバイナリで行う必要があることを強調することはできません。すべてのネットワークエンジニア(またはネットワークエンジニアになります)は、すべてを10進数で行う方法を見つけようとしていると思います。問題は、10(10進数)は2のべき乗ではないため、16進数(16進数)が2のべき乗であるため16進数(16進数)がバイナリに自然に変換するように、10進数と2進数が自然に相互に変換しないことです。

IPv4にドット付き10進表記を使用することは初期の誤りであり、現在は修正できないようですが、IPv6は最初から16進数の使用を採用しており、16進数と2進数の間の変換は簡単です。

IP計算機がない場合(おそらく、ネットワーク教育クラスの試験や認定テストでは許可されていません)、オクテットのビットの値のチャートを作成すると便利です。これはバイナリであるため、各ビット値は、次の下位桁の同じ桁値の2倍です。各桁は、基数に次の下位桁の同じ桁値を掛けたものです。これは、10進数(10進数)を含む他の数値ベースにも当てはまります。各数値は、次に重要でない数値位置の同じ数値の値の10倍です。2進数(ビット)の場合:

---------------------------------------------------------
| Bit # |   7 |   6 |   5 |   4 |   3 |   2 |   1 |   0 |
---------------------------------------------------------
| Value | 128 |  64 |  32 |  16 |   8 |   4 |   2 |   1 |
---------------------------------------------------------

10進数がすべて10の累乗である場合、2進数はすべて2の累乗です。上の表の各ビット番号について、対応する値は2のビット数の累乗であることに注意してください。

For our example IPv4 dotted-decimal address of 198.51.100.223:
1st octet: 198 = 128 + 64 +  0 +  0 + 0 + 4 + 2 + 0 = 11000110
2nd octet:  51 =   0 +  0 + 32 + 16 + 0 + 0 + 2 + 1 = 00110011
3rd octet: 100 =   0 + 64 + 32 +  0 + 0 + 4 + 0 + 0 = 01100100
4th octet: 223 = 128 + 64 +  0 + 16 + 8 + 4 + 2 + 1 = 11011111

For our example IPv4 binary address of 11000110001100110110010011011111:
1st octet: 11000110 = 128 + 64 +  0 +  0 + 0 + 4 + 2 + 0 = 198
2nd octet: 00110011 =   0 +  0 + 32 + 16 + 0 + 0 + 2 + 1 =  51
3rd octet: 01100100 =   0 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 100
4th octet: 11011111 = 128 + 64 +  0 + 16 + 8 + 4 + 2 + 1 = 223

また、学校の真理値表を覚えておく必要があります(バイナリ数学では、0はFalse、1はTrueです)。

-----------------------------------------
| False AND False = False | 0 AND 0 = 0 |
-----------------------------------------
| False AND True  = False | 0 AND 1 = 0 |
-----------------------------------------
| True  AND False = False | 1 AND 0 = 0 |
-----------------------------------------
| True  AND True  = True  | 1 AND 1 = 1 |
-----------------------------------------

-----------------------------------------
| False OR False = False  | 0 OR 0 = 0  |
-----------------------------------------
| False OR True  = True   | 0 OR 1 = 1  |
-----------------------------------------
| True  OR False = True   | 1 OR 0 = 1  |
-----------------------------------------
| True  OR True  = True   | 1 OR 1 = 1  |
-----------------------------------------

* IPv4の計算を長年行うと、頭の中でバイナリ/ 10進数の変換を実行できるようになり、IPv4の計算を10進数で行えるように見える場合があります。私は頭の中でこれを行うことができますが、実稼働ネットワークに変更をコミットする前に、常にIP計算機でダブルチェックするか、バイナリに変換し、数学を実行し、10進数に変換します。


IPv4アドレス

たとえば198.51.100.223、IPv4のドット付き10進表記は、人間がIPv4アドレスを読みやすくするためのものです。オクテットと呼ばれる4つの個別のセクションは、実際にはIPv4には意味がありません。オクテットに特別な意味があると考えるというよくある間違いをしないでください。IPv4アドレスは実際には32ビットの2進数であり、これがネットワークデバイスがIPv4アドレスを認識して使用する方法です。

この例のIPv4アドレス198.51.100.223は、実際11000110001100110110010011011111にはネットワーク上のデバイスに対するものであるため、ドット付き10進表記は実際に人間にとって簡単であることがわかります。各オクテットは32ビットアドレスの8ビットであるため(一般的に使用される用語「オクテット」)、4つのオクテット(32 address bits / 8 bits per octet = 4 octets)があります。サンプルの32ビットバイナリアドレスは4つのオクテットに分割され、各バイナリオクテットは10進数に変換されます*:

Binary address: 11000110001100110110010011011111
                ---------------------------------------------
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
Decimal octets: |      198 |       51 |      100 |      223 |
                ---------------------------------------------
Dotted-decimal: 198.51.100.223

各オクテットの長さは8ビットであるため、各オクテットの値は0〜の間です255(これより大きい値255は無効です)。その理由は、2^8 = 256次のとおりです。2(2進数)の累乗8(オクテットあたり8ビット)に等しい256、8ビットオクテットで表現できるさまざまな値の数。最初の値は0であるため、256th値は表現可能な値の総数(256 – 1 = 255)の1つ少ないことに注意してください。

IPv4の計算を正しく実行するには、バイナリで実行する必要があります。そうしないと、間違いが発生し、問題やフラストレーションが発生します。これは、ドット付き10進表記を操作する前にバイナリに変換する必要があることを意味します。

Dotted-decimal: 198.51.100.223
                ---------------------------------------------
Decimal octets: |      198 |       51 |      100 |      223 |
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
                ---------------------------------------------
Binary address: 11000110001100110110010011011111

* ドット付き10進数のIPv4アドレスの先行ゼロは、一部のアプリケーションおよびプログラミング言語では、10進数(基数10)ではなく8進数(基数8)として解釈され、エラーを引き起こす可能性があります。ただし、先頭のゼロは完全なアドレスのビット位置を表すため、バイナリIPv4アドレスオクテットに必要です。ビット位置を省略すると、アドレスが短くなり、バイナリ値が変更されます。


IPv4ネットワークマスク

IPv4ネットワークマスクは、IPv4アドレスをネットワーク部分とホスト部分の2つの部分に分割するために使用されます。分割は任意のビット数で行うことができるため、多くの人が常にそうであると誤って想定しているため、オクテット境界ではなくオクテット内に収まる可能性があります。IPv4ネットワークマスクはIPv4アドレスと同じサイズ(32ビット)であり、IPv4アドレスをドット付き10進表記で表現するのと同じ方法でドット付き10進表記で表現されます(4つの8ビットオクテット、期間)。たとえば、255.255.248.0

IPv4ネットワークマスクは、多数の連続した1ビット(アドレスのネットワーク部分を表す)と、それに続く多数の0ビット(アドレスのホスト部分を表す)で構成されます。総数1のビットとの合計数0のビットは、に加算32IPv4アドレスまたはネットワークマスク内のビット数、。例のネットワークマスクの場合:

Dotted-decimal: 255.255.248.0
                ------------------------------------------------
Decimal octets: |      255 |      255 |         248 |        0 |
Binary octets:  | 11111111 | 11111111 | 11111 | 000 | 00000000 |
                ------------------------------------------------
                | 21 Network bits             | 11 Host bits   |
                ------------------------------------------------

ご覧のとおり、この特定のマスクを使用したIPv4アドレスのネットワーク部分とホスト部分の区分は、オクテット境界ではなく、オクテット内にあります。

IPv4ネットワークマスクは、多くの場合1、マスク内の連続するビットの数で表されます。これはさまざまなネットワークマスク長またはプレフィックス長と呼ばれ、ネットワークマスク内/の連続する1ビットの数が後に続くものとして表されます。この例で121、連続ビットの数を取得すると、を表すことができます/21

マスクの長さを指定すると、マスクのドット付き10進表現を計算できます。1マスク長のビット数を単純に減らし、0最後に十分なビットを合計32ビットに追加します。結果の2進数をドット付き10進数表現に変換します。

Mask length:    /21
                ------------------------------------------------
                | 21 Network bits             | 11 Host bits   |
                ------------------------------------------------
Binary octets:  | 11111111 | 11111111 | 11111 | 000 | 00000000 |
Decimal octets: |      255 |      255 |         248 |        0 |
                ------------------------------------------------
Dotted-decimal: 255.255.248.0

この例は198.51.100.223、のネットワークマスクで伝統的255.255.248.0に表されるか、より現代的なCIDR(クラスレスドメイン間ルーティング)として表され198.51.100.223/21ます。


IPv4ネットワークアドレス

IPv4ネットワークアドレスは、すべてのホストビットがに設定されたIPv4アドレス0です。IPv4ネットワークアドレスANDは、IPv4アドレスのバイナリ表現とIPv4ネットワークマスクの各ビットのビット単位で計算できます。両方のアドレスのビットを整列しAND、それぞれのビットの各ペアでビットごとに実行し、結果の個々のオクテットを10進数に変換します。

例のIPv4アドレス198.51.100.223とネットワークマスクの場合255.255.248.0

Decimal address:        198.51.100.223/21
Binary address octets:  11000110 00110011 01100100 11011111
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  11000110 00110011 01100000 00000000
Decimal network octets:      198       51       96        0
Dotted-decimal network: 198.51.96.0

ご覧のとおり、のネットワークアドレスは198.51.100.223/21です198.51.96.0。アドレスのどの部分がネットワークであり、アドレスのどの部分がホスト用であるかを伝えるためにオクテットに依存できないことに注意してください。

この方法を使用して、2つのアドレスが同じネットワーク上にあるか異なるネットワーク上にあるかを判別できます*。たとえば、198.51.100.223/21アドレスが割り当てられたホストと同じIPv4ネットワーク上にあるかどうかを確認する場合は198.51.102.57、IPv4ネットワークアドレスを決定します(上記を参照)。次に、IPv4ネットワークマスクを使用して、問題のホストのIPv4ネットワークアドレスを決定します(同じネットワーク上のホストは同じネットワークマスクを使用します。宛先ホストのマスクだけではなく、アドレスだけを持つ場合があります)。

Decimal address:        198.51.102.57/21
Binary address octets:  11000110 00110011 01100110 00111001
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  11000110 00110011 01100000 00000000
Decimal network octets:      198       51       96        0
Dotted-decimal network: 198.51.96.0

結果のIPv4ネットワークアドレスを元のIPv4ネットワークアドレスと比較し、ネットワークアドレスが等しいため、ホストアドレスが同じネットワーク上にあることに注意してください。

次に、74.125.69.100Googleアドレスと同じネットワーク上にいるかどうかを確認します。

Decimal address:        74.125.69.100/21
Binary address octets:  01001010 01111101 01000101 01100100
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  01001010 01111101 01000000 00000000
Decimal network octets:       74      125       64        0
Dotted-decimal network: 74.125.64.0

結果のIPv4ネットワークアドレスを元のIPv4ネットワークアドレスと比較し、ネットワークアドレスが異なるため、ホストアドレスが異なるネットワーク上にあることに注意してください。


* これは、ソースホストが、ソースホストと同じネットワーク上の宛先ホストであるかどうかを判断するために使用する方法です。


IPv4ホストマスク

IPv4アドレッシングに役立つ、見過ごされがちな1つの有用な値は、IPv4ホストマスクです。IPv4ホストマスクは、単にIPv4ネットワークマスクの逆です。開始マスクの1sと0sを反転するだけで、バイナリネットワークマスクからバイナリホストマスク、またはバイナリホストマスクからバイナリネットワークマスクを作成できます。

Dotted-decimal network mask: 255.255.248.0
Decimal network mask octets:      255      255      248        0
Binary network mask octets:  11111111 11111111 11111000 00000000 invert
                             -----------------------------------
Binary host mask octets:     00000000 00000000 00000111 11111111
Decimal host mask octets:           0        0        7      255
Dotted-decimal host mask:    0.0.7.255

開始マスクを最長マスク(/32、またはオールワンマスク)から差し引くことにより、ネットワークマスクからホストマスク、またはホストマスクからネットワークマスクを数学的に作成できます。

それはバイナリで行うことができます:

Binary all-ones mask octets: 11111111 11111111 11111111 11111111
Binary network mask octets:  11111111 11111111 11111000 00000000 -
                             -----------------------------------
Binary host mask octets:     00000000 00000000 00000111 11111111
Decimal host mask octets:           0        0        7      255
Dotted-decimal host mask:    0.0.7.255

これは10進数でも行うことができます(すべて1のオクテットはです255)が、実際にアドレス操作に使用する前に、必ずバイナリに変換してください。

Decimal all-ones mask octets: 255 255 255 255
Decimal network mask octets:  255 255 248   0 -
                              ---------------
Decimal host mask octets:       0   0   7 255
Dotted-decimal host mask:     0.0.7.255

IPv4ネットワークブロードキャストアドレス

IPv4ネットワークブロードキャストアドレスは、すべてのホストビットがに設定されたIPv4ネットワークアドレス1です。IPv4ネットワークブロードキャストアドレスを計算する方法はいくつかあります。

例では、IPv4アドレス198.51.100.223とネットワークマスクを使用し255.255.248.0ます。

ORホストマスクを使用して、IPv4アドレスまたはネットワークアドレスでビット単位で実行できます。

Decimal address octets:        198       51      100      223
Binary address octets:    11000110 00110011 01100100 11011111
Binary host mask octets:  00000000 00000000 00000111 11111111 OR
                          -----------------------------------
Binary broadcast octets:  11000110 00110011 01100111 11111111
Decimal broadcast octets:      198       51      103      255
Dotted-decimal broadcast: 198.51.103.255

IPv4ホストマスクの値をIPv4ネットワークアドレスの値に単純に追加できます。

Binary network octets:    11000110 00110011 01100000 00000000
Binary host mask octets:  00000000 00000000 00000111 11111111 +
                          -----------------------------------
Binary broadcast octets:  11000110 00110011 01100111 11111111
Decimal broadcast octets:      198       51      103      255
Dotted-decimal broadcast: 198.51.103.255

これも10進数でできることです。

Decimal network octets:   198  51  96   0
Decimal host mask octets:   0   0   7 255 +
                          ---------------
Decimal broadcast octets: 198  51 103 255
Dotted-decimal broadcast: 198.51.103.255

合計IPv4ネットワークホストアドレス

ネットワークのIPv4ホストアドレス2の総数は、ホストビット数の乗数であり、32ネットワークビット数を引いたものです。/21(ネットワークマスク255.255.248.0)ネットワークの例では、11ホストビット(32 address bits – 21 network bits = 11 host bits)があります。つまり2048/21IPv4ネットワークには合計ホストアドレスがあります(2^11 = 2048)。


使用可能なIPv4ネットワークホストアドレスの合計

/31(ネットワークマスク255.255.255.254)および/32(ネットワークマスク255.255.255.255)ネットワークを除き、IPv4ネットワークで使用可能なホストアドレスの数は、ネットワークホストアドレスの総数から2(IPv4ネットワークおよびブロードキャストアドレスがネットワーク上のホストアドレスに使用できないため)使用可能なホストアドレスの数からそれらを減算する必要があります)。/21255.255.248.0)ネットワークの例では、2046使用可能なホストアドレス(2^11 - 2 = 2046)があります。


最初に使用可能なIPv4ネットワークホストアドレス

/31(ネットワークマスク255.255.255.254)および/32(ネットワークマスク255.255.255.255)ネットワークを除き、最初に使用可能なIPv4ネットワークホストアドレスは、IPv4ネットワークアドレスに加えて1(IPv4ネットワークアドレスはネットワークホストアドレスに使用できません)です。のサンプルネットワークで198.51.96.0/21は、最初に使用可能なネットワークホストアドレスは198.51.96.1198.51.96.0 + 1 = 198.51.96.1)です。バイナリIPv4ネットワークアドレスの下位ビットを次のように設定するだけです1

Decimal network octets:      198       51       96        0
Binary network octets:  11000110 00110011 01100000 00000000
                        -----------------------------------
Binary address octets:  11000110 00110011 01100000 00000001
Decimal address octets:      198       51       96        1
Dotted-decimal address: 198.51.96.1

最後に使用可能なIPv4ネットワークホストアドレス

/31(ネットワークマスク255.255.255.254)および/32(ネットワークマスク255.255.255.255)ネットワークを除き、最後に使用可能なIPv4ネットワークホストアドレスは、IPv4ネットワークブロードキャストアドレスから1(IPv4ネットワークブロードキャストアドレスはネットワークホストアドレスに使用できません)です。のサンプルネットワークで198.61.96.0/21は、最後に使用可能なネットワークホストアドレスは198.51.103.254198.51.103.255 - 1 = 198.51.103.254)です。バイナリIPv4ネットワークブロードキャストアドレスの下位ビットを次のように設定するだけです0

Decimal broadcast octets:      198       51      103      255
Binary broadcast octets:  11000110 00110011 01100111 11111111
                          -----------------------------------
Binary address octets:    11000110 00110011 01100111 11111110
Decimal address octets:        198       51      103      254
Dotted-decimal address:   198.51.103.254

IPv4ネットワークアドレス指定をすべてまとめる

IPv4ネットワークアドレス198.51.100.223とマスク255.255.248.0(または198.51.100.223/21)の例では、多くのネットワーク情報を計算できます。

Host address:                       198.51.100.223
Network mask:                       255.255.248.0
Network mask length:                21
Host mask:                          0.0.7.255
Host mask length:                   11
*Network address:                   198.51.96.0
*First usable network host address: 198.51.100.1
*Last usable network host address:  198.51.103.254
*Network Broadcast address:         198.51.103.255
Total network host addresses:       2048
Usable network host addresses:      2046

* ネットワーク教育クラスの試験と認定試験では、ホストアドレスとマスク(またはマスク長)を指定して、IPv4ネットワークのこれらをすばやく計算できるように求められます。以下のヒントを使用して、回答を簡単に確認できます。

  • ネットワークアドレス(ヒント:偶数)
  • 最初に使用可能なホストアドレス(ヒント:ネットワークアドレス+ 1、奇数)
  • 最終使用可能ホストアドレス(ヒント:ブロードキャストアドレスから1を引いた偶数)
  • ブロードキャストアドレス(ヒント:ネットワークアドレスとホストマスク、奇数)

上記のヒントは、/31(ネットワークマスク255.255.255.254)または/32(ネットワークマスク255.255.255.255)ネットワークには適用されません。

試験に十分な時間があり、解答に到達するための複数の方法がある問題がある場合、複数の方法を使用して解答を再確認する必要があります。


次の回答に続きます ...


9

前の回答から続き...


パート2/2


IPv4ネットワークゲートウェイ(ルーター)アドレスの選択

ゲートウェイは、パケットを他のネットワークに転送する方法を知っているネットワーク上のホストであり、使用可能なネットワークホストアドレスを割り当てることができます。使用可能なネットワークホストアドレスにゲートウェイアドレスをランダムに割り当てる人もいれば、常に最初に使用可能なネットワークホストアドレスをゲートウェイに割り当てる人もいれば、最後に使用可能なネットワークホストアドレスを常にゲートウェイに割り当てる人もいます。実際、どの使用可能なホストネットワークアドレスをゲートウェイに割り当てるかは問題ではありませんが、一貫性を保つようにしてください。


IPv4 /31(ネットワークマスク255.255.255.254)ネットワーク

もともと、/31(ネットワークマスク255.255.255.254)ネットワークはホストビットが1つしかないため、使用できませんでした。合計2つのネットワークホストアドレスを使用できますが、使用可能なネットワークホストアドレスの数は、ネットワークホストアドレスの合計からマイナス22 total host addresses - 2 = 0 usable host addresses)です。

ポイントツーポイントリンクに必要なホストアドレスは2つだけです(リンクの各端に1つ)。IPv4ネットワークを割り当てる従来の方法では、ポイントツーポイントリンクに/30(ネットワークマスク255.255.255.252)ネットワークを使用する必要がありましたが、/30ネットワークには合計4つのネットワークホストアドレスがあるため、ネットワークホストアドレスの半分が無駄になりますが、使用できるネットワークホストアドレスは2つだけです(2^2 – 2 = 2)。

重大なIPv4アドレスの不足により、/31ポイントツーポイントリンクにネットワークを使用できるようにするための標準が作成されました。そのようなネットワークではブロードキャストの必要がないため、これは理にかなっています。ネットワーク上のホストから送信されるパケットは、ネットワーク上の唯一の他のホストに送信され、効果的にブロードキャストします。上の/31ネットワーク、ネットワークアドレスは、最初に使用可能なホストアドレスで、ブロードキャストアドレスは、最後の使用可能なホストアドレスです。

残念ながら、すべてのベンダー(特にMicrosoft)/31がポイントツーポイントリンクでネットワークを使用するための標準をサポートしているわけではなく、ほとんどの場合、ネットワークを使用するポイントツーポイントリンクがあります/30


IPv4 /32(ネットワークマスク255.255.255.255)ネットワーク

/32(ネットワークマスク255.255.255.255)ネットワークは、それ自体ないホストアドレスを持つネットワーク、およびホストアドレスの両方です。ネットワークにはアドレスが1つしかなく、それがネットワークアドレスです。ネットワークには他のホストがないため、トラフィックはネットワークアドレスとの間でルーティングされる必要があります。

これらのアドレスは、多くの場合、仮想インターフェイスと物理インターフェイス間でパケットをルーティングできるデバイス内で定義された仮想ネットワークインターフェイスで使用されます。この例は、デバイス自体のソースまたは宛先として使用されるネットワークデバイスに仮想インターフェイスを作成することです。ケーブルのプラグが抜かれているなどの物理的な問題のために仮想インターフェイスをドロップできず、デバイスに複数のパスがある場合、デバイスの物理インターフェイスが何らかの理由で操作できない場合でも、他のデバイスは仮想インターフェイスアドレスを使用してデバイスと通信できます。


IPv4ネットワークのサブネット化

ネットワークをサブネット化すると、ネットワークアドレスとマスクから複数の長いネットワークが作成されます。基本的な考え方は、元のネットワークのホスト部分から高位ビットを借りることです。元の198.51.96.0/21ネットワークから14個の同じサイズのサブネットを作成するとします。元のネットワークのホスト部分から上位ビットを借りているので、あなたがパワーが数でしょう2、しかし14のべき乗でないが2、あなたは、次のより高いパワーを取得しなければならない2ことを起こります、1616 = 2^4)。2この場合のの力は、4作成されるサブネットの数を借用するために必要な上位ホストビットの数です。数式を使用して、必要なビット数を決定することもできます。Log2(X subnets) = Y borrowed bits、次の整数値に切り上げられます。

Log2(14 subnets) = 3.807354922, rounded up = 4 borrowed bits

最初のサブネットの198.51.96.0/21すべて0のs * で始まる、元のネットワークの14個の同じサイズのサブネットが必要な例では1、サブネット部分に追加して次のサブネットを取得します。

           ----------------------------------------------
Original:  | 21 network bits       | 11 host bits       |
           ----------------------------------------------
Network:   | 110001100011001101100 | 0000 |  0000000    | = 198.51.96.0/21
Subnet 1:  | 110001100011001101100 | 0000 |  0000000    | = 198.51.96.0/25
Subnet 2:  | 110001100011001101100 | 0001 |  0000000    | = 198.51.96.128/25
Subnet 3:  | 110001100011001101100 | 0010 |  0000000    | = 198.51.97.0/25
Subnet 4:  | 110001100011001101100 | 0011 |  0000000    | = 198.51.97.128/25
Subnet 5:  | 110001100011001101100 | 0100 |  0000000    | = 198.51.97.128/25
Subnet 6:  | 110001100011001101100 | 0101 |  0000000    | = 198.51.98.128/25
Subnet 7:  | 110001100011001101100 | 0110 |  0000000    | = 198.51.99.0/25
Subnet 8:  | 110001100011001101100 | 0111 |  0000000    | = 198.51.99.128/25
Subnet 9:  | 110001100011001101100 | 1000 |  0000000    | = 198.51.100.0/25
Subnet 10: | 110001100011001101100 | 1001 |  0000000    | = 198.51.100.128/25
Subnet 11: | 110001100011001101100 | 1010 |  0000000    | = 198.51.101.0/25
Subnet 12: | 110001100011001101100 | 1011 |  0000000    | = 198.51.101.128/25
Subnet 13: | 110001100011001101100 | 1100 |  0000000    | = 198.51.102.0/25
Subnet 14: | 110001100011001101100 | 1101 |  0000000    | = 198.51.102.128/25
           ----------------------------------------------
Subnetted: | 25 network bits              | 7 host bits |
           ----------------------------------------------

           ----------------------------------------------
Unused:    | 110001100011001101100 | 111  | 00000000    | = 198.51.103.0/24
           ----------------------------------------------

* サブネットについては、ホストアドレスに関しては、すべてゼロとすべて1のサブネットは使用できないという永続的な神話がありますが、この神話は何年も前に規格によって明確に取り消されました。残念ながら、この神話はいくつかのネットワーク教育クラスにまで及び、それらの(誤った)クラスに対する正しい答えは、2番目から15番目のサブネットを使用することです。


0.0.0.0/0上記の例のように、未使用のサブネットがサブネットである/24場合、ネットワークをさまざまなサイズのサブネットにサブネット化することができます(すべてのIPv4ネットワークはネットワークアドレスのサブネットです)が、結果のサブネットを開始するには慎重な計画が必要です正しいビット。

たとえば、ネットワークのサブネット/26/27サブネットの両方が必要だとしましょう198.51.96.0/21。これを行うには、/26サブネットから開始する方法とサブネットから開始する方法の2つがあり/27ます。

/26サブネットから開始:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26

1サブネット部分に追加して、次のサブネットの開始位置を取得します。

Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26

次に、2番目のサブネットを次のように拡張します/27

Subnet 2: | 110001100011001101100 | 000010 | 00000 | /27

私たちは実際に二サブネットされていることに注意してください/26にサブネットを/27サブネット、およびので、それがうまく機能27よりも大きくなっています26

/27サブネットから開始:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27

1サブネット部分に追加して、次のサブネットの開始位置を取得します。

Subnet 2: | 110001100011001101100 | 000001 | 00000 | /27

ホスト部分/26には、6つのホストビット(32 address bits – 26 network bits = 6 host bits)を必要とするネットワークをサポートするのに十分なビット(5つのホストビット)が残っていないことに注意してください。これを/26サブネットの開始位置として使用すると、実際には前の/26ネットワークと次のネットワークが重複します。/27ネットワークの開始位置のために、ネットワークのサイズにギャップを残す必要があり/26ます。

Original: | 110001100011001101100 | 00000000000     | /21
Subnet 1: | 110001100011001101100 | 000000 |  00000 | /27
Unused:   | 110001100011001101100 | 000001 |  00000 | /27
Subnet 2: | 110001100011001101100 | 00001  | 000000 | /26

/26常に上を開始しなければならないサブネット/26の境界:すべての第二/27サブネット境界、4回ごと/28の境界、すべての第八/29境界などこの規則は、任意のサブネットサイズのためである:サブネットはに等しい長いサブネットの境界で開始しなければならない2電源へ長いサブネットサイズからサブネットサイズを引いたもの。たとえば、/23サブネットは4番目の/25ネットワークごとに開始する必要があります(2^(25 - 23) = 2^2 = 4)。

間違ったビット境界で始まるネットワークアドレスを使用してデバイスを構成しようとすると、奇妙で​​トラブルシューティングが困難な問題が発生するか、デバイスが重複ネットワークに関するエラーを表示します。一部の人々はこれをドット付き10進数で実行しようとしますが、これはエラーにつながる可能性があります。たとえば、198.51.96.0/27ネットワークホストアドレスがある198.51.96.0経由198.51.96.31。それを知っていて198.51.96.32/26ネットワークを使用しようとすると、そのネットワークは間違ったビット境界で開始し、/27ネットワークとオーバーラップするため、問題が発生します(ANDアドレスとネットワークマスクでビット単位を使用して確認してください)。バイナリでは明らかですが、ドット付き10進数ではそれほど顕著ではありません。/26ネットワークは10進数の倍数で開始する必要があることを学習できます。64 ただし、バイナリで見ると、間違いを犯したかどうかを確認できます。


ホストの数に基づくサブネットのサイジング

一般的な試験問題により、ネットワークが提供され、各サブネットのホスト数に基づいて、さまざまなサイズのサブネットをいくつか作成するように求められます。可能であれば、ホストの数がネットワーク上のホストアドレスの総数に基づいているのか、ネットワーク上の使用可能なホストの数に基づいているのかを明確にする必要があります。(たとえば、質問がサブネット256または255ホストを要求する場合、/24ネットワークは256合計ホストアドレスを提供しますが、254使用可能なホストアドレスのみを提供します。そのような質問はトリック質問であり、正しい答えは質問は、総ホストアドレスまたは使用可能なホストアドレスを意味します。)

サンプルの質問:

Given the 198.51.96.0/21 network, subnet it for the following departments:
    Department 1:  500 hosts
    Department 2:  100 hosts
    Department 3:  200 hosts
    Department 4: 1000 hosts

「IPv4ネットワークのサブネット化」セクションで見たように、これを行う最も簡単な方法は、ネットワークのギャップに対処する必要がないため、最初に最大から最小のホスト数で部門をソートすることです。

Department 4: 1000 hosts
Department 1:  500 hosts
Department 3:  200 hosts
Department 2:  100 hosts

それぞれを次の2のべき乗に切り上げて、各サブネットに必要な合計ホストアドレスの数を取得し、次の累乗の指数から必要なホストビットの数を導き出すことができます2

Department 4: 1024 total host addresses = 2^10 = 10 host bits
Department 1:  512 total host addresses = 2^9  =  9 host bits
Department 3:  256 total host addresses = 2^8  =  8 host bits
Department 2:  128 total host addresses = 2^7  =  7 host bits

特定の数の同じサイズのサブネットに必要なビット数を見つけるための前の式を変更して、各サブネットに必要なホストビット数を決定することもできます:Log2(X hosts) = Y host bits、次の整数値に切り上げます:

Department 4: Log2(1000 hosts) = 9.96578428466209, rounded up = 10 host bits
Department 1: Log2( 500 hosts) = 8.96578428466209, rounded up =  9 host bits
Department 3: Log2( 200 hosts) = 7.64385618977472, rounded up =  8 host bits
Department 2: Log2( 100 hosts) = 6.64385618977473, rounded up =  7 host bits

各サブネットに必要なホストビット数を取得したら、バイナリ計算を実行して、各部門の特定のサブネットを取得します。1サブネットに追加して、次のサブネットの開始アドレスを取得することを忘れないでください。

Original:     | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Department 4: | 110001100011001101100 | 0 | 0000000000 | = 198.51.96.0/22
Department 1: | 110001100011001101100 | 10 | 000000000 | = 198.51.100.0/23
Department 3: | 110001100011001101100 | 110 | 00000000 | = 198.51.102.0/24
Department 2: | 110001100011001101100 | 1110 | 0000000 | = 198.51.103.0/25
Unused:       | 110001100011001101100 | 1111 | 0000000 | = 198.51.103.128/25

特定のサブネットを見つける

特定のネットワークの特定のサブネットのネットワーク情報を提供するように求められる場合があります。たとえば、ネットワークの23番目の/26サブネットのネットワーク情報を提供するように求められる場合があり198.51.96.0/21ます。23番目のサブネットが必要なため、220最初のサブネットであるため、23番目のサブネットは22*になります)バイナリに変換できます:Decimal 22= Binary 10110。アドレスのサブネット部分で変換された2進数を使用します。

Original:  | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Subnet 23: | 110001100011001101100 | 10110 | 000000 | = 198.51.101.128/26

23番目のネットワークアドレスを特定したら198.51.101.128/26、他のネットワーク情報を計算できます(前のセクションで説明したとおり)。

Network address:                   198.51.101.128
Network mask length:               26
Network mask:                      255.255.255.192
Host mask length:                  6
Host mask:                         0.0.0.63
First usable network host address: 198.51.101.1
Last usable network host address:  198.51.101.62
Broadcast address:                 198.51.101.63
Total network host addresses:      64
Usable network host addresses:     62

* サブネットについては、ホストアドレスに関しては、すべてゼロとすべて1のサブネットは使用できないという永続的な神話がありますが、この神話は何年も前に規格によって明確に取り消されました。残念ながら、この神話は、いくつかのネットワーク教育クラスに延びており、それらの(間違った)クラスの正しい答えは、24日(使用することです23小数、10111同じサイズのサブネットの我々の例では、バイナリ)サブネットではなく、実際の第23回(22小数点以下を、10110バイナリ)サブネット。


特定のネットワークホストを見つける

特定のネットワークの特定のホストのホストアドレスを見つけるように求められる場合があります。たとえば、198.51.96.0/21ネットワークの923番目のホストのホストアドレスを指定するように求められる場合があります。923番目のホストが必要なので、923バイナリに変換できます:Decimal 923= Binary 1110011011。変換された2進数をネットワークアドレスに追加します。

Binary network: | 110001100011001101100 | 00000000000 |
Binary 923:     | 000000000000000000000 | 01110011011 | +
                  -----------------------------------
Host address:   | 110001100011001101100 | 01110011011 | = 198.51.99.155

2つのホスト用の最大の共通ネットワーク*

2つ(またはそれ以上)の異なるホストアドレスが与えられ、両方のホストアドレスを含む最大のネットワーク(ホストの最小数)を作成するように求められる場合があります。例えば、最大の共通のネットワークを見つける198.51.100.223198.51.101.76

まず、ドット付き10進アドレスをバイナリに変換します。

198.51.100.223 = 11000110001100110110010011011111
198.51.101.76  = 11000110001100110110010101001100

次に、最上位(左端)ビットから始めて、同じ位置のビットが一致しなくなるまで、各ビット位置のバイナリアドレスを比較します。

198.51.100.223 = | 11000110001100110110010 | 011011111 |
198.51.101.76  = | 11000110001100110110010 | 101001100 |

23この場合、一致するビットの数をカウントして、マスク長を取得します。その後、いずれかのアドレスANDを取得し、ネットワークマスクを使用してビットごとに実行し、共通のネットワークを取得できます。両方のアドレスでこれを行うと、同じネットワークになりますが、そうでない場合は、誤ってカウントされるか、一致しないビット位置を見逃してしまいます。

198.51.100.223  = 11000110001100110110010011011111
/23 mask length = 11111111111111111111111000000000 AND
                  --------------------------------
Binary network:   11000110001100110110010000000000 = 198.51.100.0/23

198.51.101.76   = 11000110001100110110010111011111
/23 mask length = 11111111111111111111111000000000 AND
                  --------------------------------
Binary network:   11000110001100110110010000000000 = 198.51.100.0/23

2つのネットワークアドレスが一致することに注意してください。つまり、2つのホストアドレスの最大の共通ネットワークは198.51.100.0/23(CIDR表記法)、または(従来の)198.51.100.0マスク付きのネットワークです255.255.254.0


* これは、最小の共通ネットワーク(または最小ネットワークやマスクなどのバリアント)と呼ばれる場合があります。最小のネットワークは実際には0.0.0.0/00ネットワークビット)であり、すべてのIPv4アドレスに共通のネットワークであるため、任意のIPv4アドレス間の最小の共通ネットワークです。多くの人がアドレスのホスト部分を見て、そのサイズをアドレスのネットワーク部分のサイズではなくネットワークサイズとして見るため、混乱が生じます。


パブリックアドレスとプライベートアドレス

IPv4自体には、パブリックアドレス指定とプライベートアドレス指定の概念も、区別もありません。IPv4プライベートアドレッシングは任意に選択され、ISPは合意により、プライベートアドレススペースのアドレスを使用してパブリックインターネット上でパケットを転送しませんが、ネットワークデバイスとホストはアドレスがパブリックかプライベートかを知りません。

IPv4プライベートアドレッシングを定義する3つのアドレス範囲があります。

  1. 10.0.0.0/8
  2. 172.16.0.0/12
  3. 192.168.0.0/16

クラスフルネットワークアドレッシング

当初、IPv4アドレスはネットワーククラスに分割されていました。クラスフルアドレッシングは数十年前に廃止され、現代のネットワーキングはCIDR(Classless Inter-Domain Routing)に基づいていますが、残念ながら、多くのネットワーク教育クラスと認定試験はクラスフルアドレッシングの知識をテストすることを主張しています。クラスフルアドレッシングについて学習する前に、このドキュメントの以前のすべてのIPv4数学を学習し、慣れてください。

IPv4アドレスクラスはすべて、アドレスの最初のビットに基づいています。

Class   Address Starts With      Address Range                 Default Size*
  A     First one bit    = 0       0.0.0.0 to 127.255.255.255        /8
  B     First two bits   = 10    128.0.0.0 to 191.255.255.255       /16
  C     First three bits = 110   192.0.0.0 to 223.255.255.255       /24
  D     First four bits  = 1110  224.0.0.0 to 239.255.255.255       N/A
  E     First four bits  = 1111  240.0.0.0 to 255.255.255.255       N/A
  • クラスAネットワークには、デフォルトのネットワークマスク255.0.0.0/8)とデフォルトのホストマスクがあり0.255.255.25516,777,216ネットワークごとの合計ホストアドレスを提供します。
  • クラスBネットワークには、デフォルトのネットワークマスク255.255.0.0/16)とデフォルトのホストマスクがあり0.0.255.25565,536ネットワークごとの合計ホストアドレスを提供します。
  • クラスCネットワークには、デフォルトのネットワークマスク255.255.255.0/24)とデフォルトのホストマスクがあり0.0.0.255256ネットワークごとの合計ホストアドレスを提供します。
  • クラスDアドレスはマルチキャストに使用されます。各アドレスは、マルチキャストアドレスにサブスクライブするホストのグループを表すために個別に使用されます。つまり、通常、クラスDアドレスにはネットワークマスクの概念がありません。
  • クラスEアドレスは予約されており、何にも使用できません。これには1つの例外があります。これは、の限定ブロードキャストアドレスです255.255.255.255。これは、ネットワーク上のすべてのホストが独自のアドレスとして扱う個々のアドレスです。つまり、送信255.255.255.255されたものはすべて、ネットワーク上のすべてのホストによって受信および処理されます。

各クラスにはデフォルトのネットワークサイズがあるため、特定のアドレスのデフォルトマスクを想定する質問もあるため、デフォルトのネットワークマスクに基づいて計算を行う必要があります。例のアドレスの場合198.51.100.223

Binary: 11000110 00110011 01100100 11011111

最初の3つのアドレスビットが110であり、これがクラスCアドレスであり、マスクまたはマスク長がない場合、ネットワークマスクは255.255.255.0/24)と想定され、ネットワークアドレスが作成されることに注意して198.51.100.0ください。


* ネットワークマスクがネットワーククラスを決定するという一般的な間違いをしないでください。それは逆です。たとえば、多くの人は、/24ネットワークをクラスCネットワークと見なしますが、それはリモートでも事実ではありません。たとえば、10.11.12.0/24ネットワークの場合、アドレスの最初のビットがであるにもかかわらず、ネットワークマスクのために多くの人が誤ってクラスCネットワークと呼んでいますが0、デフォルトよりも長いネットワークマスクでクラスAネットワークマスク。これは、クラスCネットワークではなく、クラスAネットワークのサブネットであることを意味します。


6

(すべてのネットマスクの回答を1つの場所に保持するために、他の優れた回答の後に、これを視覚的な方法について追加しました。)

ホストの数に基づくサブネットのサイジング

これは、「特定のネットワークサイズをn個にカットして、ネットワーク1のx 1ホスト、ネットワーク2の x 2ホストなどを許可するにはどうすればよいですか?」という一般的な質問に対するものです。他の優れた回答で説明されている方法を実行することで、絶対に解決できます。

ただし、より視覚的な方法と一般的なヒントを好む人もいます。

視覚的な「グラスカッター」法

私はこれを視覚的に理解するためによく次の方法を使用します。

まず、このような紙のギロチンを想像してください。

スライド紙ギロチン

(Wikipedia by Nathan CC BY-SA 3.0からの写真

この種類のカッターの特性は、直線のみを切断すること、常に紙を横切って切断すること、および側面に垂直に切断することです。私たちの特定のギロチンはうるさいです:それは紙を半分にカットするだけで、エッジから1cmより近くにカットすることはできません。

  • スターティングブロックに使用できる住所の合計数は?
  • / 22に1024個のアドレスを分割するとします
  • その数平方センチメートル(および正方形または2x1の比率)の紙を入手します
  • したがって、私は32平方センチメートルの作品を取得します
  • 繰り返し
    1. 作品を選択します(複数ある場合)
    2. 半分にカットします(制約内:長方形のカットのみ、半分にし、1 cm未満はなし)
  • 多くの場合、あなたが作ることができるさまざまなカットがあり、あなたは選択をしなければなりません
  • n個のネットワークを取得するには、n-1個のカットを行う必要があります
  • 場合によっては、余分な部分が生じることがあります(「廃棄物」の配布方法によって異なります)

プロセスの図を次に示します。カット1とカット2で可能なカットの種類は1つだけですが、カット3では、2つの異なる可能性を与える小さなピース(赤)または大きなピース(青)を選択します。

自分の絵

これはしばしばギロチン問題と呼ばれるもので、私は「グラスカッター」問題として学びました。板ガラスは実際に完全に切断する必要があるためです。

実際に実際にこれを行うとき、私はこのようなグリッドを見ながら精神的に半分になります。/ 26は0、.64、128、または.192で始まる必要があることを覚えています。7番目の専用回線には、トップクォーターで7番目の/ 30が必要であることを知っているかもしれませんが、それが0.216であることは覚えていません。

グリッドは明らかに3番目のオクテットを表すためにも使用でき、各正方形は/ 24を表します。現在、/ 18は.0、.64、.128、または.192で始まると言われています。

ここに画像の説明を入力してください

一般的なテクニックのヒント

一般的な手順は次のとおりです。

  • 必要な各サイズを、十分な大きさの最小ブロックに切り上げます
  • グローバルルールに従っていることを確認してください(多くの場合、「使用可能なアドレス指定を最大化する」、場合によっては「成長のために2倍にする」または「ルーティングを簡単にする」)
  • サブネット最大で始まり最小まで下がるアドレスに割り当てます(これは通常、あなたが言うのを忘れる部分です
  • 特定のルールに従います(テストの質問には多くの場合、「ネットワークアドレスに7が含まれていない可能性がある」などの簡潔なルールがあります)
  • 暗黙のアドレス(ブロードキャスト、ルーター)の余地があることを確認します
  • 場合は、任意のネットワークが小さい(/ 30、/ 31または/ 32)は、4、2、および1ホストとネットワークのためのいくつかのエッジケースがあるので、余分な注意を払って、その詳細は、あなたが解決している正確なものを問題に依存します

5

例:

IP:128.42.5.4

バイナリ:10000000 00101010 00000101 00000100

サブネット:255.255.248.0

プレフィックス、ネットワーク、サブネット、およびホスト番号をどのように決定できますか?

      32768     16384  8192  4096  2048  1024   512   256  ----> Binary
        128       192   224   240   248   252   254   255  ----> Sunet Mask
        /17       /18   /19   /20   /21   /22   /23   /24  ----> CIDR  
      32766     16382  8190  3094  2046  1022   510   254  ----> Host


      128     64    32     16     8     4    2     1   ----> Binary
      128    192   224    240   248   252   254   255  ----> Sunet Mask
      /25    /26   /27    /28   /29   /30   /31   /32  ----> CIDR  
      126     62    30     14     6     2    *     -   ----> Host 

     128        64        32       16        8         4         2        1
  10000000   01000000  00100000 00010000  00001000  00000100  00000010   00000001

   Example 
   Network=192.168.1.0 /24;  
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.0 
   Ip address range 192.168.1.0----192.168.1.255
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.254; 
   Broadcast address = 192.168.1.255;
   254 Host

   Network=192.168.1.0 /25;
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.128
   Ip address range 192.168.1.0----192.168.1.128
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.126;
   Broadcast address = 192.168.1.127;  
   126 Hosts

   When the CIDR increased ex. /24. /25.  the network will divided by the 
   binary number.
   /25  increase network   0-128| 128- 256 |                   you will have 2 Networks 
   /26  increase network   0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks 
    .
    .
    .
   /32......
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.