我正在尝试在 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 配置无法正常工作或根本没有启用.
这方面的文档很少,我在此发布作为最后的手段。有什么建议么?