配置IPv6网络地址“即插即用”

  “即插即用”是指无需任何人工干预,就可以将一个节点插入IPv6网络并在网络中启动,IPv6网络地址使用了两种不同的机制来支持即插即用网络连接:启动协议(BOOTstrap Protocol,BOOTP)和动态主机配置协议(DHCP)。这两种机制允许IP节点从特殊的BOOTP服务器或DHCP服务器获取配置信息。这些协议采用“状态自动配置”(Stateful Autoconfiguration),即服务器必须保持每个节点的状态信息,并管理这些保存的信息。

  状态自动配置的问题在于,用户必须保持和管理特殊的自动配置服务器以便管理所有“状态”,即所容许的连接及当前连接的相关信息。对于有足够资源来建立和保持配置服务器的机构,该系统可以接受;但是对于没有这些资源的小型机构,工作情形较差。

  除了状态自动配置,IPv6网络地址还采用了一种被称为无状态自动配置(Stateless Auto Configuration)的自动配置服务。RFC2462中描述了IPv6的无状态自动配置。无状态自动配置要求本地链路支持组播,而且网络接口能够发送和接收组播包。无状态自动配置过程要求节点采用如下步骤:

  首先,进行自动配置的节点必须确定自己的链路本地地址;

  然后,必须验证该链路本地地址在链路上的唯一性;

  最后,节点必须确定需要配置的信息。

  该信息可能是节点的IP地址,或者是其他配置信息,或者两者皆有。如果需要IP地址,节点必须确定是使用无状态自动配置过程还是使用状态自动配置过程来获得。

  具体地说,在无状态自动配置过程中,主机首先通过将它的网卡MAC地址附加在链路本地地址前缀1111111010之后,产生一个链路本地单播地址(IEEE已经将网卡MAC地址由48位改为了64位。如果主机采用的网卡的MAC地址依然是48位,那么IPv6网络地址通过网卡驱动程序会根据IEEE的一个公式将48位MAC地址转换为64位MAC地址)。接着主机向该地址发出一个邻居发现请求(Neighbor Discovery Request),以验证地址的唯一性。

  如果请求没有得到响应,则表明主机自我配置的链路本地单播地址是唯一的。否则,主机将使用一个随机产生的接口ID 组成一个新的链路本地单播地址。然后,以该地址为源地址,主机向本地链路中所有路由器多点传送一个路由器请求(Router Solicitation)来请求配置信息,路由器以一个包含一个可聚集全球单播地址前缀和其它相关配置信息的路由器宣告(Router Advertisement)作为响应。主机用它从路由器得到的全球地址前缀加上自己的接口ID,自动配置全球地址,然后就可以与Internet中的其它主机通信了。

  如果没有路由器为网络上的节点服务,也就是本地网络孤立于其他网络,则节点必须寻找配置服务器来完成其配置;否则,节点必须侦听路由器宣告报文。这些报文周期性地发往所有主机的组播地址,以指明诸如网络地址和子网地址等配置信息。节点可以等待路由器宣告,也可以通过发送组播请求给所有路由器的组播地址来请求路由器发送宣告。一旦收到路由器的响应,节点就可以使用响应的信息来完成自动配置。

  使用IPv6网络地址的无状态自动配置,无需手动干预就能够改变网络中所有主机的IP地址。例如,当企业更换了联入Internet的ISP时,将从新ISP处得到一个新的可聚集全球地址前缀。ISP把这个地址前缀从它的路由器上传送到企业路由器上。由于企业路由器将周期性地向本地链路中的所有主机多点传送路由器宣告,因此企业网络中所有主机都将通过路由器宣告收到新的地址前缀,此后,它们就会自动产生新的IP地址并覆盖旧的IP地址。

原创文章,作者:满天星,如若转载,请注明出处:https://www.ipv6s.com/basis/20100811143.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注