我们设计嵌入式系统(电子和软件),使用 LWIP(网络堆栈)运行我们自己的操作系统。设备配置为仅 IPv6(意味着:没有可用的 IPv4)。这些嵌入式系统运行一个网络服务器。浏览器必须能够打开它们提供的网页。不幸的是,Chrome、Firefox 和其他不支持将本地 IPv6 地址链接为 URL(参见例如Mozilla和W3C)。
我们的嵌入式系统将连接到现有的网络基础设施(以太网)。今天,我们的大多数客户网络都没有正确的 IPv6 设置。也就是说,没有可用的 IPv6 路由器,因此,我们的嵌入式系统和客户计算机(Windows、Linux 等)将只有一个“链接本地地址”(LLA)。如上所述,大多数浏览器都无法使用 LLA。
为了解决这个问题,我们能想到的最佳解决方案是“宣传”一个前缀,让所有计算机和我们的嵌入式系统生成“唯一本地地址”(ULA)。问题是,对于一些(大多数?)客户来说,说服他们的 IT 为 IPv6 重新配置他们的网络并设置他们的路由器在不久的将来宣传这样的前缀并不容易。因此,我们提出了以下想法:让我们的嵌入式系统发送路由器通告 (RA),传播前缀如 FDxx:xxxx:xxxx::xxxx/64。使用该解决方案,同一网络中的所有主机将自动创建 ULA,因此每台计算机的浏览器都将能够连接到我们的嵌入式系统。(注意:这个想法是我们所有的嵌入式系统都传播完全相同的前缀)
你觉得这个主意怎么样?具体来说:
- 我们的几个嵌入式系统将被添加到同一个网络中,这是一个常见的用例。因此,多个系统会发出具有相同前缀的 RA。到目前为止,谷歌搜索和阅读 RFC,我找不到任何声明是否允许多个“路由器”发送具有相同前缀的 RA。是否允许?这样做是否被认为是“好的”?
- 我们的嵌入式系统并不是真正的“路由器设备”。事实上,这些是控制电机、执行器和传感器的“自动化设备”。非路由器设备发送 RA 是否“可以”?
- 另外:我们仅发送 RA 以使网络中的所有主机生成 ULA。我们实际上不希望任何主机将我们的嵌入式系统用作路由器/网关。那样可以么?