IPv6中的无状态地址自动配置初探
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IPv6中的无状态地址自动配置初探
邹 妍 李玉萍 吴国强 刘 亮
(中国地震局地壳应力研究所 北京 100085)
摘要 本文主要介绍了I Pv6中的无状态地址配置的过程,并描述了这个过程中
所涉及到的邻居发现协议消息,以及节点上要运行的DAD 进程。I Pv6中的无状
态地址自动配置机制所要实现的目标是:不需要手动配置连接到网络上的主机,
甚至在具有多个网络和路由器的大的站点中,也不需要DH CP 服务器来配置主
机。这正是IPv6在地址自动配置方面所增加的新功能;在文章结尾对I Pv6的地
址自动配置目前的发展趋势作了展望。
一、引 言
IPv6(I n ter net Protoco lVersion 6)是Internet 网络协议版本6的简称,它是现在广泛使用的I Pv4的升级替换版本。I Pv6对I Pv4进行了许多的功能改进,例如,扩展编址功能,以及本文所要介绍的无状态地址自动配置机制,还有报头格式的简化,改进的扩展和选项支持,身份验证和私密性的扩展,以及流标签功能。也正是这些改进使得I Pv6克服了I Pv4的诸多的弊端,提供了广泛的地址空间,支持新的网络服务(Q oS 等),增强了移动性和安全性,使I Pv6成为下一代互联网的核心协议。目前,从I Pv4升级过渡到I Pv6的工作正在世界各地进行。
IPv6的网络地址除了手工分配以外,还有两种自动配置方式:无状态地址自动配置(Stateless AddressAuto confi g urati o n)和有状态地址自动配置(StatefulAddressAuto configu rati o n)。
有状态地址自动配置(S tatefu lAddress Auto confi g ura ti o n)是由I Pv4下的动态主机配置协议(Dyna m i c H ost Configurati o n Protoco,l DH CP)转化而来的,I Pv6继承并改进了I Pv4的这种自动配置服务,并将其称为有状态地址自动配置。DH CP (Dyna m ic H ost Con fi g uration Protoco,l 动态主机配置协议)的问题在于,作为状态自动配置协议,它要求安装和管理DH CP 服务器,并要求接受DH CP 服务的每个新节点都必须在服务器上进行配置。也就是说,DHCP 服务器保存着它要为之提供配置信息的节点列表,如果节点不在列表中,该节点就无法获得I P 地址。DHCP 服务器还保持着使用该服务器的节点的状态,因为该服务器必须了解每个I P 地址使用的时间,以及何时I P 地址可以进行重新分配。详细介绍请查阅http://www.iet.f o r g 上的DH CPv6草案,本文不详细介绍这种方式。
对于大多数个人或者小型机构来说,与有状态地址自动配置机制相比,无状态地址自动配置机制更容易实现。因为,无状态地址自动配置(Stateless Address Au to configura ti o n)[2]主要靠主机监听路由器公告得到全局地址前缀,再加上自己的接口I D 生成一个全193
2006年 地壳构造与地壳应力文集(19)
194地壳构造与地壳应力文集(19)
局地址。使用无状态地址自动配置机制,节点至少可以自动实现本地连接,节点通过侦听路由器通告(Router Advertise m ent)消息,或者向最近的路由器发送路由器请求(Router So li c itati o n)消息,就可以自行确定自己的默认路由器,通过路由器向能实现无状态地址自动配置的节点发出的通告来获知网络和子网信息,这样,就构成了节点的有效的链路地址。
二、无状态地址自动配置
RFC2462中描述了I Pv6的无状态自动配置。无状态自动配置要求本地链路支持组播,而且网络接口能够发送和接收组播包。概括地说,节点的无状态自动配置过程的步骤如下:
首先,进行自动配置的节点必须确定自己的本地链路地址;
然后,验证该本地链路地址在链路上的唯一性;
最后,节点必须确定需要配置的信息。该信息可能是节点的I P地址,或者是其他配置信息,或者两者皆有。如果需要I P地址,节点可以根据情况来确定是使用无状态地址自动配置过程来获得,还是使用有状态地址自动配置过程来获得。
具体地说,在无状态自动配置过程中,主机首先通过将它的网卡MAC地址附加在链路本地地址前缀1111111010之后,产生一个本地链路单播地址(I E EE已经将网卡MAC 地址由48位改为64位。如果主机采用的网卡的MAC地址依然是48位,那么I Pv6网卡驱动程序会根据I EEE的一个公式将48位MAC地址转换为64位MAC地址)。接着主机向该地址发出一个邻居发现请求(Ne i g hbor D iscovery R equest),以验证地址的唯一性,即执行下面将要介绍的DAD(重复I P地址检测)过程。如果请求没有得到响应,则表明主机自我配置的本地链路单播地址是唯一的。否则,主机将使用一个随机产生的接口I D组成一个新的链路本地单播地址。然后,以该地址为源地址,主机向本地链路中所有路由器多点传送一个路由器请求来请求配置信息,路由器以路由器通告作为响应,该路由器通告包括了一个可聚集全球单播地址前缀以及其它相关配置信息。主机用它从路由器得到的全球地址前缀加上自己的接口I D,自动配置全球地址,然后就可以与Inter net中的其它主机通信了。
当本地网络孤立于其他网络时,在不使用DHCP服务器的情况下,节点通过侦听周期性地发往主机的组播地址的路由器通告消息,来指明诸如网络地址和子网地址等配置信息。节点可以等待路由器通告,也可以通过发送组播请求给所有路由器的组播地址来请求路由器发送通告。一旦收到路由器的响应,节点就可以使用响应的信息来完成自动配置。其自动配置过程如图1所示[1]。
三、无状态地址自动配置过程中所涉及到的概念
1.邻居发现协议消息
邻居发现协议(Ne i g hbor D iscovery Protoco,l NDP)是在RFC2461(取代了RFC1970)