0

我正在尝试在 Contiki 3.0 的模拟中加密我的“你好”消息

我正在按照这个问题的答案中的建议执行 LLSEC(链路层安全)层的软件实现。

我用于模拟的示例是 IPV6 rpl-udp udp-client.c 和 udp-server,可以在此处看到。

我已按照此处文档的说明进行操作,并创建了一个 project-conf.h 文件,并让 Make 文件引用它,如下所示:

项目-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 } 

生成文件

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

hello 消息的周期和文件大小设置为:

#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

我正在使用处理日志文件输出的 python 代码,根据从一个节点发送到另一个节点的“hello”消息,给我节点之间的延迟。我每次运行模拟 2 分钟。

您可以在下面看到 2 个示例:

日志的第一次运行是关闭llsec 设置,第二次运行是打开 llsec 设置如您所见,没有延迟差异,让我相信 llsec 配置无法正常工作或根本没有启用.

llsec 关闭和开启的延迟

这方面的文档很少,我在此发布作为最后的手段。有什么建议么?

4

0 回答 0