contiki os 如何将 IP 地址映射到 MAC 地址

How does contiki os map an IP address to a MAC address

contiki os 如何将 IP 地址映射到 MAC 地址,它存储在哪里?

我知道ICMPv6 和RPL 的基础知识,但是网络建成后,发送IPv6 数据包时,如何知道下一跳的MAC 地址?我假设不是每次都发送 Neighbor Solicitation 消息。另外,在 Cooja 上,我看到的唯一 ICMPv6 消息是 RPL 消息。

我试图通过 grep、google 搜索和文档找到答案,但我找不到。

有一个名为uip_ds6_nbr_t的uIP邻居数据结构。这些结构保存在 Contiki 邻居表中。当需要从 IPv6 地址映射到 MAC 地址时,代码首先调用 uip_ds6_nbr_lookup(ipv6_address) 查找邻居,然后使用邻居查找 link 层地址,通过调用函数 uip_ds6_nbr_get_ll(nbr).