本文へジャンプします。

TOP

用語集

IPアドレスとは

2021年2月25日


IPアドレスとは

インターネットをはじめとする、IP(インターネットプロトコル)を利用したネットワークでは、IPアドレスと呼ばれる固有の番号を使って通信相手を識別しています。本記事では、IPネットワークを理解する上で基本となる、IPアドレスの概要について解説します。

IPアドレスはインターネット上の住所

広大なインターネット上で相手を間違えることなく通信を行うには、何らかの方法で通信相手を一意に特定できなければなりません。そこで、インターネット上に存在するホストには、それぞれにユニーク(インターネット上に同じものが存在しない)な番号が割り当てられています。この番号を「IPアドレス」と呼びます。IPアドレスは「インターネットの住所」などと言われることもありますが、ユニークな番号で通信相手を特定するという点からすると、電話番号のようなものだと考えるとわかりやすいでしょう。

従来よりインターネットでは、IPv4(IPバージョン4)と呼ばれる通信プロトコルが利用されてきました。IPv4では、32ビット(2進数で32桁)の数字でIPアドレスを表現します。しかし、長い0と1の羅列は人間にとって直感的ではないため、32ビットの2進数を8ビットごとに区切り、区切ったそれぞれのパートを10進数に変換した上でドットで区切って表記するのが一般的です。つまり、IPv4のIPアドレスは、10進数で0〜255の範囲の4つの数字(具体的には203.0.113.1など)として表されます。

インターネット上での通信は、すべてこのIPアドレスを利用して行われています。しかし、10進数に変換したとはいえ、やはり数字の羅列は人間にとっては覚えにくく、使い勝手が悪いものです。そのため、IPアドレスを直接指定するのではなく、「ドメイン名(www.nifcloud.comなど)」を使用して通信相手を指定するのが一般的です。例えば、WebブラウザでWebサイトを閲覧する際は、アドレスバーに閲覧したいサイトのドメイン名を入力しますが、この時ブラウザの内部では、自動的にドメイン名とIPアドレスの変換処理が行われています。

グローバル(パブリック)IPアドレスとは

一口にIPアドレスと言っても、インターネット上で利用されている世界中で一意なアドレス(グローバルIPアドレス、パブリックIPアドレスとも)と家庭や企業内のプライベートなネットワーク(LAN)で自由に利用できるアドレス(プライベートIPアドレス)の大きく2種類に分けられます。

グローバルIPアドレスは、インターネット上のホストを一意に特定するという目的がありますから、絶対に重複は許されません。そのため、すべてのグローバルIPアドレスは、ICANN(Internet Corporation for Assigned Names and Numbers)を中心とする「インターネットレジストリ」と呼ばれる組織によって管理されており、個人や組織が勝手に使うことはできません。日本では、JPNIC(日本ネットワークインフォメーションセンター)によって管理されており、インターネットサービスプロバイダーなどのIPアドレス管理指定事業者が申請することで、初めてグローバルIPアドレスの割り当てを受けることができます。

なお、グローバルIPアドレスを持っているのは、企業のWebサーバーなどに限りません。一般の家庭からインターネットに接続した場合も、インターネットサービスプロバイダーから割り当てられたグローバルIPアドレスを経由して通信が行われています。

プライベートIPアドレスとは

インターネット上で通信を行うためには、そのホストがグローバルIPアドレスを持っていることが必須となります。これは言いかえると、インターネットに直接接続されていないホストには、必ずしもグローバルIPアドレスを割り当てる必要はないということです。

後述しますが、IPv4のネットワークにおけるグローバルIPアドレスは有限な資源です。そのため、不要なホストに貴重なグローバルIPアドレスを無駄に割り当てるのは好ましくありません。そこで、家庭や企業内のLANではプライベートIPアドレスと呼ばれる特別なIPアドレスを利用します。具体的には32ビットのIPアドレスのうち、「10.0.0.0 〜 10.255.255.255」「172.16.0.0 〜 172.31.255.255」「192.168.0.0 〜 192.168.255.255」の3つの範囲がプライベートIPアドレスに該当します。これらのIPアドレスはインターネット上では使用されず、LAN内で自由に利用することが許されています。家庭内にあるPCに「192.168.1.101」といったIPアドレスが割り当てられているのを見たことがある方も多いのではないでしょうか。

