IPv6 域名解析原理及编程实现
2009-09-24 09:36:51
旧日重来
随着 IPv4
资源逐渐耗尽,IPv6 (Internet Protocol version 6) 网络的部署已开始进行,相信已经有不少朋友已经开始使用 v6 的网络了。和 IPv4 最显著的不同是每个 v6 的 IP
地址包含 128 位(16 个字节),相比 v4 来说极大的扩展了地址空间。但是,这也使得 v6 的网络在使用时特别是编程的时候和 v4
的情况不大兼容。本文介绍了针对 IPv6 的 DNS 域名解析知识和编程实现。
由于 DNS 协议的特点,原有的 DNS 系统几乎不需要做什么改变就已经直接支持 IPv6 的域名解析了。有意思的是,客户机并不用接入 v6
的网络甚至根本不需要安装 v6 组件(例如默认的 Windows XP 系统)就可以请求解析 v6 的地址,只需要系统可以与一个有效的 DNS
服务器建立连接(例如通过 DHCP 自动获取的 DNS 服务器),而无论这个 DNS 服务器是 v6 还是 v4 的。事实上,解析 v6 地址与 v4
唯一的不同就是 v4 查询域名的 A 记录而 v6 查询域名的 AAAA 记录。
下面的例子演示了如何通过 Windows 的 nslookup 命令和
BIND 中的 dig 命令查询
gipv6.aulddays.com 这个
IPv6 域名的方法(注意,使用的
OpenDNS 服务器 208.67.222.222 就是通过 IPv4 连接的):
>nslookup -querytype=AAAA gipv6.aulddays.com
Server: resolver