为什么 mDNS 和 UPnP(DLNA)在我的 iPhone 8 创建的接入点上表现如此?

为什么 mDNS 和 UPnP(DLNA)在我的 iPhone 8 创建的接入点上表现如此?

我正在尝试了解我的 iPhone 8 的网络行为网络共享接入点(启用其互联网共享时创建)。

实际上,iPhone 8 充当 AP、默认网关、DHCP 和 DNS 服务器。我将两个测试设备连接到它,得到了我想象中的简单拓扑:

  • 一些内部桥梁(?)(172.20.10.0/28)
    • 一些虚拟内部接口(?)
      • iPhone 8(172.20.10.1)
    • iPhone 8 互联网共享 AP
      • 测试设备 1(iPhone 6)
      • 测试设备 2(Macbook Air - “mba.local”)

这些是我在此测试设置中观察到的行为,这使我想问:

  • 解析 mDNS 名称(“mba.local”)时两个测试设备之间它立即生效。使用适用于 iOS 的 Termius SSH 客户端应用程序进行了测试。
  • 解析“mba.local”时在 iPhone 8 上将主机名解析为 IP 需要一分钟多的时间(约 80 秒)。最终可以工作,但是速度非常慢。
  • 我的测试设备(iPhone 6)使用以下方式连接到“mba.local”IPv6. iPhone 8 使用IPv4who. 在Macbook 上确认。
  • UPnP 发现功能有效两台测试设备 (iPhone 6 ↔︎ Macbook Air) 之间。
  • UPnP 发现似乎不起作用在尝试发现同一台服务器时,在 iPhone 8 上根本找不到任何内容(再次在 iPhone 6 和 8 上使用相同的应用程序进行测试,尽管这次不是“Termius”,而是 DLNA/UPnP 应用程序“TV Assist”)。

现在,社交不是我的强项,所以我想知道是否有对于这种行为有什么明显的解释吗?该问题的不同方面包括:

  • 为什么在这种情况下 mDNS 解析速度如此之慢?
  • 为什么 UPnP 仅在测试设备之间起作用?
  • 关于 IPv4 与 IPv6 的详细信息有什么启示吗?
  • 这是否意味着,在 iPhone 8 和测试设备之间,mDNS 可以工作,而 UPnP 似乎根本不起作用?

我知道可能没有考虑到设备的封闭性质,答案是肯定的,但我想问的是,根据这里观察到的情况,是否有一个合理且可能的解释。

据我所知,mDNS 和 UPnP 都依赖于多播,因此如果两者都不起作用,那么这种行为会更容易理解,但我认为我对这个主题的了解还不够多,无法清楚地思考它。

相关内容