Как contiki os сопоставляет IP-адрес с MAC-адресом

Как contiki os сопоставляет IP-адрес с MAC-адресом и где он хранится?

Я знаю основы ICMPv6 и RPL, но как только сеть построена, при отправке пакета IPv6 как узнать MAC-адрес следующего перехода? Я предполагаю, что сообщение Neighbor Solicitation отправляется не каждый раз. Кроме того, в Cooja единственными сообщениями ICMPv6, которые я вижу, являются сообщения RPL.

Я пытался найти ответ с помощью grep, поиска в Google и в документе, но не смог его найти.


person LeGrandNono    schedule 19.03.2021    source источник


Ответы (1)


Существует структура данных соседа uIP, называемая uip_ds6_nbr_t. Эти структуры хранятся в соседних таблицах Contiki. Когда требуется сопоставление IPv6-адреса с MAC-адресом, код сначала вызывает uip_ds6_nbr_lookup(ipv6_address) для поиска соседа, а затем использует соседа для поиска адреса канального уровня, вызывая функцию uip_ds6_nbr_get_ll(nbr).

person kfx    schedule 19.03.2021
comment
Спасибо, это именно то, что я ищу! - person LeGrandNono; 10.04.2021
comment
@LeGrandNono тогда прими мой ответ! - person kfx; 10.04.2021