Netassist Blog

IPv4とIPv6の違いについて

こんにちは。技術部のmmuです。

今日は私の備忘録も兼ねて、IPv4とIPv6の違いを以下に記載していきます。

少しでも皆様のお役に立てて頂ければ幸いです。

 

 

■個数について

IPv4アドレスは『32bit』で構成されます。すなわち、2^32通りのアドレス数を保有することになります。

実際の数値に置き換えると、『4,294,967,296』、約43億個となり、非常に大きな数のように思えます。

が、全世界で43億個と考えれば世界人口が70億人を突破しているこの状況下では、単純に計算して1人に1個も割り当てられないことになります。

 

一方、IPv6アドレスは『128bit』で構成されます。これは2^128通りのアドレス数を保有することになります。

こちらを実際の数値に置き換えると、『340,282,366,920,938,463,463,374,607,431,768,211,456』、約340澗(かん)個という、

まさに桁外れと呼ぶにふさわしい内容です。先ほど『IPv4アドレスは世界人口1人に1個も割り当てられない』と記載しましたが、

こちらのIPv6アドレスですと、70億人に1兆個ずつ割り当てても、まだ使用率は0.00000001%にも満たないというのが驚きです。

 

 

■表記について

IPv4にしろ、IPv6にしろ、アドレスの実体としては32桁(あるいは128桁)の2進数となります。

IPv4アドレスを実際に記載してみると以下の通りです。

11000000101010000000000001100100

IPv6アドレスに至っては下記になります。

11111101000000000000000000010010000100011010111100000000000000010000001000011011100010111111111111111110100110111011001111001000

ご覧の通り、この表現は人間にとっては非常に易しくなく、他人に伝えるのも伝えられた内容を確認するのも一苦労です。

そのため、IPv4アドレスにおいては、32bitを8bitずつ『.』で4分割し、分割した数値を10進数で表記しています。

192.168.0.100

『11000000101010000000000001100100』を8bitずつに分解すると、『11000000 101010000 0000000 01100100』になり、

この4ブロックをそれぞれ10進数に置き換えると上記のアドレスになるというわけです。

 

一方、IPv6アドレスは、128bitを16bitずつ『:』で8分割し、分割した数値を『16進数』で表記しています。

fd00:12:11af:1:21b:8bff:fe9b:b3c8

『1111101000000000000000000010010000100011010111100000000000000010000001000011011100010111111111111111110100110111011001111001000』を16bitずつに分解すると、『1111110100000000 0000000000010010 0001000110101111 0000000000000001 0000001000011011 1000101111111111 1111111010011011 1011001111001000』になり、この8ブロックをそれぞれ16進数に置き換えると、上記のアドレスになるというわけです。

…これでもIPv6アドレスに関しては伝えるのが大変な感じもします。

 

ちなみに、IPv6アドレスにおいては、ブロック先頭の『0』は省略することができます。そのため、下記2つのアドレスは同一の内容を指すものとなります。

fd00:0012:11af:0001:021b:8bff:fe9b:b3c8

fd00:12:11af:1:21b:8bff:fe9b:b3c8

更に言えば、全体が『0』で構成されたブロックが2つ以上続く場合は、『::』で省略することができます。※1

よって、下記2つのアドレスも同一の内容となります。

fd00:12:0000:0000:0000:8bff:fe9b:b3c8

fd00:12::8bff:fe9b:b3c8

※1 該当する範囲が2箇所以上ある場合は、最初の1箇所のみ『::』で省略可能になります。

 

 

■IPアドレスの管理及び割り当て

IPv4もIPv6も「ICANN」と呼ばれる組織がIPアドレスの管理と割り当てを行っています。といっても、私たち実際の利用者が「ICANN」から直接IPアドレスを割り当てられることはまずなく、

  • 「ICANN」は「地域インターネットレジストリ(RIR)」と呼ばれる組織に対して、分割されたネットワーク範囲、例えば「150.0.0.0 ~ 150.0.255.255」を割り当てる
  • その後、「RIR」は「国別インターネットレジストリ(NIR)」と呼ばれる組織に対して、更に分割されたネットワーク範囲、例えば「150.0.0.0 ~ 150.0.127.255」を割り当てる
  • その後、「NIR」から「ローカルインターネットレジストリ(LIR)」と呼ばれる組織に、更に分割されたネットワーク範囲、例えば「150.0.0.0 ~ 150.0.0.255」を割り当てる

・・・と、分割されながら割り当てが行われていき、

  • 最後に「NIR」(大半はISP)からようやく私たちの下に、更に分割されたネットワーク範囲、あるいは単一のIPアドレス、例えば「150.0.0.100」が割り当てられる

という形となります。

 

ちなみに、IPv4の場合は、実際の利用者に割り当てられる個数は、個人であれば1~4個程度、法人であっても8~32個程度であるケースが大半なのですが、

IPv6の場合は、64bit分の個数(約1844京個!)も割り当てられたりします。・・・そう、IPv4アドレスの総量を上回る個数が割り当てられるのです・・・。

 

 

■設備について

LANケーブルやスイッチングHUBなどに関しては、IPv4環境で利用できるものは基本的にIPv6環境にも対応しています。

そのため、これらの機器・設備を入れ替えることは不要となるはずです。 ※2

一方、ルータ機器に関してはIPv6に対応しているもの、していないものがあります。

対応していたとしても、基本設定で『IPv6を使用しない』などになっているケースもありますので、IPv6環境を構築する際には、既存機器(あるいは新規購入機器)のメーカーサイトなどで対応しているかどうかと、対応方法を事前に確認しておくことが望ましいです。

参考情報)
国内ルーターにおけるIPv6対応(一般社団法人情報通信ネットワーク産業協会)
http://www.soumu.go.jp/main_content/000380865.pdf

そして何より、利用しているインターネット回線及びプロバイダがIPv6に対応している必要があります。

※2 一部のスイッチングHUBにおいては、機能的にIPv6パケットを破棄してしまい、IPv6通信が阻害されるケースが発生するそうです。

 

 

いかがでしたでしょうか。上記で記載した内容はあくまで一部であり、まだまだ違いはあるのですが、

本日はここまでにしたいと思います。それではまた。