ipv6 由于没有广播这个概念,当然也就不能使用基于广播工作的ARP。 如何去或的2层MAC地址完成发包前的封装,就引入了Neighbor Discovery 这种方式来帮助完成一些功能。这种方式是通过ICMPv6的数据包来完成的。当一台主机连接到以太网中,会先根据MAC地址来获取自己的链路本地地址。MAC地址 48位, 用16进制表示,共分6组,每组2个16进制,例如:00-50-56-C0-00-01链路本地地址会把MAC地址每3组分成一部分,变成00-50-56 C0-00-01,中间插入FFFE,并且MAC地址的第7位从0变成1,就变成。 0150:56FF:FEC0:0001,再加上表示链路本地地址的前缀FE80::/10,就组成了一个标准的Ipv6的链路本地地址 FE80::0150:56FF:FEC0:0001。但是windows根据最新的标准随机生成链路本地地址,虽然增加了安全性,但是难于管理,可以使用CMD,netsh interface ipv6 set global randomizeidentifiers=disable 来关闭。当网卡获得链路本地地址就会发送RS的ICMPv6的数据包来向路由器请求子网前缀 ,如果网络中有路由器收到上面的请求就会发送RA的ICMPv6包来响应,例如 2001:1000::/64的前缀,当网卡获得上面这样类型的前缀就会根据eui-64的方式产生一个标准的Ipv6全局单播地址,eui-64就是上面生成链路本地地址的方式,最后得到ipv6地址如下,2001:1000::0150:56FF:FEC0:0001/64 .这种获取ipv6地址的方式就叫无状态自动配置。并且以响应路由器做为网关。 如果用有状态DHCPv6获取的也可以,有状态和无状态表示的是一个是有记录,一个没记录
