首页 > Tips > 网站支持IPv6访问需要注意的域名问题

网站支持IPv6访问需要注意的域名问题

2010年2月2日
让我们先看几个例子(略去部分和此次分析无关的内容):
C:\>nslookup
Default Server: dns.sjtu.edu.cn
Address: 202.120.2.101
> set type=all
> www.dlut.edu.cn
Non-authoritative answer:
www.dlut.edu.cn AAAA IPv6 address = 2001:da8:a800:3::66
www.dlut.edu.cn internet address = 202.118.66.66
> www.fudan.edu.cn
Non-authoritative answer:
www.fudan.edu.cn AAAA IPv6 address = 2001:da8:8001:2:21e:c9ff:feb5:eace
www.fudan.edu.cn internet address = 202.120.224.5
> www.xmu.edu.cn
Non-authoritative answer:
www.xmu.edu.cn AAAA IPv6 address = 2001:da8:e800::12
www.xmu.edu.cn internet address = 210.34.0.12
>
如果用户端安装了IPv6协议,并可以正常访问CERNET2,那么用户访问以上三所
大学的网站会优先使用解析出的IPv6地址访问,不会有什么问题。
如果用户端没有安装IPv6协议,可以正常访问IPv4网络,那么用户访问以上三所
大学的网站只会使用解析出的IPv4地址访问,不会有什么问题。

But:
如果用户端安装了IPv6协议,但不能正常访问CERNET2(这种情况是可能存在的),
虽然可以正常访问IPv4网络,但在使用某些操作系统和某些浏览器的情况下,上面的几
个网站可能就表现为无法访问了。
虽然这是个别情况,但是需要注意。

kaida Tips 1,253 views

  1. xmuwx
    2010年2月16日01:16 | #1

    请问我已经安装了ipv6,并且能访问ipv6网站,但我像你一样执行命令行的时候,只有ipv4的地址,没有ipv6的地址?这是何因?我ipv6里面的dns并没有添,因为学校没有ipv6的DNS服务器。

  2. 2010年2月16日11:00 | #2

    nslookup 查询时需要设定一下 set type=all 或 set type=AAAA。
    ipv6里面的DNS服务器未必一定要添加,双栈环境下可以使用IPv4的DNS来解析IPv6域名。
    引用一下我一位同事之前对此的解释:
    如果client查询A记录,服务器只能返回A记录,返回其它记录都是错的。
    对于大多支持ipv6的client来说,流程是这样的:
    client query a bbs6.sjtu.edu.cn
    server response NOERROR bbs6.sjtu.edu.cn 但是没有A记录答复,只有一个SOA记录在
    Authority Section。
    这个NOERROR很重要,因为域名不存在的答复是NXDOMAIN
    这个时候client就认识到bbs6.sjtu.edu.cn有域名记录,但不是A记录,所以会再次发出查询 client query aaaa bbs6.sjtu.edu.cn
    如果这个时候server返回一个AAAA记录的答复,client就开始ipv6的连接
    如果还是没有AAAA记录,client就认为无法找到域名
    当然,有些client是同时查询A和AAAA记录,对于这些软件,他们会自己选择一个可用的记录进行连接。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.