Как включить LLSE C в симуляторе Contiki / Cooja? - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь зашифровать мои "привет" сообщения в симуляции в Contiki 3.0

Я занимаюсь программной реализацией уровня LLSE C (защита канального уровня), как рекомендовано в this ответы на вопрос.

Примером, который я использую для моделирования, является IPV6-клиент rpl-udp udp. c и сервер udp, который можно увидеть здесь .

Я следовал инструкциям согласно документации здесь , создал файл project-conf.h и получил файл Make, ссылающийся на него, как показано ниже:

project-conf.h

#undef LLSEC802154_CONF_ENABLED
#define LLSEC802154_CONF_ENABLED          1
#undef NETSTACK_CONF_FRAMER
#define NETSTACK_CONF_FRAMER              noncoresec_framer
#undef NETSTACK_CONF_LLSEC
#define NETSTACK_CONF_LLSEC               noncoresec_driver
#undef NONCORESEC_CONF_SEC_LVL
#define NONCORESEC_CONF_SEC_LVL           0x07

#define NONCORESEC_CONF_KEY { 0x00 , 0x01 , 0x02 , 0x03 , \
                              0x04 , 0x05 , 0x06 , 0x07 , \ 
                              0x08 , 0x09 , 0x0A , 0x0B , \ 
                              0x0C , 0x0D , 0x0E , 0x0F } 

Makefile

all: udp-client udp-server
APPS=servreg-hack
CONTIKI=../../..

CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\"
ifdef WITH_COMPOWER
APPS+=powertrace
CFLAGS+= -DCONTIKIMAC_CONF_COMPOWER=1 -DWITH_COMPOWER=1 -DQUEUEBUF_CONF_NUM=4
endif

#linker optimizations
SMALL=1

ifdef SERVER_REPLY
CFLAGS+=-DSERVER_REPLY=$(SERVER_REPLY)
endif
ifdef PERIOD
CFLAGS+=-DPERIOD=$(PERIOD)
endif

CONTIKI_WITH_IPV6 = 1
include $(CONTIKI)/Makefile.include

Период и размеры файлов приветственных сообщений установлены следующим образом:

#ifndef PERIOD
#define PERIOD 20
#endif

#define START_INTERVAL      (10 * CLOCK_SECOND)
#define SEND_INTERVAL       (PERIOD * CLOCK_SECOND)
#define SEND_TIME       (random_rand() % (SEND_INTERVAL))
#define MAX_PAYLOAD_LEN     50

I'm используя код python, который обрабатывает вывод файла журнала, чтобы дать мне задержку между узлами на основе сообщений "привет", отправленных с одного узла на другой. Я запускаю симуляцию каждый раз в течение 2 минут.

Ниже вы можете увидеть 2 примера:

Первый запуск журнала - это когда настройки llse c равны off и второй запуск выполняется с настройками llse c на , и, как вы можете видеть, разницы в задержках нет, что заставляет меня поверить, что конфигурации llse c не работают должным образом или, возможно, вообще не включены .

Задержка выключения и включения llse c

Очень мало документации по этому вопросу, и я публикую здесь последнее средство. Есть предложения?

...