助け合いフォーラム

Cisco

CCNA(200-301)
問題ID : 6885
問題を開く

図に示すネットワークでは、ルータAのLAN側ネットワークで、ルータAのインタフェースを含め30台分のアドレスを用意したい。この時、ルータAのLAN側ネットワークに割り当て可能なサブネットアドレスは下記のうちどれか。

正解

192.168.20.128/27

解説

「2のn乗-2≧ホスト数」の公式で算出して、

2のn乗-2≧30
n≧5

となり、30台のホストを持つサブネットを作成するには、少なくともホスト部に5ビット必要となります。
選択肢192.168.20.192/28は、ホスト部のビットが足りないため、適していません。

図を見てみましょう。

既に使用されているのは
192.168.20.8/30 (192.168.20.8〜11のネットワーク)
192.168.20.12/30 (192.168.20.12〜15のネットワーク)
192.168.20.16/30 (192.168.20.16〜19のネットワーク)
192.168.20.48/29 (192.168.20.48〜55のネットワーク)
192.168.20.96/28 (192.168.20.96〜111のネットワーク)
192.168.20.112/28 (192.168.20.112〜127のネットワーク)
です。

192.168.20.32/27は、アドレス範囲が192.168.20.32〜192.168.20.63となり、192.168.20.48/29のネットワークと重複してしまうため、適していません。
同じように、192.168.20.64/26、192.168.20.96/27も重複してしまうため、適していません。

よって、正解は「192.168.20.128/27」となります。

参考

【2進数と10進数と16進数】
数値の表記方法には「2進数」や「10進数」や「16進数」といった種類があります。


「0~17」をそれぞれの方法で表記すると以下のようになります。


[進数の考え方]
進数は「その数になったら次の位に繰り上がる」と考えるとわかりやすくなります。
例えば、2進数では「1」の次の数は「2」なので次の位に繰り上がり「10」となります。
10進数では「9」の次の数は「10」なので次の位(十の位)に繰り上がり「10」となります。
16進数では「F」の次の数は「10進数で数えて16」になるので次の位に繰り上がり「10」となります。
※「9」の次の数字は無いので16進数ではアルファベットの「A、B、C、D、E、F」を9に続く数字として使用します。16進数の「A」は10進数の10、16進数の「F」は10進数の15にあたります。

【10進数と2進数の変換方法】
さまざまな変換方法がありますが、ここでは簡単に以下の変換表を使います。


■2進数から10進数への変換
変換したい2進数の数値を変換表に入れて、「1」が入った部分を全て足します。(表には右詰めで入れます)
足した合計が10進数の数値になります。
例) 2進数の「10111」を10進数に変換する

答) 23

■10進数から2進数への変換
変換したい10進数の数値を変換表の大きい方から引いていき、引いた部分に「1」を入れます。
数値が0になるまで引いたときに、変換表に入っている「0」と「1」の並びが2進数の数値になります。
例) 10進数の「23」を2進数に変換する

答) 10111

【IPアドレスの構成】
IPアドレスは「ネットワーク部」と「ホスト部」で構成されます。

ネットワーク部は、所属しているネットワークグループを示す部分です。
ホスト部は、そのグループの中のどれかを示す部分です。

ネットワーク部とホスト部の境界線はクラスごとに決められています。


クラスAは第1オクテット(8ビット)までがネットワーク部なので「/8」となります。
クラスBは第2オクテット(16ビット)までがネットワーク部なので「/16」となります。
クラスCは第3オクテット(24ビット)までがネットワーク部なので「/24」となります。
クラスDとEは特殊な用途のためネットワーク部とホスト部の区別はありません。

【サブネット】(サブネットワーク)
サブネットとは、ネットワークを分割したものです。
サブネット化(ネットワークを分割)するには、IPアドレスの「ホスト部」の一部を借用して「ネットワーク部」として扱います。

これにより、1つのネットワークアドレスで複数のネットワークを作成することができます。(ネットワークアドレスを節約できる)


