基礎からわかる!パソコン入門・再入門 / 無料パソコン教室・基礎知識・Word・Excel・PowerPoint

IPアドレスとは(1) ~ クラスとドメイン ~

ンターネットは、TCP/IPプロトコルで通信されているというのは、TCP/IPとは で解説しましたが、 OSI参照モデルでは、TCPが第4層、IPが第3層に位置します。

特にIPは、「Internet Protocol(インターネット プロトコル)」の文字どおり、インターネットにおけるパケット通信の基礎となるプロトコルで、TCPがそれを補完しています。

IPは先述のとおり、パケットの通信経路の選定、ルーティングを行うプロトコルです。したがって、インターネットはIPによって接続されたネットワークであると解説しました。

さて、プロトコルとは でも触れましたが、ネットワークで通信するためには、機器同士が互いを認識していなければなりません。認識するということは、何がしかの識別番号が存在するわけです。

すなわち、IPネットワーク(インターネット)においても、

接続するコンピュータや通信機器の全てに、固有の識別番号を割り当てなければならない

ということになります。個別ということは当然、重複した数字を使用することはできません。

したがって、インターネットに接続された世界中の無数のコンピュータやルータなどの機器には、それぞれ重複しない個別の番号が振られています。自動車のナンバープレートと同じです。

このIPネットワーク上の識別番号のことを、

IPアドレス(アイピー アドレス)

と言います。 IPアドレスは、世界で唯一のユニークな番号であり、インターネットにおけるコンピュータや通信機器の住所になります。

URI で解説したURIもインターネット上の住所だと解説しましたが、URIは「表記方法」であり、詳しくは後述しますが、このIPアドレスを表記し直したものがURIURIの責任者部までのパス部以外の部分)になります。

では、具体的にどのように表記されるのかと言うと、IPアドレスは「32桁」の2進数で表されます。つまり、32桁の「0」と「1」のビット列で重複しないアドレスを作成するわけです。

すなわち、2の32乗を単純計算して、約43億通りのアドレスを作成することができます。43億通りで世界中の機器に固有の番号を割り当てることができるのかについては次項で解説しますが、実はIPアドレスの枯渇が大きな問題となっています。

とは言うものの、コンピュータにとっては2進数が何桁であろうと処理することは簡単かもしれませんが、人間が32桁もの2進数を解釈するのはかなり困難です。例えば、32桁の2進数は下記のようになります。

11011011000010011110011000001011

これでは、とても人間では扱いきれせん。そこで、IPアドレスの表記は、

32桁を8桁ずつ4ブロックに区切り、さらに2進数から10進数に変換して表記

しています。例えば、「210.9.230.13」といった具合です。10進数で表現すれば人間にもかなり理解しやすくなります。

IPアドレスの変換イメージ

このように、32桁を8桁に区分けするということは、1バイト(8ビット)の文字が使用できます。つまり、2の8乗で、256文字が使用できます。したがって、IPアドレスは「0」から「255」までの10進数で表現するということになります。(進数の変換については、2進数と10進数と16進数 を参照してください)

さて、ここからがミソなのですが、IPアドレスは世界で固有のユニークな番号ですが、何の規則性もなく割り当てられているわけではありません。

MACアドレスも左半分がメーカー番号、右半分が識別番号という規則性があります。(詳しくは、プロトコルとは を参照してください)

IPアドレスの場合は、「ネットワークアドレス部」と「ホストアドレス部」から構成されています。つまり、8ビットの4ブロックを、ネットワークアドレス部とホストアドレス部に区切って意味を持たせているということです。(各ブロックを「オクテット」と言います)

ネットワークアドレス部でネットワークの種類を、ホストアドレス部でそのネットワークに接続されたコンピュータの識別番号を表します。(IPネットワークではコンピュータを「ホスト」と言います)

つまり、あるネットワークの複数のコンピュータにIPアドレスを割り当てる場合、ネットワークアドレス部の番号は同じで、ホストアドレス部にそれぞれ固有の異なる番号を割り当てることになります。

こうすることによって、ネットワークアドレス部でそのネットワークの属性を表しつつ、IPアドレス自体は固有の番号を作成することが可能になるわけです。

