マナビング基本情報技術者

IPv4アドレスのクラス判定で境界値をどう見る?

基本情報技術者試験 平成29年度春期 午前 問34 / ネットワーク › 通信プロトコル

過去問にチャレンジ

平成29年度春期 午前 問34

IPv4アドレス 128.0.0.0 を含むアドレスクラスはどれか。

  1. ア

    クラスA

  2. イ

    クラスB

  3. ウ

    クラスC

  4. エ

    クラスD

会話形式の解説

講師講師
クラスフル方式での判定です。まず、第1オクテット、つまり最初の区切りの数値に注目します。
受験者受験者
最初は128ですね。クラスAとクラスBの境目だった気がするので、どちらに含まれるか迷います。
講師講師
クラスAの範囲は0~127、クラスBは128~191です。128はどちらの範囲に入りますか。
受験者受験者
128はクラスBの最初の値です。クラスAの上限127を超えています。
講師講師
そのとおりです。したがって、正解はクラスBです。
受験者受験者
残るクラスCとクラスDも、最初の数値で外せますか。
講師講師
はい。クラスCは192~223、クラスDは224~239です。どちらも128を含みません。
受験者受験者
範囲を忘れたときは、2進数でも確かめられますか。
講師講師
128を2進数にすると10000000です。先頭2ビットが「10」なので、クラスBと確かめられます。
受験者受験者
境界の値なので、127までがクラスA、128からがクラスBと確認するのですね。
講師講師
はい。境界にある値は、範囲の端を含めて照合すると判断できます。

まとめ

クラスフル方式では、IPv4アドレスの第1オクテットからクラスを判定できます。クラスAは0~127、クラスBは128~191なので、128.0.0.0はクラスBです。クラスCは192~223、クラスDは224~239で、いずれも128を含みません。128を2進数にしたときの先頭2ビット「10」からも、クラスBと確認できます。

解答・解説

正解はイです

この問題のテーマ

IPv4アドレスの第1オクテットから、クラスフル方式でのアドレスクラスを判定する問題です。

解き方の考え方

先頭の数値である128を取り出し、各クラスの第1オクテットの範囲と照合します。128はクラスBの範囲の最初の値です。2進数では10000000で、先頭2ビットがクラスBを表す「10」になることでも確かめられます。

選択肢ごとの解説

  1. ×ア  クラスA
    クラスAの第1オクテットは0~127です。問題の128はその上限を超えるため、クラスAには入りません。
  2. ○イ  クラスB
    クラスBの第1オクテットは128~191です。128.0.0.0の先頭の数値は128なので、この範囲に入り、イが正解です。
  3. ×ウ  クラスC
    クラスCの第1オクテットは192~223です。問題の128はこの範囲より小さいため、クラスCには入りません。
  4. ×エ  クラスD
    クラスDの第1オクテットは224~239です。問題の128はこの範囲より小さいため、クラスDには入りません。

POINT

  • クラスフル方式では、IPv4アドレスの先頭のビット列でクラスを区別します。
  • 第1オクテットを見れば、この問題の各選択肢を範囲で照合できます。
  • 範囲の境界にある値は、どちらの範囲に含まれるかを確認します。

※出典:平成29年度春期 基本情報技術者試験 午前 問34