連載
» 2008年05月15日 00時00分 公開

ネットワークの基礎を学習する CCNA対策講座(8):サブネットマスクの計算をマスターする (1/2)

本連載では、シスコシステムズ(以下シスコ)が提供するシスコ技術者認定(Cisco Career Certification)から、ネットワーク技術者を認定する資格、CCNA(Cisco Certified Network Associate)を解説します。CCNAは、2007年12月に改訂されたばかりで、2008年1月現在、新試験の情報がまだ少ない状況です。よって本連載は、改訂前の試験(640-801J)で解説をしますが、新試験の解説が可能になり次第、新試験(640-802J)も含めて解説していきます。

[ゴールデンフォレスト株式会社,@IT]

 前回の「TCPで、確実&効率よくデータを送受信しよう」では、3ウェイハンドシェイクとTCPウィンドウ制御について学習しました。今回は、コンピュータ通信には不可欠ともいえるIPアドレスを学習します。はじめに、2進数から10進数への変換、またはその逆の計算を習得しましょう。

IPアドレス

 TCPやUDPで使用されるホストの識別にはIPアドレスが使用されます。IPアドレスとは、TCP/IPネットワーク上で個々の通信対象を識別するための番号で、いわば個々のコンピュータにデータを送る際に使用されるあて先のようなものです。IPアドレスの定義にはIPv4とIPv6がありますが、まずはIPv4で説明します。

図1 IPアドレスの区画 図1 IPアドレスの区画

 IPアドレスは、32ビットで表現しますが、2進数で表現すると理解しにくいため、通常は8ビットずつの区画に区切り、10進数で表現します。この1つの区画を「オクテット」(「octet」は8重奏や8個1組の意味)といいます。

 1つのオクテットは8ビットのため、2進数の8けたは、2の0乗〜2の7乗の値が対応し、10進数では、0〜255の値を扱うことができます。8けたの2進数表記は、10進数で考えると「128、64、32、16、8 4、2、1」という数値と対応付けることができます。

けた 8 7 6 5 4 3 2 1
  2の7乗 2の6乗 2の5乗 2の4乗 2の3乗 2の2乗 2の1乗 2の0乗
10進数 128 64 32 16 8 4 2 1

 例えば、172という10進数の値は、「128+32+8+4」に分解できるため、2進数では、「10101100」になります。

10進数 128 64 32 16 8 4 2 1
2進数 1 0 1 0 1 1 0 0

上記の対応付けは、2進数を10進数に対応付けるにはよいのですが、10進数を2進数に対応付ける場合には先に分解しなくてはならない分、大変かもしれません。図2のように、10進数を2で割り、その結果をさらに2で割っていくと最後の結果と余りを下から並べていけば2進数の表現になります。

図1 10進数の数を2で素因数分解し、2進数を求める 図2 10進数の数を2で素因数分解し、2進数を求める

確認問題1

問題

 「11011111.11110100.01011001.00110111」を10進数で表現した結果を選択しなさい。

a. 223.244.88.51

b. 224.242.87.52

c. 223.244.89.55

d. 224.242.86.53

正解

 c

解説

 8けたごとに10進数で表現するには、128、64、32、16、8、4、2、1という数字に対応させ、2進数の1のものを加算すれば10進数になります。

第1オクテット→128+64+16+8+4+2+1=223
10進数 128 64 32 16 8 4 2 1
2進数 1 1 0 1 1 1 1 1

第2オクテット→128+64+32+16+4=244
10進数 128 64 32 16 8 4 2 1
2進数 1 1 1 1 0 1 0 0

第3オクテット→64+16+8+1=89
10進数 128 64 32 16 8 4 2 1
2進数 0 1 0 1 1 0 0 1

第4オクテット→32+16+4+2+1=55
10進数 128 64 32 16 8 4 2 1
2進数 0 0 1 1 0 1 1 1

 問題の選択肢では、第3オクテット、または第4オクテットだけを変換してみれば、対応する値が分かるため、正解の選択肢をすばやく見つけ出すことができます。ちなみに、選択肢aは「11011111. 11110100. 01011000. 00110011」、選択肢bは「11100000.11110010.01010111.00110100」、選択肢dは「11100000. 11110010.01010110.00110101」の10進表記になります。

確認問題2

問題

 IPアドレス「179.63.181.21」を2進数で表現しているものを選択しなさい。

a. 10011100.01001111.11000111.00000111

b. 10110011.00111111.10110101.00010101

c. 10110010.01000001.10111000.00010111

d. 10000110.10101100.00100001.11000111

正解

 b

解説

 「179.63.185.21」をオクテットごとに計算します。結果のけたが小さいものは、上位ビットをすべて0として扱います。

 同様に計算すると、選択肢aは「156.79.199.7」、選択肢cは「178.65.184.23」、選択肢dは「134.172.33.199」となります。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

編集部からのお知らせ

8月8日10時30分〜16時30分の間、システムメンテナンスのため記事の一部表示や資料のダウンロードができなくなります。ご理解のほどよろしくお願いいたします。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。