3
路由器是否应该使用SLAAC进行IPv6地址分配?
对于与IPv6有关的以下2个RFC,我有些困惑: RFC 4862(IPv6无状态地址自动配置) RFC 7084(IPv6 CE路由器要求) RFC 4862指出: 本文档中指定的自动配置过程仅适用于主机,不适用于路由器。由于主机自动配置使用路由器通告的信息,因此将需要通过其他某种方式来配置路由器。 RFC 7084列出了其地址分配的WAN端配置要求之一: WAA-1:IPv6 CE路由器必须支持无状态地址自动配置(SLAAC)[RFC4862]。 这里有矛盾吗? 路由器是否应该能够为其WAN接口自动配置IPv6地址? RFC 4862为什么说 由于主机自动配置使用路由器通告的信息,因此将需要通过其他某种方式来配置路由器。 例如,如果我使用路由器将LAN连接到ISP,则ISP网络中是否没有与我的路由器通信的路由器? 我本以为将2个(或更多)路由器链接在一起是完全合理的。在那种情况下,为什么不在第二台路由器的WAN接口上使用SLAAC? 也许问题出在主机和路由器之间的人为区分上?根据RFC 4862: 节点-实现IP的设备。 路由器-转发未明确寻址到其自身的IP数据包的节点。 主机-任何不是路由器的节点。 但是,主机(即托管服务器或应用程序的计算机)也不能具有路由表并充当路由器吗?并且我们有效地将2个路由器再次链接在一起。 编辑:我后来发现一些额外的信息... Linux内核处理SLAAC,并且严格遵循RFC 4862。一直到主机和路由器之间的区别。请参阅ip-sysctl上的内核文档: 假定为主机行为。这意味着将发送路由器请求,并将路由器广告用于地址自动配置。 仅当启用转发(/proc/sys/net/ipv6/conf/all/forwarding)时,该设备才被视为ROUTER。这意味着将不发送任何路由器请求,并且路由器广告将被忽略。 事实证明,这种区别可以追溯到IPv6之前的版本。参见参数/proc/sys/net/ipv4/ip_forward: 这个变量是特殊的,它的变化重置所有配置参数设置为默认状态(RFC1122主机,RFC1812的路由器)