IPv6のアドレス長は128ビット

IPv6アドレスの長さ、使える数、16進数での表記方法等について説明しています。

IPv6アドレスの長さは規定されている

 IPアドレスは通信時に使われるアドレスで、バージョン6(IPv6)では16進数を使って2001:0db8:1111:ffff:1111:ffff:1111:ffff等と表記されます。

 IPv6アドレスは、パケットに含めて送信されます。

パケット内のIPv6アドレス

 例えば、パソコンからサーバーに通信する時は送信元IPv6アドレスがパソコンに設定されたアドレス、送信先IPv6アドレスがサーバーに設定されたアドレスになります。

 この時、送信元や送信先のIPv6アドレスとして使えるのは、128ビット(bit)です。RFC2460でドラフト(草稿)化され、RFC8200で標準化(最終段階)されています。

IPv6アドレスは約340澗使える

 1ビットは2進数で、0と1が表現出来ます。信号のON/OFFと同じです。

 このため、128ビットでは0と1が128個並ぶ事になります。128ビットは、2を128回掛けた(2の128乗)数の組み合わせがあります。

IPv6アドレスは2を128回掛けたパターンを表現出来る

 これは、約340澗(かん)という数になります。澗は単位で、0が36個付きます。つまり、IPv6アドレスは、1兆(0が12個付く)×1兆×1兆というとんでもない数が使える事になります。

IPv6アドレスの16進数での表記方法

 8ビット集まると、1バイト(byte)と呼ばれます。このため、128ビットは16バイト(=128 ÷ 8)です。8ビットはオクテット(octet)とも呼ばれるため、16オクテットとも言えます。

 IPv6アドレスは、2バイト毎に区切ると以下のようになります。

IPv6アドレスを2バイト毎に区切る

 2バイトは、16ビットなので0000000000000000〜1111111111111111(2進数で16桁)までの数が使えます。これを16進数に直すと、0000〜ffffまでの数が使える事になります。つまり、IPv6アドレスは0000〜ffffまでの数字を8つ組み合わせて使えるという事です。

IPv6アドレスを2バイト毎に区切った時に使える16進数は、それぞれ0000〜ffff

 この8つの組み合わせをコロン(:)で区切ると、例えば2001:0db8:1111:ffff:1111:ffff:1111:ffff等、16進数で表記したIPv6アドレスになります。

IPv6アドレスを16進数で表記した例

 パソコンやサーバーで16進数のIPv6アドレスを設定すると、パケットでは128ビットの2進数に変換されて通信が行われます。

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