インターネットを介して、世界中のコンピュータがつながるようになると、通信の相手を特定するために、各コンピュータを識別する番号が必要になります。この番号の事をIPアドレスといいます。
IPアドレスは、インターネット上のコンピュータを識別するための番号なので、原則的に、世界中の全コンピュータが、異なるIPアドレスを持っている必要があります。各コンピュータの所有者が、各自勝手なIPアドレスを使っているのでは、当然IPアドレスの重複が生じます。
重複せずに割り当てるため、IPアドレスは、インターネットレジストリと呼ばれる組織によって管理されています。インターネットレジストリは世界中の地域や国に、いくつもあるのですが、日本の場合、JPNIC(日本ネットワークインフォメーションセンター)という組織がIPアドレスを管理しています。
現在使われているIPアドレスには、IPv4アドレスとIPV6アドレスの2種類があるのですが、より普及しているIPv4アドレスには、32ビットの2進数が使われています。
32ビットの2進数で表現できる数は、232=4,294,967,296通り(約43億通り)となります。世界の人口が2015年時点で73億人と推計されていますから、もし世界中の人が、1人につき1台ずつコンピュータを使用し、かつ、それらのコンピュータがインターネットにつながると仮定すると、32ビットのIPアドレス(IPv4アドレス)では足らなくなってきます。
加えて言うと、先進国では1人の人が、職場のパソコン、自宅のパソコン、自分のスマートフォン・・・と複数のコンピュータでインターネットにアクセスする事も珍しくなくなり、さらに将来は、IoTと称して、色々な物がインターネットに接続する様になると予想されているため、近い将来に、32ビットのIPアドレスを使っているのでは、IPアドレスの枯渇が起こる事が、確実視されています。
その問題を解決するために生み出されたのがIPv6アドレスです。IPv6アドレスには、128ビットの2進数が使われています。IPv6アドレスを使うと、2128≒3.4×1038通りのIPアドレスを利用できるので、IPアドレスの枯渇の問題が回避できます。
現在は、IPv4アドレスとIPv6アドレスが併用されており、徐々にIPv4アドレスからIPv6アドレスに移行しているところです。IPv4アドレスを使う場合と、IPv6アドレスを使う場合では、利用できるサービスに互換性がないため、IPv6アドレスへの移行はゆっくりとしか進んでいないようです。
これ以降は、IPv4アドレスについて説明します。また、単に「IPアドレス」と書けば、IPv4アドレスを指すものとします。
先ほど述べた様に、IPアドレスは32ビットの2進数なのですが、これを表記するのに、0や1を32個も書くと、桁数が多すぎて混乱します。そこで、32ビットを8ビットずつ4つの部分に分け、各部分を10進数表記する事が習慣になっています。
具体的な例を挙げて説明します。
例えば2進数表記で10110110000101100011101111100101というIPアドレスについて考えます。
これを、先頭から8ビットずつに分けると、10110110、00010110、00111011、11100101と、4つの部分に分ける事ができます。
これらの各部分を10進数表記すると、表4の様になります。
2進数表記 | 10進数表記 |
---|---|
10110110 |
182
|
00010110 |
22
|
00111011 |
59
|
11100101 |
229
|
これらの10進表記した数字を三つのドット(.)で区切って並べると、最終的に182.22.59.229となります。この様に、4つの10進数をドットで区切って表記する方法をドット・デシマル・ノーテーションといいます。
インターネットのサイトにアクセスをする場合に、よくドメイン名を使います。ドメイン名というのは、簡単に言うと、インターネット上の特定のコンピュータを表わすのに使う、文字列の事です。
インターネットサイトのドメイン名の例を、参考のため、いくつか挙げておきます。
サイトの名称 | ドメイン名 |
---|---|
Yahoo! Japan | yahoo.co.jp |
Google(日本語サイト) | google.co.jp |
amazon(日本語サイト) | amazon.co.jp |
マイクロソフト | microsoft.com |
しなぷすのハード製作記 (当サイト) |
synapse.kyoto |
例えば、Yahoo! Japanのドメイン名はyahoo.co.jpですし、当サイトのドメイン名はsynapse.kyotoです。
先ほど説明したとおり、インターネット上の特定のコンピュータを指定するには、IPアドレスを使います。しかし、ドット・デシマル・ノーテーションで表わされた4つの10進数は、人間には無味乾燥で、憶えにくいです。そこで、意味が推測しやすい文字列で、コンピュータを指定する方法が考えられました。これがドメイン名です。
特定のドメイン名は、特定のIPアドレスと対応しています。例えば、yahoo.co.jpというドメイン名は、182.22.59.229に割り当てられています。(2017年12月現在)
この事は、次の様に、Webブラウザ(Firefox、Chrome、Edgeなど)を使って確認できます。
まず、Webブラウザのアドレスバーにyahoo.co.jpと入力し、Enterキーを押します。そうすると、図30の様に、Yahoo! Japanのサイトが表示されます。
次にWebブラウザのアドレスバーに182.22.59.229と、IPアドレスを入力します。そうすると、やっぱりYahoo! Japanのサイトが表示されます。
ドメイン名を使ってインターネット上のコンピュータ(この例ではYahoo! JapanのWebサーバ)にアクセスしようとすると、そのドメイン名は、対応するIPアドレスに自動変換され、その上で相手のコンピュータにアクセスします。
ドメイン名がどのような仕組みでIPアドレスと紐づけられているかなど、詳しい話は、ESP-WROOM-02の使い方をする上で、当面は必要ないので、説明を省略します。詳しく学びたい人は、JPNICのドメイン名の仕組みという記事が参考になるでしょう。
また、あるドメイン名がどのIPアドレスに対応しているかは、IPひろば無料版のIPアドレス検索というサイトで調べられます。自分のよく使うサイトのIPアドレスを調べてみると、面白いと思います。