ただし、ネットワークの大きさ(接続台数)はそれぞれ異なります。そのため、ネットワークアドレス部とホストアドレス部の区切り方は一律ではなく、4つのオクテットのうちどこで区切るかは、割り当てるネットワークの大きさによって変わります。

この大きさの違いによる種類分けを「クラス方式」と言い、

クラスA、クラスB、クラスCの3つのクラスに分類

されます。(さらに細かい分類もありますが本項では割愛します)

クラスAは、1つ目と2つ目のオクテットの間で区切ります。上図では、「219」と「9」の間になります。同様にクラスBは、2つ目と3つ目のオクテットの間、「9」と「230」の間で区切り、クラスCは、3つ目と4つ目のオクテットの間、「230」と「13」の間で区切ります。

このように3つのクラスに分けることで、例えば「あなたのネットワークは、クラスAでネットワークアドレス部は10番を使用してください」といった効率的なアドレス提供が可能になります。

IPアドレスを管理している国際機関「NIC:Network Information Center」(日本では「JPNIC」)によって、ネットワークの規模に応じたクラスのIPアドレスが、国、組織、プロバイダ等に割り当てられているのですが、管理しやすいように体系化されているわけです。

接続台数が多いネットワーク(クラスAなど)では、ネットワークアドレス部を少なくしてホストアドレス部を長くすることで、より多くのホストを接続することができます。

逆に、接続台数が少ないネットワーク(クラスCなど)では、ネットワークアドレス部を長くして無駄なアドレスがあまり出ないようにすることができます。

つまり、電話番号の「市外局番」と同じで、IPアドレスを体系的に無駄なく利用することができるということです。(都心部では市外局番が短く田舎では長い)

では、各クラスについて詳しく解説して行きます。

クラスAは、第1オクテットと第2オクテットの間で区切ります。

クラスAのイメージ図

クラスAは、最上位のビットが「0」に決められています。そのため最上位の「0」が固定となり、第1オクテットは実質7ビットとなります。(最上位に「1」が入るとクラスAでアドレスを全て使い切ってしまいます)

したがって、2の7乗で「128通り」(0~127まで)がネットワークアドレス部となり、残り3オクテット「256通り」(0~255まで)×3がホストアドレス部となります。

具体的には、「0.0.0.0.0」~「127.255.255.255」までをクラスAで使用することができます。ホストには3オクテット使えるので、2の24乗で「16,777,216」台まで同一ネットワークにホストを接続することができる計算になります。

ただし、ホストアドレス部が全て「0」および「1」は特殊なアドレスのため使用できませんので、マイナス2の「16,777,214」が実質数になります。

これが128クラスなので、約21億通りのアドレスを表現することができます。(全アドレスの約半分になる巨大なクラスです)

次に、クラスBは、第2オクテットと第3オクテットの間で区切ります。

クラスBのイメージ図

クラスBは、最上位の2ビットが「1」「0」に決められています。そのため最上位から「10」が固定となり、第1オクテットは実質6ビットとなります。

したがって、2の6乗で「64通り」(0~63まで)×「256通り」がネットワークアドレス部となり、残り2オクテット「256通り」×2がホストアドレス部となります。

具体的には、第1オクテットは「127」までクラスAで使用しますので、次の「128」を含めて「64」個分の「191」までを使用することができます。「128.0.0.0」~「191.255.255.255」までをクラスBで表現することができます。

ホストには2オクテット使えるので、2の16乗で「65,536」台まで同一ネットワークにホストを接続することができる計算になります。ただし、ホストアドレス部が全て「0」および「1」は特殊なアドレスのため使用できませんので、マイナス2の「66,534」が実質数になります。

これが「64×256」の「16,065」クラスなので、約10億通りのアドレスを表現することができます。(全アドレスの4分の1に当たります)

最後に、クラスCは、第3オクテットと第4オクテットの間で区切ります。

クラスCのイメージ図 

クラスCは、最上位の3ビットが「1」「1」「0」に決められています。そのため最上位から「110」が固定となり、第1オクテットは実質5ビットとなります。

したがって、2の5乗で「32通り」(0~31まで)×「256通り」×「256通り」がネットワークアドレス部となり、残り1オクテット「256通り」がホストアドレス部となります。

