3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

応用情報技術者試験の勉強をしていた時に、
サブネットマスクの過去問題がしばしば出てきたので、
解き方を整理してみます。

今回とりあげる問題はこちらです。

平成31年春期 午前問題34
出典

question.png

次のIPアドレスとサブネットマスクをもつPCがある。
このPCのネットワークアドレスとして、適切なものはどれか。

IPアドレス:10.170.70.19
サブネットマスク:255.255.255.240  

ア 10.170.70.0
イ 10.170.70.16
ウ 10.170.70.31
エ 10.170.70.255

前提知識

サブネットマスクとは、IPアドレスを、ネットワークアドレス部分とホストアドレス部分の2つに分けて識別するための数値のことです。
二進法表記で、1が並んでいる部分がネットワークアドレスを、0が並んでいる部分がホストアドレスを表します。
具体的な使い方については、問題を解きながら見ていきます。

subnetmask.png

1.IPアドレスとサブネットマスクを二進法表記に置き換える

まずは十進法のIPアドレスとサブネットマスクを、
ドットで区切られた数ごとに二進法表記に置き換えます。

Windowsマシンがあれば、電卓のプログラマーモードを使えばすぐに変換できますが、
試験会場だと手で計算する必要があります。

calculator.png

十進法の数を、商が0になるまで2で割っていき、そのあまりを後ろから並べれば二進法に変換できます。

例:10
10÷2=5あまり0
5÷2=2あまり1
2÷2=1あまり0
1÷2=0あまり1

1010.png

あまりを後ろから順番に並べると、1010

例:170
170÷2=85あまり0
85÷2=42あまり1
42÷2=21あまり0
21÷2=10あまり1
10÷2=5あまり0
5÷2=2あまり1
2÷2=1あまり0
1÷2=0あまり1

10101010.png

あまりを後ろから順に並べると、10101010

このように変換を繰り返すと、次のようになります。

IPアドレス:10.170.70.19
 →00001010.10101010.01000110.00010011
サブネットマスク:255.255.255.240
 →11111111.11111111.11111111.11110000

2.AND演算を用いて、ネットワークアドレスを求める

次に、回答となるネットワークアドレスを求めるために、
二進法に変換したIPアドレスとサブネットマスクでAND演算を行います。

AND演算では、1AND1のみが1となり、それ以外は0になります。

すなわち、
1AND1→1
1AND0→0
0AND1→0
0AND0→0
です。

equation.png

与えられたIPアドレスのネットワークアドレス部分はそのまま持ってきて、
ホストアドレス部分はすべて0に置き換えているのと同じことです。

equation_explanation.png

このようにして、ネットワークアドレス00001010.10101010.01000110.00010000が求められました。

3.求めたネットワークアドレスを、十進法表記に変換する

求めたネットワークアドレスの左からピリオド区切りで3つ目までの部分(第1~3オクテット)は、
与えられたIPアドレスと同じなので、10.170.70です。

一番右の部分(第4オクテット)の00010000を十進法に変換します。

二進法の位は一番右の桁から順に、

1桁目 2^0=1
2桁目 2^1=2
3桁目 2^2=4
4桁目 2^3=8
5桁目 2^4=16
6桁目 2^5=32
7桁目 2^6=64
8桁目 2^7=128

を表します。

binarynumber.png

例:11111111の場合は、上記すべての値を足し算して、
1+2+4+8+16+32+64+128=255が十進法表記になります。

00010000は、右から5桁目のみが1なので、
十進法表記は16になります。

第1~3オクテットまでと合わせて、
イ 10.170.70.16が今回の問題の答えです。

まとめ

今回取り上げた問題は基本問題でしたが、
進数変換やビット演算を理解して、段階を追って考える必要がありました。

サブネットマスクについての問題は頻出なので、まずは基本的な考え方を身に着けて、
一歩ずつ習得するといいと思います。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?