Web教材一覧ネットワーク

IPアドレス

学習のポイント

ここでは,IPアドレスについて詳しく学習します。なお,最新のIPアドレスのプロトコルとしてIPv6がありますが,ここでは現在未だ広く使われているIPv4を対象にします。

キーワード

グローバルIPアドレス,プライベートIPアドレス,NAT,NAPT(IPマスカレード),ネットワーク部,ホスト部,ネットワークアドレス,ブロードキャストアドレス,クラス,クラスレス,サブネットマスク,CIDR


ここでは2進数と10進数の変換が多く出てきます。次の表を使うと便利です。
0000=0 1000= 8 0000 0001=  1 1000 0000=128
0001=1 1001= 9 0000 0010=  2 1100 0000=192
0010=2 1010=10 0000 0100=  4 1110 0000=224
0011=3 1011=11 0000 1000=  8 1111 0000=240
0100=4 1100=12 0001 0000= 16 1111 1000=248
0101=5 1101=13 0010 0000= 32 1111 1100=252
0110=6 1110=14 0100 0000= 64 1111 1110=254
0111=7 1111=15 1000 0000=128 1111 1111=255

グローバルIPアドレスとプライベートIPアドレス

IPアドレスは,グローバルIPアドレスとプライベートIPアドレスに区分されます。グローバルIPアドレスは外線電話番号,プライベートIPアドレスは内線番号のようなものです。

グローバルIPアドレス

インターネットに接続しているホストのIPアドレスをグローバルIPアドレスといいます。グローバルIPアドレスは世界中で一意でなければなりません。
 そのために,IPアドレスの管理は体系的に行われています。国際的に全体の管理をしているのがICANN(Internet Corporation for Assigned Names and Numbers)です。その下に地域別の管理組織があり,アジア・太平洋地域ではAPNIC(Asia Pacific Network Information Centre)が管理しています。さらに各国の組織があり,日本ではJPNIC(Japan Network Information Center:(社)日本ネットワークインフォメーションセンター)が管理しています。そして,JPNICは,IPアドレスを管理するいくつかの事業者を指定しています。
 このような体系により,ICANNから指定事業者までにIPアドレスが割り振られ,指定事業者は利用企業にIPアドレスを割り当てます。なお,IPアドレス管理組織間での分配を「割り振り」,管理組織から利用者への配分を「割り当て」といいます。

プライベートIPアドレス

A社内のLAN,B社内のLANなどの中でだけに閉じており,インターネットと直接に接続していないならば,A社LAN内のホストとB社LAN内のホストならば互いに同じIPアドレスを用いても混乱することはありません。そのようなIPアドレスをプライベートIPアドレスといいます。グローバルIPアドレスは外線の電話番号,プライベートIPアドレスは内線番号のようなものだと理解すればよいでしょう。

グローバルIPアドレスとプライベートIPアドレスが混乱しないようにルールがあります。次の範囲がプライベートIPアドレスに指定されています。

 プライベートIPアドレス用のIPアドレス
   クラスA 10.0.0.0~10.255.255.255
   クラスB 172.16.0.0~172.31.255.255
   クラスC 192.168.255.255
   LLB  127.0.0.0~127.255.255.255  *
     *ローカル・ループバック・アドレス:自分自身を指す特別なアドレス

グローバルIPアドレスは,IPアドレスを管理する団体から割り当てられるので,企業の自由にはなりませんが,プライベートIPアドレスは上の範囲で企業が自由に割り当てることができます。

プライベートIPアドレスは,一つのIPアドレスを複数のホストで用いることにより,IPアドレスの枯渇を防ぐために効果的な手段ですが,それ以外にも,LAN内部でのIPアドレス管理が容易になること,外部から特定のコンピュータが特定できないので,セキュリティ対策にも有効であることなどの利点があります。

IPアドレスの変換

当然ながら,LANの内部にあるコンピュータでもインターネットが使えます。それは,一時的にプライベートIPアドレスをグローバルIPアドレスに変換しているからです。その代表的な技術に,NATとNAPT(IPマスカレード)があります。

NAT(Network Address Translation)

他のホストで用いていない予備のグローバルIPアドレスをいくつか持っているとします。NATでは,LAN内のホストからの電文をルータが受け取ると,電文のIPヘッダに含まれる送信元(始点)IPアドレス(プライベートIPアドレス)を予備のグローバルIPアドレスに書換えて送信します。そのとき,ルータはプライベートIPアドレスとグローバルIPアドレスの対応表を保持しておき,受信時に外部から来た電文の送信先(終点)グローバルIPアドレスをプライベートIPアドレスに変換して,LAN内のホストに送ります。そして,一定時間利用されなくなると,その対応表を削除することにより,そのグローバルIPアドレスを他のLAN内ホストからの利用のために待機させます。このしくみにより,予備のグローバルIPアドレスの数だけ同時にインターネットに接続することができます。

