Tips

2017.08.28

ネットワーク用語/IPv4-embedded IPv6 address

IPv4-embedded IPv6 address

IPv4-embedded IPv6 addressはRFC6052で規定されたNAT64などで使用されるIPv4アドレスが埋め込まれたIPv6アドレスです。IPv6ネットワーク内のPCからIPv4ネットワークのPCへと通信する際、IPv6ネットワーク内のPCが送信するパケットはIPv6のパケットなので、そのまま宛先のIPv4アドレスを指定することができません。
そこで宛先IPv4アドレスをIPv6で表現できるようにIPv4-embedded IPv6 addressを利用します。
IPv4-embedded IPv6 addressにはWell-Known Prefixを使ったIPv6アドレスとNetwork-Specific Prefixを
利用するIPv6アドレスがあります。

Well-Known Prefix

Well-Known Prefixは64:ff9b::/96のプレフィックスを使用します。
IPv4アドレスは後ろの32ビットに埋め込みます。
例えばIPv4ネットワークのPCが203.141.128.32だったとするとIPv6ネットワーク内のPCから
その203.141.128.32のPC宛を表すIPv6アドレスは64:ff9b::203.141.128.32(16進数表記なら64:ff9b::CB8D:8020)となります。

Network-Specific Prefix

Network-Specific Prefixは決められたプレフィックスがあるわけではありません。
ルールに従って組織内で割り当てられるIPv6アドレスとなります。
プレフィックス長は32、40、48、56、64、96を使用するようになっており、
RFC6052ではそれぞれのプレフィックス長に応じて以下のようにIPv4アドレスを
埋め込むよう規定されています。

・IPv6アドレスのプレフィックスが32ビットの場合、IPv4アドレスは33ビット目から64ビット目まで
に埋め込みます。
・IPv6アドレスのプレフィックスが40ビットの場合、IPv4アドレスは41ビット目から64ビット目まで
に前半24ビットを埋め込み、残りの8ビットは73ビット目から80ビット目までに埋め込みます。
・IPv6アドレスのプレフィックスが48ビットの場合、IPv4アドレスは49ビット目から64ビット目まで
に前半16ビットを埋め込み、残りの16ビットは73ビット目から80ビット目までに埋め込みます。
・IPv6アドレスのプレフィックスが56ビットの場合、IPv4アドレスは57ビット目から64ビット目まで
に前半8ビットを埋め込み、残りの24ビットは73ビット目から96ビット目までに埋め込みます。
・IPv6アドレスのプレフィックスが64ビットの場合、IPv4アドレスは73ビット目から104ビット目まで
に埋め込みます。
・IPv6アドレスのプレフィックスが96ビットの場合、IPv4アドレスは97ビット目から128ビット目まで
に埋め込みます。
どのプレフィックスの場合も65ビット目から72ビット目までのuフィールドは0で埋めます。
またsuffixの部分も0で埋めるようになっています。

例として、変換の際に各プレフィックスで192.168.100.10のIPアドレスを埋め込んだIPv6アドレスが
どうなるか見てみます。
192.168.100.10を16進数に直すとc0a8640aとなります。
これを埋め込んでいきます。
・プレフィックス 2001:1234::/32の場合
2001:1234:c0a8:640a:0000:0000:0000:0000/32、省略すると2001:1234:c0a8:640a::/32と
表されます。
・2001:1234::/40の場合
2001:1234:00c0:a864:000a:0000:0000:0000/40、省略すると2001:1234:00c0:a864:000a::/40と
表されます。
・2001:1234::/48の場合
2001:1234:0000:c0a8:0064:0a00:0000:0000/48、省略すると2001:1234:0000:c0a8:0064:0a00::/48と
表されます。
・2001:1234::/56の場合
2001:1234:0000:00c0:00a8:640a:0000:0000/56、省略すると2001:1234:0000:00c0:00a8:640a::/56と
表されます。
・2001:1234::64の場合
2001:1234:0000:0000:00C0:A864:0A00:0000/64、省略すると2001:1234::C0:A864:A00:0/64と
表されます。
・2001:1234::/96の場合
2001:1234:0000:0000:0000:0000:c0a8:640a/96、省略すると2001:1234::c0a8:640a/96と
表されます。

Recent News

Recent Tips

Tag Search