物联网中的通信与服务质量研究
树莓派平台的实现问题
在树莓派平台中,每个传入帧都会引发硬件中断,经过处理后最终会调用内核空间的 netif_rx() (在 /proc/net/dev.c 中定义)函数。这个函数从设备驱动程序接收数据包,并将其排队,以供上层(协议)级别进行处理。当一个帧被处理时,会产生软件中断,从而调用转发模块中的处理函数。
最后,对帧进行处理以提取必要的信息,这些信息会根据处理情况,通过注册或数据处理程序之一作为数据结构发送到用户空间。在反向传输的情况下,转发模块的处理函数会由注册或数据处理程序根据来自用户空间的相应请求调用。接着,帧创建器(转发模块的子模块)会为进程 ID 层创建相应的帧。最终,转发模块使用 dev_queue_xmit() 函数(在 /proc/net/dev.c 中定义)将帧发送到默认网关驱动程序。
IDSECOM 节点的软件更改
基于相关测试结果,对 IDSECOM 节点的源代码进行了修订,并引入了改进措施,旨在消除产生错误的事件,且不影响基本功能。其中,对缓存算法的修改是提高整体系统效率的主要改变。
之前的版本假设请求/数据缓存表是从开头顺序搜索的。如果要搜索的条目位于最后位置,且注册表中有很多条目,那么这个操作可能会花费更多时间。
主要的修改是对请求表和数据表中的缓存帧进行排序。排序过程基于 ID 层的目的地址(对于请求表)或源地址(对于数据表),这些地址可以唯一标识网络中的所有节点。缓存过程中与表中搜索规则相关的操作在相关资料中有详细介绍。
超级会员免费看
订阅专栏 解锁全文
2240

被折叠的 条评论
为什么被折叠?



