| 一、路由宣告进项机制 路由宣告选项机制定义了一个新的邻居发现(ND)选项RDNSS,包含了DNS服务器地址,可使用现有的ND宣告和请求机制。
 1.1 Recursive DNS服务器选项
 RDNSS选项包含DNS服务器的IPv6地址,其格式如图1所示。
 
 
 图1 Recursive DNS服务器(RDNSS)选项格式  其中,类型为8位的选项类型标识符;长度为以字节为单位的8位整数,选项长度应为O×03(3×8=24字节);偏好为RDNSS优先级,15表示最高优先级,可使用本域来做DNS查询的负载均衡。
 1.2 DNS发现流程
 RDNSS选项的处理流程和ND选项流程类似,当接收到RA后才处理,如图2所示。
 
 
 图2 DNS查询流程  具体如下:
 步骤(a):IPv6主机发送RS(Router Solicitation)消息来得到RA消息。
 步骤(b):路由器发送RA消息,包含用来自动发现地址的前缀信息选项和DNS配置的RDNSS选项。
 步骤(c):如果未含前缀信息选项和RDNSS选项,跳到步骤(f)。
 步骤(d):如果有前缀信息选项,IPv6主机根据前缀进行无状态自动地址配置,如果自动配置失败,转步骤(f)。
 步骤(e):如果含RDNSS选项,IPv6主机将RDNSS地址同时存储在DNS服务器缓冲和解析配置文件中。
 步骤(f):如果M(Managed address configuration)位置位,IPv6主机必须使用DHCPv6进行有状态的自动地址配置,如果不包含RDNSS选项,IPv6主机也可使用DHCPv6进行DNS的配置,而不管Ο标志是否置位。
 1.3 优点
 (1)RA选项机制只是扩展了ND/自动配置机制,不需要对ND协议进行大的改动。
 (2)和ND一样,可在多种类型的链路上运作,包括点到点链路、点到多点链路、多播等。
 (3)在多种网络环境下适用。
 1.4 缺点
 (1)ND大多在操作系统内实现,而DHCPv6在应用层实现。
 (2)由于ND缓冲之间的同步在内核空间中,而DNS配置文件在用户空间中,所以目前的ND框架要改。
 (3)路由器需要配置RDNSS地址。
 (4)无线网络环境中,由于多播不稳定,此方法性能不佳。
 二、DHCPv6选项
 2.1 基本介绍
 在DHCPv6中,可以包含DNS Recursive Name Server option选项来指定可以提供名字服务的服务器地址信息,其格式如图3所示。
 
 
 图3 DHCPv6 DNS服务器选项  而且,还可以提供名字搜索顺序选项,格式如图4所示。
 
 
 图4 名字搜索顺序选项  名字服务与选项码的对应关系,如表1所示。
 
 表1 名字服务与选项码的对应关系  
 2.2 优缺点| 名字服务 | 选项码 |  | Domain Name Servers选项 | OPT_DNS_SERVERS |  | Network information Servers选项 | OPT_NIS_SERVERS |  | NetBIOS over TCP/IP Name Servers选项 | OPT_NBNS_SERVERS |  | Network information +Servers选项 | OPT_NISP_SERVERS |  | /etc/hosts | 0 | 
 优点:
 (1)方便配置其他信息,如SIP服务器和NTP服务器地址。
 (2)互操作性好。
 (3)已为RFC,标准性好。
 缺点:
 (1)由于RA消息中不包含DNS信息,主机必须从路由器处接收两个消息。
 (2)增加了延迟,除了必须等待RA消息外,客户还必须和DHCPv6服务器交换报文。
 (3)Well-known Anycast Addresses它使用特殊的任播地址,不必使用传输协议。优点主要有:延迟小:可与其他方法混合使用;在DNS可工作的任意环境下都可以使用。缺点主要有:此方法需要DNS服务器扮演部分路由器角色,向路由系统宣告任播地址。
 三、混合方法
 3.1 RA与DHCPv6混用
 如表2所示。如果选项不包含RDNSS,IPv6主机可以使用DHCPv6来配置DNS,而不管Ο位是否被置位。
 3.2 Well-known Anycast Addresses与其他方法混用
 客户预配well-known anycast addresses,然后当其他方法可以使用时,可被覆盖。
 Well-known anycast addresses可以包含在RA或者DHCP配置中。
 四、部署
 4.1 ISP网络环境
 (1)RA Option Approach
 当CPE为主机,可以在从RA选项中同时接收到前缀配置信息和DNS配置信息。
 当CPE为路由器时,CPE从RA选项中接收RDNSS信息,然后将其拷贝到朝客户网络的RA宣告信息中。
 (2)DHCP方法
 ISP可使用Prefix delegation with DHCP(DHCPv6 PD)方法来分配前缀,然后使用DHCPv6中的DNS选项为客户网络提供DNS服务器信息。
 (3)任播地址方法
 避免了RA和DHCPv6方法中消息的不安全,但需要一定的人工配置。
 4.2 3GPP网络环境
 3GPP定义了Protocol Configuration Options Information Element(PCO-IE)方法,使用这种方法,RDNSS地址可以从PDP context activation处被接收。
 IPv6-capable UE通过GGSN发出的RA消息配置DNS信息,RA选项中包含RDNSS信息。使用DHCP方法,会遇到扩展性和性能等问题。
 |