一个典型的IPv6主机单播地址由3部分组成:全局路由前缀、子网ID和接口ID(64位)。全局 路由前缀用来识别分配给一个站点的一个地址范围。子网ID也称为子网前缀,一个子网ID与 一个链接相关联,以识别站点中某个链接。接口ID用来识别链接上的某个接口,在该链接上是惟一的。 在实际应用中,我们不需要关心EUI64转换算法,我们只需要知道实际使用的时候的数据可以在哪里看到即可。 下图是一个使用这个脚本手动配置的IPv6 in IPv4 隧道 其中黄色马克标记的部分就一个link local地址。 常见的使用isatapd自动配置的isatap隧道地址,fe80是链路本地地址的固定前缀,其他的为为从MAC地址转换得到的接口ID。均体现在ipv6的internet地址中 同样的,在Windows中,使用无状态自动配置的地址也是按照这个规则,其中的Temporary IPv6 address 就是上面提到的RFC3041里面的有寿命的随机地址。 在IPV6的自动配置中,分为两种技术 一种是传统的有状态(stateful),典型代表就是与IPv4时代相对应的DHCPv6, 一种是IPv6的无状态(stateless)自动配置,典型代表是Radvd。这是IPv6协议的一个突出特点:支持网络节点的地址自动配置. 在无状态地址自动配置方式下,网络接口接收路由器宣告的全局地址前缀,再结合接口ID得到一个可聚集全局单播地址。在有状态地址自动配置的方式下,主要采用动态主机配置协议(DHCP),需要配备专门的DHCP服务器,网络接口通过客户机/服务器模式从DHCP服务器处得到地址配置信息。 具体来说,以RADVD为代表的无状态自动配置不需要消耗很多机器资源,也不像传统DHCP一样需要维护一个本地数据库来维护地址分配状态,他只是进行广播前缀地址,客户端收到这种广播后再自己使用EUI64算法生成全球唯一的IPv6地址,进行自我配置。 因此,RADVD不能进行NTP/DNS等其他传统DHCP服务器所能进行的配置。甚至严格的说,她只进行路由广播,地址都是客户端自己根据算法和规范在配置。 DPCHv6就完全相反,地址池的计算,管理全部是服务器端在做,客户端只是简单的从服务器端取得服务器端已经计算好的地址和其他设置应用到自己身上。 因此,为了兼容EUI64算法,Radvd所能进行管理的地址段要比DHCPv6小很多,如果你希望这种无序的自动化管理,并且只是配地址,你可以使用Radvd,反过来, 非计算机网络专业的一点对IPv6的粗浅之见,欢迎指正 |
|