【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

下記の問題がわかりません。

サブネットが255.255.255.224のネットワークに接続されたあるホストの
IPアドレスが202.16.0.180のとき、このネットワークに接続されるホストに
割り当てられるIPアドレスの範囲はどれか?

ア 202.16.0.160~202.16.0.191
イ 202.16.0.161~202.16.0.190
ウ 202.16.0.180~202.16.0.255
エ 202.16.0.181~202.16.0.254


サブネットマスクは2進数にして
11111111.11111111.11111111.11100000で、
ホスト最後の8bitは10110100だと思いますが、上記の問題を解く糸口がわかりません。

A 回答 (2件)

ネットマスクとは、ネットワークが同一であるかどうを判定するものです。


Cクラスのネットワークの場合
255.255.255.0で
つまり、上位の3バイトが同じものが同じネットワークと判定されます。

サブネットマスクとは、
例えば、Cクラスのネットワークでは、
(ホストアドレス:4バイト目で)1~254のアドレスが使えますが、これを上位ビットをネットマスクに含めることで、ネットワークを分割しようとするものです。
つまり同一ネットワークであるかどうかという判定をクラスのネットマスクより長い部分で判定します。
問いのネットワークのサブネットマスクは、
書かれている通りなので、
上位27ビットで同一ネットワークなのかどうかを判定することになります。
つまり上位27ビットがネットワークアドレスで
下位5ビットをホストアドレスとして使用することになります。
つまり、使えるアドレスは、
11111111.11111111.11111111.10100000
から
11111111.11111111.11111111.10111111
までいうことになります。
この時点でウ・エは、該当しないことがわかります。
160~191
161~190
の違いですけど、
Cクラスのホストアドレスとしては、両方有効なアドレスですが、
最初に述べたように、ネットワークマスクとして使うアドレスは、マスクであるので、0のホストアドレスは使いません。
同じように、ホストアドレスとして全てのビットが立っているアドレスは、ブロードキャストアドレスとして使用するので、ホストアドレスとしては使用しません。
よって、
イ 202.16.0.161~202.16.0.190
が正しいと思われます。
ちなみに、Cクラスとしては正しいアドレスなので、
アが使われる場合もあります。それで、ネットワークが動く場合もあるとは思いますが、本来はイが正解だと思います。
    • good
    • 0

質問にはネットワークアドレスはいくつという直接的なものは無く、サブネットマスクと、そのネットワーク上の、あるホストのIPアドレスだけが示されています。


という事で、サブネットマスクとIPアドレスから、そのネットワークアドレスを求めて、そこから範囲が解ります。
11111111.11111111.11111111.11100000
11001010.00010000.00000000.10110100
ANDを取ります。
11001010.00010000.00000000.10100000
202.16.0.160
これがネットワークアドレス(ネットワーク部)ですね。
ホスト部は、
00000~11111
の32個ありますが、
00000はネットワークアドレス用、
11111はブロードキャストアドレス用
に割り振られていますので、ホストには割り当てられませんので、
00001~11110
1から30の30個になります。
答えはイですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!