【サブネットマスク】
サブネットマスクとは、ネットワーク部とホスト部を区別するための数値です。
サブネットマスクの表記方法にはCIDR表記(プレフィックス表記とも呼ばれる)、2進数表記(Binary表記)、ドット付き10進数表記(Dotted-decimal notation:DDN表記)があります。

CIDR表記では、何ビットまでネットワーク部なのかを表します。
2進数表記では、ネットワーク部を「1」、ホスト部を「0」で表します。
10進数表記では、2進数の表記を8ビットごとにドットで区切って10進数に変換して表します。
下図のように、2進数表記サブネットマスクにおける「1」と「0」の境界が、IPアドレスにおけるネットワーク部とホスト部の境界となります。


【サブネットマスク表記の変換手順(10進数表記とCIDR表記の変換)】
サブネットマスク「255.255.255.252」を例に、10進数表記とCIDR表記の変換手順を示します。
[10進数表記からCIDR表記]
まず、10進数表記を2進数表記に直し、ネットワーク部のビット数を数えます。
そして、数えたネットワーク部のビット数をCIDR表記の値とします。


[CIDR表記から10進数表記]
まず、CIDR表記を2進数表記にするためにCIDR表記の値だけ左から「1」を並べ、残りを「0」で埋めます。
そして、2進数表記を10進数表記にします。


【各表記法で表したサブネットマスク】


【サブネット計算】
サブネット(ホスト部からビットを借用して作られたネットワーク)に関する以下の情報は、提示されたIPアドレスやサブネットマスクを使用して算出します。


【ネットワークアドレスとブロードキャストアドレスとホストアドレスの範囲の算出】
IPアドレスとサブネットマスクから「ネットワークアドレス」と「ブロードキャストアドレス」、「ホストアドレスの範囲」を算出できます。
以下では「192.168.1.122/27」というIPアドレスとサブネットマスクを例に説明します。
まずは、ネットワーク部とホスト部を確認するために「192.168.1.122/27」を2進数に変換します。

サブネットマスクが「1」の部分がネットワーク部になり、「0」の部分がホスト部になります。

ネットワークアドレスは、ホスト部が2進数で全て「0」になるアドレスなので「192.168.1.96」になります。
ブロードキャストアドレスはホスト部が2進数で全て「1」になるアドレスなので「192.168.1.127」になります。
ホストアドレスの範囲は、ネットワークアドレスの1つ後~ブロードキャストアドレスの1つ前までの範囲なので「192.168.1.97~126」になります。


【ホストアドレス数の算出】
サブネットマスクからホストアドレス数を算出できます。以下ではサブネットマスク「/27」を例に説明します。
まずサブネットマスク「/27」の2進数表記における「0」のビット数を確認します。サブネットマスクは32ビットなので、「32 - 27 = 5」として求められます。

次にサブネットマスクの「0」のビット数を「n」として、次の公式で計算します。
・ホストアドレス = 2のn乗-2

以上の通り、サブネットマスクが「/27」のときのホストアドレス数は「30」となります。

【サブネット数の算出】
「ホスト部から借用しているビット数」からサブネット数を算出できます。
以下では「192.168.1.122/27」というIPアドレスとサブネットマスクを例に説明します。
「192.x.x.x」はクラスC「/24」に該当します。つまり「192.168.1.x/27」は、ホスト部からネットワーク部に3ビット借用してサブネットを作成していることになります。

したがって、「192.168.1.x/27」で作成できるサブネットワークは「192.168.1.0/27」「192.168.1.32/27」「192.168.1.64/27」「192.168.1.96/27」「192.168.1.128/27」「192.168.1.160/27」「192.168.1.192/27」「192.168.1.224/27」の8つです。
またサブネット数は、ホスト部から借用しているビット数を「n」としたとき、次の公式から求められます。
・サブネット数 = 2のn乗

以上の通り、「192.168.1.122/27」のサブネット数は「8」となります。