しかし、ここで1つ問題が発生します。グローバルIPアドレスを持つホスト同士は相互に通信が可能ですが、プライベートIPアドレスしか持っていないLAN内のホストと、グローバルIPアドレスを持つインターネット上のホストは、直接通信することができないのです。そのため、LAN内のホストがインターネットと通信するためには、プライベートIPアドレスをグローバルIPアドレスに変換し、通信を中継する処理が必要となります。一般的な家庭や企業のLANでは、インターネットとLANの境界に位置するルーターがIPアドレスの変換を行っています。こうしたIPアドレスの変換技術をNAT(Network Address Translation)と呼びます。

また、スマートフォンなどのモバイルデバイスでは、個々のデバイスにはグローバルIPアドレスではなく、シェアードアドレスと呼ばれる特別なIPアドレス(具体的には「100.64.0.0 〜 100.127.255.255」)を割り当て、通信事業者によってNATが行われていることもあります。こうした通信事業者による大規模なNATをCGN(Carrier Grade NAT)と呼びます。

クラウドとIPアドレス

クラウドサービスでは、新しくサーバーを起動した際に、自動でIPアドレスが割り当てられるのが一般的です。ニフクラでは、サーバー作成時にプライベートIPアドレスとグローバルIPアドレスが、それぞれ1個ずつ自動で割り当てられるようになっています。そのため、サーバーは起動直後から特別な設定なしにインターネットと直接通信することができます。また、サーバー上のコンテンツをインターネットに公開することも簡単です。ただし、グローバルIPアドレスを用いて、サーバーをインターネットへ公開する場合、単純にサーバーを公開してしまうとさまざまな攻撃を受けるリスクがあるため、「ファイアウォール」を利用して、不要な通信を遮断することが望ましいでしょう。

サーバーは、単にインターネットと通信ができればよいというものではありません。例えば、Webサーバーとデータベースサーバーなど、ニフクラ内に構築したサーバー間で通信を行う場合は、わざわざインターネットを経由したくはないでしょう。このような場合には、「プライベートLAN」を利用して、ニフクラの内部で通信を行うのがお勧めです。ニフクラのサーバーは、プライベートIPアドレスを持てるため、同一のプライベートLANに接続するだけでサーバー同士の直接通信が可能です。

また、あえてグローバルIPアドレスを使用しないという設定も可能です。グローバルIPアドレスを割り当てなかったサーバーには、インターネットから直接アクセスすることが不可能となります。一見、これはデメリットのように感じられるかもしれません。しかし、データベースサーバーのような「インターネットから直接アクセスさせる必要がない」サーバーの場合、インターネットからの攻撃をIPネットワークのレベルで防げるというセキュリティ上のメリットになります。

ユーザーから直接アクセスされないバックエンドのサーバーは、こうしてプライベートLAN内からのみアクセスできるように設定するのがお勧めです。

IPv6アドレスとは

前述の通り、IPv4のIPアドレスは32ビットの長さを持っています。これはホスト数にすると、およそ43億台という数になります。インターネット上のホストには、ユニークなグローバルIPアドレスが割り振られているのが前提ですから、言いかえるとインターネット上に存在できるホスト数は、約43億台に制約されてしまうのです。

当初は問題とならなかったこの制限ですが、インターネットが拡大するにつれ、IPv4アドレスが枯渇して、新規にホストを追加できなくなるという問題が出てきました。実際、2011年4月15日には、アジア太平洋地域のグローバルIPアドレスを管理しているAPNICにおいて、割り振り可能なIPv4アドレスの在庫がなくなった旨のアナウンスがなされています。

そこで、従来のIPv4にかわるプロトコルとして、IPv6(IPバージョン6)というプロトコルの利用を推進する動きが進んでいます。IPv4のアドレス枯渇問題の解決を目的として開発されたIPv6では、アドレス部が従来の32ビットから、128ビットに大きく拡大されました。これによりIPv6では、3.4×10の38乗という天文学的な数のホストを表すことが可能となっています。

IPv4のアドレス枯渇問題を解決できると期待されているIPv6ですが、現時点ではIPv4を置き換えるほど普及してはいないのが現実です。その原因の1つにIPv4とIPv6には直接の互換性がない点が挙げられます。IPv4アドレスしか持たないホストとIPv6アドレスしか持たないホストは、直接通信することができないのです。そのため、現在のインターネットでは、IPv4とIPv6が並行して利用されています。例えば、サーバーなどではIPv4アドレスとIPv6アドレスの両方を割り当てて、通信相手によってプロトコルを使い分けるような運用(デュアルスタック)が行われています。

ニフクラでは、「ロードバランサー(L4)」がIPv6に対応しています。ロードバランサーにIPv6アドレスを割り当てることで、クライアントからIPv6でのアクセスを受け付けることが可能になります(この場合、ロードバランサーとサーバー間の通信はIPv4で行われます)。

  • このエントリーをはてなブックマークに追加