ipv6:无状态地址自动configuration的低级技术说明

我对IPv4的广播,DHCP和一般networkingconfiguration有清晰的认识。 我正在寻找ipv6 networkingconfiguration的低级技术说明

一些使我困惑的术语:

  • 链路本地地址
  • 无状态地址自动configuration
  • DHCPv6报
  • 邻居发现协议

我不是在寻找如何设置或使用ipv6networking的教程,而是寻求这部分协议的技术/工程内部描述。

链路本地地址是只能在本地networking上使用的地址,每个networking使用相同的地址。 您可以将它们与IPv4中的169.254.0.0/16 APIPA地址进行比较,与在IPv6中每个接口始终具有链路本地地址(即使它还具有其他地址)之间的巨大差异也是如此。 这使得像DHCP和路由协议这样的事情变得容易得多,因为每个系统总是有一个可以在本地链路上使用的地址,而与其他任何东西无关。

无状态地址自动configuration或SLAAC是一种机制,可自动为networking上的所有设备提供正常的可路由IPv6地址,而无需DHCP服务器。 由于IPv6具有如此巨大的地址空间(每个局域网获得一个/ 64),networking上的路由器可以告诉客户“在这个局域网上我们使用这个/ 64,继续,给自己一个地址”。 因为两台设备select完全相同的地址(每个局域网有2 64个地址)的可能性为零,所以实际上效果非常好:-)路由器发送的软件包称为路由器广播或RA。

有一个RA可以提供更多的信息。 路由器也可以告诉客户它愿意作为默认网关。 也可以告诉客户端使用哪个DNSparsing器。 还有更多,但现在让我们保持简单。 使用RA中的信息,客户端可以configuration一个或多个地址,它可以学习默认网关,并可以学习DNSparsing器。 因此,它可以学习基本连接到互联网所需的一切,而不需要DHCP。

DHCPv6就像IPv4版本,但是有更多的select。 它可以用于两种模式: 有状态无状态 。 有状态模式与IPv4 DHCP类似,DHCP服务器为客户端提供地址,并提供其他configuration选项。 无状态模式仅仅提供了没有地址位的configuration选项。 这样,您可以让客户端生成自己的地址,但仍然为他们提供正确的configuration。

邻居发现协议或NDP基本上执行与IPv4相同的function。 ARP是一个独立的协议,NDP使用正常的IPv6数据包(ICMPv6是精确的)。

IPv6为您提供了很多选项,非常好。 但是,由于所有的select,它也可以混淆。 我在这里给出的解释是最基本的东西。 你甚至可以做更有趣的事情,比如在一个局域网上提供多个/ 64个前缀,让客户端在一个地方生成自己的地址,使用DHCPv6在另一个地址中提供地址等等。通常最好保持简单,根据经验和知道你想要什么。