平成28年秋季 問33. アドレスクラス
問題文「IPアドレス208.77.188.166は、どのアドレスに該当するか。」
解答群
ア. グローバルアドレス
イ. プライベートアドレス
ウ. ブロードキャストアドレス
エ. マルチキャストアドレス
ざっくりとだが、ウ.エ.は特定のアドレスになるのではないか?ということで対象から外し、プライベートアドレスは先頭が10.xxxとか192.xxxとか特定のものになるはずだからという単純な理由で正解したが、細かく見ていきたいと思い調査範囲にした。
まず「応用情報処理技術者試験ドットコム」さんの解説を基に、クラスによってプライベートアドレスの先頭部分が決まっているという点について見ていきたい。
「プライベートアドレス」「クラス」という文字列で検索したトップに「@IT」さんのページ「
プライベートIPアドレス」がヒットした。いつもお世話になっております(*´▽`*)
このサイトさんの抜粋によると、以下のようになっているらしい
クラスA: 10.0.0.0~10.255.255.255(10.0.0.0
/8)
クラスB: 172.16.0.0~172.31.255.255(172.16.0.0
/12)
クラスC: 192.168.0.0~192.168.255.255(192.168.0.0
/16)
つまり、上記のアドレスの範囲に当てはまればプライベートネットワークと言えるし、それ以外ならグローバルアドレスであると考えてよさそうである。
上の対応表の中で、赤字で記されている部分についてはサブネットマスクの記述方式で、よりわかりやすく書くと以下のようになる:
クラスA:255.0.0.0
クラスB:255.240.0.0
クラスC:255.255.0.0
これは初めてみると面食らう表現だと思う。実際俺も初めて見た時には意味がわからなかった。
簡単にまとめると、「2bit表記した時の上位?ビットまでがサブネットですよ」と書いているわけで、「サブネットマスク」「表記」でグーグル検索するとトップに表示される、やはり「@IT」さんの「
IPアドレスとサブネットマスクをまとめて表記する」に詳しくまとめられている。
しかしここで余計な疑問が出てくる。クラスBでは255.240.0.0となっているはずなのに「172.16.0.0~172.31.255.255」と「16~32(便宜上)」に絞られているのは何故だろうか?
「240」をビット変換すると「11110000」で、「16」は「00010000」、「32」は「00100000」となる。
この部分で「172.16.xxx.xxx」を表現すると
「
10101100.00010000.xxxxxxxx.xxxxxxxx」で赤字で表現されている部分までが12桁(2進数)なので、それ以降はプライベートに割り振ってよい数字となる。
当然、第2オクテットが「32」になると桁が上がってしまい12桁までの固定が崩れてしまう「
10101100.00100000.xxxxxxxx.xxxxxxxx」ので、桁が上がる寸前の「172.31.255.255」までが範囲になるというわけだ。
というか。。。途中で切るなっ( ゚Д゚)
で、なんで172であり、192であるのか?と思って調べてみたが、簡単には結論が出てこなかったため、それぞれをビット変換して並べてみた。
クラスA:00001010
クラスB:10101100
クラスC:11000000
想像に過ぎないが、人間の目で見てわかりやすいから・・・とかいう理由ではなかろうか。。。いや、あくまで想像に過ぎないのは過ぎないのだが・・・
次にブロードキャストアドレスとはなにか?だが、簡単にウィキペディアの参照だけにしたい。「
ブロードキャストアドレス」を簡単にまとめると、サブネットマスク以外のビットを全て「1」にした状態「192.168.255.255(クラスCを例にして)」は「そのプライベートアドレスに接続されている全ての端末に対する発信としよう」と決めた(提唱した)人がいるからである。
詳細は上記サイトを見てもらいたいが、確かにそのような必要があった場合に便利だろうとは思う。なぜかは割愛させていただく。
次にマルチキャストアドレスだが、色々探したところ「ネットワークのおべんきょしませんか?」さんの「
マルチキャストってなに?マルチキャストの場合」にすごくわかりやすく説明されている。
詳細は疲れてきたので上記サイトに内容を譲りたいが、簡単に言うとグループ化をすることで「特定の複数」の端末に対してデータを送信することができるようにするアドレスだということらしい。
ついでにこのサイトさんでは非常に有益な情報が得られる「IPアドレスには、クラスA~Eがあって、クラスA~Cは普通に使うユニキャスト用のIPアドレス、クラスDがマルチキャスト用、クラスEが実験目的で予約されています。(引用:同上)」とある。
ちなみにこのクラスDアドレス先頭部分は
クラスD:11100000
となっており、やはり先頭からの1のビットの数でクラスを決めている⇒わかりやすい というもののようだ。
上記サイトさんをざっくりと眺めてみたところによると、非常にネットワークのことに関してわかりやすく書いておいでなので、時間があれば見てみたいサイトではある(時間ができるかは別問題である)。
今日は疲れたので以上にしたい。