![]() |
ネットワークのはてな |
(1)IPアドレスとは
IPアドレスはインターネット(TCP/IPネットワーク)の世界で通信する相手を識別するためのユニークな番号です。
身近な例では、スマートフォンやパソコン/プリンタ等のOA機器、最近ではテレビや冷蔵庫/オーブンレンジ等のスマート家電と呼ばれる製品や、自動車のカーナビ、ペットの首輪(!)等にまで広く利用され、インターネットを利用する為にはなくてはならないものとなっています。
(2)IPアドレスの歴史
1973~74年頃に米国国防省のDARPAで策定され、1975年頃から実証開始、1983年頃にARPANETで標準プロトコルとして実用化されました。(DNSも同じ頃に実用化)
IPアドレスを含むTCP/IPプロトコルは初期のUNIXであるBSD4.2(Berkeley Software Distribution)に初めて実装され、DECのVAX上で動作していました。今見ると、かなり大きくて立派です。
このVAXは当時のコンピュータの処理性能の基準値にもなっており、1MIPS(1秒間に100万回の命令を実行)でした。
ちなみに、最新のiPhone Xs(2019/8現在)は1秒間に約5兆回(!)の命令を実行できるので、VAXの約5万倍の性能になります。
その後、1991年に公開されたWWWや1993に公開されたNCSA Mosaic(Webブラウザ)でTCP/IPはブームになり、マイクロソフトが1995年に発表したWindows95で世界的に一気に普及し、現在に至ります。
最初にできたIPアドレス(IPv4)は、全部で232(約43億)個であり、将来的に枯渇すると予測されたので、少しでも延命させようと、様々な仕組み(プライベートIPアドレスやCIDR/NAT/PROXY)が考えられました。
根本的な対策として、1990年代の初めから次世代のIPアドレス(IPv6)について調査が開始され、1995年に仕様が決まり、1999年から割振りが開始されましたが、現在はIPv4/IPv6を併用しつつ、IPv6への移行が課題となっています。
(3)IPアドレスの管理
IPアドレスは、1998年に設立されたICANN(Internet Corporation for Assigned Names and Numbers)が管理しており、IPアドレス・ドメイン名・ポート番号等の標準化・割り当て・管理などを行っています。
アメリカ・南カリフォルニア大学のISI(Information Sciences Institute)に設置されています。
日本では一般社団法人のJPNIC(Japan Network Information Center)がIPアドレスの管理をはじめ、インターネットの資源管理やインターネット技術の調査研究等を行っており、ICANNとの連絡役としても活動しています。
(4)IPアドレスの構造
インターネット上の機器間でデータを交換する際に使用される世界で一つだけの番号であり、32ビット(桁)の2進数で構成されています。
その32ビットの2進数を途中で区切り、前半部分をネットワークアドレス、後半部分をホストアドレスとして使用します。
■グローバルIPアドレスとプライベートIPアドレス
IPアドレスには、いくつか用途を決められたアドレスがあります(下記参照)
上記に書かれていないIPアドレスが、グローバルIPアドレスと呼ばれるものであり、インターネット上の世界中の様々な地域で使用されています。
■クラスフルアドレスとクラスレスアドレス
前述の表で赤字で書かれているIPアドレスがプライベートアドレスであり、直接インターネットに接続しないネットワーク内で使用します。
ネットワークの規模に応じて使い分ける様、クラス毎にIPアドレスが予約されています(下記参照)
クラス | 範囲 | サブネットマスク | アドレス数 | 備考 |
クラスA | 10.0.0.0~10.255.255.255 | 255.0.0.0 | 16,777,216 | サブネット1個 |
クラスB | 172.16.0.0~172.31.255.255 | 255.255.0.0 | 265,536 | サブネット16個 |
クラスC | 192.168.0.0~192.168.255.255 | 255.255.255.0 | 256 | サブネット256個 |
例えば、会社で部署に300台のパソコンがあった場合、クラスC(256個)では足りないので、クラスB(65536個)のアドレスを選択する事になります。
このネットワークの規模に応じてクラスを選択する方式をクラスフルアドレスと呼びます。
クラスフルアドレスは、ネットワークの分割を固定にしているので、分かり易い反面、無駄が多くなります。
上記の例では、必要なIPアドレスは300個分であるのに、実際には65536個分を割り当てる必要がある為、ほとんどのアドレスが無駄になってしまいます。
そこで考えられたのがクラスレスアドレスであるCIDR(Classless Inter-Domain Routing)です。CIDRは、プレフィックス(/xの部分)でネットワークアドレスとホストアドレスの分割する箇所を規定する為、対象となるネットワークに最適な大きさのIPセグメントを割り当てることが可能になります。(下記参照)
(5)IPv6アドレスについて
最初に作られたIPアドレス(IPv4)は、約232(43億)個の割当が可能ですが、インターネット利用者の急増により、近い将来枯渇すると予測されました。
そこで、新たに2128個(約340澗、340×1036)個割り当て可能なIPv6が作られました。
■IPv6アドレスの表記方法
IPv6は16ビットごとに:(コロン)で区切り、16進数で表記し、IPv4と同じくプリフィックス長は/xで定められています。(下記参照)
IPv6アドレス 12ab:0000:0000:12ab:0123:0000:0000:0123 /64(xは16進数)
|-----サブネットプレフィックス-----|------インターフェースID-------|
上記のIPv6アドレスはプレフィックス長が /64 なので、前64ビットがサブネットプレフィックス(IPv4でのネットワークアドレス)、後64ビットがインターフェース識別子(IPv4でのホストアドレス)になっています。
※IPv6は桁数が多い為、RFC5952で下記の通り省略して表記する様、取り決めました。
①16-bit Field内の先頭の0は省略すること。※"0000"の場合は"0"にすること。
②"::"を使用して可能な限り省略すること。
③16-bit 0 Field (="0000") が一つだけの場合、"::"を使用しない。
④"::"を使用して省略可能なFieldが複数ある場合、最も大きい16-bit 0 Fieldを省略すること。
また、省略できる大きさが同じ場合は前方を省略すること。
⑤ "a" ~ "f" は小文字を使用すること。
<例>
<全体表示> 12ab:0000:0000:12ab:0123:0000:0000:0123
<省略表示> 12ab::12ab:123:0:0:123
■IPv6アドレスの種類
大きく分けて下記の3種類のアドレスに分類されます。
・ユニキャストアドレス
・マルチキャストアドレス
・エニキャストアドレス
(IPv4アドレスと違い、IPv6アドレスにブロードキャストアドレスはありません)
ユニキャストアドレスは、到達する範囲(スコープ)で、リンクローカル、ユニークローカル、グローバルの3種類があります。(下記参照)
スコープの種類 | スコープ | 説明 | IPv6表記 |
リンクローカル | 同一セグメント内 | 同一セグメント上のホストと通信する場合に使用するアドレスでリンクローカルアドレス宛てのパケットはルーティングされない。 | fe80::/10 |
ユニークローカル | 組織内ネットワーク | IPv4のプライベートアドレスに相当 異なるセグメント上のホストと通信可能であるが、組織内ネットワークのみ有効である。 |
fc00::/8 |
グローバル | グローバルネットワーク | IPv4のグローバルアドレスに相当 全てのIPv6アドレス内で一意なので、ローカル/組織内/グローバル等スコープの制限がなく、どこでも利用可能である。 |
上記以外 |
※その他、特殊用途としてループバックアドレス ::1/128(IPv4の127.0.0.1/8に相当)等があります。
次にそれぞれのIPv6アドレスの構造を説明します。(下記参照)
リンクローカルアドレスは、IPv4アドレスで自動取得を失敗した時によく表示される、「169.254.xxx.xxx/16」と同じ種類のアドレスです。
この「169.254.xxx.xxx/16」は、ステートレスアドレス自動設定によって、システム(ここではWindowsOS)が自動的に割り当てています。
IPv6のリンクローカルアドレスは、OSが必ず割り当てるので、ご自分の端末でもコマンドプロンプトで「ipconfig」を実行して確認できます。
(下記参照)
他にもIPv6アドレスはIPv4と違い、一つのインターフェースに複数のIPアドレスを割り当てたり、セキュリティ機能が高められていたりしています。
IPv6アドレスはIPv4アドレスを大きくしただけではありません。内部の仕組みやIPv4にはない機能が、たくさん盛り込まれています。
IPv6とIPv4はインターネット上でホストを識別するという用途は同じですが、中身は全く別のものと認識して下さい。