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

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

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

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

1 ответ

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

Другие вопросы по тегам