具体的には、第1オクテットは「191」までクラスBで使用しますので、次の「192」を含めて「32」個分の「223」までを使用することができます。「192.0.0.0」~「223.255.255.255」までをクラスCで表現することができます。(「224」以降は、クラスDおよびクラスEとして特殊なアドレスに予約されていますので、本項では割愛します)

ホストには1オクテット使えるので、2の8乗で「256」台まで同一ネットワークにホストを接続することができる計算になります。ただし、ホストアドレス部が全て「0」および「1」は特殊なアドレスのため使用しませんので、マイナス2の「254」が実質数になります。

これが「32×256×256」の「2,097,152」クラスなので、約5億通りのアドレスを表現することができます。(全アドレスの8分の1に当たります)

このように、クラスが決定されると、IPアドレスはネットワーク部とホストアドレス部が決定します。しかし、実際にはクラスAやクラスBのように、同じネットワークに1,600万台、もしくは65,000台ものホストを接続するなどということはまずあり得ません。

仮に、「1000万台」のネットワークを構築する場合、クラスは「A」となりますが、残りの「600万」のアドレスはどうなるのでしょうか?

クラス方式では、ネットワークアドレス部が同じ番号であれば、同一ネットワークになってしまうため、ホストアドレス部の番号の余りを他のネットワークで利用することはできません。要するに「無駄」となるわけです。

例えば、阪神社にはクラスCの「200.200.200.1~200.200.200.150」までを、巨人社には続きの「200.200.200.151~200.200.200.255」までを割り当ててしまうと、阪神社と巨人社は同一ネットワークに属することになり、非常に問題があります。

また、それぞれのクラスで接続可能なホスト数に差がありすぎます。普通の会社や学校等で構成するネットワークでは、ほどんどがクラスCの254台で足りてしまいます。

そもそも254台でも多い場合がほどんどで、数台のホストしか接続しないネットワークでも、最低でもクラスCの254台分のIPアドレスをもらわなければなりませんので、かなりの無駄が生じるわけです。その結果、クラスAのアドレスは大量に余り、クラスCのアドレスが不足してきました。(クラス方式は見通しが甘かったということです)

そこで、この3つのクラスのネットワークを「分割」して、配下に「サブネットワーク」を作る方法が考えだされました。その方法が、

サブネットマスク

という識別子を用いる方法です。サブネットマスクは、IPアドレスを単純にクラスで分割するのではなく、より細かく区切ることができるようにするための識別子で、何ビットのホストアドレス部でも作れるという優れものです。

サブネットマスクは、「ネットマスク」の文字通り、ネットワークアドレス部をマスク化するという意味で、ネットワークアドレス部にあたるビットに「1」を立ててマスク化し、ホストアドレス部には「0」を立てます。

つまり、「1」のビットが立っている部分とそうでない部分とで、ネットワークアドレス部とホストアドレス部を区切るわけです。具体的に、クラス分類をサブネットマスクで表記すると、

サブネットマスクとクラス
クラス 2進数 10進数
クラスA 11111111.00000000.00000000.00000000 255.0.0.0
クラスB 11111111.11111111.00000000.00000000 255.255.0.0
クラスC 11111111.11111111.11111111.00000000 255.255.255.0

となります。単純にクラス分類を表記すると上記のとおりとなりますが、連続していれば32桁のビット列のどの部分をマスク化することもできます。この方法で、何ビットのホストアドレス部でも作れるようになります。

サブネットマスクとサブネットワーク
2進数 10進数 ホスト数
11111111.00000000.00000000.00000000 255.0.0.0 16,777,214
11111111.10000000.00000000.00000000 255.128.0.0 8,388,606
11111111.11000000.00000000.00000000 255.192.0.0 4,194,302
11111111.11100000.00000000.00000000 255.224.0.0 297,150
途中省略 途中省略 途中省略
11111111.11111111.11111111.10000000 255.255.255.128 126
11111111.11111111.11111111.11000000 255.255.255.192 62
11111111.11111111.11111111.11100000 255.255.255.224 30
11111111.11111111.11111111.11110000 255.255.255.240 14
11111111.11111111.11111111.11111000 255.255.255.248 6
11111111.11111111.11111111.11111100 255.255.255.252 2

