DNS64 / NAT64 の仕組みについて

IPv6ネットワークの環境からIPv4ネットワーク環境へ通信する必要がある場合、DNS64/NAT64という技術を使うことで通信ができるようになります。

以下が概念図です。

①〜⑥について、説明します。

①.DNSへの名前解決
端末が目的のWEBサーバーの名前解決をDNS64サーバーに依頼します。

②.DNSサーバーへの中継
DNS64サーバーは名前解決を中継してDNSサーバーに問い合わせます。

③.「A」レコードの返却
DNSサーバーはアドレスレコード(「A」レコード)を返却します。目的のWEBサーバーはIPv4アドレスであるため「AAAA」レコードの返却ではありません。

④.「AAAA」レコードへの変換
DNS64サーバーは「A」レコードを「AAAA」レコードに変換して端末に返します。IPv6アドレスへの変換方法ですが、IPv4アドレスの前に「64:ff9b::/96」のプレフィックスを付与します。

例えば、DNSサーバーが返した「A」レコードが 192.1.1.10 だった場合、192.1.1.10 を2進数表記に直すと 11000000 00000001 00000001 00001010 となります。これを更に16進数表記にすると C001:010A となります。

その結果、「AAAA」レコードは 64:ff9b::c001:10a となります。

⑤.WEBサーバーへのアクセス
端末は④で返されたアドレスにアクセスします。

⑥.IPv4アドレスの変換
NAT64機能を搭載したルーターは、IPv6アドレスのプレフィックスを外して(IPv4アドレスに変換して)目的のWEBサーバーにリクエストを中継をします。WEBサーバーからのレスポンスについては、IPv6に変換して端末に返します。

IPv6のマルチキャストアドレスについて

IPv6のマルチキャストアドレスは先頭8ビットが 1111 1111 (FF00::/8) となるアドレスです。マルチキャストアドレス宛に送信されたパケットは、同じグループに属する複数の端末に届きます。マルチキャストアドレスの構成です。

先頭8ビットは固定値です。

フラグの上位3ビットは予約されている領域であり、常に 000 となります。フラグの4ビット目はマルチキャストアドレスが永続的か一時的かを示しており、永続的に割り当てられる場合は「0」、一時的な場合は「1」になります。

スコープはマルチキャストパケットが到達する範囲を示します。以下がスコープの一覧です。

インターフェイスローカルは単一ノード(1つの端末)のみに有効なスコープです。1台にしか届かないのであまり意味がないと思われるかもしれませんが、1台の端末の中でマルチキャストを扱う複数のプロセスが稼働していた場合、インターフェイスローカルのスコープでは、その複数のプロセスにマルチキャストパケットが届きます。

リンクローカルのスコープは、同一ネットワーク(通常はルーターやL3スイッチで区切られる)に有効なスコープとなります。

サイトローカルのスコープは、同一拠点内で有効なスコープです。言い換えると、同一拠点内にあるリンクローカルのスコープが複数集まったものです。

組織ローカルのスコープは、一組織において複数拠点で有効なスコープです。複数の拠点(サイトローカル)が複数集まったものです。

グローバルスコープは、インターネットでも有効なスコープとなります。

管理ローカルのスコープですが、実際の構成ではなく管理上の仮想的なスコープのようです。マルチキャスのスコープの中では最小のスコープになるようです。

マルチキャストアドレスのスコープです。

グループIDは、マルチキャストパケットが到達するノードの種類を示しています。例えば、全ノードを対象にマルチキャストパケットを届けたい場合は、グループIDは「1」になります。全ルーターを対象にする場合は「2」です。スコープとあわせることで、どの範囲のどのノードにマルチキャストパケットが届くかが決まります。

以下は、マルチキャストアドレスのパケットがどの範囲(どのノード)に届くかの、例です。

要請ノードマルチキャストアドレスについても、書いておきます。要請ノードマルチキャストアドレスは FF02::1:FFxx:xxxx となるアドレスです。

下位24ビット( x の部分)にはIPv6ユニキャストアドレスの下位24ビットをマッピングします。

要請ノードマルチキャストアドレスが使われるケースの1つは、重複アドレス検出(DAD : Duplicate Address Detection)のときです。DADは同一ネットワーク上で自身のリンクローカルユニキャストアドレスが他のノードで使われていないかどうかを確認するために使用します。

もう一つのケースとして、IPv6のアドレス解決の際にも要請ノードマルチキャストアドレスが使われます。IPv4のARPと同様の機能です。

IPv6ではブロードキャストは廃止されました。従来のブロードキャストはマルチキャストで代用します。マルチキャストにすることにより不要なノードへのパケット転送がなくなり、効率的なネットワークの利用が可能になっています。