IPアドレスはTCP/IPネットワークの根幹の技術であり,もちろんCCNAでも多く出題される分野でもあります。すでに理解されている方も多いかとは思いますが復習もかねて,IPアドレスの基本であるクラスフルアドレッシングを学びましょう。

IPアドレス

 IPアドレスはTCP/IPネットワークで機器を識別するユニーク(一意)な番号として使われる論理アドレスです。その特徴としては次の事が挙げられます。

  • IPv4では32ビット
  • ルーティング可能な階層型アドレス

 現在一般的に使用されているIPv4(IPバージョン4)ではIPアドレスは32ビットで表現されます。ただし,表記する場合にはビットでは記述が長くなり,またわかりづらいため,8ビット(オクテット)単位で区切られて10進数で表記されます。この表記を「ドット付き10進数表記」と呼びます(図1)。

図1●IPアドレスの表記
図1●IPアドレスの表記

 図1のように表記されますが,あくまでIPアドレスは「32ビットの値」であることに注意が必要です。4つの数字から成り立っているように見えますが,1つの数字は8ビットであるため,0~255の数値を取ります。

 また,IPアドレスは階層型のアドレスで,所属するグループ(ネットワーク)の番号と,機器(ホスト)番号から成立しています。近いものでいえば,固定式の電話番号と同じです。電話番号が10桁の数値で,その中に「市外局番」と「局番・加入者番号」から成立しているように,IPアドレスも32ビットの中に「ネットワーク番号」と「ホスト番号」があります。また,階層型ということで,「ネットワーク番号」「ネットワーク内小ネットワークの番号」「ホスト番号」というように,情報を積み重ねることも可能です(図2)。

図2●階層型アドレス
図2●階層型アドレス

 同じネットワーク番号を持つIPアドレスを設定された機器は,同一のグループ(ネットワーク)に所属することになります。TCP/IPのプロトコル上では同一のネットワーク内の機器はデータ交換が可能です。異なるネットワークに所属する機器同士ではルータを中継機器として設定することでデータ交換が可能になります。