【ホストアドレス数に合わせたサブネットマスクの算出】
ホストアドレス数に合わせた、適切なサブネットマスクは下記のように算出できます。

1.1つのサブネットに収容するホストアドレス数を確認
2.ホスト部に必要なビット数「n」を下記の式から求める
「2のn乗-2 ≧ ホストアドレス数」
3.「n」の最小値をホスト部のビット数としてサブネットマスクを表す

例:サブネット1つ当たりのホストアドレス数が300の場合
1.1つのサブネットに収容するホストアドレス数を確認
→「300」

2.ホスト部に必要なビット数「n」を下記の式から求める
「2のn乗-2 ≧ ホストアドレス数」
※このとき「-2」するのはネットワークアドレスとブロードキャストアドレスを除くためです。
→「2の9乗-2 ≧ 300」(n ≧ 9)
ホスト部が9ビット以上あれば、300のホストアドレスを収容できることがわかります。
なおホスト部が9ビットのとき、収容できるホストアドレス数は「510」です。(2の9乗-2)

3.「n」の最小値をホスト部のビット数としてサブネットマスクを表す
2進数表記の場合はネットワーク部を「1」、ホスト部を「0」として、8ビット区切りの2進数で表します。
→「11111111.11111111.11111110.00000000」(「n」の最小値は9なので「0」が右から9個並ぶ)
CIDR表記の場合はネットワーク部のビット数を「/」の後に書きます。
→「/23」
10進数表記の場合は2進数表記を変換します。
→「255.255.254.0」

上に戻る

早く答えを導くコツなどあるでしょうか?

公開日 2022/08/15

LANに対し、新たにホストを追加するときに使用できるサブネットアドレスを求める問題なのですが、
答えを導くのになかなか時間が掛かってしまいます。

私の導き方は、
①指定ホスト数をまかなえるホストbit数を導き出す(2^n-2)
②サブネットマスク確定
③既に使用されているサブネットアドレスで使用できるN/Wの範囲を導き出す。
④[②]で選んだ回答群のN/Wの範囲を導き出す。
⑤[③と④]で被っていないN/Wが答えとなる

みたいな感じで導き出しているのですが、
どうしても1分ないで終わらせることができません。。。

1分内で終わらせる良い方法などあるでしょうか?

1000 0000 = 128
1111 1100 = 252
とか
2^9 = 512
2^5 = 32
とかは頭の中に入っております。

2022/08/15 09:19

選択式なので選択肢の中に必ず答えがあるということを念頭に
この問題の場合で言えば
30台分のアドレスがあればいいから
30+2以上の2の累乗は、32でいいか
だとするとCIDRは
24が256アドレスだから
25で128、26で64、27で32だな
CIDRは27でいいか
あとは選択肢と図を見て、
答えは
192.168.20.128/27
あるいは
192.168.20.96/27
あたりかな?
仮に
192.168.20.96/27
が答えだとしたら
192.168.20.128/27
も答えになって、答えが2つになっちゃうよな
じゃ、
192.168.20.128/27
が答えってことだな
192.168.20.96/27がアウトなら
192.168.20.64/26もアウトだよね
ってことで答え決定

あとは時間との兼ね合いで検算する


コメント

この返信に対して
コメントを記入できます

2022/08/16 22:05

すみません。。。
下記の下りが分からないです・・。

仮に
192.168.20.96/27
が答えだとしたら
192.168.20.128/27
も答えになって、答えが2つになっちゃうよな

192.168.20.96/27 は、
図の
192.168.20.96/28
に確実にかぶるやんって感じだったら、
192.168.20.128/27が答えだ!ってなるんですが・・。


コメント

p ponta0423

2022/08/16 22:05

すみません・・・。 線を入れたら拡大されてしまいました。

r rakkorakko

2022/08/16 22:53

それを別の言い方しただけだよ 日本語が下手でゴメンね

p ponta0423

2022/08/17 18:18

いや、教えて頂きありがとうございます!

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?