このように、オクテットの途中で区切ることができるわけです。つまり、クラス分類ではホストアドレス部に該当する部分から一部のビットを借りて、ネットワークアドレス部として扱います。

この借りたビット分でクラスを分割することができ、分割してできたグループを「サブネットワーク」と言います。すなわち、サブネットマスクは、クラスをさらに分割してサブネットワークを構築するための識別子になります。

当然、ネットワークアドレス部にビットを渡すわけですから、ホストアドレス部のビットは減り、最大接続数は減少することになります。上表の1番下では、ホストアドレス部が2ビットしかありませんので、最大接続数は、2の2乗で「4(実質数2)」となります。

例えば、2つの異なるセグメント(詳しくは、プロトコルとは を参照してください)のネットワークを構築する場合を考えてみましょう。ホスト数はそれぞれ「60」と「30」とします。

この場合、サブネットマスクで分割しなければ、クラスCのアドレスを「2クラス」割り当ててもらわなければなりませんので、400以上のアドレスが無駄になるわけです。

しかし、クラスCのアドレス1クラスをサブネットマスクで分割すれば、上表を参考に、例えば、「255.255.255.192」で60台、「255.255.255.224」で30台の異なるセグメントのネットワークを構築することができます。

ただし、当然異なるセグメントであっても、IPアドレスが重複してはいけません。しかし、仮に「192.168.1」という同じネットワークアドレス部であっても、セグメントは異なるわけです。

また、例えば、クラスAのアドレス「10.1.1.100」に「255.255.255.0」といったサブネットマスクを設定し、クラスCの範囲まで及ぶ巨大なネットワークアドレス部を構成して、サブネットワークに分割することも可能になります。

つまり、クラスAのIPアドレスであっても、例えば、サブネットマスクが「255.255.255.0」であれば、実質最大接続数は「254」となり、膨大なサブネットワークを有効利用することができるようにります。

このように、サブネットワークに分割することによって、通常クラスでは無駄になっていたIPアドレスの余裕分を、他のネットワークで有効活用することができるのです。

したがって、サブネットマスクはIPアドレスと必ずセットで表記します。同じIPアドレスでも、サブネットマスクが違うとセグメントの異なるネットワークになるからです。

記述方法としては、両方全て書き出す方法以外に、「ネットワークアドレス部」のビット数のみを記述する方法があります。

例えば、8ビットなら「10.0.0.1/8」、18ビットなら「172.156.1.15/18」、24ビットなら「192.168.168.1/24」といった記述方法になります。つまり、「1」を立てているビット数を表しているわけです。

さて、では実際にインターネットに接続する時に、使用しているパソコンに、このIPアドレスを割り当てなければならないのですが、それはいつ割り当てているのでしょうか?

通常は、契約したプロバイダから値を指定されたり、インターネットに接続するたびにプロバイダから自動的に割り当てられている のです。(厳密に言うと、JPNICからプロバイダに割り当てられたアドレスがユーザーに割り当てられているということ)

プロバイダから送付された契約書にIPアドレスが指定されていたり、または「自動」なのかが記されているはずです。

また、ルータを使用してインターネットに接続している場合には、そのルータのみにIPアドレスを設定すれば、ルータによって、接続しているパソコンすべてに自動的にIPアドレスを割り当てることができます。

それは、ルータに内蔵されている、

DHCP(ディー エイチ シー ピー)

という機能によって、自動的にIPアドレスが割り当てられるからです。DHCPとは、

自動的にIPアドレスを割り当てるプロトコル

のことです。また、IPアドレスを自動的に割り当てる(配布する)側を「DHCPサーバ」と呼び、割り当てられる(受け取る)側を「DHCPクライアント」と呼びます。

ルータの中には、DHCPサーバ機能が内臓されており、DHCPプロトコルによってクライアントであるパソコンに、IPアドレスを自動的に割り当てることができます。

※ ルータはパケットのルーティングやフィルタリングの他にも、DHCPサーバ機能により、複数のパソコンをルータに接続すれば、その複数台が同時にインターネットを利用することができます。パソコンの台数分プロバイダと契約する必要もありません。

