DESIGNBootstrapCSSHTMLJavaScriptjQuerySERVERLinuxWindowsServer仮想化クラウドハードウェアTOOLUnityUnrealEngineWordPressEclipseOfficeVirtualBoxブラウザDATABASEMariaDBMySQLSQLiteNETWORKCCNACCNPCOLUMNホームネットワークネットワーク用語/DNS642017/9/21ネットワークネットワークnakamichiネットワーク用語/DNS64この記事は2017年9月21日に書かれたものです。内容が古い可能性がありますのでご注意ください。TweetDNS64DNS64は、ドメイン名からIPアドレスを調べるときに、その名前解決の結果として応答されてきたアドレスの変換を行うものです。DNS64とNAT64を一緒に使用することでIPv6のホストからIPv4アドレスだけしか設定されていないサーバに対してドメイン名でアクセスすることが可能になります。DNS64の動作IPv6を使用して構成されているネットワーク内のホストからIPv4ネットワーク内のホストと通信をするために、ドメイン名を使用して宛先を指定した場合、まずそのドメイン名に対応するIPv6アドレスを調べる必要があります。IPv6ホストは名前解決のために問い合わせますが、DNSサーバでは対象のドメイン名に対応するIPv4アドレスしか管理していない場合は名前解決に対する応答がIPv4アドレスとなります。それをIPv6ホストが受け取っても宛先をIPv4アドレスで指定することができません。そこでDNS64の機器が名前解決の結果のIPv4アドレスをIPv6アドレスに変換してIPv6ホストに伝えます。IPv6ホストはIPv6パケットを送信しNAT64トランスレータによりそれがIPv4パケットに変換され、IPv4ホストと通信が可能となります。以下の例で確認します。DNS64IPv6ネットワーク内のホストからtest.example.co.jpに対して通信することを考えます。test.example.co.jpはIPv4にしか対応しておらず、DNSサーバではドメイン名test.example.co.jpとIPアドレス200.0.0.10がマッピングされているとします。通信する際、IPv6ホストはDNS64に対してtest.example.co.jpに対応するIPアドレスを問い合わせします。DNSクエリを受け取ったDNS64が外部のDNSへ問い合わせを行います。問い合わせることによってtest.example.co.jpに対応するIPv6アドレスが解決できれば、そのまま得られたIpv6アドレスをIPv6ホストに通知します。今回test.example.co.jpはIPv4にしか対応していないため、DNSサーバからの応答はIPv4アドレスになります。結果としてDNS64はIPv4アドレス200.0.0.10しか取得できません。IPv6ホストに200.0.0.10を通知しても通信できないため、200.0.0.10をIPv6アドレスに変更します。c800000a)を付加して64:ff9b::c800:000aとしたIPv6アドレスにします。DNS64はこのIPv6アドレスをIPv6ホストに通知します。IPv6ホストは自身のIPv6アドレスを送信元とし、宛先IPv6アドレスをDNS64から通知された64:ff9b::c800:000aとしたパケットを送信します。それを受け取ったNAT64のトランスレータがIPv4パケットに変換することでIPv4のホストと通信することができるようになります。