重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

ドットコムマスター・ダブルスターの勉強をしています。
過去問を解いているといつも下記のような問題でつまづいてしまいます


サブネットマスクから使えるIPアドレスの数を割り出し、
二進数を十進数に直して…と
1つずつじっくり探っていけば、これは○だろう、これは×かな、等と
とまだなんとなく分かるのですが。。。

このような問題ではどこに注目して、解いていけばよいでしょうか?
コツやヒントのようなものがあれば是非ご教授下さい。
よろしくお願い致します。



(2006年12月期の第2部の過去問題:第7問より)
問題:
ホストに対するTCP/IPの設定として、LAN内およびインターネットと正常に通信可能な組み合わせのものを、以下の表の選択肢から全て選びなさい。

IPアドレス   デフォルトGW   サブネットマスク
a 192.168.168.224   192.168.168.254   255.255.255.244
b 10.0.0.1   10.1.0.1   255.0.0.0
c 192.168.7.1   192.168.7.15   255.255.255.240
d 172.16.255.0   172.16.255.254   255.255.254.0
e 172.16.0.254   172.16.0.253   255.255.255.252

答え:b.d.e

A 回答 (1件)

ホストが使用するデフォルトゲートウェイは,そのホストと同じネットワーク上に存在する必要があります。

両者のIPアドレスを比較して,サブネットマスクにビット1が立っている範囲が同じ値であれば,同じネットワーク上に存在するといえます。

サブネットマスクに登場する10進数は次の9つ。暗記しておくとよいです。
(00000000)2 = (0)10
(10000000)2 = (128)10
(11000000)2 = (192)10
(11100000)2 = (224)10
(11110000)2 = (240)10
(11111000)2 = (248)10
(11111100)2 = (252)10
(11111110)2 = (254)10
(11111111)2 = (255)10

サブネットマスクが255である箇所はその8bit全部が同じ値であればよいわけですから2進数に変換する必要はなく10進数のままで同じ値かどうか明らかに比較できます。255以外である箇所のみ2進数に変換して比較します。0の箇所は比較の必要なし。

●a
host 192.168.168.224
gatw 192.168.168.254
mask 255.255.255.244
サブネットマスクに値244は決して登場しない【誤】

●b
host 10.0.0.1
gatw 10.1.0.1
mask 255.0.0.0
両IPアドレスは先頭1バイトが共通しているのは明らか。両IPアドレスの残りの3バイトもオール0でもオール1でもない【正】

●c
host 192.168.7.1
gatw 192.168.7.15
mask 255.255.255.240
先頭3バイトが共通しているのは明らか。残りの1バイトを2進数で比較。
(1)10 = (0000 0001)2
(15)10 = (0000 1111)2
(240)10 = (1111 0000)2
両IPアドレスは,maskがビット1である箇所は共通であるため同じネットワーク上にいるが,gatwのIPアドレスは「ホスト部がオール1=ブロードキャスト用」であるため機器に割り当て不可【誤】

●d
host 172.16.255.0
gatw 172.16.255.254
mask 255.255.254.0
先頭2バイトが共通しているのは明らか。残りの2バイトを2進数で比較。
(255.0)10 = (1111111 1 00000000)2
(255.254)10 = (1111111 1 11111110)2
(254.0)10 = (1111111 0 00000000)2
両IPアドレスは,maskがビット1である箇所は共通であり,maskがビット0であるホスト部はオール0でもオール1でもない【正】

●e
host 172.16.0.254
gatw 172.16.0.253
mask 255.255.255.252
先頭3バイトが共通しているのは明らか。最後の1バイトを2進数で比較。
(254)10 = (111111 10)2
(253)10 = (111111 01)2
(252)10 = (111111 00)2
両IPアドレスは,maskがビット1である箇所は共通であり,maskがビット0であるホスト部はオール0でもオール1でもない【正】

この回答への補足

×host (1100 0000)2
○host (1110 0000)2

補足日時:2007/06/29 18:57
    • good
    • 0
この回答へのお礼

ご丁寧なご回答ありがとうございます。
なるほど、サブネットマスクに登場する10進数と2進数の関係を
まるごと丸暗記してしまうと確かに分かり易いですね。

aのサブネットマスクの値は私の入力ミスでしたm(__)m
正しくは下記の通りです。

●a
host 192.168.168.224
gatw 192.168.168.254
mask 255.255.255.224

この場合ですと255.255.255なので先頭から3バイトが共通なのは明らか。
残りの1バイトを比較すると
host (1100 0000)2
gatw (1111 1110)2
mask (1110 0000)2
hostのIPがオール0でネットワークアドレスそのものなので×
ということですね。

お礼日時:2007/06/29 18:55

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