このように、自動的にIPアドレスを割り当てられてインターネットに接続している場合を「動的アドレス」、決められたアドレスで接続している場合を「静的アドレス」と言います。

お使いのパソコンのIPアドレスが、動的アドレスなのか静的アドレスなのかを確認してみましょう。

Windows Vista では、「ネットワーク」を右クリック →「プロパティ」→「ネットワーク接続の管理」→「ローカルエリア接続」を右クリック →「プロパティ」→「インターネット プロトコル バージョン4」→「プロパティ」で確認できます。

Windows XP では、「マイネットワーク」を右クリック →「プロパティ」→「ローカルエリア接続」を右クリック →「インターネット プロトコル」→「プロパティ」で確認できます。

「インターネットプロトコルのプロパティ」画面イメージ

上図のように、「アドレスを自動的に取得する」が選択されていれば、プロバイダやルータのDHCPサーバより自動的に割り振られる「動的アドレス」になります。

動的アドレスの場合、自動的に割り当てられるため、インターネットに接続するごとにIPアドレスが変更している可能性があります。

逆に、プロバイダより指定されている場合などは、この画面に固定のIPアドレスが入力されているはずです。この場合は、常に同じIPアドレスでインターネットに接続します。

また、「スタートボタン」→「アクセサリ」→「コマンド プロンプト」で、表示された画面に「ipconfig」と入力してEnterキーを押すと、動的アドレスの今現在割り当てられているIPアドレスを確認することができます。

前述のとおり、IPアドレスはインターネット上の住所であり、インターネットでは、WWWサーバのIPアドレスを指定してウェブサイトを閲覧したり、FTPサーバのIPアドレスを指定してファイルを転送することになります。

しかし実際は、「210.9.230.13」のような数値を入力してウェブサイトを閲覧することはありません。つまり、10進数でもまだ人間には扱いにくいのです。もうおわかりだと思いますが、

IPアドレスをURIに変換している

のです。私たちが実際にウェブサイトを閲覧する時は、ブラウザに「http://www.yamanjo.net」 のようにURIを記入して閲覧します。

このように、IPアドレスを英数字などからなる名称に置き換えた表現を、

ドメイン

と言います。ドメインとは、URI で解説のとおり、URIの責任者部の「ドメイン名」に該当する部分です。上のURIでは「yamanjo.net」の部分がドメインに当たります。

そして、このドメインとIPアドレスを対応させるシステムが、

DNS(ディー エヌ エス)

と呼ばれるシステムです。DNSは「Domain Name System」の略で、その名のとおりドメイン名とIPアドレスを対応させて結びつけるシステムです。つまり、

人間はドメイン名、コンピュータはIPアドレスを使うので、両者を対応させる仕組みがDNS

というわけです。このDNSによって私たち人間は、数字だけのIPアドレスを意識することなく、英単語に近いドメインを利用してインターネットを利用することができるのです。

ドメイン名とIPアドレスを対応させたデータベースを管理している「DNSサーバ」が世界中にあり、互いに連携して、クライアント(ユーザー)からのURI指定に対応しています。

クライアントからURIが指定されると、URIのドメイン名でDNSサーバに問い合せ、DNSよってドメイン名がIPアドレスに変換され、該当するWWWサーバから指定されたファイル(ウェブページ)がクライアントに表示される仕組みです。つまり、

DNSサーバに、目的のIPアドレスのWWWサーバを教えてもらっている

ということです。

DNSシステムのイメージ

このように、ユーザーとWWWサーバの仲介をするのがDNSになります。

ドメイン名は、下図のような構造になります。トップレベルドメインには、国ごとに割り当てられる「ccTLD」と、誰でも取得可能な「gTLD」の2種類があります。

ccTLDの構成イメージ

gTLDの構成イメージ

通常は、「ccTLD」のドメインを取得します(プロバイダより取得するのが通常)が、独自ドメインの場合などは、誰でも取得できる「gTLD」のドメインを取得する(購入する)場合もあります。

重複できない箇所は「サードレベル」の部分のみで、それ以外は重複します。例えば、トップレベルの国別コードの場合、国内のドメインはほとんど重複することになります。

