ネットワークアドレスとホストアドレスの違いと性質についてわかりやすく!覚え方や考え方を図解を用いて解説【情報処理技術者-ネットワーク】

ネットワークについて知識を身に着けていくと最初に理解するのに苦労するのがIPアドレスかなと思います。

今回はIPアドレスを理解するうえで欠かせないネットワークアドレスとホストアドレスについてわかりやすく解説いたします。

情報技術者試験でも必須な知識ですのでこれから資格試験を受けようと考えている人の手助けにもなればよいなと思います。問題の解き方について確認したい場合は目次5.からご確認ください。

スポンサーリンク
目次

ネットワークアドレスとホストアドレスとは

ネットワークアドレス

そのIPアドレスがどのネットワークに属しているかを示す部分です。

イメージでいえば、例えば東京都新宿区神楽坂という住所があったら、

東京都の新宿区というのがネットワークアドレス(ネットワーク部)にあたります。

ホストアドレス

そのIPアドレスがどのコンピューターに値するかを示す部分です。

上記の東京都新宿区神楽坂というのであれば

神楽坂というのがホストアドレス(ホスト部)に値します。

グローバル/プライベートIPアドレスの違いとネットワーク部/ホスト部の違いとで似たような違いなので混乱しそうですが、

グローバル/プライベートIPアドレスは対象となる領域が大きいのか小さいのがで適用する住所(アドレス)が変わるもの

ネットワーク部/ホスト部は〇〇県××市△△区といったようにそのアドレスの粒度

になります。

IPアドレスの構成

IPアドレスは32ビットの2進数で構成されます。

ただ、2進数だと人間から見たときにわかりづらいので、8ビットずつに”.(ドット)”で区切られ、それを10進数に表したものがよくみるIPアドレスになります。

上記の内容をもとにIPアドレスはネットワーク部とホスト部とで分解してみることができます。

こうしてIPアドレスは構成されております。

さらにホスト部の値をすべて0にした値、上記でいえば「11000000.10101000.00000001.00000000」つまり、「192.168.1.0」ネットワークアドレスになります。

そしてネットワーク部をすべて0にした値「00000000.00000000.00000000.00000011」つまり、「0.0.0.3」ホストアドレスになります。

サブネットマスクについて

ネットワーク部とホスト部についてはわかったけど、

じゃあどっからどこまでが、ネットワーク部でどれがホスト部になるの?という疑問がわくかもしれませんが、それを表しているのがサブネットマスク、もしくはネットマスクといわれるものです。

サブネットマスクはIPアドレスをその名の通りマスキングする(覆い隠す)もので、IPアドレスと同様の書式で、2進数表記で1の部分がネットワーク部0の部分がホスト部になります。

ネットワーク部を1でマスキングしてるんだと覚えておきましょう。

先ほどのIPアドレスのサブネットマスクを考えると次のようになります。

CIDR表記について

サブネットマスクのほか、CIDR表記といわれるものでネットワーク部がどこからどこまでなのかを示すものがあります。

CIDR表記はサブネットマスク “1” の個数をIPアドレスの後ろに /(スラッシュ) をつけて数値で記載します。

192.168.1.3 /24

こちらもよく見る記法の一つなので一緒に覚えておきましょう。

ネットワークアドレスの求め方

ネットワークアドレスIPアドレスとサブネットマスクの論理積を取った値がネットワークアドレスになります。

難しく書いてますが、要は上で記載した、ホスト部の値をすべて0にしたものがネットワークアドレスということです。

“1” になっている部分の論理積はそのままの値になり、”0″の部分との論理積はすべて0になるからですね。

ホストアドレスは逆にネットワーク部をすべて0にするのでサブネットマスクの0と1をすべて反転させた値と論理積を取ればホストアドレスになります。

ネットワークアドレスとホストアドレスに関する問題

それでは試験用に問題を一個解いてみましょう。

サブネットマスクが 255.255.252.0 のとき,IPアドレス 172.30.123.45 のホストが属するサブネットワークのアドレスはどれか。
1. 172.30.3.0

2. 172.30.120.0

3. 172.30.123.0

4. 172.30.252.0

まずは前提条件を整理します。

1.サブネットマスクは「255.255.252.0」

2.IPアドレスは「172.30.123.45」

上記の条件になります。

上記の条件から求めるものは「ホストが属するサブネットワークのアドレス」です。

一瞬どういう事?となりますが、ホストは要は端末、PCと考えればよいのでPCのおおもとのネットワークのアドレス、住所は何ですか?と聞いております。

なので、条件2. のIPアドレスからネットワークアドレスを求めればよいということです。

1. 条件を整理する。

2. 条件からネットワークアドレスを求める。

3. 選択肢と照らし合わせる

ここまでよろしいでしょうか。良ければ解き方を見ていきましょう。

ネットワークアドレスを求めるにはホスト部のビットを0にしなくてはなりません。

そのために条件1. のサブネットマスクを利用したいのですが、1.は10進数だと0の部分と1の部分がわからないので2進数に直してあげる必要があります。

2進数と10進数の変換についてわからなくなってしまったら以下の記事をご参照ください。

あわせて読みたい
2進数と10進数 それぞれの意味と変換方法 2進数と10進数はプログラムを触っていると頻繁に目にするものですが、実際にどんなものかよくわからないといった人や、わかってたけど忘れてしまったという人は多いので...

255はオール1なので、252ついて考えると2進数は「11111100」になります。

なのでサブネットマスクは「11111111 . 11111111 . 11111100 . 00000000」です。

2. も同様に考える必要がありますが、上位16ビットは値が変わらないので再度計算する必要はありません。

なので残りの16ビットを考えます。123の2進数は「1111011」です。あれ?7ビットしかないじゃんと思いますが、残りのビットは上位を0で埋めます。つまり「01111011」です。

45は2進数で「101101」なので「00101101」です。よって下位16ビットは「01111011 . 00101101」です。

ここで0にあたる部分は下位10ビットなので下位10ビットを0に変えます。すると「01111000 . 00000000」になります。

これをもう一度10進数に戻してあげます。全部0の下位8ビットは10進数にしても0ですので、「01111000」を10進数に変えます。そうすると「120」です。

つまり、ネットワークアドレスは「172.30.120.0」です。よってこのIPアドレスの選択肢が回答になるので、2. が正解です。

1. サブネットマスクからホスト部の範囲を求める。

2. ホスト部に影響する個所のIPアドレスを2進数に変える。

3. IPアドレスのホスト部をすべて0にして10進数に戻してネットワークアドレスを求める。

いかがでしたでしょうか。

以上で、ネットワークアドレスとホストアドレスについての要点は抑えられたかなと思います。

また、試験としては出題頻度の高い問題ですので資格対策としてはしっかりと押さえておきましょう。

今回はここまでです。

お疲れ様でした。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

本業ではPHPを使ったWEBアプリやJavaを使用した基幹アプリを作成しております。Pythonは個人的に勉強しており、E資格を取ったりしたおかげで、業務でAIの研究とかも任されるようになりました。学習のアウトプットのために本サイトを運営しておりますが、これからPythonを学ぶという人のお役に立てればいいなと思います。わからないことや調査して記事にしてほしいことがございましたらご連絡いただけると幸いです。

コメント

コメントする

目次
閉じる