NAPT(Network Address and Port Translation)

IPマスカレード(IP masquerade)ともいいます。NAPTでは,ルータは,プライベートIPアドレスをグローバルIPアドレスに変換するとともに,特定のポート番号を設定して送信します。そして,グローバルIPアドレスとそのポート番号の組合せを一つのプライベートIPアドレスに対応づけます。これにより,NAPTでは,一つのグローバルIPアドレスを複数のプライベートIPアドレスに対応づけることができるのです。

IPアドレスの構造

以下,例示ではプライベートIPアドレスを用いていますが,特別な理由はありません。必要に応じて適宜グローバルIPアドレスの番号と置き換えて理解してください。

ネットワーク部とホスト部

ある組織に複数のIPアドレスを割り当てるとき,その番号を連番で割り当てるほうが管理が容易です。また,インターネットはネットワークのネットワークだといわれます。前者のネットワークのことをサブネットワークといいます。すなわち,IPアドレスは,サブネットワークごとに連番で割り付けられています。

 IPアドレスは,その前半をネットワーク部,後半をホスト部といいます。

       172. 16. 10. 12
    10101100 00010000 00001010 00001110
    |------------------------| |------|
       ネットワーク部    ホスト部

 すなわち,この場合では,この組織(ネットワーク)に,
      172.16.10.0~172.16.10.255
の範囲のIPアドレスを与えたことになります。

ネットワークアドレスとブロードキャストアドレス

与えられたIPアドレス群の先頭のものはネットワークアドレス,最後のものはブロードキャストアドレスという特殊なIPアドレスで,ホストに割り付けることはできません。上の場合,ホストに割り付けられるIPアドレスは,
      172.16.10.1~172.16.10.254
の254(=2-2)個になります。

ネットワークアドレスとは,そのサブネットワーク全体を表すIPアドレスです。ホスト部をすべて0にしたもの,すなわち与えられたIPアドレス群の先頭のものです。

       172. 16. 10. 0
    10101100 00010000 00001010 00000000
    |------------------------| |------|
       ネットワーク部    ホスト部

ブロードキャストアドレスとは,ホスト部をすべて1にしたもの,すなわち与えられたIPアドレス群の最後のものです。

       172. 16. 10. 255
    10101100 00010000 00001010 11111111
    |------------------------| |------|
       ネットワーク部    ホスト部

これらの関係は,プライベートIPアドレスでも同様ですし,後述するクラスレスの場合も同じです。

(注)ユニキャスト、ブロードキャスト、マルチキャスト

ネットワークで通信するには、相手のIPアドレスを知っており、1対1で通信します。これをユニキャストといいます。ところが、あるホストが初めてLANに接続するときは、他のホストやルータはそのIPアドレスなどの情報を知りません。それで、そのサブネットワークにある全ホストに一斉送信する必要があります。このように全ホストに同報することをブロードキャストといい、そのためのIPアドレスがブロードキャストアドレスです。これは必ず必要ですし、サブネットワークで一つあればよいので、固定しているのです。

マルチキャストとは、複数のホストをグループにまとめて一つのIPアドレス(マルチキャストアドレス)を与え、そのIPアドレスに送信することにより、グループに属するホストに同報通信する機能です。マルチキャストアドレスは、複数個必要になるし、ユニキャストと重複しないようにする必要があるので、特定の番号群(Dクラス)が予約されています。

クラス

未だインターネット利用者が少ないときは,IPアドレスを8ビット(1バイト)ごとに区切ってクラス分けして割り当てていました。

   区分   ネットワーク部       ホスト部
   クラスA 0から始める8ビット    24ビット
   クラスB 10から始まる16ビット  16ビット
   クラスC 110から始まる24ビット  8ビット

なお,1110を先頭にするIPアドレスをクラスDといい,マルチキャスト用に割り付けられ,11110を先頭にするクラスEは将来の実験用として未使用になっています。

しかしこれでは,クラスAでは224=16,777,216個のIPアドレスを与えることになり,2=128の組織で,全IPアドレスの半分を占有することになります。最も小規模なクラスCでも,2=256個のIPアドレスがあり,ネットワークアドレスとブロードキャストアドレスを除いた254個のホストがインターネットに直接に接続できるほどの規模になります。これでは効率的なIPアドレスの配分ができず,配分される組織の数が限定されてしまいます。

クラスレスとサブネットマスク

それを解決するのがクラスレスの考えかたです。これは,ネットワーク部とホスト部の境界を任意にしたものです。そして,どこまでがネットワーク部なのかを示すためにサブネットマスクを設定します。サブネットマスクはネットワーク部を1にしてホスト部をすべて0にしたものです。