下表は、セカンドレベルとトップレベルの種類をいくつかあらわした表です。

セカンドレベルドメイン
名称 属性 区分
ac 大学等教育機関 ccTLD
ed 小・中・高校 ccTLD
go 政府機関 ccTLD
gr 任意団体 ccTLD
co 一般企業 ccTLD
or 企業以外の団体 ccTLD
ne ネットワークサービス会社 ccTLD
トップレベルドメイン
名称 属性 区分
jp 日本 ccTLD
au オーストラリア ccTLD
ca カナダ ccTLD
es スペイン ccTLD
com 商用 gTLD
net ネットワーク gTLD
org 非営利団体 gTLD

アメリカはインターネット発祥地でもあり、国別コードは使われません。また、ドメインは上表以外にも多数あります。例えば、道府県は「pref」で、岡山県なら「pref.okayama.jp」となり、東京都は「metro」で、「metro.tokyo.jp」となります。

このように、多くのドメインが存在し、そのドメインはDNSによってIPアドレスと結び付けられているのです。

具体的には、ドメインの種類ごとにDNSサーバは存在し、 最上位のルートネームサーバ(世界に13台)の下に階層構造が敷かれ、ルートネームサーバの下にトップレベルドメインのDNSサーバ、セカンドレベルのDNSサーバと続きます。

Windowsのフォルダ階層構造のように、上位のレベルから下位のレベルまで、段階的にドメインが管理されているのです。

例えば、「http://yahoo.co.jp」とURIを入力すれば、まず問い合わせたDNSサーバに対応するIPアドレスが管理されていない場合は、ルートネームサーバに問い合せます。

そしてそのルートネームサーバから段階的に、「jp」や「co」の属性にしたがって、そのカテゴリを管理しているDNSサーバに問い合せて、対応するIPアドレスを返してもらっています。

IPアドレス同様、ドメイン名も重複してはいけないユニークな識別子ですが、ドメイン名については、IPアドレスの代わりという本来の役割を超えて、「商標」的な側面が強く、わかりやすいドメインの取得が盛んです。

トップレベルドメインが、トンガは「.to」、ツバルは「.tv」なので、ドメインを外貨獲得の手段としている途上国もあります。

また、後述しますが、メールアドレスも「@」を挟んでドメインが使用されます。たとえば、「matsuzaka@redsox.com」となります。

携帯電話のメールアドレス取得時にドメイン(サードレベル)を考えて取得した経験があると思います。誰かが取得していたために希望のアドレスを取得できなかったという方も多いと思いますが、その理由はこのようなわけなのです。

ページトップへ戻る


関連情報&オススメ

JALカードはJALマイレージバンク機能に、各提携会社のクレジット機能が備わったクレジットカードです。フライトでもショッピングでも効率よくマイルをためることができます。

マイルをためようとている方、旅行好きな方には最適なクレジットカードです。JAL派とANA派に分かれますが、JAL便を多く利用するなら、はっきり言ってJALカードは「必須」です。

JAL便の場合、チェックインも搭乗手続きもJALカードをかざすだけで可能になりますし、カード付帯保険や各地の特約ホテルで割引などもあります。

たまったマイルは特典航空券と交換でき、マイルをためることで無料で旅行を楽しむことができたりもします。その他にも様々な商品や各地で使えるクーポン、電子マネーやAmazonギフト券などとも交換することができます。

私はクレジットカードはすべてJALカードにまとめ、電話代等の引落しもJALカードを使っています。すると、月々の支払いによってマイルが自動的たまり、数年に一度は無料で飛行機に乗ったり、Amazonギフト券に交換したりと重宝しています。

ページトップへ戻る

更新履歴

2008年7月25日
ページを公開。
2009年5月12日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2010年3月10日
クラス、サブネットマスク等の内容追加。
2014年5月20日
内容修正。
2018年1月30日
ページをSSL化によりHTTPSに対応。

ページトップへ戻る

参考文献・ウェブサイト

当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。

文献
図解入門 インターネットのしくみ
DIGA:サブネットマスク
http://panasonic.jp/support/mpi/dvd/hlp/line_up/e500h/popup/hint043.html

ページトップへ戻る