0

我正在开发一个将安装在多个设备上的应用程序,这些设备需要相互通信。

由于连接的设备将位于同一网络上,因此我打算使用 IPv6 链路本地寻址,假设如下:

  • 所有安卓设备都支持 IPv6
  • 所有 Wifi 网络都可以携带链路本地 IPv6

这些假设是否正确?

我这样做的动机实际上是最小的用户配置,尽管我想还有其他方法可以实现这一点。

4

1 回答 1

0

为了回应评论,我试图回答我自己的问题,尽管该项目是问题被搁置:

Wifi 是第二层网络,如以太网。具体来说,对等体使用 MAC 地址相互通信。

因此,当一台主机想要使用 IPv4 与同一 LAN 上的对等方通信时,它使用 ARP 根据 IPv4 地址确定对等方的 MAC 地址。对于 IPv6,邻居发现协议(ICMPv6 的一部分)用于实现相同的目的。对于 Wifi 硬件,第 3 层协议是 AR​​P、IPv4、IPv6 还是一些与 IP 无关的协议无关紧要 - 对于 Wifi 硬件来说,这只是以太网数据包。

因此,唯一的问题是 Wifi 基站是否内置了某种过滤来显式抑制 ICMPv6 以确保安全。

请记住,我的问题是专门关于本地链接的——当然,如果您想在 LAN 之外路由 IPv6,那么必须有一个支持 IPv6 的路由器。该路由器可能是也可能不是与 Wifi 基站相同的设备。

至于链接本地 IPv6 是否在所有(现代)android 设备上可用的问题,我认为这是一个安全的选择。请记住,链路本地地址是从 MAC 地址自主派生的——不需要在网络上安装任何东西来促进这一点。

于 2018-12-18T12:13:44.957 回答