例えば,ネットワーク部を26ビット,ホスト部を6ビット(64個のIPアドレス)
      172.16.10.64~172.16.10.127
を与えたときは,次のようになります。

 先頭のIPアドレス(ネットワークアドレス)
       172. 16. 10. 64
    10101100 00010000 00001010 01000000
    |---------------------------||----|
         ネットワーク部   ホスト部

 最後のIPアドレス(ブロードキャストアドレス)
       172. 16. 10. 127
    10101100 00010000 00001010 01111111
    |---------------------------||----|
         ネットワーク部   ホスト部

 サブネットマスク
       255. 255. 255. 192
    11111111 11111111 11111111 11000000
    |---------------------------||----|
         ネットワーク部   ホスト部

なお,サブネットワークのIPアドレスとサブネットマスクを,
    172.16.10.64/26
のように,「ネットワークアドレス/ネットワーク部のビット数」の形式で簡略に示します。

サブネットワークの分割とCIDR(Classless Inter-Domain Routing)

与えられたIPアドレス群をサブネットクラスにより,さらに分割することができます。例えば上のサブネットワークではネットワーク部が26ビット,ホスト部が6ビットでしたが,それをネットワークを28ビット,ホスト部を4ビット(16個のIPアドレス)に細分化することができます。

 サブネットマスクを
       255.     255.     255.     240
    11111111 11111111 11111111 11110000
    <----------------------------><--->
         ネットワーク部   ホスト部
とすれば,
   サブネットワークA  172.16.10.64~172.16.10.79
   サブネットワークB  172.16.10.80~172.16.10.95
      :             :
   サブネットワークD  172.16.10.112~172.16.10.127
のように分割できます。

このように分割すれば,一つのサブネットワークに含むホスト数が少なくなりますが,きめの細かいルーティングをすることができます。しかし,経路情報が細分化するので効率は下がります。

CIDRはサイダーと読みます。クラスレスの方式に対応したルーティングの仕組みです。サブネットマスクを調整して細分化したりまとめたりする機能を持っています。

例題

問題

172.16.10.64/26のネットワークに接続できるパソコンのIPアドレスとして正しいものはどれか。
 ア 172.16.10.38  イ 172.16.10.64  ウ 172.16.10.90  エ 172.16.10.127

解答

172.16.10.64は、このネットワーク内の先頭のIPアドレスである
             172.   16.   10.   64
           10101100 00010000 00001010 01000000
/26は、ネットワーク部の個数である(サブネットマスクを 255.255.255.192としたのと同じ)
             255.   255.  255.   192
           11111111 11111111 11111111 11000000
           |-------------- 26 ---------|
           |---------------------------|-----|
               ネットワーク部   ホスト部
すなわち、このネットワークに属するIPアドレスは、
 ホスト部をすべて0 10101100 00010000 00001010 01000000  172.16.10.64
 ホスト部をすべて1 10101100 00010000 00001010 01111111  172.16.10.127
の間の64個となる。
ここで、172.16.10.64はネットワークアドレス。172.16.10.127はユニキャストアドレスだから、ネットワークに接続できるパソコンのIPアドレスは172.16.10.65~172.16.10.126の62個である。

アは×。172.16.10.38:このネットワークに属さない
イは×。172.16.10.64:ネットワークアドレス
ウは○。172.16.10.90:172.16.10.65~172.16.10.126の間にある
エは×。172.16.10.127:ユニキャストアドレス 


理解度チェック

第1問

  1. A社のLANにあるすべてのホストのIPアドレスと,B社のLANにあるすべてのホストのIPアドレスは重複してはならない。
    × プライベートIPアドレスなら重複できる
  2. NATはグローバルIPアドレスとプライベートIPアドレスとの変換をする。
  3. NATを用いるとき,予備として持っているグローバルIPアドレスは,同時にインターネットを利用する端末数以上でなければならない。
    ○ それを避けるためにNAPT(IPマスカレード)がある
  4. 同一のデータリンクでのホストのIPアドレスの値は,ある範囲に限定される。
    ○ ネットワーク部が同じ
  5. ホスト部のビットをすべて0にしたIPアドレスをネットワークアドレスといい,すべて1にしたIPアドレスをブロードキャストアドレスという。
  6. クラスCのネットワークでは,接続できるホストの個数は124個である。
    × ホスト部は8ビット→256 2を引いて254
  7. クラスCのネットワークで,ルータが2個あれば,接続できるパソコンの個数は252個になる。
    ○ ルータもIPアドレスが必要
  8. クラスDのIPアドレスは,ブロードキャスト用に使われる。
    × ブロードキャスト→マルチキャスト
  9. サブネットマスクが 255.255.255.224 のとき,ホスト部は5ビットになる。
    ○ 11111111 11111111 11111111 11100000
  10. サブネットワークを分割するとき,CIDRを用いる。

本シリーズの目次へ