アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問の解説で分からない部分があるので、解説できればお願いします。

問 ネットワークに接続されているホストのIPアドレスが“192.168.1.120/28”のとき、そのネットワーク内におけるホストアドレスの値はどれか

解 8

解説 問のIPアドレスより、サブネットマスク長は28ビットである。このため、ホストに割り当てられるビット数は4(=32-28)ビットとなる。また120を2進数数表示すると120=2の6乗+2の5乗+2の4乗+2の3乗となる。したがって、ネットワークアドレス部に存在する2の6乗、2の5乗および2の4乗を除外して考えると2の3乗がホストアドレスとなる。

上記の二行目、ビット数は4(=32-28)ビットの32をどこから導いたのか。また、したがって~の最後の一文の意味がわかりません。

よろしくお願いします。

A 回答 (2件)

IPアドレスの基本について考えてみます。



(1)IPアドレスの長さは32ビットである。
(2)IPアドレスには、ネットワークアドレス部とホストアドレス部がある。
(3)ネットワークアドレス部とホストアドレス部は、サブネットマスクまたはプレフィックス長から求められる。

今回の問に関しては、上記3つのことを知っていれば解くことができます。

"192.168.1.120/28"より、プレフィックス長が28ですよね。つまりネットーワークアドレス部の長さが28ビットであることが分かります。
(ちなみにこのことをサブネットマスクで表すと"255.255.255.240"になります。2進数で書くと"11111111.11111111.11111111.11110000"です。)

ネットワーク部の長さが28ビットということから、おのずとホストアドレス部の長さも決まりますよね。IPアドレスの長さが32ビットなので、
32-28=4となり、ホストアドレス部の長さが4ビットであることが分かります。これが一つ目の質問の答えです。

さて次にホストアドレスの値を求めます。プレフィックス長が28ビットなので、ネットワークアドレス部とホストアドレス部の境界は
"192.168.1.120"の120にあります("192.168.1"までで8*3=24ビットなので)。そして、120を2進数で表すと、"0111 1000"になります。
ちょうど空白のところがネットワークアドレス部とホストアドレス部の境界です。"0111"はネットワークアドレス部である28ビットのうちの
残りの4ビットですから、この問題ではホストアドレスを求めたいので無視します。これが解説でいう「2の6乗…を除外して考える」ということです。

結局、"0111 1000"の後半の4ビットの"1000"がホストアドレスになります。これを10進数に変換すると8になり、ホストアドレスの値となります。

これが解説で言いたかったことだと思われます。
    • good
    • 0
この回答へのお礼

詳しい解説ありがとうございます。
おかげさまでよく分かりました。

お礼日時:2007/04/14 22:01

192.168.1.120


↑これを2進数にすべて直すと32ビットなのです。
11000000.10101000.00000001.01111000

そして(192.168.1.120/28)/28←これの意味は先頭から28ビットまでをマスクするという意味で2進数にするとこうなります。
11111111.11111111.11111111.11110000
11000000.10101000.00000001.01111000
そこで先程の192.168.1.120を並べてみます。(下4桁に注目して下さい)

ネットワークアドレス部に存在する
2の6乗とは(01111000)左から2番目
2の5乗とは(01111000)左から3番目
2の4乗とは(01111000)左から4番目の事です。
なぜこのビットを除外するかと言うと先程の(11111111.11111111.11111111.11110000)をよく見て下さい。
下4桁だけ0が並んでますよね?
つまりこの下4桁の部分がネットワークで使用出来るアドレス範囲内になります。
    • good
    • 0
この回答へのお礼

よく理解できました。
ありがとうございます。

お礼日時:2007/04/14 22:01

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