IPアドレスが、210.94.75.10で、サブネットマスクが255.255.255.248のときのネットワークアドレスは次のどれか。
ここでは、ネットにあった問題を任意で考え、
回答を行っています。
IPアドレスが、210.94.75.10で、サブネットマスクが255.255.255.248のときのネットワークアドレスは次のどれか。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11140402471 より
質問には選択肢が書かれておらず、
選択肢は不明ですが「答えが210.94.75.8」であると書かれています。
実際に解を求めてみます。
とにかく速攻で答えが欲しい場合の対処
基本的な解の求め方は後述するとして、
このような問題のもっとも簡単な求め方から。
まず、サブネットマスクに着眼します。
255.255.255.248
この場合「255.255.255.nnn」となっていますので、
第四オクテットだけ考えればいいことは明白です。
次に、256-248を計算します。
※256=2の8乗です。
256 – 248 = 8
この8という数字は、
このサブネットマスクでネットワークを構成した際に、
1つのネットワーク内のIPアドレス数を示しています。
これは、0~7、8~15、16~23・・・と8IPアドレスごとに、
サブネットワークが構成されるということです。
問題ではIPアドレスが「210.94.75.10」となっていますので、
第四オクテットが「10」のとき、
どのサブネットワークに含まれるかを考えます。
※8の倍数の間隔に収まる位置を考えます。
8 < 10 < 15
の位置に10が含まれています。
8と15はそれぞれネットワークIP、ブロードキャストIPになります。
ネットワークIP: 210.94.75.8
ブロードキャストIP: 210.94.75.15
解は「210.94.75.8」となります。
こういうタイプの問題では、
ビットを考えることさえ必要ないので簡単です。
これはサブネットマスクの最後の値が、
構成可能なサブネットワークの最後のネットワークIPを示すことを利用しています。
今回の例で言えば、
210.94.75.0、210.94.75.8、210.94.75.16、210.94.75.24・・・と続き、
210.94.75.232、210.94.75.240、ときて、
210.94.75.248 が最後のネットワークIPです。
サブネットマスクは、255.255.255.248 一緒です^^
最後のネットワークIPから、ブロードキャストIPまでの範囲は、
「210.94.75.248 – 210.94.75.255」ですので、
「248、249、250、251、252、253、254、255」で8個です。
(256から248を引いたのは、248自体を含むためです)
先ほど求めた8は、この1ネットワークのIP数になっているのです。
また、サブネットマスクが255.255.255.248の場合、
ネットマスクでは「/29」となりますが、
「210.94.75.8/29」というネットワークと
同列のサブネットワーク(210.94.75.0/29 等)は、
256 / 8 = 32 サブネットワークが構成可能です。
サブネットワークの構成可能数も、こうして簡単に求まります。
尚、以下のページでは「210.94.75.8/29」を入力すると、
この32ネットワークが確認できます。
正式な解の求め方
210.94.75.10で、
サブネットマスクが255.255.255.248のときの
ネットワークアドレスを求めるので、
まずはサブネットマスクをビットに戻しますが、
これも
256 – 248 = 8 をします。
ホストビットの桁数を求める
次に、8が2の何乗かを考えます。
頭の中で、呪文を指折り唱えます。
にーよんぱーいちろくざんにーろくよんいちにっぱにごろごーいちに
2,4,8,16,32,64,128,256,512 で、
指3本目なので、2の3乗であることがすぐに求まります。
2の3乗なので、ホストビットは3になります。
サブネットマスクは「ホストビット部分がすべて0である」ことから、
第四オクテットの末尾3桁が0であることがわかります。
11111111.11111111.11111111.11111000
念のため「11111000」をWindows電卓で10進数に戻すと、
「248」なのを確認できます。
手元にツールやWindows電卓がないような時も、
紙とペンがあれば手計算でも確認することができます。
IPアドレスからネットワークビットを求める
IPアドレスが、210.94.75.10です。
サブネットマスクが第三オクテットまで255ですから、
IPアドレスでも第三オクテットまでは無視します。(共通で不変なため)
第四オクテットの「10」に着眼し、10をビットパターンに変換します。
って、頭でこれがやりにくいんですよね。。。
質問サイトなどでは「10はビットで「1010」なので」と、
さらっと書かれています。
でも、ビットに馴染みがないとこの変換がそもそも「なんで?」なんですよね。
単純に2の3乗=8
2の1乗:2 はビットで10
2の2乗:4 はビットで100
2の3乗:8 はビットで1000
乗数の値が、0の個数を示していて、
1繰り上がった状態なのが分かります。
この法則を覚えておくと、
ビットで8を表すと、1000
10-8=2 が後不足していますので、
2の1乗:2 はビットで10 を求めて、
結果、10は、
1000+10 = 1010
※厳密には足し算ではなく、これはビット和です。
どちらかに1が立っているビットに1を立てるという処理です。
このルールが分かっていると、
手計算でどんな値のビットパターンでも単純作業で求めることができます。
話がそれましたが、
10のビットパターンは「1010」ということがわかりました。
IPアドレスのフォーマット8桁に直します。
頭に0を付け「00001010」となります。
サブネットマスクはビットに1が立っている部分を、
ネットワーク部とし、共通とするという意味ですので、
サブネットマスクのビットパターンとのビット積を計算します。
ビット積とは普通の掛け算と同じで、
1×1=1、1×0=0、0x1=0 で両方が1なら1になるということです。
まず、求めたサブネットマスクのビットパターンと、
IPアドレスの第四オクテット部のビットパターンを縦に並べて、
ビットパターンを比較します。
サブネットマスクの末尾3桁以外はすべて1なので、
その部分はIPアドレスのビットパターンがそのまま採用されます。
逆に、サブネットマスクの末尾3桁は0ですので、
IPアドレスのビットパターンが何であれ、すべて0になります。
結果として、以下のように第三オクテットまでの値は、
ビットパターンを計算していませんが、
IPアドレスの値がそのまま採用されることがわかります。
また、第四オクテットの部分は、
マスクされて残った部分と0がセットされた部分で構成された、
「00001000」がビットパターンとして残りました。
ここまで求まりましたので、あとは「00001000」を、
10進数に戻して終了です。
この投稿を読んできた人には、簡単に戻せるはずです。
1000は0が3個あります。
これは、2の三乗ですから、
2^3=8
00001000(2進数)= 8(10進数)
これで、めでたくネットワークIPアドレスが求まりました。
解は「210.94.75.8」となります。
ね、簡単ですよね。
さいごに
これまでIPアドレス関連のツールを作成したりしてきましたが、
質問サイトなどを拝見していて思ったのが、
試験など手元に電卓もツールもない状態で、
こうした問題を解く必要があるのではないかと思いました。
その為、今後の問題解説については、
あくまでも手計算を前提として紐解いていこうと思っています。
本サイトで公開しているツールについては、
十分にテストは行っておりますが個人で作成している為、
潜在的なバグがないとは言い切れません。
その為、ツールを用いた結果については十分検証の上ご利用ください。
当サイトおよび、管理人は如何なる損害もその責を負いません。
当サイト内のコンテンツおよび画像において、
出典・引用の外部著作権者の明記がないものは、
すべて管理人による著作物です。
当サイトでご紹介しておりますコンテンツの著作権の放棄は致しません。
サイト内コンテンツを引用される際にはご連絡は不要です。
ただし、出典元として当サイト(個別記事)へのリンクをお願いいたします。
申し訳ございませんが、無断転載、複製をお断りさせて頂いております。
コンテンツを有益であると感じていただけましたら非常に光栄です。
ありがとうございます。
公開日:
最終更新日:2019/06/20