クラスフルアドレッシング

 IPアドレスはインターネット内でユニークである必要があります。ユニークであればこそ,特定の機器を指し示すことができるからです。ユニークであるために,IPアドレスはインターネットで管理されています。その管理団体は「ICANN」とその下部組織です。

 ICANNはIPアドレスを必要とする(インターネットでのデータ交換を必要とする)組織に対し,ネットワーク番号を割り与えます。ネットワーク番号を割り与えられると,同じネットワーク番号を持つ複数のIPアドレスが使用できることになります。割り与えられた組織の管理者は,組織内の機器にIPアドレスを割り振ることになります。

 ICANNは,組織にネットワーク番号を割り振る際に,「クラス」と呼ばれる分類をベースに割り与えていました。クラスは組織の大きさを示し,A~Cまでの3種類あります。組織の大きさに応じて使用可能なIPアドレスの数を違ってきます。クラスに応じてネットワーク番号に使用するビット数が異なります。これは例えるならば,電話番号の市外局番の桁数です。東京や大阪の「03」「06」の2桁の市外局番は残り8桁分の電話番号が使用可能なため,大きな都市向けです。ですが,4桁や5桁の市外局番では,電話番号に使用できる数が少なく小規模地域向けになります。

 クラスはIPアドレスの先頭1~4ビットで区別できます。「0」で始まるIPアドレスはクラスA,「10」で始まるアドレスはクラスB,「110」で始まるアドレスはクラスCになります。なお,クラスDはマルチキャスト用のアドレス,クラスEは研究用のアドレスのため,一般には割り与えられていません。クラスAはネットワーク部として8ビット,クラスBは16ビットを,クラスCは24ビットを使用します。(図3

図3●クラスによるIPアドレスの分類
図3●クラスによるIPアドレスの分類

 このようなクラスによるアドレスの割り振り方式を「クラスフルアドレッシング」と呼びます。現在ではICANNはクラスフルアドレッシング方式を使用してはいません。クラスフルアドレッシングは大雑把な割り振りのため,アドレスの効率的な利用ができないため,現在のインターネットの発展によるIPアドレスの利用率の上昇についていけないためです。現在の割り振り方式はクラスを廃した「クラスレスアドレッシング」方式です。クラスレスアドレッシング方式はクラスフルアドレッシング方式を理解した上で学ぶ方がより理解が早いので,まずはクラスフルアドレッシング方式をしっかりと理解しましょう。

サブネッティング

 IPアドレスはICANNにより組織のサイズに合わせて割り振られ,組織内で管理者により機器に割り振られます。この時,管理上の問題や,セキュリティ上の問題などにより,組織をさらに小さいグループに割り振る必要がある場合があります。この小さいグループは組織(ネットワーク)に対し,「サブネットワーク(サブネット)」と呼ばれ,サブネットに分割する作業を「サブネッティング」と呼びます。このサブネットワークは単に組織を細かく区切ったという意味でしかなく,実際の運用などは通常のネットワークと同じ扱いになります。

 サブネッティングを行うためには,分割したサブネットを識別するために番号を割り振る必要があります。ただし,IPアドレスは32ビットで固定長であり,さらにネットワーク部のビット数はICANNによって割り振られているため変更ができません。よって,ホスト部に使えるビットから,任意のビット長をサブネット部として利用することになります(図4)。

図4●サブネッティング
図4●サブネッティング

 TCP/IPネットワークでパケットの転送(ルーティング)を行う際には,宛先のIPアドレスが所属するネットワークの番号が重要なポイントとなります。そのため,IPアドレスから所属するネットワーク番号を計算する必要があります。クラスフルアドレッシングではIPアドレスの先頭ビットから所属するネットワークの番号を計算できます。しかし,組織内でサブネッティングを行っている状態でルーティングを行う場合は,IPアドレスが所属するサブネットの番号が必要となります。

 サブネット番号を計算するためには,何ビットがサブネットの番号として利用されているかという点がわからなければいけません。そのため,IPアドレスには「サブネットマスク」と呼ばれる値を必ず併記します。これはサブネッティングが行われていなくても必ず併記するようになっています。

 サブネットマスクはIPアドレス同様32ビットで,併記するIPアドレスのネットワーク番号とサブネット番号の部分はビットを1に,ホスト番号部分はビットを0にした値です。IPアドレス同様にオクテットで区切って10進数で表記します(図5)。

図5●サブネットマスク
図5●サブネットマスク

 サブネットマスクがあることにより,そのIPアドレスのネットワーク番号とサブネット番号がわかります。実際にはIPアドレスとサブネットマスクをAND演算(サブネットマスクが0の部分のIPアドレスのビットを0にする)することにより,次に説明するネットワークアドレスを算出できます。

特別なIPアドレス

 IPアドレスのうち,いくつかのアドレスは特殊な用途があるためICANNによって割り振られていません。また組織に割り振られたIPアドレスのうち,使用できないアドレスがあります。まず,ICANNが割り振っていない特別な用途のアドレスは次の通りです。

  • クラスDアドレス・クラスEアドレス
  • クラスAのネットワーク番号0のアドレス(0.0.0.0~0.255.255.255)
  • クラスAのネットワーク番号127のアドレス(127.0.0.0~127.255.255.255)
  • 255.255.255.255

 クラスDとクラスEは前述のとおり,マルチキャスト,研究用のため通常使用できません。クラスAのネットワーク番号0のアドレスはネットワーク全体,または任意の宛先を表わすアドレスのため割り振られていません。通常はIPアドレス0.0.0.0,サブネットマスク0.0.0.0を使い「任意のIPアドレス」を示します。

 クラスAのネットワーク番号127のアドレスは「ループバックアドレス」と呼ばれるアドレスです。このネットワークのIPアドレスは必ず「自分自身」を示します。機器がどのようなIPアドレスを設定されていても,宛先IPアドレスとしてクラスAのネットワーク番号127のアドレスを指定した場合は必ず「自分宛」になります。そのためアプリケーションの動作確認などに利用されます。

 255.255.255.255は「ローカルブロードキャストアドレス」と呼ばれるアドレスで,「そのネットワーク内の全ホスト」を示します。そのネットワークのネットワーク番号が何であっても送信元ホストが所属するネットワーク内全ホストを示します。

 また,組織に割り振られたIPアドレスのうち,使用できないアドレスは次の通りです。

  • ホスト番号のビットがすべて0のアドレス
  • ホスト番号のビットがすべて1のアドレス

 ホスト番号のビットがすべて0のアドレスは「ネットワークアドレス」と呼ばれるアドレスです。これはそのネットワーク,サブネットワークそのものを表現するアドレスです。例えばネットワーク番号として192.168.0というクラスCの24ビットが割り振られた場合,192.168.0.0がネットワークアドレスとなり,そのネットワークを意味します。

 ホスト番号のビットがすべて1のアドレスは「ブロードキャストアドレス」と呼ばれるアドレスです。これは「そのネットワーク内の全ホスト」を示します。255.255.255.255の「ローカルブロードキャスト」と異なるのは,ローカルブロードキャストがそのホストが所属するネットワークの全ホストを示すのに対し,ホスト番号のビットがすべて1のブロードキャストはそのネットワーク番号を持つネットワーク内の全ホスト,という意味になります。このネットワークアドレスとブロードキャストアドレスは,サブネットでも有効です(図6)。

図6●特別なIPアドレス
図6●特別なIPアドレス

 IPアドレスはCCNAの出題範囲内でも重要なポイントです。サブネットマスクの算出なども頻出ポイントです。ビット(2進数)から10進数の表記に,もしくはその逆にという計算は頻繁に必要になります。試験時間を有効に使うためにも,2進数から10進数,その逆という計算を手早くできるようになりましょう。

■変更履歴
図3で「クラスDアドレス」を「224.x.x.x~240.x.x.x」としていましたが,正しくは「224.x.x.x~239.x.x.x」です。お詫びして訂正します。図は修正済みです。[2009/09/29 12:45]