获取MTD IPv6地址

时间:2018-05-26 16:17:41

标签: ipv6 openthread

我的拓扑结构是:

T1 - T2 - T4
   - T3 -

线程MTD设备(T4)已经随机分配了它的IPv6地址。

如果我不知道该地址,如何从T1(FTD通过NCP,wpan0接口)将数据包发送到T4。如何解决?

我尝试使用Service API,但没有成功。可以在MTD上注册服务,如果是,则线程网络将服务RLOC16分配给

2 个答案:

答案 0 :(得分:2)

IPv6地址和/或设备发现被视为应用层服务,并且超出了Thread的范围。其他人已经实现的一些应用层机制包括:

  1. 使用特定于应用程序的服务器注册IPv6地址。这与DNS非常相似,您也可以使用它。
  2. 使用具有单播响应的特定于应用程序的设备标识符的IPv6多播查询。这与mDNS / DNS-SD非常相似,您也可以使用它。
  3. 希望有所帮助。

答案 1 :(得分:0)

我认为最简单的方法是发送广播请求消息(使用多播地址,例如ff03 :: 2),每个设备都必须在该消息上进行回复。

从设备获得响应消息后,您也应该能够获取发送者的IPv6地址。发件人地址信息位于x:Class="Regions.App"中。

请参见git上cli_udp_example.cpp上的示例。

x:Class="WpfApp.App"