情報処理技術者試験の指導をしているとネットワーク分野ではIPアドレスとサブネットマスクのあたりで悩んでしまう初学者を時々見かけます。
なんとかそういう人たちのヒントにならないかなぁ、と思ってちょっと書いてみることにしました。
でもこれでもまだ解りにくかったらゴメンなさい。あと、あくまで試験勉強としての解法なので実務の話とは切り離して考えて下さいね。ついでに超簡略化して書いてるので細かい所はかなりすっ飛ばしてたりします。
※ ただし何か教本を持っていて、
進数変換はできることが前提ね!
IPアドレスのアドレスクラス(基本情報 平成19年 春 午前)
まず
IPアドレスというのは端末(=ネットワークのなかにあるコンピュータ)に割り当てられるネットワーク上での住所みたいなもん。言い換えるとIPアドレスを持っているコンピュータは何かしらのネットワークに所属しているわけです。
で、コンピュータが所属してるネットワークには大きなものもあれば小さなものもあるんです。
このネットワークの大きさをとりあえず大雑把に3つの「アドレスクラス」にわけていて、大きい順に「クラスA→クラスB→クラスC」と呼んでいます。
さて、ここで過去問題を。
平成19年 春 午前
問53
IPアドレス 192.168.10.10 のアドレスクラスはどれか
ア クラスA
イ クラスB
ウ クラスC
エ クラスD
おそらく基本情報の学習者であればそれぞれの教本を持っていると思うので、IPアドレスのアドレスクラスについてのページを見てみて下さい。ない人は
WikipediaのIPアドレスのところね。
こいつの解き方は、十進数で書かれてるIPアドレスの先頭8bitを二進数に変換してどんな数字から始まってるかを見ればいいのです。この問題の場合だと「192.168.10.10」の「192」にあたる部分ですね。
二進数にしたときにこの部分が
"0"から始まっていれば"クラスA"
"10"から始まっていれば"クラスB"
"110"から始まっていれば"クラスC"
です。
とにかくこれだけ憶えておいて下さい!
この問題では先頭8bitが十進数で"192"なので二進数に変換すると"11000000"になります(まだできない人はコレで→
進数計算機!)。
"110"から始まっているのがわかりますね。つまりこのIPアドレスは"
クラスC"のネットワークのなかにいるということになるんです。似たような問題が出てきてもこのやりかたを使えばちゃんと答えが出ますよ。
これでABCのアドレスクラスはもう大丈夫だお(^ω^)
サブネットマスクって何よ?(基本情報 平成19年 秋 午前)
電話番号って市外局番がありますよね?例えば東京なら"03"、新潟なら"025"みたいな電話番号の先頭に来るアレ。
IPアドレスにも似たような仕組みがあります。
それが「ネットワークアドレス部(市外局番みたいなもの)」と「ホストアドレス部」です。
電話番号の場合、だいたい東京23区内ではみんな"03"から始まるのは決まってますよね。実はIPアドレスも「同じネットワークのなかにいる端末のIPアドレスは決まった数字(ネットワークアドレス部)から始まっている」のです。
でもIPアドレスの場合、電話番号と違ってどこまでが市外局番(ネットワークアドレス部)なのかがちょっとわかりにくいんです。
そこで「どこまでが市外局番なのか」がわかるようにIPアドレスとは別に用意されているのが「
サブネットマスク」というものなのです。
例えば
(十進数で)
IPアドレスが
192.168.10.10
で
サブネットマスクが
255.255.255.0
だったとしましょう。
このIPアドレス(192.168.10.10)はいったいどこまでがネットワークアドレス部なのか。
それを知るためにはサブネットマスクを二進数に変換します。
それだけでいいんです。
255.255.255.0 は二進数にすると
11111111.11111111.11111111.00000000
になります。
ここで1になった部分はネットワークアドレス部。市外局番です。
そして0になった部分はホストアドレス部と呼ばれ、個別の端末に割り振られる番号です。
ということは、ここでIPアドレス(192.168.10.10)も二進数に変換してあげると、
11000000.10101000.00001010.00001010
なので、このIPアドレスにさっきのサブネットマスクを照らし合わせると
11111111.11111111.11111111.00000000 (←これがサブネットマスク)
11000000.10101000.00001010.00001010 (←これがIPアドレス)
となります。
赤い部分がネットワークアドレス部で
青い部分がホストアドレス部です。
さて、ここで例にあげた"255.255.255.0"というサブネットマスクは情報処理技術者試験ではとても頻繁に出てきます。
なぜなら、この"255.255.255.0"はさっきの「アドレスクラス」で言うと「
クラスC(ちっちゃいネットワーク)」の大きさにあたるものなのです。
実はネットワークの大きさというのはホストアドレス部の多さによって決まります。
ネットワークアドレス部は市外局番のような扱いなので同一のネットワーク上では常に同じ数字が割り当てられますが、ホストアドレス部には端末固有の番号を割り当てるので、このホストアドレス部の数が多いほどたくさんの端末を設置できる、つまり大きなネットワークになるというわけです。
つまりサブネットマスクで見ると
二進数にしたときに"0"になる部分が多いほど大きなネットワークになるのです。
参考までに「クラスA,B,C」それぞれをサブネットマスクの形で見ると
クラスA 255.0.0.0
クラスB 255.255.0.0
クラスC 255.255.255.0
となります。
ね。やっぱりクラスAがいちばん大きくてだんだん小さくなってるのがわかるでしょ?
でも、でもね。
おっと、ここからがこの章の本題です。
アドレスクラス(A)(B)(C)でネットワークの大きさを(大)(中)(小)に分けられるのになんでいちいち面倒くさいサブネットマスクなんか使うのかな?ってこと。
それは
サブネットマスクを使うとアドレスクラスよりもさらに細かくネットワークの大きさを調整できるからなのです。さっき例に出したクラスCのサブネットマスクは
11111111.11111111.11111111.00000000
(
255.255.255.0)
だったけど、別にA,B,Cっていう3つに区別されてるアドレスクラスを気にしなければ
11111111.11111111.11111111.11110000
(255.255.255.240)
なんていう「クラスCよりもっとより小さいネットワーク」にしたっていいわけですよね。実際。
それができる柔軟性がサブネットマスクを使う大きな理由なのです。
さて、長くなったのでここで過去問題を見て今日のところは終わりにしましょう。
平成19年 秋 午前
問54
IPアドレスに関する記述のうち、サブネットマスクの説明はどれか
ア 外部のネットワークへアクセスするときに、ゲートウェイが一つのIPアドレスを複数の端末で共用させるために使用する情報である。
イ クラスA〜Dを識別するために使用する4bitの情報である。
ウ ネットワーク内にあるすべてのノードに対して、同一の情報を送信するために使用される情報である。
エ ホストアドレス部の情報を分割し、複数のより小さいネットワークを形成するために使用する情報である。
さてさて、ここまでしっかり読み込んでくれた人には答えは自ずと見えていると思います。
答えはまた別のエントリで。
それにしてもなんでこんなに長ったらしくサブネットマスクの話をしたかというと、実は次の年の基本情報 平成20年 春 秋 で、ここで書いたことを踏まえたサブネットマスクの問題が出ているんですよ...。
こんな記事も書きました
基本情報午後対策(ネットワーク/セキュリティ分野)平成18年春 "問3" / 基本情報午後対策(ネットワーク/セキュリティ分野)平成18年春 "問2" / 【情報処理 試験】画像(静止画)まとめ / ITパスポート試験学習者のための法律・ガイドライン・標準化用語(ほぼ)完全Wikipediaリンク集 / ITパスポート試験学習者のためのマルチメディア用語(ほぼ)完全Wikipediaリンク集 / ITパスポート試験学習者のためのネットワーク用語(ほぼ)完全Wikipediaリンク集 / 画像のカラーモード(RGBとCMYK)について / 平成19年基本情報午前問題に見るアドレスクラスとサブネットマスクの解法