Возможно ли в Contiki-NG отправить пользовательский пакет от узла udp-клиента к соседу, используя адрес ссылки из кеша соседа? Я ищу способ избежать отправки пакета icmpv6, потому что он идет к корню, а затем корень отправляет его в пункт назначения. Я видел, что Contiki поддерживает ячеистую топологию, поэтому должна быть возможность отправлять пакет напрямую соседу, не пересылая пакет родителю. Буду признателен за любую помощь в этом!
Как отправить одноадресный пакет соседу в Contiki-NG?
Ответы (1)
IPv6 имеет так называемые локальные адреса канала. Это адреса с префиксом fe80::/64
. Если вы хотите отправить пакет в обход маршрутизации, вам следует использовать эти адреса. Например, если у вас есть сеть с префиксом fd00::/64
и сосед с глобальным IPv6-адресом fd00::201:1:1:1
, отправьте пакет на fe80::201:1:1:1
, чтобы связаться с этим соседом напрямую.
Дополнительное примечание, касающееся «Contiki включает ячеистую топологию» — если вы используете RPL Lite или RPL Classic с режимом без сохранения, все маршрутизируемые пакеты в любом случае будут проходить через корень, поскольку сетевые узлы не добавляют маршруты к родителей/детей к своим таблицам маршрутизации в этом режиме. Включите режим хранения, чтобы обеспечить прямой одноранговый обмен пакетами с использованием маршрутизации.